Jetson TX2镜像刷板法

使用Nvidia官方自带的脚本,备份镜像、恢复镜像,快速在新板子中部署DL环境

在之前的一篇博客中,详细介绍了使用JetPack刷系统以及使用离线包部署DL环境(cuda、cudnn、opencv、caffe)的方法。(http://huchaowei.com/2017/04/19/TX1-2configuration/)
使用这种方法刷板大概需要花1小时,如果面临较大批量的刷板需求的话,将会花费大量的时间。

在Nvidia官方的TX2驱动包中,有一个写好的刷系统脚本flash.sh,使用该脚本可以快速备份或者恢复TX2的系统镜像。

准备工作

1.在NVIDIA官网下载TX2驱动包以及示例系统(本文使用L4T R28.1版本的系统)

1
2
Tegra186_Linux_R28.1.0_aarch64.tbz2
Tegra_Linux_Sample-Root-Filesystem_R28.1.0_aarch64.tbz2

链接:
https://developer.nvidia.com/embedded/downloads

"da"
"da"

2.将上述文件拷贝到宿主机上
3.执行命令解压文件生成文件夹 Linux_for_Tegra

1
sudo tar -vxjf Tegra186_Linux_R28.1.0_aarch64.tbz2

4.进入文件夹,解压文件,运行命令

1
2
3
4
cd Linux_for_Tegra/rootfs
sudo tar -jxpf path/to/Tegra_Linux_Sample-Root-Filesystem_R28.1.0_aarch64.tbz2
cd ..
sudo ./apply_binaries.sh

镜像备份工作

当已经有一块完全部署好DL环境的TX2时,可以使用命令备份该TX2的系统镜像,用于后期快速给新开发板刷写系统.
1.用 USB-Micro USB 线连接宿主机与TX2
2.TX2进入recovery模式:按机器上的 POWER 键后,长按 RECOVERY 键并点按 RESET 键即可进入recovery 模式
3.宿主机进入Linux_for_Tegra 目录

1
cd Linux_for_Tegra/

4.执行镜像备份命令:

1
sudo ./flash.sh -r -k APP -G {文件绝对路径} jetson-tx2 mmcblk0p1

【注】文件路径可自定义,文件后缀名为*.img

镜像恢复工作

使用已有的镜像刷写新TX2.
1.用 USB-Micro USB 线连接宿主机与TX2
2.TX2进入recovery模式:按机器上的 POWER 键后,长按 RECOVERY 键并点按 RESET 键即可进入recovery 模式
3.宿主机进入Linux_for_Tegra 目录

1
cd Linux_for_Tegra/

4.将备份过的镜像文件拷贝到 Linux_for_Tegra/bootloader/
5.将镜像文件重命名为 system.img
6.执行镜像恢复命令:

1
sudo ./flash.sh -r jetson-tx2 mmcblk0p1

刷写完毕后可以检查新板子系统环境是否完备。

致谢: 感谢实验室牛欢同学的分享!