Jetson Nano量产版配置eMMC只有16GB,如果在eMMC上安装SDK开发环境,容量就所剩无几了,如果可以让系统从USB设备(大容量U盘,移动硬盘)进行启动,满足我们对容量的要求。下面介绍如何让Jetson Nano从USB启动。
JetPack版本:4.6.2
USB设备:U盘(128GB)
操作步骤:
1.主机
1)确保设备可以从eMMC正常启动,如果不能的话,请先烧写eMMC,可参见前面的Blog。
2)连接U盘到主机。我的主机是Ubuntu 18.04.6 LTS
3)查询U盘的设备名称。
sudo lsblk -p -d | grep sd
4)创建一个新分区。
sudo parted /dev/<sdx> mklabel gpt
<sdx>为刚才查询到的设备名称,如我的为sda
5)增加一个新的APP分区。
sudo parted /dev/<sdx> mkpart APP 0GB <size>
<size>为创建APP的大小,如我的U盘为128GB,这个地方我写的是100GB
6)格式化并挂载。
sudo mkfs.ext4 /dev/<sdx>1
sudo mount /dev/<sdx>1 /mnt
<sdx>为设备名称。
7)烧录文件。
将开发板的Force Recovery短接到地,用USB线与主机相连,通电。
cd Linux_for_Tegra/
sudo BOOTDEV=sda1 ./flash.sh --no-flash <board> sda1
sudo mkdir tmp_system
sudo mount bootloader/system.img.raw ./tmp_system
sudo rsync -axHAWX --numeric-ids --info=progress2 --exclude=/proc ./tmp_system/ /mnt
sync
<board>为开发板名称:
SD卡版:jetson-nano-devkit
eMMC版:jetson-nano-devkit-emmc
烧录时间比较长,请耐心等待。
8)卸载设备。
sudo umount /mnt
sudo umount ./tmp_system
至此,在主机上的工作就完成了。
2.目标机
1)修改配置文件。
sudo vi /boot/extlinux/extlinux.conf
将"root=/dev/mmcblk0p1"修改为“root=/dev/sda1”
保存,关机。
2)从U盘启动。
将U盘插入开发板的USB接口,开机启动,正常情况下会进入图形配置界面,代表启动成功。
mount
可以看到是从/dev/sda1进行挂载的。
df
这里有2个磁盘,/dev/sda1,/dev/mmcblk0p1。
若想修改为原来的eMMC启动,可以修改extlinux.conf挂载点为:/dev/mmcblk0p1。注意,这个时候修改的extlinux.conf路径在/media/<user_name>/<UUID>/boot/extlinux下。
<user_name>为用户名。
<UUID>为U盘的UUID。
3.安装SDK到外部存储设备
通过外部存储设备启动系统后,可以通过sdkmanager对Jetson SDK components进行安装,此时的SDK安装位置就是外部存储设备了。
注意:不要勾选Jetson OS相关内容。