1、准备的器材
一台装有Ubuntu系统主机(我用的是16.04);
一条USB3.0的Type-c的线、网线、电源线等。
2、刷机软件
在英伟达官网下载用于Xavier刷机的NVIDIA SDK Manager,我用的是sdkmanager_1.4.0-7363_amd64.deb,下载后用如下命令安装:
sudo dpkg -i sdkmanager_1.4.0-7363_amd64.deb
3、Xavier刷机
3.1、Step01
打开NVIDIA SDK Manager软件,输入账号密码登录,登录之后会自动进入资源下载界面,这一步有可能会卡很久,这时候建议换个地方网络或者使用科学上网,实在不行可以尝试换个电脑或换个系统,这里的host建议不选,是给主机电脑装的,JetPack我选的是JetPack4.4。
3.2、Step02
这里我遇到了could not load the NVIDIA SDK details的问题,这里有建议说尽量不要使用.qq之类的邮箱,尽量使用机构或者高校邮箱,也可以尝试多retry几次,我retry好几次也无法解决,后面用了edu的高校邮箱,问题就解决了。列出了主机(PC)和目标机器(Xavier)的各种组件,如下所示。
3.3、Step03
这里会下载和配置一些资源,首先会下载一些资源,也就是Downloading那一行,这一步可能会因为网络等原因造成一些资源下载失败报错,这时候可以尝试科学上网,或者根据terminal所报的错误离线把这些资源下载好,再放到指定的sdkm_downloads文件夹中。
下载好之后会配置安装资源,也就是Installing这一行,这里我在安装到3%左右遇到了如下的错误
Summary:VPI on Target: Depends on failed componer
我retry了好多次总是会在这里报错,所以怀疑是因为host和按照的资源有所冲突。尝试后我的解决方案是将Step01中的JetPack从JetPack4.4.1换成JetPack4.4,我在选择JetPack4.4.1时会一直出现这个错误,换成JetPack4.4后就没有出现了。
成功进入到flash刷机界面,这里有手动和自动模式,自动模式我没有成功,就使用了手动模式,按照上面显示的步骤,连接好主机和设备,进入恢复模式后,可以在终端输入lsusb,查看是否连接成功,如果出现Nvidia Corp,就说明连接成功,点Flash,开始刷系统。
当Flash Jetson OS完成后,这时不要断开Xavier和主机的连接,用显示器进入Xavier进行系统的相关设置,包括设置用户名、密码和地区等等,然后进入系统,为了后面安装CUDA等软件时不会因为网速过慢而失败,这时建议更换源,按照该文档所示。之后在主机端弹出的窗口中输入刚配置的Xavier的用户名和密码,点击install,等待结束。
这样就刷机成功,列表所列的软件也装到了Xavier上。
4、Xavier安装ROS
Nvidia Jetson Xavier可以通过ROSXavier脚本安装:
$ git clone https://github.com/jetsonhacks/installROSXavier.git
$ cd installROSXavier
$ ./installROS.sh -p ros-melodic-desktop-full
之后在~/.bashrc 中添加环境,加入如下两行
export LD_LIBRARY_PATH=/opt/ros/melodic/lib
export LC_ALL="C"
添加完成后,重启Xavier即可完成ROS安装