@kayccc @baozhu.zuo @WayneWWW please check this problem out. I really need a solution to this.
@geoff.s yes it has the same problem as your, same device.
@kayccc @baozhu.zuo @WayneWWW please check this problem out. I really need a solution to this.
@geoff.s yes it has the same problem as your, same device.
Hi,
We cannot directly share you an answer as your are using a custom board from other vendor.
Jetson NX by default does not have any SATA interface, if there is one on your board, then must be using some converter through pcie or usb.
For your case, better checking with the board vendor first. They may share their board info/schematic to us which you may not have.
Hello,
I will help you further. Do you have experience flashing directly to SSD using command-line? If yes, you need to pass the following command after downloading the BSP.
sudo ./flash.sh jetson-xavier-nx-devkit-emmc sda1
If that does not work, try this
sudo ./flash.sh jetson-xavier-nx-devkit-emmc nvme0n1p1
If you are not familiar with it, I can send you further instructions.
@kayccc @WayneWWW Just for your reference. It is better if you @ lakshantha.d in the future because now I am the one who is taking in charge of Seeed-based NVIDIA products, and I will reply here in this forum. Thank you.
Best Regards,
Lakshantha
Thanks for the support to Jetson community!
Hi, if you can build kernel, you modify kernel config to make sata build into kernel, as below:
— a/kernel/kernel-5.10/arch/arm64/configs/defconfig
+++ b/kernel/kernel-5.10/arch/arm64/configs/defconfig
@@ -378,10 +378,10 @@ CONFIG_SCSI_MPT3SAS=m
CONFIG_SCSI_UFSHCD=y
CONFIG_SCSI_UFSHCD_PLATFORM=y
CONFIG_SCSI_UFSHCD_TEGRA=y
-CONFIG_ATA=m
+CONFIG_ATA=y
-CONFIG_SATA_AHCI=m
-CONFIG_SATA_AHCI_PLATFORM=m
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
,then copy the Image to $l4t/kernel/,then you try to flash,used the way you do in jetpack4.x
Neither of those commands will work. The flash will appear to succeed without erorr, but when rebooting the device will report “sda1 not found” or similar.
Similar issues have been reported in the past, for example:
@lakshantha.d We tried this process last year with jetpack 4. At first, it took some time to write the files. Later, lots of errors occurred and the setup failed. As @geoff.s mentioned, we had a similar error on other tries. Can you guide tell us through the process you mentioned step by step? We would like to try it again.
Just want to clarify… you could read my post here first to understand how those tools work…
First, flash.sh will not flash any data to external drive. What it can flash are all internal storage. For example, the internal emmc or internal sdcard slot.
If you just run flash.sh and give it nvme or sda1, then your nvme/SSD will still be empty.
To flash nvme or SSD, please use initrd flash tool instead.
Second, for any boot issue. You must share the log from UART serial console.
It is unlikely to precisely know what goes wrong if you cannot provide log.
Third, please check if your SSD or NVMe drive is able to get detected in emmc boot case first. If it cannot be enumerated, then it is not possible you can boot from it.
Hello,
Please wait. I will test this further and get back with clear instructions on how to flash to SSD successfully.
@lakshantha.d Our board is Jetson Xavier NX custom board. And we’ve tried jetpack 5.0.2. Please try your installation in this specific board with jetpack 5.0.2
Thank you
You can check flashing with initrd: NVIDIA Jetpack Flashing with initrd | RidgeRun Developer
Please, let us know your results.
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com/
Website: www.ridgerun.com
@EduardoSalazar96
last year we used this method for jetpack 4.6.x. But it gave errors. However, this year we’re trying jetpack 5.x and the official manual for initrd is only for jetpack 4.6.x
Sorry for the late response:
Here is a link to the JetPack 5 documentation to flash using the initrd Flashing Support — Jetson Linux<br/>Developer Guide 34.1 documentation
The initrd script is in /Linux_for_Tegra/tools/kernel_flash/
.
For example:
/JetPack_5.0.2_Linux_JETSON_XA
VIER_NX_TARGETS/Linux_for_Tegra/tools/kernel_flash$ ls
bin
flash_l4t_external.xml
flash_l4t_nvme_rootfs_ab.xml
flash_l4t_nvme_rootfs_enc.xml
flash_l4t_nvme.xml
flash_l4t_t234_nvme.xml
host_udev
initrd_flash
l4t_create_images_for_kernel_flash.sh
l4t_flash_from_kernel.sh
l4t_initrd_flash.func
l4t_initrd_flash_internal.sh
l4t_initrd_flash.sh
l4t_kernel_flash_vars.func
l4t_network_flash.func
README_initrd_flash.txt
Hope this helps!
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com/
Website: www.ridgerun.com
Hi,
I found a reliable way to install jetpack 5.0.2 on ssd. I found this after method after some searching.
This installs on both NVME drive and on internal emmc, but makes NVME the default boot drive:
Install to emmc using sdkmanager (or flash.sh) (maybe REDUNDANT?)
1.1. Download l4t BSP and sample rootfs, build it (shown in above)
1.2. You can flash via command line:
1.2.1. sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1
1.3. Or just use sdk_manager
Boot to setup, then to desktop, make sure nvme0n1p1 is available (type “parted” in search bar)
2.1. If not available, delete all partitions in nvme0 using “parted”
Flash jetpack to SSD (***NOTE: flash.sh can’t be used here):
3.1. sudo ./nvsdkmanager_flash.sh --storage nvme0n1p1
3.2. JETSON WILL BOOT TO BLACK SCREEN, this is expected.
Re-flash jetson to EMMC again (use sdkmanager)
4.1. sudo ./flash.sh jetson-xavier-nx-devkit-emmc nvme0n1p1
Set it up again. Then reboot.
Press escape to go to bios
Set SSD as initial boot device
thank you for your concern @EduardoSalazar96
however, it did not work
while installing, it doesn’t give any error. But it does not boot from SSD. Instead it boots from previously installed emmc drive.
please change the ATA driver from module (.ko) to built-in in kernel image. This requires to rebuild the kernel.
can you give me the process / tutorial?
The official docs come with the particular release you are using and are for cross compiling on a host PC. See to particular release you are using (L4T release found with “head -n 1 /etc/nv_tegra_release
”):
More of a tutorial on kernel build configuration:
https://forums.developer.nvidia.com/t/topic/229155/12
More of a tutorial on building a kernel:
https://forums.developer.nvidia.com/t/topic/193640/11