I am flashinh a jAXi module.
Running the standard command:
ROOTFS_AB=1 sudo -E --preserve-env=ROOTFS_AB ./flash.sh jetson-agx-xavier-industrial mmcblk0p1
Fails with APPSIZE is too small.
Apparently, everything assumes that the rootfs would still fit in half the size of a devkit rootfs.
If I run the flash command like:
ROOTFS_AB=1 sudo -E --preserve-env=ROOTFS_AB ./flash.sh -S 56GiB jetson-agx-xavier-industrial mmcblk0p1
It still fails like:
...
[ 1.0379 ] Updating mb1-bct with firmware information
[ 1.0394 ] tegrabct_v2 --chip 0x19 --mb1bct mb1_cold_boot_bct_MB1.bct --updatefwinfo flash.xml.bin
[ 1.0396 ] Start sector for recovery, expected >= 235276072, actual 0
Error: Return value 4
Command tegrabct_v2 --chip 0x19 --mb1bct mb1_cold_boot_bct_MB1.bct --updatefwinfo flash.xml.bin
Failed flashing t186ref.
That needs internal knowledge.
Also, given that in BSP-32.7.1 the nVidia provided sample rootfs fits in half the size, and all was fine, here it seems that we have another instance of something untested.
I stripped the rootfs to ~15GiB in size, but that’s all I can do for our use case.
If anybody knowing those nVidia utilities can help with this problem, that would be great.
All I can do is trace it to bootloader/tegraflash_internal.py:4362
if tegraparser_values['--pt'] is not None:
info_print('Updating mb1-bct with firmware information')
command = exec_file('tegrabct')
command.extend(['--chip', values['--chip']])
command.extend(['--mb1bct', mb1bct_file])
if bool(is_cold_boot_mb1_bct) == False:
command.extend(['--recov'])
command.extend(['--updatefwinfo', tegraparser_values['--pt']])
run_command(command)
But what does tegrabct do exactly, and why does it not like whatever it is, no idea.
N.B. This suggestion: Jetson AGX Xavier Industrial SOM extend rootfs size failed
Mentions a change in some flash config, but also that you won’t be able to do OTA updates.
We need OTA updates.
The suggested change is to remove the start of a partition:
--- flash_l4t_t194_spi_emmc_jaxi.xml 2023-07-17 15:33:15.851251745 +0800
+++ flash_l4t_t194_spi_emmc_jaxi.xml 2023-07-17 15:31:30.415759099 +0800
@@ -690,7 +690,6 @@
<partition name="RECNAME" type="kernel">
<allocation_policy> sequential </allocation_policy>
<filesystem_type> basic </filesystem_type>
- <start_location> 0x70C100000 </start_location> <!-- aligned to 0x100000 -->
<size> RECSIZE </size>
<file_system_attribute> 0 </file_system_attribute>
<allocation_attribute> 8 </allocation_attribute>
That value seems to be a bit after 28GiB… I wonder if it is just a matter of updating it for 56GiB…