NVIDIA Jetson是通过Micro-USB/USB TYPE-C接口升级系统(具体参考不同载板说明),更新前需让Jetson进入Recovery 模式。Recovery 模式下可以进行文件系统更新包含: 内核Kernel,启动Bootloader,文件系统Filesystem等。
1.进入 Recovery 模式的步骤:
1)关闭系统电源,请确保使电源关闭而不是进入待机状态;
2)使用 Micro-USB(或USB TYPE-C)的链接线,一端链接Jetson一端连接Ubuntu Host主机;
3)一般使用12/15V电源为系统进行上电开机;(看说明手册)
4)同时按下RESET复位键和RECOVERY 按键后,若非自动启动的机器还需要按一下Power按键让系统上电;
5)保持按下 RECOVERY 按键的同时释放RESET复位按键,等待 2 秒释放RECOVERY 按键,此时Jetson进入Recovery刷机模式 (可通过在Ubuntu Host主机上运行命令:lsusb 查看是否有Nvidia Corporation 设备(不同Jetson模块USB VID/PID 不同)来确认是否进入正常)
注意:在进入 USB Recovery 模式下,系统不会启动,串口不会有调试信息输出
2.系统镜像生成并升级(把机器中的所有内容擦除并刷机,重新制作system.img)
$sudo ./flash.sh jetson-tx2 mmcblk0p1
系统完整升级但不生成system.img镜像(把机器中的所有内容擦除并刷机)
$sudo ./flash.sh -r jetson-tx2 mmcblk0p1
更新DTB 设备树(涉及外设驱动)
将新的DTB文件"tegra186-quill-p3310-1000-c03-00-base.dtb"复制到目录Linux_for_Tegra/kernel/dtb
$sudo ./flash.sh -r -k kernel-dtb jetson-tx2 mmcblk0p1
更新内核镜像(kernel/Image 涉及外设驱动)
TX2 检索内核先判断根目录下/boot/Image 文件,此时只需要把新的内核Image文件复制到 TX2 开机后的/boot/ 目录后再重启即可,通过uname -a 查看内核信息如日期时间是否为更新的内核
$sudo cp $PWD/Image /boot/
$sudo reboot
系统备份(备份TX2机器中的系统及全部文件)
$sudo ./flash.sh -r -k APP -G backup.img jetson-tx2 mmcblk0p1
如何恢复使用备份的镜像:
1、上面步骤备份会生出两个文件,把其中的backup.img.raw 重新命名到bootloader/system.img(软件镜像包含用户空间的所有文件信息),backup.img 文件不被使用可以删除掉
2、运行命令重新升级机器:
$sudo ./flash.sh -r jetson-tx2 mmcblk0p1
转自https://www.jianshu.com/p/e35e3d562daf