在 reComputer 上创建备份与恢复
介绍
reComputer 是一款强大且紧凑的智能边缘盒子,可为边缘侧带来高达 275TOPS 的现代 AI 性能。当你已经在 reComputer 上为业务配置并安装好所需的软件和环境,并需要在另一台新的 reComputer 上复制该项目时,重新安装软件的方式效率不高。因此,本 wiki 页面将以 reComputer J3011 为例,介绍如何在 reComputer 系列上备份现有的软件和环境,方便你将其恢复并迁移到新的 reComputer 上。
我们的测试平台是 reComputer J3011,文中提供 JetPack 5.1.3 和 JetPack 6.2 作为参考。请根据你的 JetPack 版本选择相应章节。
前置条件
- Ubuntu 主机电脑
- USB Type-C 数据传输线
- reComputer J3011(搭载 JetPack 5.1.3 或 JetPack 6.2 系统)
JetPack 5.1.3
备份系统
步骤 1. 将设备设置为恢复模式,请参考此 wiki 页面。
步骤 2. 获取与你的 Jetson 模组对应的 JetPack BSP。对于 JetPack 5.1.3,请从 NVIDIA 官方网站 下载 Jetson Linux R35.5.0 BSP。

步骤 3. 解压 BSP 文件,以访问 Linux_for_Tegra 目录。
tar -xvzf jetson-linux-*.tbz2
# For Jetpack 5.1.3: tar -xvzf Jetson_Linux_R35.5.0_aarch64.tbz2

步骤 4. 将 Linux_for_Tegra 的内容复制到你的 JetPack 刷机包目录(例如 mfi_recomputer-orin)。
“刷机包目录”是指在刷写系统过程中所使用的目录文件。
使用 -rn 选项以保留已有文件:
sudo cp -rn Linux_for_Tegra/* mfi_recomputer-orin
步骤 5. 进入你的 JetPack 刷机包目录:
cd /path/to/mfi_recomputer-orin
步骤 6. 执行备份脚本,指定你的存储设备和期望的备份名称:
sudo ./tools/backup_restore/l4t_backup_restore.sh -e nvme0n1 -b recomputer-orin
-b <target_board> 替换为你的设备
你可以进入 JetPack 刷机包目录,找到一个 xxx.conf 文件。
xxx 就是你的 <target_board>
ls | grep *.conf


耐心等待直到完成。 如果一切顺利,你将在终端中看到类似下图的内容:

在此过程中,你的设备可能会像刷机过程一样多次重启。不建议使用虚拟机或 WSL,因为可能会导致连接丢失,从而使备份/恢复过程失败。你可能会遇到某些文件缺失的情况;此时可以打开 recomputer-orin.conf 并删除不存在的文件条目。
通常这些是临时的设备树 overlay 目标文件,它们不会影响备份和恢复结果。但如果你对 BSP 做过修改,则需要合并自己的 overlay 文件。
恢复系统
步骤 1. 在 reComputer 中插入一块新的空白 SSD。

步骤 2. 按照前文说明进入强制恢复模式。
步骤 3. 在主机系统上,进入你的 JetPack 刷机包目录,并在主机上执行恢复命令:
sudo ./tools/backup_restore/l4t_backup_restore.sh -e nvme0n1 -r recomputer-orin
如果一切顺利,你将在终端中看到类似下图的内容:

步骤 4. 给 Jetson 设备上电,使用我们之前设置的用户名和密码登录,并测试之前安装的一些软件。如果可以正常运行,则说明恢复成功。

由于我们在之前的系统中已经安装了 jtop,因此可以在新系统的终端中直接启动 jtop。
另外,以下场景已通过备份与恢复测试:
- 将备份恢复到原始 SSD。
- 将备份恢复到不同的 SSD。
- 在同一载板上恢复备份,Jetson 模组为同一批次,不同 SSD。
JetPack 6.2
备份系统
对于 JetPack 6.2(L4T 36.4.3),备份过程需要先下载已编译的 Seeed BSP 固件,并在执行备份前编译源码。
步骤 1. 下载已编译的 Seeed BSP 固件:L4T-36.4.3
步骤 2. 解压下载的压缩包,并在 PC 终端中使用以下命令生成所需内容:
sudo tar xpf L4T36-4-3_plus.tar
# For example: sudo tar xpf L4T36-4-3_plus.tar
cd Linux_for_Tegra/
sudo ./apply_binaries.sh
cd ..
步骤 3. 在解压后的目录中(tar.gz 包所在位置)设置环境变量:
export ARCH=arm64
export CROSS_COMPILE="$PWD/aarch64--glibc--stable-2022.08-1/bin/aarch64-buildroot-linux-gnu-"
export PATH="$PWD/aarch64--glibc--stable-2022.08-1/bin:$PATH"
export INSTALL_MOD_PATH="$PWD/Linux_for_Tegra/rootfs/"
步骤 4. 进入源码目录并编译源码(该过程需要一定时间):
cd Linux_for_Tegra/source
./nvbuild.sh
步骤 5. 编译完成后,复制并安装已编译的组件:
./do_copy.sh
./nvbuild.sh -i
步骤 6. 现在工作目录已经准备就绪。进入 Linux_for_Tegra/ 目录,将设备设置为恢复模式,请参考此 wiki 页面,并执行备份脚本:
cd ../
sudo ./tools/backup_restore/l4t_backup_restore.sh -e nvme0n1 -b recomputer-orin-j401
-b <target_board> 替换为你的设备。对于 JetPack 6.2,默认的 target board 为 recomputer-orin-j401。
耐心等待直到完成。如果一切顺利,你将在终端中看到成功提示信息。
在此过程中,你的设备可能会像刷机过程一样多次重启。不建议使用虚拟机或 WSL,因为可能会导致连接丢失,从而使备份/恢复过程失败。
恢复系统
步骤 1. 在 reComputer 中插入一块新的空白 SSD。
步骤 2. 按照前文说明进入强制恢复模式。
步骤 3. 在主机系统上,进入你的 Linux_for_Tegra/ 目录,并在主机上执行恢复命令:
sudo ./tools/backup_restore/l4t_backup_restore.sh -e nvme0n1 -r recomputer-orin-j401
如果一切顺利,你将在终端中看到成功提示信息。
步骤 4. 给 Jetson 设备上电,使用我们之前设置的用户名和密码登录,并测试之前安装的一些软件。如果可以正常运行,则说明恢复成功。
另外,以下场景已通过备份与恢复测试:
- 将备份恢复到原始 SSD。
- 将备份恢复到不同的 SSD。
- 在同一载板上恢复备份,Jetson 模组为同一批次,不同 SSD。
资源
- 为 J401 载板刷写 JetPack 系统
- reComputer J30x 数据手册
- reComputer J40x 数据手册
- reComputer J30/J40 原理图
- reComputer J30/J40 3D 文件
- Seeed Jetson 系列目录
- Seeed Studio 边缘 AI 成功案例
- Seeed Jetson 系列对比
- Seeed Jetson 设备一览
- Jetson 示例
- reComputer-Jetson-初学者指南
技术支持与产品讨论
感谢您选择我们的产品!我们将为您提供多种支持,确保您在使用我们产品的过程中尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。
