Jetson 系列产品烧录系统的方法一般有两种,一种为使用 NVIDIA 官方提供的 SDK manager 软件给 Jetson 设备烧录系统。另一种是在安装 Ubuntu 系统的电脑主机上搭建系统烧写目录,使用 flash.sh 脚本进行烧录。当然,搭建的系统烧写环境还可用于提取已配置好的Jetson系统,这篇文章就是对烧录流程的一个介绍。
必须先准备一台装有Ubuntu系统的Host主机,再通过连接线,连接Host与Jetson产品。
因为我本地已经有我需要的最新升级包,所以就从这里开始进行烧录,如果没有请跳转到第5步进行参考。
如概述图中所示连接Jetson和HOST端,进入Recovery模式:
1)先用USB公到公的线连接host主机和边缘盒子
2)开发板如下图跳线短接
3)再接入电源,进入刷机系统
4)再次确认是否进入刷机系统。在HOST主机下打开终端,输入lsusb能够识别到NVIDIA的设备,表示进去重置系统成功
1)将下载好的OS升级包移动到host主机中,并解压其中的tbz2格式压缩包
tar xvjf mfi_jetson_xavier_nx_devkit_emmc.tbz2
2)执行刷机
sudo sh ./flash
另外会打开一个子窗口显示处理进度:
3)等待脚本执行完毕,若无报错,则刷机完成
1)上一步成功执行后,将开发板断电,断开与host主机的连接,取下短接器件,如下图所示:
2)连接HDMI接口显示器,重新上电,可以看到镜像载入正常:
安装应用库:
sudo apt-get install qemu-user-static
sudo apt-get install python
从NVIDIA官网下载所需的版本程序包和示例根文件系统包,下载链接如下https://developer.nvidia.com/embedded/linux-tegra-archive,并将下载文件拷贝到创建的工作目录下,如:
在工作目录下执行以下操作
tar xf Tegra186_Linux_R32.4.2_aarch64.tbz2
cd Linux_for_Tegra/rootfs
sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R32.4.2_aarch64.tbz2
回到Linux_for_Tegra工作目录执行以下操作
sudo ./apply_binaries.sh
等待安装完成即可,至此系统烧录环境搭建完成。
还是如第2步中所述使开发板进入recovery模式,然后用lsusb指令进行确认。确认后进入系统烧写目录(Linux_for_Tegra目录),从母板中复制系统镜像到电脑PC中:
sudo ./flash.sh -r -k APP -G clone.img jetson-xavier-nx-devkit-emmc mmcblk0p1
镜像提取中:
提取成功:
文件目录下提取出clone.img和clone.img.raw文件:
将上一步中提取出的镜像clone.img复制到Linux_for_Tegra/bootloader目录文件下:
sudo cp clone.img bootloader/system.img
然后在Linux_for_Tegra目录下就可以对新设备烧入母板的克隆镜像:
sudo ./flash.sh -r jetson-xavier-nx-devkit-emmc mmcblk0p1