Jetpack6.2 替换rootfs问题

NVIDIA工程师,您好:
我正在Jetson Orin Nx Devkit上测试R36.4.3,在进行rootfs备份的时候遇到问题, 从system.img.raw拷贝出来的rootfs烧录后的镜像无法正常进入桌面环境和用户串口登陆。
https://docs.nvidia.com/jetson/archives/r36.4.3/DeveloperGuide/IN/QuickStart.html#to-flash-the-jetson-developer-kit-operating-software
$ tar xf ${L4T_RELEASE_PACKAGE}
$ sudo tar xpf ${SAMPLE_FS_PACKAGE} -C Linux_for_Tegra/rootfs/
$ cd Linux_for_Tegra/
$ sudo ./tools/l4t_flash_prerequisites.sh
$ sudo ./apply_binaries.sh

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -S 30GiB -c tools/kernel_flash/flash_l4t_t234_nvme.xml -p “-c bootloader/generic/cfg/flash_t234_qspi.xml” --showlogs --network usb0 jetson-orin-nano-devkit-super-maxn internal

烧录完成之后配置NVIDIA账户和密码。
然后我将配置完成之后的.img.raw拷贝出来:
https://docs.nvidia.com/jetson/archives/r36.4.3/DeveloperGuide/SD/FlashingSupport.html?highlight=system%20img%20raw#cloning-rootfs-with-initrd
$ cd Linux_for_Tegra
$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --initrd jetson-orin-nano-devkit-super-maxn internal

ssh root@fc00:1:1:0::2
:
$ mount /dev/sda1 /mnt
$ dd if= of=/mnt/system.img.raw
$ sync
$ umount /mnt

sudo mount -o loop system.img.raw /home/fzt/dhy/rootfs/
cd Linux_for_Tegra/rootfs/
sudo rm ./* -rf
sudo cp -p /home/fzt/dhy/rootfs/* ./ -rf

替换完rootfs后重新执行烧录命令:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -S 30GiB -c tools/kernel_flash/flash_l4t_t234_nvme.xml -p “-c bootloader/generic/cfg/flash_t234_qspi.xml” --showlogs --network usb0 jetson-orin-nano-devkit-super-maxn internal
flash_3-1_0_20250218-155404.log (48.2 KB)

启动后显示屏就出现这个窗口了,等1m30s后会自动进入root@nvidia的界面,抱歉我无法为你提供内核启动的log,因为我不知道为什么devkit没有在我的PC生成/dev/ttyACM0串口

这些步骤我之前在Jetpack5.1.3上都用过,是没问题的。但是不清楚为什么Jetpack6.2会有这个问题。

抱歉我无法为你提供内核启动的log,因为我不知道为什么devkit没有在我的PC生成/dev/ttyACM0串口

聽起來是不知道怎麼抓UART log. 請參考

Orin NX/Nano上產生的/dev/ttyACM0從來就不是UART log.

Press Enter for maintenance
(or press Control-D to continue):
root@nvidia:~#
root@nvidia:~#
root@nvidia:~#
root@nvidia:~#

看起來機器有開起來. 請確認一下能否正常操作. 如果是的話聽起來是Graphic driver沒起來的問題.

补充dmesg:
dmesg.txt (59.4 KB)

您指的操作是什么,我访问一些rootfs是可以的。
这里正常来说默认不是会进入到我创建的名为 nvidia的账户吗?

因为我直接使用的NVIDIA的L4T源,没有修改过任何驱动/设备树。只是在进行一个干净的rootfs拷贝验证。
这个Graphic driver是在拷贝过程中出现了问题马?

麻煩在這個開機狀況下把jounralctl -xb的log附上來 系統開進emergency mode了

另外請問一下, 為何要刻意加上 -S 30GiB ? 這個對於產生這個問題有直接關聯嗎?

journalctl.txt (151.8 KB)

因为如果我不加-S 30GiB,默认的rootfs会直接占用我的整个硬盘大小。我的硬盘是1T的。
会导致我进行system.img.raw的时候,直接输出一个1T大小的.raw文件。
我之前用5.1.3的时候,不加-S在第一次烧录完成之后开机的时候也会出现这个界面,但是我不清楚为什么6.2这个版本不加-S 不会出现这个界面,直接占用我的所有内存。

我在帖子里面找到了解决方案,NVIDIA在烧录完成后,默认设置的/etc/fstab是有问题的。

我手动修改为/dev/nvme0n1p10 /boot/efi就可以解决问题。

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.