- 系统环境:Ubuntu18.04
- Jetson tx2架构:aarch64
- JetPack 4.6.3
- L4T版本为32.7.3
误升级版本为35.3:
deb https://repo.download.nvidia.com/jetson/common r35.3 main
deb https://repo.download.nvidia.com/jetson/t180 r35.3 main
然后后面没注意,一直填Yes,就寄了。寄的表现为:无法打开gui界面,且有start kernel 和 Failed to start nvpmode server报错。重新挂载ssd仍然解决不了问题。
很明显可以看到是apt dist-upgrade 造成的。
查看挂载情况。
给出几种思考的解决方案:
- 涉及使用定制载板,并使用SD卡进行启动时的问题。以下是你采取的步骤和你遇到的问题的总结:
-
初始设置:
- 使用Seeed的定制载板,要么预装JetPack,要么在eMMC上刷写了新的JetPack。
- 插入SD卡并按照Seeed的说明启用它。
-
将JetPack OS刷写到SD卡:
- 将JetPack OS从eMMC刷写到SD卡。这涉及将eMMC上的内容复制到SD卡,并更新
/boot/extlinux/extlinux.conf
文件,将“root”条目设置为SD卡(/dev/mmcblk1p1
)。
- 将JetPack OS从eMMC刷写到SD卡。这涉及将eMMC上的内容复制到SD卡,并更新
-
升级内核:
- 执行
sudo apt upgrade
,升级SD卡上的内核。
- 执行
-
启动问题:
- 在启动过程中,设备尝试加载eMMC上的旧内核文件,导致启动失败。
-
解决步骤:
- 使用Putty和SSH连接到设备。
- 挂载eMMC。
- 将
/mnt/boot/extlinux/extlinux.conf
中的根目录条目更改回eMMC(/dev/mmcblk0p1
)。 - 重启设备。
- 设备现在应该能够再次从eMMC启动。
- 执行
sudo apt upgrade
。 - 再次启用SD卡。
- 将
/boot/extlinux/extlinux.conf
中的根目录条目更改回SD卡(/dev/mmcblk1p1
)。 - 设备现在应该能够从SD卡启动。
sudo -s mount /dev/mmcblk0p1 /mnt
- 将
- 对于使用ssd挂载的上面的方法我也试过了用处不大,挂载参照博客,另一种办法是将 extlinux.conf 的文件恢复eMMC启动之后,先将SSD整体备份一遍,因为系统配置不会因为磁盘映射系统而改变,所以等备份恢复了之后将SSD整体格式化,再将源eMMC配置好的系统复制过去然后apt-upgrade,最后将我们备份好的SSD中软件整体再迁移回去。目前正在执行这个方案(这个方案被我玩崩了,只有老老实实刷emmc了)
- 因为没有涉及到eMMC中系统兼容问题所以我觉得不到万不得已还是不刷机,因为当时配置了很多的系统也花费了不少时间,能不刷机就不刷机。如果是刷机的话,刷完之后对比以下SSD启动盘中的文件,看能不能恢复一下设置。