# NVIDIA Jetson系列系统镜像备份烧录指南
NVIDIA Jetson系列系统镜像备份烧录指南
我使用的是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
设备如何进入Recovery 模式
如图, 图中
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的方式来进行初次烧录,中间也遇见了一些问题,但是后面都得到了解决。
JetPack方式:
如果采用sdkmanager的方式的话可以直接调到sdkManger,
这里,我并没有采用这种方式,所以不确保完全能成功
到这里看,我就不贴了
https://blog.csdn.net/cc13949459188/article/details/91555597
SDKManager方式
使用sdkManager方式我实力好几次,前几次都因为这样那样的原因而导致失败造成失败的原因如下:
1、主机磁盘空间不够,如果全量下载安装的话需要大概下载目录6G,安装目录6G总共12G的磁盘空间
而且实测下来安装目录极大, 只是install目录就有78G,也不知道是哪里出了什么偏差
后续发现是镜像文件会生成两个,一个是backup.img 一个是 backup.raw ,这个backup.raw文件就是目标设备
的磁盘大小,我这里是30g 所以它是30G,然后原来自带,一个,我这里又新生成一个,所以一共是60G,但是
2、中文路径(貌似有问题)
3、路径问题, 开始我把这两个目录都放在外部挂载的磁盘,然后两个设置的同一个目录,结果失败了
后来改成设置在home目录下的一个目录里,具体目录如下:
downloadFolder: /home/zyl/nvidiaTarget HW image folder: /home/zyl/nvidia/install
我这里安装只选了Jetson OS:
如果需要安装cuda或者其他模块的话,应该直接选上安装就可以
正式开始:
设备先进入recovery模式
JetPack从4.2版本开始不再是.run的安装方式,而是.deb的安装方式
1.下载安装包
https://developer.nvidia.com/embedded/jetpack
在文件所在目录打开终端
sudo chmod 777 sdkmanager_0.9.12-4180_amd64.debsudo apt install dkmanager_0.9.12-4180_amd64.deb (这里应该用绝对路径)
然后会提示一个y/n 输入 y 回车,
然后就应该安装好了
在应用里面搜索sdkmanager, 点击打开
2、NVIDIA账号登录
在这里遇到了一个问题,就是提示proxy unable
这里点击右上角查看当前网络代理
如果这里是一个本地或者其他的代理的话,应该把代理设置关掉,关闭命令:
unset http_proxyunset https_proxy
另外一下,笔者的nvidia账号修改过密码,之后登录界面一直提示account lock 账号被锁,死活不可用,应该是他们后台有问题不要纠结,
换一个号,或者等一会儿, 我是在第二天在官网登录,然后这边客户端自己就好了
正常显示如下:
3、连接上设备
这里如果设备是处于recovery模式的话,应该会自动识别,如果出现oops, 什么什么问题,那就是设备线没连好,或者是设备没有进入recovery模式,
hostMachine 可选可不选
continue
4、选择需要安装的组件,
如果上一步选了hostMachine的话应该还有一个host componet的选项,不需要的话可以不选
看如下标出的三个红框, jetson OS选上(系统是必选的),然后开发组件的话可选可不选,建议选上,否则后续需要自己手动安装,
然后指定下载目录和安装目录,目录不要中文,不要空格,磁盘尽可能大,但是又只能是在系统盘(有点坑,但是没办法)
而且下载目录和安装目录不能是同一个目录,我的是下载在nvidia目录, 安装在nvidia/install目录
contine
5、开始安装
然后就等这就行了, 有的安装可能会失败, 但是只要jeson OS下载和安装没问题的话,应该就可以使用,
如果出错的话,在detail里面查看错误原因,然后google之
我在这里被坑了好几次, 有的是因为磁盘不够,路径有问题,等等,所以千万要注意,
我这边遇到的错误基本都是同一个,错误如下:
Run commands failed at step Install: command /tmp/tmp_NV_L4T_FILE_SYSTEM_AND_OS_T.sh
好几次都卡在这个脚本这里,后面把路径规范了一下,然后就安装成功了,
6、安装成功
安装成功之后就可以重启,接上显示器正常进入系统了
镜像备份和还原
这里有一个问题,系统镜像的备份和还原都依赖安装是的 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_Tegrasudo ./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_Tegracd bootloadersudo 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_Tegrasudo ./flash.sh -r -k APP jetson-xavier mmcblk0p1
9、等待恢复完成,烧写完成之后设备应该会自动重启,然后进入系统
至此,Jetson AGX Xavier的刷机、备份自己的镜像、恢复自己的镜像已经全部完成
相关文章:

面向对象编程(OOP)----BLUE大师JS课堂笔记(二)
一,把面向过程的程序改写成面向对象的程序 1.前提 所有的程序都在onload里面 2.改写 不能函数嵌套,可以全局变量 3.onload-------------------->构造函数 全局变量------------------->属性 函数----------------------->方法 需要用到面向…

