硬件篇-02-TX2刷机Jetpack4.3
Jetson TX2收货将近一周了,期间趁摄像头还没到,预先给TX2配置了环境。由于学校要求写毕设日志,故干脆一起在知乎写了,顺带帮助想要给TX2配环境却苦于网络上关于TX2的教程很少的同学。
本期内容是关于TX2刷机Jetpack4.3 (Ubuntu18.04) 的过程以及细节,其它软件如ROS、OpenCV、ORB_SLAM2等配置会在本专栏的软件篇详细说明。
吐槽一下
给ARM架构的机器装系统本来就是一个坑,网上教程少之又少,Jetson TX2虽说出厂自带ubuntu16.04,但是里面的CUDA等软件版本还是比较早的,不如刷机最新版系统来的香。据Nvidia官网介绍,新版的Jetpack4.3的AI推算能力和表现相比之前有了25%的提升,所以还等什么,一起来搞机啊/手动狗头。但是问题来了,现在网上有关刷机最新版Jetpack就只有零零碎碎的几篇,不能覆盖刷机过程中的种种问题,所以我顺便把我躺的坑都分享一下,现在的我已经是一名合格的TX2刷机小能手了,熟练的令人心疼那种。
正篇
一、刷机环境
-
主机/HOST
华硕FL5900U,VMware/虚拟机ubuntu18.04
-
从机/SLAVE
Nvidia Jetson TX2,系统ubuntu16.04
-
其它需要的物品
TX2自带的USB转接线(注意是数据线),无线键鼠(没有一套的可以买个USB HUB,TX2 USB口不够用)、网络(后部分刷机的时候需要用到ssh传输,主从机需要连接到同一局域网),主机能连网线就最好别用WIFI,不然你下刷机包的时候将要喝更多的咖啡。
二、前期准备
1.你需要准备一个虚拟机,推荐VMware。主机双系统最好,但是作者本人由于之前给硬盘分区导致ubuntu无法进Boot引导程序,尝试修复无果后决定用VMware虚拟机代替,这里需要注意的是VMware最好用较新的版本,旧版本的如我几年前装的VMware12对Ubuntu18.04兼容的不是很好,之后装的是VMware15。
2.你需要下载Ubuntu18.04镜像,建议使用迅雷下载(没收钱,确实下载快)。
其它如创建Ubuntu虚拟机,安装VMware Tool我就不详讲了,有一点要注意的是安装VMware Tool时如果看不到这个工具包,记得设置虚拟机CD/DVD为物理驱动(自动检测),记得虚拟机硬盘空间分配大于50G,内存给个3G即可。网络连接使用桥接模式。
3.你需要在虚拟机安装SDK manager。先去nvidia developer网站注册一个账号,不得不说,这国外的服务器慢的和乌龟一样,just be patient。然后下载JetPack4.3。
下载完后,进入你的下载目录,执行以下命令安装sdkmanager,输入sdkmanager后直接按tab键即可。
sudo apt install ./sdkmanager-[version].[build#].deb
安装过程中可能会提示缺少一些依赖,根据提示去装即可。
4.安装好Ubuntu和sdkmanager后,我们可以进入正题了。这里我们先不急把TX2开机。打开终端输入以下命令开启sdkmanager
sdkmanager
然后输入你在nvidia的账号密码登陆,这个过程就我的经验而言比较痛苦,你可能要等上2到3分钟才能进入刷机界面,如果提示密码错误或者其它错误,检查你的密码,也有可能是connection timeout,然后try it again,这都是小问题,因为后面你可能会有更多的try it again。
等你登陆成功后,就会进入刷机界面,极有可能因为网络原因导致以下界面或者软件白屏。多试几次即可。
STEP1,从机选择TX2,下一步
STEP2,勾选协议,建议先下载后安装,下一步开始下载
下载过程中极有可能timeout,多次尝试即可。下载完后,点击back to step1,取消勾选“Download now install later”,开始安装(多次尝试)。安装完主机之后会出现提示让你执行以下步骤给TX2 flash OS,建议手动模式。在TX2未开机的情况下,
-
用自带的USB线连接主从机,然后按住电源键2到3秒使TX2开机,然后一直按着按钮S3,同时按一下按钮S1并松开,看到TX2上的灯闪了一下后,松开S3,这样就进入了刷机模式。如果你是用虚拟机安装的话,这个时候主机会提示将USB连接到WIN10还是虚拟机,选择连接虚拟机,如果没有出现,那么到WIN10服务里面找到“VMware USB Arbitration Service”打开,若无法启动就去控制面板修复VMware即可。
-
点击flash开始刷机。需要注意的是,刷完OS后,还会安装CUDA,OpenCV等,但是在刷系统和安装其它软件之间,会跳出一个提示,让你ssh连接TX2。
-
这个时候刚刷完机,TX2系统还没启动,所以要重新启动TX2,但是,先不要按RST键复位,一定得先在主机里点"Skip",然后点"Finish and Exit",要在主机这边先退出刷机模式后再重启从机,不然之后每次TX2开机界面都会出"Fair to start Configure USB flashing port for device mode"并且还可能停留在启动界面。然后拔掉USB线(刷完系统后已经没用了)。
-
第一次启动TX2,需要配置一下Ubuntu。进入桌面后,保证TX2和主机连在同一个局域网下面,无论你是用网线还是WIFI。使用“ifconfig”查看当前IP。你可以试着Ping一下。
-
接着回到主机这边填上IP,小写的账号以及密码开始安装其它软件,直到一切完成。
一切完成后,先换arm源,给TX2扩容了一个固态硬盘。安装ROS,源码安装OpenCV3.2和OpenCV-contrib-3.2(因为ORBSLAM2不支持较高版本的OpenCV,这个项目在Github好几年没更新了),安装ORB_SLAM2。
OpenCV的源码可能下载的很慢,建议去码云库下载
期间顺带美化Ubuntu系统桌面,安装中文输入法,配置一下VNC,装一下QQ。