Xavier/Tx2镜像拷贝及系统克隆
注意事项
第一次利用jetpack刷机,不能用ntfs的挂载盘,一般会出现sudo命令不能用的情况,或者刷到ubuntu用户下面,正常刷机是刷到nvidia下面,主机选择uninstall,如果不想刷系统,Flash Image To Os 选择no action,刷机中途不要因为网速慢更换国内源,否则会因为某些软件版本问题导致后续apt-get install找不到依赖项 刷机报erro, 但是可以上百度,这种情况修改dns vim etc/resov.conf 里面的nameserver改为101.226.4.6
1.只安装系统
cd ~/TX2/64_TX2/Linux_for_Tegra_64_tx2/bootloader
sudo ./flash.sh -r jetson-tx2 mmcblk0p1
2.克隆镜像和还原
(0) tx2 准备(ready):
准备好利用Jetpack刷过机的Ubuntu的主机(HOST PC)
在利用Jetpack刷机时候,建立目录TX2,并保存有JetPack-L4T-*-linux-x64.run文件
再进行第一次刷机之后会增加其他目录,并生成子目录64_TX2 网络原因导致下载包失败,可以采取手动刷机和安装必须的环境包
刷机命令:
sudo ./flash.sh -r jetson-tx2 mmcblk0p1
(1)tx2 系统备份(system backups):
a: 进入HOST PC的JetPack安装目录下 TX2/64_TX2/Linux_for_Tegra_64_tx2/目录
注:1.网上教程说是进入 Linux_for_Tegra_64_tx2/bootloade 目录,关键系统生成的flash.sh文件
在哪个目录 我的在inux_for_Tegra_64_tx2目录,如果flash.sh在bootloade目录下,
2.网上教程说原来的flash.sh缺少 -G 参数支持,改为新增加脚本flashNew.sh。这个没有用,可能是针对(TX1的), 反正在TX2我试出现错误,所以请忽略。
b: cd ~/TX2/64_TX2/Linux_for_Tegra_64_tx2
c:(注意:冬虫电子的小板子rec和reset按键位置和官方板子不一样,做了调换) 连上TX2,并进入recovery模式(通电[必须先拔电],一直按住recovery键3秒,不要松开recovery键,再按一下reset键)
d: lsusb #检查是否出现0955:7140 Nvidia Corp
e: 从TX2下载镜像
sudo ./flash.sh -r -k APP -G my_backup.img jetson-tx2 mmcblk0p1
大概要花30分钟左右完成镜像下载。
生成的备份文件my_backup.img 在~/TX2/64_TX2/Linux_for_Tegra_64_tx2/目录下
f: 分配权限,并压缩保存:(这步可要可不要)
sudo chmod 744 my_backup.img
tar -zcvf my_backup.img.zip my_backup.img
g: 备份后也可以挂载到ubuntu下进行相应编辑,可以查看系统镜像文件有没有正确生成
sudo mount -o loop my_backup.img /mnt/
(2)tx2 系统恢复(system recovery):
a: 进入HOST PC的JetPack安装目录下Linux_for_Tegra_64_tx2目录
cd ~/TX2/64_TX2/Linux_for_Tegra_64_tx2
b: 复制my_backup.img为system.img
sudo cp my_backup.img system.img
c: 进入HOST PC的JetPack安装目录下bootloader目录,删除或者备份原来的system.img ,这里选择备份
cd ~/TX2/64_TX2/Linux_for_Tegra_64_tx2/bootloader
mv system.img system_bak.img.bak
d: 复制生成的新镜像文件到bootloader目录
mv ../system.img system.img
e: 连上TX2,并进入recovery模式(通电[必须先拔电],按电源键启动,按下recovery键不要松开,再按一下reset键松开,然后保持2-3s,松开recovery键)
f: lsusb #检查是否出现0955:7140 Nvidia Corp,如果出现说明上一步按键正常。没有出现请检查连接或者重新执行一变e步骤
g: 退出到上一层目录,使用flash.sh开始烧录
# As an example, you should be in
cd ~/TX2/64_TX2/Linux_for_Tegra_64_tx2/
sudo ./flash.sh -r jetson-tx2 mmcblk0p1
(3) xavier镜像克隆
将xavier和pc接入到局域网里面,进入nvidia下面,sudo su切换到root
a: echo u > /proc/sysrq-trigger
//CASE I: Transferring the image over ssh to host PC:
dd if=/dev/mmcblk0p1 | ssh user@hostpc dd of=/data/image.raw
//hostpc为主机pc的ip,/data/image.raw为打包磁盘文件在pc的存放位置。
b.cd /home/host/Downloads/Xavier/Linux_for_Tegra/bootloader/ &&
sudo ./mksparse -v --fillpattern=0 /data/image.raw system1.img
//将打包出来的raw文件转成img文件。刷机需要。
c.把原来目录下的system.img文件备份,将上一步生成的system1.img命名为system.img
d.xavier切换到recover模式
cd /home/nvidia/Downloads/Xavier/Linux_for_Tegra
sudo ./flash.sh -r jetson-xavier mmcblk0p1