以 SSD/TF card 作为系统盘启动
执行操作之前请先仔细阅读本文档,留意红色注意字体、黄底段落。根据实际情况,灵活使用命令(执行命令注意空格、文件名根据实际文件填写、注意文件所在路径)。
步骤一:格式化硬盘
打开 Ubuntu18.04 自带 Disks 工具,找到新安装的硬盘,首先按键”Ctrl+F”将其快速格式化为ext4 格式。
(按 ctrl 键出现搜索框,搜索”disks”工具)
(进入 disks,找到安装的 ssd/tf card,然后组合按键”ctrl+F”,对硬盘进行快速格式化,点击 Format )
(格式化前需要输入用户密码)
(划分大小分区,选择默认最大,点击 next)
(给此分区起名字【例如:ssd】, 格式必须选择ext4 ,其他均为默认选项,然后点击 create )
(出现下图所示画面,点击三角符号挂载)
(挂载成功,此挂载仅为数据盘且只在当次生效,仍需进行下一步。)
注意:
记住此步中 Device /dev/nvme0n1p1 ,此为 SSD 的设备号。部分 SSD 设 备 号 为 /dev/nvme0n1 或 者 TF card 设 备 号 为
/dev/mmcblk1p1 。下一步中的 rootOnNVMe 的文件脚本默认基于
/dev/nvme0n1p1 此设备号执行的,如果实际设备号为其它的,请根据实际设备号进行修改。
步骤二:执行引导脚本
找到进到主目录:/home/nvidia/rootOnNVMe/
#如没有此文件夹可以输入此命令 git 下来:
git clone https://github.com/jetsonhacks/rootOnNVMe.git
根据步骤一中最后一步的红色注意事项,如果采用 TF card 卡作为系统盘,或者是SSD 的设备号为/dev/nvme0n1。则需要修改 rootOnNVME文件中的以下三个文件:
copy-rootfs-ssd.sh
data/setssdroot.sh
data/setssdroot.service
需要将以上三个文件中对应的设备号/dev/nvme0n1p1 修改为步骤一中 最 后 一 步 中 确 认 的 对 应 的 设 备 号 /dev/mmcblk1p1 或 者/dev/nvme0n1 (每个文件只有一处更改)其它无需更改。
执行以下命令:
cd rootOnNVMe/
sudo chmod +x copy-rootfs-ssd.sh
#给文件增加可执行权限
sudo ./copy-rootfs-ssd.sh
#把 SSD mount 到/mnt 下,并把 rootfs 区复制到/mnt 下。
等待文件复制,直至停下。(一般会在 95%停下,具体根据复制内容大小)
sudo chmod +x setup-service.sh
#给文件增加可执行权限
sudo ./setup-service.sh
#生成引导文件,使 SSD 作为系统盘启动
sudo reboot
重启后,终端输入df -h 确认是否挂载成功
/ 目录挂载在 /dev/nvme0n1p1 上,即为成功。
SSD 仅作为系统盘(rootfs 和用户区),系统的启动引导依然是通过 EMMC,比如升级设备树 dtb 还是在 EMMC 中。所以原储存 emmc 内(即上图的
/dev/mmcblk0p1 和文件管理中的 15GB Volume)的空间里面的文件不要改动,否则会导致无法正常开机。
取消 SSD 卡作为系统盘,改回原来的 emmc 系统:
此操作可适用于把SSD 卡作为系统盘后,因为自行配置的问题,想要恢复原系统。
- 打开文件管理,找到左侧的 15 GB Volume (即原储存 emmc) ,在其中/etc 下找到settfroot.conf 文件,删除它,再重启即可。
在当前目录下打开终端 sudo rm settfroot.conf 删除。
- 随后可重新格式化挂载 SSD。
如无法使用图形界面,可以先把/dev/mmcblk0p1 挂载到/mnt 下再进行操作。