官网上的刷机教程都是需要一个路由器才能刷机,这篇博客介绍如何不要路由器,只需要一个宿主机就可以刷机的教程。
1、刷机准备工作
JetPack是一个x86二进制文件,不能在基于ARM的机器上运行,因此需要借助一个宿主机来刷JetPack,因此,需要准备:
(1)一台带有Intel或AMD x86处理器的台式机或笔记本电脑作为宿主机,系统为Ubuntu 16.04(自己要是win电脑,要安装VMware 虚拟机,并在虚拟机上安装Ubuntu 的操作系统,最好是Ubuntu 16.04)
(2)一根网线,用于宿主机和TX2网线直连。
2、下载JetPack3.3并在宿主机上运行
下载地址:https://developer.nvidia.com/embedded/downloads#?search=jetpack%203.3
可能需要注册一个NVIDIA账号,微信、QQ登录就可以了。
下载好了之后,改变文件权限:
chmod +x ./JetPack-L4T-3.3-linux-x64.run
然后执行安装:
sudo ./JetPack-L4T-3.3-linux-x64.run
会出现如下图形界面, 直接点击Next
路径不用管,选择Yes,enable usage collection,然后点击Next
选择型号TX2,Next
可能会出现如下图片情况,不要紧,关闭从新执行以上操作(我判断是网络原因,没有把manifest下载下来)
出现下图就是OK的,然后点击Clear Action,只需安装Target-Jeston TX2/TX2i,如果宿主机也需要安装,则全部安装
安装完成之后关闭界面,到这里把所有的安装包都准备好了,下面就进行刷机操作。
3、将JetPack3.3从宿主机下载到Jetson TX2
3.1 先刷系统
打开终端重新执行./JetPack-L4T-3.3-linux-x64.run进入到如下界面,选择先刷系统,opencv cuda tensorrt等库先不刷。
nex之后会出现下图,意思是给出刷机操作流程
翻译一下就是:
- 断开TX2电源,保证开发板处于断电关机状态
- 用Micro USB线把开发板连到电脑上(类似于安卓手机连电脑)
- 接通AC电源,按下power键,开机
-
刚一开机,就长按Recovery键不松开,然后点按一下Reset键(Down and Up),过2s以后才松开Recovery键,此时开发板处于强制恢复模式
完成以上步骤后,我们还要检查开发板有没有和电脑正确连接,在宿主机上按ctrl + Alt + T
另打开一个终端输入lsusb
命令,可以看到一些列表,只要发现其中有Nvidia Corp就说明连接正确。
以上步骤确认无误后,在刚才post installation界面中敲一下enter,就开始了刷机过程,持续大概半个小时,你可以喝杯咖啡。
显示下面界面就代表完成安装了。
3.2 再刷各种库
首先,用一根网线将TX2和宿主机连接,并保证在同一网段。此时,宿主机和TX2可用手机USB共享上网。
然后,打开终端重新执行./JetPack-L4T-3.3-linux-x64.run进入到如下界面,这时候再刷opencv cuda tensorrt等库。
点击next ,出现:
点击next,如果出现如下错误:
这是没有安装sshpass,执行:
sudo apt-get install sshpass
或者:
wget https://sourceforge.net/projects/sshpass/files/
tar -zxvf sshpass-1.06.tar.gz
cd sshpass-1.06
./configure
make
make install
安装完成标志
下面是安装确认界面,确认无误后,点击“Next”即可
Post Installation完成之后,显示删除下载文件,可以先不勾选删除下载文件,以便下次直接重新刷机。
好了,到这就算刷机完成了。
4、测试
重启TX2,执行:
nvcc -V
出现: