FYI, I doubt 10GiB is big enough for any Jetson. Some random tips:
To see the size of the entire sda
:
sudo blockdev --getsize64 /dev/sda
To see the size of sda1
, as the “flash -S <size>
” option sees it:
sudo blockdev --getsize64 /dev/sda1
On Xavier or older, use a size evenly divisible by either “1024*1024
” (“MiB
”), or “1024*1024*1024
” (“GiB
”).
according to the log, it seems sata is not able to get enumerated when boot to initrd. Thus, not able to flash.
zax
November 22, 2022, 6:29am
24
Hi linuxdev
I connect the sata to host
Here’s the result
For reference, the partition sdb1
is 1000203091968
bytes.
1000203091968 / (1024*1024) = 953868 MiB
1000203091968 / (1024*1024*1024)
GiB won’t work since it is not evenly divisible by 1024 (931.51171875
GiB…note the floating point).
So this works: "-S 953868MiB
(assumes it is a rootfs partition…odd sizes work ok if not used for rootfs).
zax
November 23, 2022, 6:26am
26
Hi WaneyWWW
I have tried on Jp4.6.2 with the same configuration(SOM, board, 1T sata storage, host, xml)
-s Size set to 22GiB
Here’s the log and command
flash_1-6_0_20221123-124646.log (74.2 KB)
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device sda1 -c ./tools/kernel_flash/flash_l4t_external.xml -S 22GiB --massflash 10 --showlogs jetson-xavier-nx-devkit-emmc sda1
And I’am trying again on J5.0.2 with these configuration
Hi,
The key problem here is not what flash tool you are using. It is just simple that your device is not able to get enumerated in initrd in jp5.0.2 anymore.
Try to compare the uart log between these two and see if that is the cause.
zax:
-s Size set to 22GiB
It is case-sensitive. Lower case “-s
” won’t work. Use upper case.
zax
November 24, 2022, 2:20am
29
Attach is the log of j4.6.2 during flashing
flash_uart_log_4.6.2.txt (182.0 KB)
Compare to 4.6.2, the sata device(sda) seems can’t mount during flashing on j5.0.2
Connection timeout: device /dev/sda is still not ready.
Why j4.6.2 can mount while initrd, and j5.0.2 can not?
Is there any dts or method can mount the external while initrd?
zax
November 24, 2022, 2:21am
30
Sorry for the typo, I used the upper case
It looks like pcie in initrd is not able to detect the drive.
Could you try to boot up with nvme and share the result of lspci -vvv + dmesg?
zax
November 24, 2022, 4:46am
32
Here’re logs boot from nvme and connect with sata ssd
lspci_log_sata.txt (7.4 KB)
dmesg_sata.txt (79.9 KB)
Here’re logs boot from nvme and disconnect sata ssd
lspci_log.txt (7.4 KB)
dmesg.txt (82.2 KB)
Hi,
I want to say this again. I need result of “sudo lspci -vvv”.
Also, do you have to use this kind of SATA drive for production or it is okay to test another kind?
Hi,
Also want to ask, is your test still on Xavier NX devkit or it is on your custom board?
zax
November 24, 2022, 6:39am
36
Hi,
The test is on our custom board
Is it possible to test this on NX devkit or AGX Xavier devkit?
zax
November 24, 2022, 6:45am
38
NX devkit and AGX Xavier devkit has no SATA port
Yes, I know. Your SATA is also not a SATA devcie to jetson. Your design has a SATA to PCIe converter.
My point is if you can use same converter on NX/AGX devkit to test.
zax
November 24, 2022, 7:12am
40
No, that is impracticable
I will check again the circuit and compare to nvme, because boot from nvme is work now
Hi,
Below is my summary of this issue so far. Could you confirm?
Jetpack4.6.x can flash this SATA without problem.
In jetpack5.0.2, when booting to emmc, you can see your SATA driver under /dev/
In jetpack5.0.2, when you tried initrd flash to flash this SATA, it failed because initrd cannot enumerate SATA drive.