Following the instructions in https://developer.nvidia.com/embedded/jetson-linux, I upgraded my nx to Jetpack 5.1 . With a successful hint of flash_ssd, when reboot the nx, it cannot bootup successfully.
ASSERT [DxeCore] /out/nvidia/bootloader/uefi/Jetson_RELEASE/edk2/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c(562): !(((INTN)(RETURN_STATUS)(Status)) < 0)
Resetting the system in 5 seconds.
Shutdown state requested 1
Rebooting system …
How to fix it, please help. BTW, I used the same methods on Jetpack 5.0.2, it will be OK. nx5.1.bad.log (15.5 KB)
Thanks for your reply.
After I flash sdk to ssd, I got the error I mentioned before. Then I flash it to emmc, it works.
In detail, if I bootup with ssd, NX bootup by using the system on ssd. And I bootup without ssd, NX will bootup by using the system on EMMC. It seems wierd, isn’t it?
Or, they are the exactly correct routine? So, where is uefi installed?
Why there’s no mmcblk0 on your board?
It seems rootfs has been mounted on your NVMe SSD.
It should be in internal eMMC (mmcblk0) with the name of “cpu-bootloader”.
You could refer to the flash_l4t_t194_spi_emmc_p3668.xml for configuration of all partitions.
Yes, if I bootup the borad without ssd, rootfs will use the one on emmc. The system looks “adaptable”…
All these happened after I run the two commands.
1 “nvsdkmanager_flash.sh --storage nvme0n1p1”, (only run this, bootup failed as I mentioned in the first palce)
2 “flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1”.
Have I made this clear? I suppose command 2 is not necessary, am I right? Again, only doing command 1 does work on my 5.0.2 environment.
This behavior seems as expected to me. If you don’t have NVMe SSD connected, it would use internal eMMC to boot up.
Sorry, I’m not very clear about your problem at this moment. From beginning, it seems an assertion in UEFI causing boot up failed, but it seems could boot up successfully so that you could show me the result of lsblk and NVMe is mounted as rootfs as expected.
The first command from you is using sdkm script to flash into NVMe, it will call l4t_initrd_flash.sh for external device.
The second command from you is using to flash internal eMMC.
The usage of both command depends on what you want to do now.
The problem is: if I run command 1 only, which I want to flash system the nvme, it cannot boot up successfully with the error I mentioned at the beginning.
Could it boot up successfully if you run both commands?
To boot up from NVMe drive, you have to make sure the board could boot up successfully with internal eMMC first (w/o NVMe connected). After that, connecting an NVMe drive and flash the image into it.
The problem is: if I run command 1 only, which I want to flash system the nvme, it cannot boot up successfully with the error I mentioned at the beginning.
There are two cases on my testbed.
1, flash nvme, then flash emmc, the system can bootup with both nvme and emmc. (with or without ssd attached)
2, flash emmc, then flash nvme, the system cannot bootup with neither nvme nor emmc. (with or without ssd attached)
Let’s talk about 2nd case and simplify it to 3 steps.
Step 1. Flash eMMC (w/o SSD connected)
Step 2. Flash NVMe
Step 3. Boot up failed (as you mentioned)
Does your board can boot up successfully after Step 1?
If yes, please help to provide the flash log of Step1/Step2 and serial log of Step3 for further check.
I found there are some errors in flash_ssd.log, not sure it would relate to your issue.
Fix/Ignore? Error: The backup GPT table is not at the end of the disk, as it should be. Fix, by moving the backup to the end (and removing the old backup)?
Fix
Warning: Not all of the space available to /dev/nvme0n1 appears to be used, you can fix the GPT to use all of the space (an extra 880677551 blocks) or continue with the current setting?
1 Yes, it is the command I used.
2 Yes, it is 512GB.
3 According the log, it seems ok “Fix, by moving the backup to the end (and removing the old backup)?
Fix”. And the impact is that perhaps cannot use all of the space of nvme, seems not big deal.
And, after I flash emmc again, the syetem on nvme can boot up successfullly. It looks flash emmc fixed some bugs caused by flashing nvme…