JETSON TX2镜像备份与恢复以及刷机的巨详细教程(Jetpack 4.4版本)
刷机前的絮絮叨叨和准备工作
看了各种论坛上的教程,说jetson tx2出厂自带的是ubuntu16的系统,可我买到的是ubuntu18的。。于是准备刷机。
搞了四五天,终于完成了,真的要吐了。
首先建议各位不用轻信网上的不着调的教程,我第一次刷机刷的是Jetpack 3.3版本,也就是刷进去开机是ubuntu16.04的系统,但我需要的是ubuntu18.04,于是想着直接升级系统比刷机稳妥一点,跟着网上的用命令行升级系统的教程来,升级完了打不开图形页面,要么一直卡在started user manager for uid 124这里要么直接进tty模式,试过重新安装桌面也试过切换桌面打开方式,统统不行(天选之子就是我了),遂放弃了这条路。触发了系统弹窗提示更新的选项,又开始了更新,这回也没成功,一样的报错。于是我走上了刷机的这条路。
**** 刷机准备
1、ubuntu主机一台 (内存记得大于搞大点,我分配了120G)。我用的是ubuntu16.04+jetpack4.4
2、显示器一台+HDMI转接线1根(jetson tx2要接显示屏+原装刷机线一根+鼠标键盘
3、下载安装Jetpack4.4
开始刷机
1、在ubuntu中打开官网https://developer.nvidia.com/embedded/jetpack下载Jetpack4.4
2、选择下载保存,手动安装:
打开文件所在目录,使用命令安装,安装完了后在终端输入sdkmanager就能打开了
sudo apt install ./sdkmanager_1.3.1-7110_amd64.deb
3、关于换源下载,其实我觉得换不换源都差不多,对我来说结局都是失败失败失败失败失败成功,所以我没有换源直接就上了。要换源的整一波:
#备份文件
sudo cp /etc/apt/sources.list /etc/apt/sources_init.list
sudo chmod +w /etc/apt/sources.list
sudo gedit /etc/apt/sources.list
# 阿里源
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
#保存并更新
sudo apt update
#修复损坏的软件包,尝试卸载出错的包,重新安装正确版本的
sudo apt-get -f install
sudo apt upgrade
4、打开sdkmanager,记得登录方式要选择开发者这里,
如果出现这个令人崩溃的页面,莫慌,接下来你还会看到它的。毕竟刷机的过程就是不断retry(笑)
如果多次retry还是不行的话,建议关掉软件重新打开,实在不行就重启虚拟机= = (检查虚拟机的网络状态:桥接模式/但我用的NAT模式也能成功)
之前用jetpack 4.2的包一直卡在第一步,关于linux选包那里[第三个框]一直是灰色的,无法进行下一步操作,4.4真香!
好家伙,终于打开了step 2的页面了!一口吃不成大胖子,我选择了先下载后安装(因为之前二者是同时进行的,每次都失败,我累了这三个字已经说腻了)
分享喜悦:当我看到没有error的时候我都想拉条横幅再放串鞭炮祝贺了,太难得了满屏绿条,接下来就是安装的事情了!
分享常态:不怕不怕再retry
放一首好运来,对着电脑再拜一拜,trytrytry!!就搞完了!!!!
还有个交互的页面了,就是有个输入ip地址的弹窗,可以选择自动刷机或者手动刷机,建议选手动稳妥。这一步可以先跳过,等安装完再回来搞。如果不跳过的话,需要将jetson tx2进入RECOVERY模式,方法为:
1:给jetson tx2关机断电,拔掉电源适配器。
2:重新接上电源。
3:按一下power键开机
4:按下RECOVERY FORCE并保持
5:接着按下一下RESET键
6:保持按住RECOVERY FORCE键两秒以上并松开
查看是否接上:终端输入lsusb
gym@gym:~$ lsusb
Bus 001 Device 007: ID 0955:7c18 NVidia Corp.
Bus 001 Device 005: ID 1058:2626 Western Digital Technologies, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
开始漫长又短暂的刷机工作~
RECOVERY模式连到PC之后,刷完系统后Tx2的屏幕会亮起来,这时还没刷完,是因为TX2刷机是先刷系统后刷工具CUDA、CUDNN、OPENCV等等。如果提示说cannot connect to the device via ssh. Validate that ssh service is running on the device ,则需要开Tx2连接屏幕在终端设置:
sudo apt-get install openssh-client//安装ssh客户端程序
sudo apt-get install openssh-server//安装ssh服务端程序
service ssh start//开启ssh服务
设置完成后就可以成功继续连上Pc刷工具包了。
完成刷机后你的jetson tx2的屏幕会亮起来,因为它在重启,可以在终端进行测试nvcc -V
gym@gym:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_21:14:42_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89
这时就已经完成了刷机啦!祝你们成功呀!
备份及恢复
备份镜像:
看了网上的教程,跟着做其实还是ok的,但天选之子没有这么网上的例子那般顺利555555,首先我之前刷的是jetpack3.3版本的,我备份了个镜像之后,重新烧录就出现不断重启的现象,就是nvdia的绿眼睛之后又是绿眼睛,真的绝望了。现在拿4.4的版本备份康康:
需要用到的关键文件:flash.sh
1、进入flash.sh所在的目录,在此目录下打开终端
2、连接jetson tx2 ,并进入recovery模式
3、输入指令并开始备份:
sudo ./flash.sh -r -k APP -G my_backup.img jetson-tx2 mmcblk0p1
一般来说是100%能成的,会生成两个镜像文件,一个30G左右,一个5G左右。在/home/gym/nvidia/nvidia_sdk/JetPack_4.4_Linux_JETSON_TX2/Linux_for_Tegra这个目录下。
镜像的恢复:
1、进入镜像文件所在的目录(建议先把镜像拷贝到硬盘上备份起来)
cd /home/gym/nvidia/nvidia_sdk/JetPack_4.4_Linux_JETSON_TX2/Linux_for_Tegra
2、将镜像(有两个,一个是.raw后缀,一个是.img后缀的,哪个都行)拷贝到子目录bootloader下,并重命名为system.img,bootloader里面原来也有一个system.img文件,可以把它拖到桌面先存着,我没有用命令行,直接鼠标键盘操作的。
3、镜像恢复:
cd .. #回到上一层目录:也就是flash.sh文件所在的目录中运行:
sudo ./flash.sh -r jetson-tx2 mmcblk0p1
开始烧录:
完成!
参考教程:
https://blog.csdn.net/ycy_dy/article/details/80493392?biz_id=102&utm_term=jetson%20tx2%E5%A4%87%E4%BB%BD&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-80493392&spm=1018.2118.3001.4187