Jp5.0.2 Xavier NX boot from SATA

Hi,

I used the command to flash external usb storage by README_initrd_flash.txt
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device sda1 -c ./tools/kernel_flash/flash_l4t_nvme.xml -S 32GiB --showlogs jetson-xavier-nx-devkit-emmc mmcblk0p1

The log show Error flashing non-qspi storage

Here’s log
log1.txt (252.8 KB)

1 Like

Which jetpack version are you using?

JetPack 5.0.2

downloaded from sdkmanager

package name
JetPack_5.0.2_Linux_JETSON_XAVIER_NX_TARGETS

Hi zax0220jecht,

What size of your usb storage?
Please check your flash_l4t_nvme.xml rootfs size.
This -S APP-size cannot be bigger than "num_sectors" * "sector_size"

Hi carolyuu,

I have check the sector size and numbers are ok

I think the error is not related to the storage size

By the way, I change the title cause we have successfully boot from NVMe, but can’t boot from usb storage connected with sata ssd

When you boot up from emmc or nvme, are you able to see the SATA device in /dev?

Yes, I am able to see SATA device in /dev/sdc

what is your command to flash your SATA?

The command:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device sda1 -c ./tools/kernel_flash/flash_l4t_nvme.xml -S 32GiB --showlogs jetson-xavier-nx-devkit-emmc mmcblk0p1

Just like the workflow3 in README_initrd_flash.txt

I’ve tried to replace mmcblk0p1 to external or sda1, but it still not work and showed the same error

If your SATA is on sdc1, why did you use a command to flash sda1…

The picture showed sdc1 is to check the question:

When you boot up from emmc or nvme, are you able to see the SATA device in /dev?

When we flashing the target NX, we only connect one SATA ssd external storage

The command should use sda1

please just boot from emmc connect your SATA to it and see if SATA is really working fine in this setup.

Also, your SATA only has 22 GB… why do you tell the command to flash 32GB?

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device sda1 -c ./tools/kernel_flash/flash_l4t_nvme.xml -S 32GiB --showlogs jetson-xavier-nx-devkit-emmc mmcblk0p1

The following is boot from emmc

The real size of SATA is 1TB, 22GB is the partition1

The default rootfs size is lower than 32GB, so I set to 32GB

What value should I set for -S size?

The number of sector * sector size of xml could be same as your SATA size.

And the -S is the rootfs size you want to use.

I tried the command :
sudo BOARDID=3668 BOARDSKU=0001 FAB=200 BOARDREV=G.0 ./tools/kernel_flash/l4t_initrd_flash.sh -S 10GiB -c tools/kernel_flash/flash_l4t_external-1tb-sata.xml --external-device sda1 jetson-xavier-nx-devkit-emmc external

Xml:
SATA size: 1TB = 512 * 2147483648
image

The rootfs size:
image

Here’s the log
flash_1-1_0_20221121-132217.log (74.1 KB)

  1. I don’t think you need to input the BOARD ID, sku and FAB.

  2. Could you also share the UART log from device during the flash?

  3. Did you do any customization to your BSP? or it is pure one from jetpack?

  1. Since I have tried not to add the BOARD ID, sku and FAB before and the result still the same, I will tried again

  2. “the UART log from device during the boot” means boot from emmc?

  3. I use the pure one downloaded by SDK manager

2… “the UART log from device during the boot” means boot from emmc?

No… during flash, there is also log from device side. We need to check that log. Sorry for my typo. Just corrected.

Command:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh -S 10GiB -c tools/kernel_flash/flash_l4t_external-1tb-sata.xml --external-device sda1 jetson-xavier-nx-devkit-emmc external

uart log

flash_uart_log.txt (72.5 KB)

initrd log
flash_1-3_0_20221121-151050.log (74.4 KB)