我使用的是Jetson AGX Xavier
1、烧录工具版本在4.2之前 是叫做 JetPack,, 4.2以及4.2以后的版本叫做SDKmanager,
对应的Jetson OS的版本在4.2与4.1也是差异比较大的,4.2之前的版本智能使用jetPack烧录,
4.2以后的版本用SDKmanger , 相应的,备份还原也应该使用对应的版本,
2、如何查看已安装的系统的jetson版本
https://www.cnblogs.com/shuimuqingyang/p/11050162.html
如图, 图中
1、表示开机power键
2、表示recovery键
3、表示reset重启键
1、设备断电
2、power键旁边的type-C用原装的线与你的主机连接
2、设备插上电源
3、先按住2键, 不松,再同时按住1间,2秒,然后1和2键一起松手
4、如果你的主机是linux 则在终端中输入 lsusb 如果看到有NVidia corp这个条目,则说明设备处于recovery模式
设备先进入recovery模式
对于官方镜像,Jetson 系列的烧录方式有两种
1、使用JetPack 工具烧录
引用连接:
https://blog.csdn.net/cc13949459188/article/details/91555597
2、使用sdkManager烧录
https://blog.csdn.net/cc13949459188/article/details/91555597
对于Jetson AGX Xavier 官方推荐的是使用sdkmanager来烧录
以下是官方的指导文档,可以点击下载:
nv_jetson_agx_xavier_developer_kit_user_guide.pdf
csdn 还没搞清楚怎么放文件,可以去官网下
本文采用的使用sdkmanager的方式来进行初次烧录,中间也遇见了一些问题,但是后面都得到了解决。
如果采用sdkmanager的方式的话可以直接调到sdkManger,
这里,我并没有采用这种方式,所以不确保完全能成功
到这里看,我就不贴了
https://blog.csdn.net/cc13949459188/article/details/91555597
使用sdkManager方式我实力好几次,前几次都因为这样那样的原因而导致失败造成失败的原因如下:
1、主机磁盘空间不够,如果全量下载安装的话需要大概下载目录6G,安装目录6G总共12G的磁盘空间
而且实测下来安装目录极大, 只是install目录就有78G,也不知道是哪里出了什么偏差
后续发现是镜像文件会生成两个,一个是backup.img 一个是 backup.raw ,这个backup.raw文件就是目标设备
的磁盘大小,我这里是30g 所以它是30G,然后原来自带,一个,我这里又新生成一个,所以一共是60G,但是
2、中文路径(貌似有问题)
3、路径问题, 开始我把这两个目录都放在外部挂载的磁盘,然后两个设置的同一个目录,结果失败了
后来改成设置在home目录下的一个目录里,具体目录如下:
downloadFolder: /home/zyl/nvidia
Target HW image folder: /home/zyl/nvidia/install
我这里安装只选了Jetson OS:
如果需要安装cuda或者其他模块的话,应该直接选上安装就可以
设备先进入recovery模式
JetPack从4.2版本开始不再是.run的安装方式,而是.deb的安装方式
https://developer.nvidia.com/embedded/jetpack
在文件所在目录打开终端
sudo chmod 777 sdkmanager_0.9.12-4180_amd64.deb
sudo apt install dkmanager_0.9.12-4180_amd64.deb (这里应该用绝对路径)
然后会提示一个y/n 输入 y 回车,
然后就应该安装好了
在应用里面搜索sdkmanager, 点击打开
在这里遇到了一个问题,就是提示proxy unable
这里点击右上角查看当前网络代理
如果这里是一个本地或者其他的代理的话,应该把代理设置关掉,关闭命令:
unset http_proxy
unset https_proxy
另外一下,笔者的nvidia账号修改过密码,之后登录界面一直提示account lock 账号被锁,死活不可用,应该是他们后台有问题不要纠结,
换一个号,或者等一会儿, 我是在第二天在官网登录,然后这边客户端自己就好了
这里如果设备是处于recovery模式的话,应该会自动识别,如果出现oops, 什么什么问题,那就是设备线没连好,或者是设备没有进入recovery模式,
hostMachine 可选可不选
continue
如果上一步选了hostMachine的话应该还有一个host componet的选项,不需要的话可以不选
看如下标出的三个红框, jetson OS选上(系统是必选的),然后开发组件的话可选可不选,建议选上,否则后续需要自己手动安装,
然后指定下载目录和安装目录,目录不要中文,不要空格,磁盘尽可能大,但是又只能是在系统盘(有点坑,但是没办法)
而且下载目录和安装目录不能是同一个目录,我的是下载在nvidia目录, 安装在nvidia/install目录
contine
然后就等这就行了, 有的安装可能会失败, 但是只要jeson OS下载和安装没问题的话,应该就可以使用,
如果出错的话,在detail里面查看错误原因,然后google之
我在这里被坑了好几次, 有的是因为磁盘不够,路径有问题,等等,所以千万要注意,
我这边遇到的错误基本都是同一个,错误如下:
Run commands failed at step Install: command /tmp/tmp_NV_L4T_FILE_SYSTEM_AND_OS_T.sh
好几次都卡在这个脚本这里,后面把路径规范了一下,然后就安装成功了,
安装成功之后就可以重启,接上显示器正常进入系统了
这里有一个问题,系统镜像的备份和还原都依赖安装是的 nvidia/install这个目录,
命令都需要在里面执行,我的脚本执行目录是:
/home/zyl/nvidia/install/JetPack_4.3_Linux_P2888/Linux_for_Tegra
引用链接:
https://elinux.org/Jetson/Clone
1、设备的type-C接口 用usb连上主机,(原装usb线)
2、设备进入recovery模式,
3、在终端里面执行
cd /home/zyl/nvidia/install/JetPack_4.3_Linux_P2888/Linux_for_Tegra
sudo ./flash.sh -r -k APP -G backup.img jetson-xavier mmcblk0p1
备注:jetson-xavier 是设备类型 如果是其他类型的设备的话, 参考如下:
• For Jetson AGX Xavier: jetson-xavier
• For Jetson TX2: jetson-tx2
• For Jetson TX1: jetson-tx1
• For Jetson Nano eMMC module: jetson-nano-emmc
4、等待执行完成,如果失败的话,有可能是设备未进入recovery模式,或者你的sdkmanager版本低于4.2, 是jespack的类型
5、执行好之后你就能在当前目录下看到backup.img这个镜像文件
前提:设备进入recovery模式, 通过原装usb线连上当前主机
6、备份原来的system.img文件
在终端中执行:
cd /home/zyl/nvidia/install/JetPack_4.3_Linux_P2888/Linux_for_Tegra
cd bootloader
sudo mv system.img system.img.backup
7、将新的镜像文件拷贝到bootloader目录
sudo cp ../backup.img .
sudo mv backup.img system.img
8、恢复
在终端中执行:
cd /home/zyl/nvidia/install/JetPack_4.3_Linux_P2888/Linux_for_Tegra
sudo ./flash.sh -r -k APP jetson-xavier mmcblk0p1
9、等待恢复完成,烧写完成之后设备应该会自动重启,然后进入系统
至此,Jetson AGX Xavier的刷机、备份自己的镜像、恢复自己的镜像已经全部完成