I want to boot from Nvme ssd，so I copy the rootfs to the Nvme ssd（filesystem format is ext4 ），and I have build blk_dev_nvme in kernel. I changed the dtb file chosen node,set bootargs: root=/dev/nvme0n1p1 …
when the xavier power on,the kernel has loaded and runnig ,but the rootfs loading failed.
the dmesg | grep root show : No root-device:Mount failed
in the shell I can find /dev/nvme0n1p1 device.
what should I do to solve this problem? or where need to set to auto mount root device ?
This link discusses the topic I have read, does not solve the problem
In the shell ： sudo mkfs.ext4 /dev/nvme0n1p1
sudo cp -a <your_dir>/Linux_for_Tegra/rootfs/* <mount_dir>
and I changed the bootargs by dtb file,in the flash.sh +1306 cmdline+=“root=/dev/nvme0n1p1 rw rootwait rootfstype=ext4”
and running : sudo ./flash.sh -r -k kernel-dtb jetson-xavier mmcblk0p1 update the dtb file.
the performance as stated above.
other places need to change？
Unfortunately, nvme driver in bootloader is not yet supported.
Is there any hope in the further this feature will be added. The current memory limitation is too small to build needed software. In building the software my software I have used over 100MB of drive attached to the Nano I am testing with. The feature needs to be added ASAP!!!
working on my jetson xavier+nvme ssd
on jetson xavier
sudo parted /dev/nvme0n1
mkpart primary 2048s 100%
sudo mkfs.ext4 /dev/nvme0n1p1
sudo blkid /dev/nvme0n1p1
my device partuuid
/dev/nvme0n1p1: UUID="b11f5460-ec67-4f4a-9c41-8cffd4b11df4" TYPE="ext4" PARTLABEL="primary" PARTUUID="532ead91-c15f-4412-83b5-e5675ff21773"
sudo dd if=/dev/mmcblk0p1 of=/dev/nvme0n1p1
on linux host
echo '532ead91-c15f-4412-83b5-e5675ff21773' > bootloader/l4t-rootfs-uuid.txt
sudo ./flash.sh jetson-xavier external
on jetson xavier
sudo resize2fs /dev/nvme0n1p1