Jetson Xavier NX配置全过程——系统与SDK烧录(一)
Jetson Xavier NX配置全过程——安装jtop和OpenCV4.5.3(二)
Jetson Xavier NX配置全过程——D435i驱动安装(三)
目录
一、Jetson Xavier NX烧录系统
二、Jetson Xavier NX挂载固态硬盘并移动系统到固态硬盘
1、挂载固态硬盘
2、移动系统到固态硬盘
三、Jetson Xavier NX烧录Jetson SDK Components
课题使用的机载电脑为Jetson Xavier NX (eMMC-8G)版本
提前说一下,我是成功烧录系统后,再安装和挂载的SSD固态硬盘。
因为要使用SDK Manger进行烧录,所以需要在Ubuntu系统中进行,可以采用双系统或者虚拟机的方式。这里建议使用虚拟机安装Ubuntu18.04系统,因为部分电脑的网卡在Ubuntu18.04中没有安装相应的驱动,不能使用无线网,然而大部分学校使用的网线又需要通过锐捷认证,这在后面安装Jetson SDK Components时可能会出现ip错误的问题,如下图所示。
首先在NVIDIA官网下载SDK Manger,我下载的版本是SDK Manger1.9,cd进入下载好的.deb文件路径,在终端输入以下命令安装SDK Manger:
sudo dpkg -i sdkmanager_1.9.0-10816_amd64.deb
然后不出意外的话,应该会报错缺少依赖项,输入以下命令即可解决问题并且同时完成安装:
sudo apt --fix-broken install
这时候我们应该就可以在软件中找到安装好的SDK Manger了,打开并点击LOGIN,这里会弹出网页登录你的NVIDIA账号即可,没有的话就去注册一下,登录进去后我们就可以拿出来我们的Jetson Xavier NX了,用跳线帽或者杜邦线将 REC 和 GND 引脚短接,也就是连接到核心板下方载板的第二和第三个引脚(划重点,这一步很重要)如下图所示。
使用microUSB 数据线连接Jetson Xavier NX和电脑,并给Jetson Xavier NX上电,如果使用的是虚拟机的话,在弹窗中选择连接到虚拟机即可。这时候会出现如下的弹窗,如果你和我一样是eMMC版本的就直接选择第一个P3668-0001,如果是进口官网套件(插TF卡版本)的就选择P3668-0000。
取消勾选 Host Machine和DeepStream,Host Machine是在你主机或者虚拟机上也安装环境,耽误时间且没有卵用,DeepStream在后面安装Jetson SDK Components时我们在选择。
点击CONTINUE,我们进行下一步,因为eMMC只有16GB,所以我们先只安装Jetson OS。勾选Jetson OS和最下面的I accept the terms and conditions of the license agreements,路径不需要修改也没必要修改,点击CONTINUE。
这里可能会弹窗创建下载目录文件夹,点击Create就行。
再次点击CONTINUE在弹窗中输入密码,开始下载Jetson OS,下载好并成功创建好文件后会出现弹框,我们选择Manual Setup - Jetson Xavier NX手动安装,并在New Username、New Password 上填入系统的用户名、密码。最后一定要注意Storage Device一定一定一定要选择EMMC/SD Card (default),这个选项也是默认的不需要更改,有一些教程里面让这一项选择成NVMe,但是这样会导致后面写入系统失败,我就在这一项上被苦苦折磨了三天。我个人认为如果你在烧录前就装上了SSD固态硬盘,那么这一项可以选择NVMe,并且系统会直接烧录到SSD固态硬盘中,而不是eMMC中,但是我没有亲身去实践过,有成功的小伙伴也可以通过评论告诉大家。选择完后点击Flash就开始往Jetson Xavier NX中烧录系统了。
烧录完成后点击FINISH AND EXIT,Jetson OS系统到这里就安装完成了。
我们给Jetson Xavier NX断电后,取下跳线帽或杜邦线和microUSB 数据线,然后连接显示器,键盘,鼠标并重新上电,输入刚才设置的密码,即可进入Ubuntu18.04系统。
将Jetson Xavier NX 关机断开电源,M.2固态硬盘插座在底部。给Jetson Xavier NX 上电开机,此时df -h 检查硬盘信息可能无法识别到硬盘,所以需要对硬盘进行格式化并挂载到系统上。
打开Jetson Xavier NX 系统自带的磁盘分区工具Disks。选择我们接入的M.2 固态硬盘,这里注意不能选择错误,否则会造成系统奔溃。然后按快捷键'Ctrl+F'或者打开右上角的三条横杠,选择Format Disk。
输入NX 系统的密码并确认。
依然选择M.2 固态硬盘,点击'Create Disk Image'创建硬盘分区。下面的图片没有保留16GB的空闲空间,但是很多博主都说最好留出来16GB的Free Space Following,最后实际操作中我也是留出来了16GB。
填入磁盘名称,这里以SSD128 为例,磁盘的格式必须选择Ext4。然后点击Create 创建。
点击拨号键,就可以看到已经挂载到系统上。同时拨号键会自动变成停止键。
再次在终端输入df -h 就可以查到刚刚挂载的硬盘了。
打开NX 的终端,在用户目录下输入以下代码
git clone https://github.com/jetsonhacks/rootOnNVMe.git
进入rootOnNVME 目录
cd rootOnNVMe/
输入以下命令复制文件到M.2 固态硬盘。
./copy-rootfs-ssd.sh
输入以下命令启动服务,运行后输入NX 的密码,按回车键确认。
./setup-service.sh
输入以下命令重启系统。
sudo reboot
到这里eMMC中的文件就全部都复制到了SSD固态硬盘中了,注意以上操作只是复制内容,eMMC中仍然是有系统的,但是系统会默认从SSD中启动,所以不影响。可以通过在终端中输入'df -h'查看当前的存储情况。
做完以上工作就可以开始烧录Jetson SDK Components,注意这里要在Jetson Xavier NX开机的状态下进行,不要插跳线帽,不要插跳线帽,不要插跳线帽(重要的事情说三遍),使用microUSB 数据线连接Jetson Xavier NX和电脑。这里有需要的可以选择上DeepStream,当然不选后期用到的时候也可以再安。烧录Jetson SDK Components的过程和Jetson OS的过程大致相同。
因为之前已经烧录过Jetson OS,所以这里取消勾选
点击CONTINUE,输入密码进入下一步。
第三步会先下载再安装,下载的时候应该会有出现部分SDK下载失败,原因是这些东西都在国外,想要下载的话需要挂梯子,这个大家根据自己的情况去选择合适的软件就行,我使用的是V2Ray,如果实在不会翻的小伙伴,我把我使用并下载完的虚拟机文件已经上传到了百度网盘,有需要的点赞、关注、收藏后私信我分享。进入第三步会出现下面的界面,这里输入之前设置的用户名和密码后点击Install。
我这里是先挂梯子把所有的都下载好了,所以直接就到了安装。
最后会显示下图,点击FINISH AND EXIT完成安装。