Image-based OTA from 32.6.1 to 32.7.2.The upgrade result indicated that the upgrade succeeded but the startup failed

I am using Xavier NX, the flash mothed in 32.6.1 and 32.7.2 is the same, emmc does not flash the system, the system starts directly from nvme0n1p1. This is the log file, please help me check where the problem is, thank you!
putty20230807.log (281.1 KB)

Hi andorno,

Are you using the devkit or custom board for Xavier NX?

Are you doing the image-based OTA from R32.6.1 to R32.7.2?
If yes, could you share the full update logs for further check?

Do you connect an NVMe drive on your board?

I used the devkit board for Xavier NX.Yes,I’m doing the image-based OTA from R32.6.1 to R32.7.2. I make sure it connect an NVMe drive on my board. The full update logs as follows:
putty20230807.log (281.1 KB)

Device /dev/mmcblk?p1 does not exist
[    6.709608] Root device found: mmcblk0p1
[   16.927177] ERROR: mmcblk0p1 not found

Are you using Xavier NX devkit with SD card module?
If yes, is the the SD card in the slot?

I’m using Xavier NX devkit with emmc module.

Could you help to verify if the image-based OTA would work for internal eMMC w/o NVMe drive connected?

Is this still an issue to support? Any result can be shared? Thanks

After the OTA upgrade operation, emmc needs to flash to make it effective.

I am currently testing BSP 35.4.1, and the Image-based OTA has been upgraded from version 32.6.1 to 35.4.1. However, some problems were encountered. The ota_play_package.tar.gz decompression failed.

The rootfs used to generate ota_payload_package.tar.gz is extracted from Tegra_Linux_Sample-Root-Filesystem_R35.4.1_aarch64.tbz2. When using my custom rootfs(17G size), a “Failed.Your APPSIZE might be too small” message appears.

Do you mean it should be flashed again after update?

Please provide the commands you used and the logs as file here instead of showing the screenshot with just few information.

Could your board boot up successfully with R35.4.1?

Yes,it should be flashed again after update.

ota_20230824-181550.log (132 Bytes)

It seems just following lines in your log file so that I could not do further check.

### OTA log ###
Failed to run "tar xzvf /ota/ota_payload_package.tar.gz -C /ota_work"

I would like to check the full logs of image-based OTA from your board.
If you want to do image-based OTA for NVMe drive, please make sure you are booting from NVMe drive and use it as rootfs before update.

I confirm the device is booted from nvme.
I used the following command flash NX module(extended 128G SSD) :
In the R32.6.1BSP package cd Linux_for_Tegra Run the following command:
$ sudo ./tools/kernel_flash/ --external-device nvme0n1p1 -c /tools/kernel_flash/flash_l4t_external.xml --showlogs jetson-xavier-nx-devkit-emmc nvme0n1p1.
In the R35.4.1BSP package cd Linux_for_Tegra Run the following command:
$ sudo ADDITIONAL_DTB _OVERLAY_OPT=“BootOrderNvme.dtbo” ./tools/kernel_flash/ --external-device nvme0n1p1 -c./tools/kernel_flash/flash_l4t_external.xml --showlogs jetson-xavier-nx-devkit-emmc nvme0n1p1.

Then, Cloning rootfs with initrd operation is performed on the NX module of flash R35.4.1 to obtain system.img.raw. I then mounted system.img.raw to replace the Sample-Root-Filesystem given by R35.4.1 to generate ota_payload_package.tar.gz.
The following commands are executed:
1.$ sudo ./tools/ota_tools/version_upgrade/ jetson-xavier-nx-devkit-emmc R32-6 ${BASE_BSP} ${BASE_BSP}/rootfs ${TARGET_BSP}
2. $ sudo ./tools/ota_tools/version_upgrade/ -s --external-device nvme0n1 -S 118GiB jetson-xavier-nx-devkit-emmc R32-6
When I run command 2, an error message “BASE_BSP is not set” is displayed. If I switch to the root user to run this command, no error message is displayed.
but ,the last step is to perform the OTA upgrade, with an error as described above: Failed to run “tar xzvf /ota/ota_payload_package.tar.gz -C /ota_work”.

Sometimes, it might boot from eMMC/SD but mount nvme drive as rootfs.
Please make sure it boot from NVMe through the uefi menu.

It seems just you export BASE_BSP for root only…

I would like to check the full log in this step. Please capture them from your board when the update is performing.

putty202308029-35.4.1.log (73.7 KB)
These are the pictures and logs of Xavier NX device with flash 35.4.1 BSP, please help to confirm whether it is started from NVME, thank you.

I see in the development guide to generate ota_payload_package.tar.gz is using -E, what is the effect of this parameter?

It should be included in the debug log of UEFI, you should update the UEFI binary to enable the debug messages.
Or you could just enter into boot manager menu and select boot device as NVMe to make sure it is booted from NVMe.

-E <esp image>: Specify the image to update ESP. Only valid for update without layout change.

I went to the boot manager menu and saw that it was booted from NVME.