How to flash Thor using flash.sh with ROOTFS_AB=1?

According to the development documentation, I tried to use flash.sh to flash the Thor devkit with ROOTFS_AB=1, but it reported an error saying that the configuration file could not be found. I checked the bootloader/generic/cfg directory and found that it only contains XML files for t234, not t264. This is very confusing — R38.2 now claims to support only Thor, yet most parts of the documentation still describe Orin or NX, and Thor cannot actually be used.

Error: missing cfgfile (/home/wpces/Downloads/Linux_for_Tegra/bootloader/generic/cfg).

22.txt (51.0 KB)

So how can Thor be flashed with A/B partitions? Is it possible to do it using l4t_initrd.sh?

How about this one ?

To flash redundant root file systems on an external storage device, refer to the Workflow #4 in Linux_for_Tegra/tools/kernel_flash/README_initrd_flash.txt.

Error: Return value 4
Command tegraparser_v2 --generategpt --pt flash.xml.bin
cp: cannot stat ‘signed/*’: No such file or directory
cp: cannot stat ‘signed/flash.xml.tmp’: No such file or directory
./tegraflash.py --bl _sigheaderencrypt. --bct br_bct_BR.bct --bldtb tegra264-p3740-0002+p3834-0008-qspi-nvme.dtb --applet applet_t264.bin --cmd “secureflash;reboot” --cfg secureflash.xml --chip 0x26 --coldboot_bct_cfg bct_cfg.xml --rcmboot_bct_cfg rcmboot_bct_cfg.xml --minratchet_config tegra264-mb1-bct-ratchet-p3834-xxxx-p3971-0000.dts --bct_flags_file platform_config_profile.yaml --bins “mb2_bootloader mb2_t264_sigheader.bin.encrypt; xusb_fw xusb_t264_prod_sigheader.bin.encrypt; pva_fw nvpva_030_sigheader.fw.encrypt; dce_fw display-t264-dce_sigheader.bin.encrypt; bpmp_fw bpmp_t264-TA1090SA-A1_prod_sigheader.bin.encrypt; fsi_fw fsi-fw-t264_sigheader.bin.encrypt; bpmp_fw_dtb tegra264-bpmp-3834-0008-3740-xxxx_sigheader.dtb.encrypt; rce_fw camera-rtcpu-t264-rce_sigheader.img.encrypt; eks eks_t264_sigheader.img.encrypt; bootloader_dtb tegra264-p3740-0002+p3834-0008-qspi-nvme_sigheader.dtb.encrypt”
saving flash command in flashcmd.txt

*** no-flash flag enabled. Exiting now… ***

User can run above saved command in factory environment without
providing pkc and sbk keys to flash a device

Example:

$ cd bootloader 
$ sudo bash ./flashcmd.txt

Error: /home/wpces/Downloads/Linux_for_Tegra/bootloader/signed/flash.idx is not found
Error: failed to relocate images to /home/wpces/Downloads/Linux_for_Tegra/tools/kernel_flash/images
Cleaning up…
root@wpces:/home/wpces/Downloads/Linux_for_Tegra#

root@wpces:/home/wpces/Downloads/Linux_for_Tegra/bootloader# bash flashcmd.txt
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands

Traceback (most recent call last):
File “/home/wpces/Downloads/Linux_for_Tegra/bootloader/./tegraflash.py”, line 1479, in
tegraflash_run_commands()
File “/home/wpces/Downloads/Linux_for_Tegra/bootloader/./tegraflash.py”, line 1293, in tegraflash_run_commands
interpreter.onecmd(command)
File “/usr/lib/python3.12/cmd.py”, line 217, in onecmd
return func(arg)
^^^^^^^^^
File “/home/wpces/Downloads/Linux_for_Tegra/bootloader/./tegraflash.py”, line 342, in do_secureflash
self.chip_inst.tegraflash_secureflash(exports)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: ‘TFlashT264’ object has no attribute ‘tegraflash_secureflash’. Did you mean: ‘tegraflash_flash’?
root@wpces:/home/wpces/Downloads/Linux_for_Tegra/bootloader#

my cmd:sudo ROOTFS_AB=1 ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1 -S 150GiB -c ./tools/kernel_flash/flash_l4t_nvme_rootfs_ab.xml igx-thor-devkit external

AB img is already done . but it still flash failed

hello wpceswpces,

AGX Thor does not support root file system redundancy at JP-7.0 release version.
we’ve changes merge into rel-38 code-line to enable that, please expect next JP-7.1 public release will support Rootfs-A/B.

When’s the next update? I’m dying here!

hello wpceswpces,

please expect JP-7.1 public release will be available in the early 2026.
unfortunately, I don’t have solid release date.

Hello,JerryChang

The news I heard before was that it would be released in early December.
Now why has it been delayed to 2026?
In the meantime, will there be any 7.0 version patches, for example some updates merged in from 7.1, or will there be nothing at all…

as mentioned, I don’t have solid release date.
there’s no patches available to enable rootfs-ab, unfortunately.

That’s really bad news, what a pity.I hope it’s not true.

The JP7.1 is going to be release soon. Please wait for our announcement. Thanks

1 Like

Hi,kayccc

Thank you for the reminder, I found that it was already released yesterday.

tools/kernel_flash/README_initrd_flash.txt has been updated with Thor instructions.

./tools/kernel_flash/flash_l4t_t264_ufs_rootfs_ab.xml
./tools/kernel_flash/flash_l4t_t264_nvme_rootfs_ab.xml

sudo ROOTFS_AB=1 ./l4t_initrd_flash.sh \
      --external-device nvme0n1 \
      [ -c ./tools/kernel_flash/flash_l4t_t264_nvme_rootfs_ab.xml ] \
      jetson-agx-thor-devkit \
      external

Now to get the motivation to back up everything on Thor to try it.

1 Like

hi,kayccc

Can you please clarify whether the bootloader and rootfs slots are not supposed to correspond one-to-one? I’ve noticed that after successfully upgrading the bootloader, the rootfs didn’t switch. The current slot is B, but the rootfs is still nvme0n1p1.

root@tegra-ubuntu:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p1  177G   28G  140G  17% /
tmpfs            62G  140K   62G   1% /dev/shm
tmpfs            25G   23M   25G   1% /run
tmpfs           5.0M  8.0K  5.0M   1% /run/lock
efivarfs        256K   12K  245K   5% /sys/firmware/efi/efivars
/dev/nvme0n1p5  505M   78K  505M   1% /boot/efi
tmpfs            13G  112K   13G   1% /run/user/121
tmpfs            13G   96K   13G   1% /run/user/0
root@tegra-ubuntu:~# nvbootctrl dump-slots-info
Current version: 38.4.0
Capsule update status: 1
Current bootloader slot: B
Active bootloader slot: B
num_slots: 2
slot: 0,             status: normal
slot: 1,             status: normal

Let’s tracking at your new topic: Slot switch failed - Jetson Systems / Jetson Thor - NVIDIA Developer Forums

1 Like