需求
Jetson Nano默认从Micro SD卡启动,但是无论是顺序读写还是随机访问其性能都不如大多数的SSD。手头也有一块三星T5 1TB 闲置,于是决定重装系统的同时研究如何才能使用USB移动硬盘作为根目录。
踩过的坑
找对版本
Jetson Linux支持Nano的最新版本是32.7.3,官网上更新的35.1基于Ubuntu 20.04 + 内核版本5.10但是并不支持Nano。事关bootloader所以还是需要严格按照支持版本来的,安装后可以自行升级内核。不建议在Jetson Nano上进行操作
老老实实的按照文档在Ubuntu上刷最不容易出问题,我一开始头铁结果不小心清了QSPI之后变砖了只能跳线进Recovery Mode。root file system
参考后文,我首次刷完后可以正常启动但重启后无法正常引导。刷了几次系统之后实在懒得折腾了,影响范围也仅限启动,因此就不进一步研究了。
步骤
救砖
电脑安装qemu-user-static1
sudo apt-get install qemu-user-static
下载驱动和文件系统:Driver Package & Sample Root Filesystem,解压缩:
1
2
3
4
5$ tar xf ${L4T_RELEASE_PACKAGE}
$ cd Linux_for_Tegra/rootfs/
$ sudo tar xpf ../../${SAMPLE_FS_PACKAGE}
$ cd ..
$ sudo ./apply_binaries.sh准备好Micro USB线连上电脑,MicroSD卡插入,跳线接FRC pins确保进恢复模式,跳线接J48用DC电源,最后插上DC电源开机
如果不确定的话可以用lsusb确认Jetson硬件的型号,确认好后即可开刷:1
sudo ./flash.sh jetson-nano-qspi-sd mmcblk0p1
刷完后QSPI-NOR也会一并恢复,再插上电就能看到Nvidia的图标了,并且可以从SD卡启动。
USB启动
详见Flashing to a USB Drive,前9步即可。micro SD卡迁移
上述文档中:To set up a flash drive manually for using as root file system
可能并不适用于Jetson Nano,按这步刷完后依然需要SD卡才能启动,且启动时遇到过各种问题。个人建议是跳过这步,依旧把/boot放置于micro SD卡中。此时可采用较小容量的micro SD卡。以下假设micro SD为/dev/<sdx>,经实验2GB的micro SD卡可行。
确保micro SD卡的文件已经备份后,创建GPT分区:1
$ sudo parted /dev/<sdx> mklabel gpt
类似文档,创建APP分区。此时为方便对齐可采用百分比:
1
sudo parted -a optimal /dev/<sdx> mkpart APP 0% 100%
格式化为ext4文件系统并挂载:
1
2sudo mkfs.ext4 /dev/<sdx>1
sudo mount /dev/<sdx>1 /mnt最后用
rsync复制原micro SD卡到新的小容量micro SD卡即可,记得替换挂载点:1
sudo rsync -a /mnt/bigSDCard/boot/ /mnt/smallSDCard/boot/
重启就完成了!效果如图:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 16M 1 loop
loop1 7:1 0 43M 1 loop /snap/snapd/17885
loop2 7:2 0 59.1M 1 loop /snap/core20/1782
loop3 7:3 0 30M 1 loop /snap/node/6871
sda 8:0 0 931.5G 0 disk
└─sda1 8:1 0 931.5G 0 part /
sdb 8:16 0 465.8G 0 disk
└─sdb1 8:17 0 465.8G 0 part /mnt/hdd
mtdblock0 31:0 0 4M 0 disk
mmcblk0 179:0 0 1.9G 0 disk
└─mmcblk0p1 179:1 0 1.9G 0 part
zram0 252:0 0 495.5M 0 disk [SWAP]
zram1 252:1 0 495.5M 0 disk [SWAP]
zram2 252:2 0 495.5M 0 disk [SWAP]
zram3 252:3 0 495.5M 0 disk [SWAP]mmcblk0即小容量micro SD卡。