How can I mount the nvme ssd as the rootfs?

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 ?

Hi qinyyuu,

Please refer to [url][/url]

Hi kayccc,
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 +1306 cmdline+=“root=/dev/nvme0n1p1 rw rootwait rootfstype=ext4”

and running : sudo ./ -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!!!

1 Like

working on my jetson xavier+nvme ssd

on jetson xavier

sudo parted /dev/nvme0n1
mklabel gpt
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 ./ jetson-xavier external

on jetson xavier

sudo resize2fs /dev/nvme0n1p1