因emmc版本的NX自带内存不够大,只有16GB(手上的是这个型号),安装系统大概需要除去4G多内存,再安装CUDA,cuDNN,TensorRT等内存直接爆满,无法继续使用。所以需要将内存转移给外部设备,比如SSD,TF卡等。
原装开发板底座自带M2接口,所以这里将阐述系统转移到SSD的方法。
- 获取脚本资料GitHub - jetsonhacks/rootOnNVMe: Switch the rootfs to a NVMe SSD on the Jetson Xavier NX and Jetson AGX Xavier,可以直接在这个网页下载。
![](https://img-blog.csdnimg.cn/6151691ca1794380be4dc9c36838f7ff.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAR05OVVhYTA==,size_20,color_FFFFFF,t_70,g_se,x_16)
当然你也可以直接使用git clone GitHub - jetsonhacks/rootOnNVMe: Switch the rootfs to a NVMe SSD on the Jetson Xavier NX and Jetson AGX Xavier获取资料
![](https://img-blog.csdnimg.cn/aea70f06993e43cabfa71140c608d8a2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAR05OVVhYTA==,size_20,color_FFFFFF,t_70,g_se,x_16)
2、进入下载的文件夹,编辑脚本文件copy-rootfs-ssd.sh
![](https://img-blog.csdnimg.cn/3eced16b0a4348cfb2555566b4cfd606.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAR05OVVhYTA==,size_20,color_FFFFFF,t_70,g_se,x_16)
我接入的SSD设备显示为/dev/nvme0n1,所以我将此文件修改为
![](https://img-blog.csdnimg.cn/6daf52642d9741518f27d7f1de6d1ac5.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAR05OVVhYTA==,size_20,color_FFFFFF,t_70,g_se,x_16)
3、在rootOnNVMe文件夹运行脚本copy-rootfs-ssd.sh复制系统到SSD中,在这个过程中有可能需要给脚本文件添加可执行权限。复制过程如下图
![](https://img-blog.csdnimg.cn/760b091e3d424d5dbd1c1aea57372c13.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAR05OVVhYTA==,size_20,color_FFFFFF,t_70,g_se,x_16)
4、复制完成后,运行脚本setup-service.sh配置启动项:./setup-service.sh
在运行配置启动项脚本之前需要先明白一个道理,因之前系统默认的启动是从emmc启动,然而我们是把系统复制到了SSD中,所以再次开机是需要从SSD中启动,这样才能证明我们系统转移成功。所以我们需要将启动项修改一下:
进入到data目录,修改setssdroot.sh脚本
![](https://img-blog.csdnimg.cn/cf4162104c524f8e9d7275a6fb34c4ab.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAR05OVVhYTA==,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/d42b7106710a43b0b625a96972f16af2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAR05OVVhYTA==,size_20,color_FFFFFF,t_70,g_se,x_16)
5、执行./setup-service.sh,成功之后如下图
![](https://img-blog.csdnimg.cn/1239cc9aeaf041e98c654e2e40bfd644.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAR05OVVhYTA==,size_20,color_FFFFFF,t_70,g_se,x_16)
6、上电重新启动,说明系统从SSD启动成功
![](https://img-blog.csdnimg.cn/6a56efae85a442c19133350f9c7a4a44.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAR05OVVhYTA==,size_20,color_FFFFFF,t_70,g_se,x_16)
备注:在将系统烧录到SSD之前,SSD卡需要格式化一下。
比如格式化成EXT4格式,sudo mke2fs -t ext4 /dev/nvme0n1
如果需要将SSD进行分区的话:(这个分区好像不怎么有用,有待确定)
先把nvme硬盘分区为GPT,具体方法:
格式化的时候按顺序依次为:>在Command (m for help):n,增加新分区,primary 主分区。
Partition number(1-4):1。
First sector:直接ENTER,将填入默认值。
在Command (m for help)提示符后面输入p,打印分区情况,可以看到已正确完成分区。
看到有:/dev/nvme0n1p1即可。
sudo parted /dev/nvme0n1 #进入parted
mklabel gpt #将磁盘设置为gpt格式,
mkpart logical 0 -1 #将磁盘所有的容量设置为GPT格式
print #查看分区结果
df#查看分区
sudo fdisk /dev/ nvme0n1 #进行分区
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)