【jetson nano】emmc版本设备上安装20.04系统

1. 前言

博主于海鲜市场中购得一台研华的Jetson Nano,自带16G的Emmc,似乎没办法通过SD卡优先启动。

到手的版本是Ubuntu18,此版本已停止维护。

在Github上找到大神项目能够安装Ubuntu20.04Jetson-Nano-Ubuntu-20-image

但此项目只支持通过SD卡启动的Jetson Nano设备,且镜像需要烧录到64G内存卡,对于这个小小的16GEmmc来说绝对不够,于是乎,博主想到了曲线救国的方法

2.实现方法

在项目中有能够通过Emmc启动,但引导文件系统到SSD的方法,此曲线救国之法便基于此

总的来说,就是将rootfs从镜像中提取出来,在通过rsync同步到SSD中(同理,也应该可以使用U盘,SD卡等),虽然Emmc中还是18的系统,但Emmc目前只做引导作用,实际启动的是位于SSD的20.04系统。

3.如何操作

  1. 首先,下载博主打包好的rootfs压缩文件并解压。
    文件目录如下

jetson

|--rootfs

|--SSD_mnt

  1. 准备SSD

你可以在Jetson Nano设备中解压,前提是你通过Emmc启动,也可以准备一个SSD硬盘盒将SSD连接到虚拟机,博主便是后者

连接到虚拟机后,检查设备是否存在
lsblk

会显示如下图

找到SSD设备,将其挂载到文件夹中,如图中sdb1

在解压后的文件夹中打开终端,挂载SSD到SSD_mnt中
sudo mount /dev/你自己的设备名 SSD_mnt

之后,使用rsync同步rootfs文件到SSD_mnt中
sudo rsync -aHX --delete /rootfs/ /SSD_mnt/

此命令将删除SSD文件并将rootfs复制到SSD中

你也可以检查SSD_mnt文件夹是否和rootfs文件夹一致

  1. 装回SSD,通过Emmc启动Jetson,进入18的系统中修改引导

使用vim打开引U-boot启动配置文件,引导启动文件系统到SSD
sudo vim /boot/extlinux/extlinux.conf

打开后如图

将图中圈起来的地方修改为SSD的rootfs分区名

将SSD中/boot/Image文件和/lib/module/4.9.253-tegra文件复制并替换到Emmc相同的路径下,
sudo cp -f /boot/Image /SSD_mnt/boot/
sudo cp -rf /lib/module/4.9.253-tegra /SSD_mnt/lib/module/

同时修改initrd.img的指向
sudo ln -sf initrd.img-4.9.253-tegra initrd.img

完成这些之后,重启系统便可进入新系统