张仰彪第二排序法_C语言中的最常用的两种排序算法你知道吗?
冒泡法排序核心思想:若有N个数从小到大排序,需进行N-1轮比较,第一轮每相邻的两个数据进行比较N-1次,最终挑选出最大的数,放到这一轮的最后位置;第二轮比较N-1-i次,挑选出这一轮最大的数…

ZOJ3203
为什么80%的码农都做不了架构师?>>> 用一次导数求极值,但是还是犯了错误,要判断边界条件,就是墙上投影值小于0和大于h的时候。 //-------common header--------------- #include <stdio.h> #include <vector…
【校招面试 之 C/C++】第16题 C++ new和delete的实现原理
1、new new操作针对数据类型的处理,分为两种情况:(1)简单数据类型(包括基本数据类型和不需要构造函数的类型)代码实例:int* p new int;汇编码如下: int* p new int; 00E54C44 pus…

C++Primer学习笔记(二)
17.string对象中字符的处理:cctype头文件中定义:isalnum(c) 如果c是字母或数字,则为trueisalpha(c) 如果c是字符,则为trueiscntrl(c) 如果c是控制字符,则为trueisdigit(c) 如果c是数字,则为trueisgraph(c) 如果c不是空格,但可打印,则为trueisprint(c…

Windows下Qt程序打包
Windows下Qt程序打包 将windeployqt.exe 目录添加到系统环境变量 windeployqt.exe目录如下: 命令行打包 1、打开命令行 2、执行打包命令 windeployqt helloworld.exe -dirdeploy -release注意,应用程序使用绝对路径,如果是d盘&#x…

c语言栈的实现以及操作_数据结构之链栈基本操作的实现详解(C语言描述)
迎新过后,来带领你好好学习的小软准时归来,快带着上次学习链表操作的记忆和我开启新的旅程吧:链栈:就是栈的链式存储结构,简称链栈。首先我们要考虑的就是链栈的存储结构,由于栈只是在栈顶进行插入和删除操作ÿ…

float向u8和s8的转换
为什么80%的码农都做不了架构师?>>> 关于float向u8,s8这种类型转换,比较内藏玄机,还是小心为妙,这种级别的优化做了不如不做。 直接float向char类型的做法是用__ftol2_sse命令完成,具体怎么做的…

SQL Server DB Link相关
若想通过DBlink 清空表或执行存储过程,可以通过这种方式Insert into table select * from table时,Pull 方式比Push方式快很多转载于:https://www.cnblogs.com/luhe/p/9341413.html

windows下安装程序制作
引用链接: https://blog.csdn.net/signjing/article/details/7855855 工具: 1、脚本编辑工具 hmnisedit_downcc.zip 百度云盘链接:https://pan.baidu.com/s/1LZ-KFqMocM30UU8eMudAnA 提取码:6kgf 2、编译工具 nsis3.0.4cvs.zip 百度云盘链接&#…

实测 Mysql UUID 性能(转)
网上普遍认为Mysql 使用 UUID 主键性能低下,甚至建议用 自增ID 作为主键并用 UUID作唯一索引的方案。但没有提供具体的数据证明使用 UUID 作为主键时性能究竟低下到何种程度。为此我专门做了测试。 测试环境:WindowsXP ,内存 4G …

date类型_06076.1.0如何将ORC格式且使用了DATE类型的Hive表转为Parquet表
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。Fayson的github:https://github.com/fayson/cdhproject提示:代码块部分可以左右滑动查看噢1文档编写目的在CDH中使用Hive时࿰…

SetGet and MACRO
为什么80%的码农都做不了架构师?>>> Set&Get 配合private是c class里面常用的。 这样很大程度上可以对数据的存取进行控制。 最近接触了大量的struct,然后直接存取其中变量的代码,在debug 跟踪的时候颇感不便。 Set&Get直…

spark之scala快速入门
scala和java都是在jvm之上的语言,相对来讲,scala热度比较低,其实并不是一个特别好的语言选择。 原因倒不是因为scala本身的缺点,而是使用人群不够多,论坛和社区不够活跃。这就跟社交软件一样,大家都用微信&…

python 归一化_只需 45 秒,Python 给故宫画一组手绘图!
作者 | 丁彦军责编 | 伍杏玲13日早晨,当北京市民拉开窗帘时发现,窗外雪花纷纷扬扬在空中飘落,而且越下越大,树上、草地、屋顶、道路上,都落满雪花。京城银装素裹,这是今冬以来北京迎来的第二场降雪。一下雪…

Windows平台下程序打包流程
Windows平台下程序打包流程 1、所有测试完成之后、程序release编译完成 2、依赖库打包 执行deploy.bat 脚本打包最新的程序以及依赖库 3、可执行程序打包 打开打包工程文件.evb, 使用 enigma virtual Box 打包可执行程序 点击“执行封包”,开始打包 …

一个apk多个ICON执行入口
一个工程对应一个AndroidManifest.xml文件,这个文件中包含有该项目的一些设置,如权限、SDk版Activity、Service信息等。一般而言,这个文件中会有且仅有一个application节点,这个节点表示这是一个应用程序,不管它下面还…

vbs之CurrentDirectory
为什么80%的码农都做不了架构师?>>> 最近要用一下Oracle instantclient的ODBC,由于配置有点繁琐,于是打算用vbs写一脚本来自动化一下,刚开始是这样的: Set ws CreateObject("WScript.Shell") w…

详解javascript: void(0);
原文 简书原文:https://www.jianshu.com/p/08ae8cbeb3be 什么是javascript: void(0); 我们经常会使用到 javascript:void(0) 这样的代码,那么在 JavaScript 中 javascript:void(0) 代表的是什么意思呢? javascript:void(0) 中最关键的是 v…

读书笔记:编写高质量代码--web前端开发修炼之道(二:5章)
读书笔记:编写高质量代码--web前端开发修炼之道 这本书看得断断续续,不连贯,笔记也是有些马虎了,想了解这本书内容的童鞋可以借鉴我的这篇笔记,希望对大家有帮助。 笔记有点长,所以分为一,二两个…

# Qt程序版本号使用
Qt程序版本号使用 在pro文件中添加(版本号可以3段或者4段) VERSION1.0.1.2DEFINES APP_VERSION\\\"$${VERSION}\\\"实际代码中使用 QString version APP_VERSION;qInfo()<<"版本信息:"<< version;

python traceback安装_Python错误:Traceback (most recent call last):感觉是软件出了问题
安装了pytest后,运行了一下,看不懂了,不过你前面的说对了 Testing started at 10:15 ... C:\Users\Administrator\PycharmProjects\untitled4\venv\Scripts\python.exe "D:\Program Files (x86)\PyCharm Community Edition 2018.2.4\hel…

Directx11教程(6) 画一个简单的三角形(2)
在上篇教程中,我们实现了在D3D11中画一个简单的三角形,但是,当我们改变窗口大小时候,三角形形状却随着窗口高宽比例改变而改变,如下图所示: 这是因为我们改变了窗口大小,但后缓冲大小在程序初始…

【单调栈 前缀和 异或】7.21序列求和
还要再细细思考的奇妙思路 题目描述 小A最近喜欢上了关于区间max的问题。她定义一个区间的价值是max(ai)(l<i<r)∗(alxoral1xor...xorar)max(ai)(l<i<r)∗(alxoral1xor...xorar)她想要知道,一个序列所有的连续子序列价值之和是多少。 输入格式 第一行一…

hibernate 复合主键 根据主键删除_hibernate封装Utils工具类
一:封装Session对象1、获取全新的Session的对象 2、获取与线程绑定的的Session的对象二:什么是持久化类1、Hlbernate是持久层的ORM映射框架,专注于数据的持久化工作。所谓的持久化,就是将内存中的数据永久存储到关系型数据库中。 …

Linux+Qt 下同一数据空间vfork多进程间通信的一种高效便捷方式(信号槽直接调用)
LinuxQt 下同一数据空间vfork多进程间通信的一种高效便捷方式(信号槽直接调用) 概述 传统的多进程间通信往往非常麻烦,采用的方法比如管道,共享内存,socket,文件等,大都非常繁琐, …

Eclipse 调试器(引用IT168)
Eclipse 调试器:零距离接触实战技巧 2011年11月25日01:29IT168字号:T|T调试的方法虽然千千万万,但归根结底,就是找到引发错误的代码。Eclipse调试器的目标是让程序员能对本地或远程程序进行错误侦测与诊断。该调试器提供所有标准调…

Cisco交换机与路由器的密码恢复_路由交换
站长原创:歪歪IT技术网 首发:迷你兔 来51cto记录一下我们net人最不喜欢记的路由器和交换机的密码恢复问题,虽然很简单的几个步骤,但是我却总是记不住,应该不是记不住,就觉得用处不大,但工作中…

投影转换_即插即用,办公投影不用愁:毕亚兹Mini DP转HDMIVGA转换器
日常办公的时候一些办公小件也很有用的,就比如说HDMI,VGA的转接头,不起眼但是很实用。去客户那里汇报工作,笔记本没有VGA接口,结果会很尴尬,到处借,没有转接头就是接不了,所以索性还…

事件绑定在IE下this是window的问题
昨天写一个函数的时候,后来用了事件绑定,开始没在IE下测试,在chrome下都是没问题的。后来在IE下测试发现出错。 后来修改一下,发现oBox.οnclickfunction(){}没问题,而addEven(oBox, "click", function(){})…