Nvidia Jetson TX2 JetPack 3.3 刷机
前言
最近入手了Jetson TX2开发者套件,已经成功刷了JetPack 3.3版本,打算把刷机过程分享出来供更多人参考.
硬件组装注意事项
先上一张图
WechatIMG446.jpeg
硬件组装过程中要注意以下事项:
- 注意静电防护.拆箱及组装过程中不要直接接触电子元件,以防止人体静电损害设备.可以采取佩戴静电手环或者防静电手套的方式来规避潜在的静电危害.
- 给开发板装一个保护外壳. 如上图所示,我给开发板装了一套亚克力保护外壳(只有上下盖,没有侧面).
- 最好准备一只USB hub. TX2开发板上只有一个mini USB接口加一个普通USB接口. 如果需要同时连接鼠标,键盘,USB摄像头等外设的话,一个USB hub是很必要的.
-
如果购买的是美版的开发者套件,则附带的电源插头是美标的三相插头,你需要准备一个带美标三相孔位的插座. 在某宝里搜"美标 插座"可以找到一堆相关产品.
美标三相插座孔位
刷机过程
-
主要参考的是Nvidia官方的刷机教程
-
准备Host机器.
- 在Jetson TX2之外,需要准备一台刷机host机器.官方刷机教程里对host机器要求有说明,需要补充的是,该机器必须是X86_64架构的(Intel X64或AMD64系列CPU),不能使用ARM架构的机器(例如树莓派). 因为JetPack的installer文件无法运行在ARM架构机器上.
- Host机器需要跑Ubuntu 16.04操作系统.
- Host机器和TX2能够接入互联网,安装期间需要执行apt-get从安装源获取各类包; Host和TX2在同一个局域网内,安装过程中,很多操作是通过Host ssh到TX2上执行的.
-
根据官方教程里的步骤,下载JetPack installer(期间需要注册登录Nvidia开发者账号). 安装文件是一个.run文件,在执行之前,需要chmod +x 以使其可执行.
-
.run文件执行之后,开始刷机. 整个刷机过程大体可以分为三个阶段:
- Host机一端的资源下载,交叉编译及TX2操作系统镜像文件的生成.
- 把TX2 操作系统镜像烧录至TX2设备上.
- 在TX2上安装CUDA, OpenVC, cuDNN等.
-
最开始,我是三个阶段串在一起连续执行的,但失败了.后来改为先完成Host一侧的安装,再烧录TX2操作系统镜像,再在TX2上安装各类计算组件,然后很顺利成功了.
JetPack 3.3 Components Manager折叠后 -
三个阶段分开执行的关键在于安装过程中,在JetPack Component Manager那一步,不要一口气选择所有的action都为install.
- 先把Host-Ubuntu下的设为install, 其余设为no action,执行安装过程,完成Host端的安装.
-
再执行一遍.run文件,这次,只把Target-Linux for Tegra Host Side Image和Flash OS Image to Target部分设为install,其余部分 no action. 这一次进行镜像生成和镜像烧录. 烧录过程中需要用mini USB连接host机和TX2,而且要让TX2进入recovery模式.具体可参考官方文档.
-
最后执行一遍.run文件,这次只把Target-Install on Target部分设为install. 完成TX2上的CUDA, OpenCV, cuDNN, TenserRT等安装. 期间,需要在图形界面了提供TX2的ip地址和ssh登录用的用户名/密码(默认是nvidia/nvidia).
我在刷机中遇到的主要的坑是把Host和TX2的Ubuntu的repo源设成了aliyun的源,结果安装过程中TX2一端需要的很多arm64架构的软件包都无法在aliyun的源上找到,导致安装失败. 后来发现还是ubuntu官方默认源最靠谱,不需要翻墙,各种安装包都可以顺利下载下来,最终刷机成功.