刷机准备:一块新的TX2(自带ubuntu系统)、一台ubuntu系统的主机(后面称为本机)、开发板、microUSB线(用microUSB连接必需,用网线连接的话就不需要,手机充电线即可,用于连接本机和TX2)、网线(用网线连接必需,用microUSB线的话则不需要)、电源线等。
1、用本机联网去nvidia官网下载TX2的刷机工具JetPack,网址链接https://developer.nvidia.com/embedded/jetpack-archive;
注意选择版本JetPack3.2.1;
在本地创建一个名为jetpack的文件夹,点击Download下载完成后得到一个.run文件(JetPack-L4T-3.2.1-linux-x64_b23.run),将该文件保存在jetpack文件夹下。
2、在终端中进入到jetpack目录下,bash命令运行.run文件:
bash JetPack-L4T-3.2.1-linux-x64_b23.run
运行之后会出现一个warnning提示:
可以忽略不管,点击okay,点击next到如下安装目录配置界面:
安装目录会自动定位到.run文件所在的jetpack目录,下载目录为jetpack目录下的jetpack_download目录。
隐私选项Privacy Notice勾选yes(随便选不影响),然后点击next
选择Jetson TX2,点击next;
然后会进入到组件下载安装界面(重要),点击右上角的Clear Actions消除默认安装所有的安装包,此时Action栏所有选项都为no action;
在自己需要安装的安装包项对应的Action栏点击选项install,这里我们选择Linux for Tegra Host Side Image setup、CUDA Toolkit、cuDNN Package、TensorRT、OpenCV这几个模块(Host-ubuntu那一个大模块不要选,不然会在本机上安装这些软件,会有环境冲突);然后点击next,出现接受协议窗口;
点击Accept All然后点右下角accept,会出现一个需要超级管理员授权的窗口,输入超管密码然后开始下载并安装;
下载完成后载jetpack目录下生成64_TX2文件夹,我们选择的所有模块会安装到64_TX2目录下,该目录下有一个子目录名为Linux_for_Tegra后面将会在该目录下为TX2刷机。
Host本机的安装已经完成,TX2的安装包已经下载到64_TX2目录下,接下来要进行Target目标机TX2的安装。
3、下一步我们需要将本机连接TX2;
先将本机和TX2的开发板用microUSB线连起来(如果通过网线进行刷机,则不需要这一步),然后将TX2的开发板接上电源(如果电源已经开了就把电源线拔了重插),用网线将开发板的网线接口与本机接在同一台路由器上,至此线路已经接好;
接着让TX2进入recover模式:
先按一下电源键(从左往右第四个)打开电源,然后长按recover键(第三个)3~5秒,然后按一下reset(第一个)键,让板子进入recover模式。
在主机终端输入lsusb,若输出中含有类似Bus 001 Device 007: ID 0955:7c18 NVidia Corp等信息,说明连接成功;如果显示该字样,则将microUSB拔掉并立即重插,再输入lsusb命令查看是否链接成功。
4、刷机:在JetPack安装界面中再点击next,进入到登录目标机器的配置界面(如果用microUSB刷机则不会出现这一步),这里需要分别输入TX2的IP地址、用户名以及密码;
这一步的前提是已经通过网线将本机和TX2相连;
点击next,提示以下软件包将会安装到目标机器TX2中:
点击next开始刷机,出现一下命令框:
回车开始刷机,刷机完成时会有结束提示:
Installation of target components finished,close this window to continue.
退出该命令行窗口,返回JetPack安装窗口
点击finish完成。到此TX2的刷机已经完成,登录到TX2上就可以使用我们安装的软件。
5、如果之后还需要使用相同的软件包刷一块新的TX2,可以直接在刚才提到的64_TX2目录下的子目录Linux for Tegra Host Slide Image setup下打开终端,运行命令
sudo ./flash.sh jetson-tx2 mmcblk0p1
就不需要重新下载安装包了,直接把已经下载好的镜像安装到新的TX2上。