Jetson Xavier NX烧录镜像
注意:开始烧录系统后,Jetson Xavier NX会重启一遍,如果是使用虚拟机,需要再手动将Jetson Xavier NX连接到虚拟机,否则会出现连接不上而超时退出烧录。其中bootloader/nx_rootfs.img为下载的出厂镜像文件路径,根据实际路径修改,这里已经提前修改名称为nx_rootfs.img,注意名称不能有中文。为了不用每次刷机时,创建用户,可以执行Linux_for_
Jetson Orin NX烧录镜像
由于Jetson NX主板自带的EMMC容量太小,所以要将系统烧录到SSD固态硬盘上。
一、查看NVME固态硬盘信息
要将系统恢复到固态硬盘前,需要先查看要恢复的固态硬盘的信息。请将NVME固态硬盘插入到Jetson orin NX16G的SSD插座上,并且将Jetson orin NX16G开机,打开终端,输入以下命令查看信息。
sudo fdisk -l /dev/nvme0n1
记录下图中画红色方框的三个数据,第一个数据表示固态硬盘的容量,第二个数据表示多少个扇区(num_sectors:250069680),第三个数据表示每个扇区占的字节数(sector_size:512)。
二、准备L4T烧录包
1.下载文件
到NVIDIA官网下载Jetson Xavier NX系统L4T固件:
https://developer.nvidia.com/embedded/jetson-linux-r3521
下载最新的版本的固件,需要把Jetson Orin NX相关的L4T Driver Package[BSP]、Sample Root Filesystem这两个文件下载到本地。.Jetson Platform Fuse Burning and Secure Boot Documentation and Tools已经合并到L4TBSP中。
例如:我在虚拟机Ubuntu20.04系统新建一个jetsonNX文件夹,这里把文件下载到jetsonNX目录下。在空白处右键打开终端。
2.解压文件,这里注意sudo不可省略,否则会影响后面的安装,文件比较大,解压时间可能需要几分钟。
输入以下命令解压。
tar xf Jetson_Linux_R35.2.1_aarch64.tbz2
sudo tar xf Tegra_Linux_Sample-Root-Filesystem_R35.2.1_aarch64.tbz2 -C ./Linux_for_Tegra/rootfs/
3.安装qemu文件,输入y确认安装。
sudo apt-get install qemu-user-static
4.生成二进制文件
先输入以下命令进入Linux_for_Tegra文件夹,在运行命令生成二进制文件。
cd Linux_for_Tegra
sudo ./apply_binaries.sh
看到最后的success就表示OK。
为了不用每次刷机时,创建用户,可以执行Linux_for_Tegra/tools/l4t_create_default_user.sh 中创建默认的用户名和密码。
./l4t_create_default_user.sh -u 用户名 -p 密码 -a
sudo ./tools/l4t_create_default_user.sh -u jetson -p yahboom -a
三、修改系统数据
vim ./tools/kernel_flash/flash_l4t_nvme.xml
按i进入编辑模式,然后将第一步查询到的sector_size和num_sectors的数据替换。
修改完成后,按ESC键退出编辑模式,再输入:wq按回车键保存并退出。
四、构建系统镜像
1.构建qspi启动组件
在Linux_for_Tegra目录下执行以下命令
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash jetson-xavier-nx-devkit-qspi internal
2.构建系统镜像
在Linux_for_Tegra目录下执行以下命令
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_nvme.xml -S 118GiB --showlogs jetson-xavier-nx-devkit-emmc nvme0n1p1
上面参数解释:
–no-flash:表示只编译不烧录系统。
–external-device nvme0n1p1:表示烧录到/dev/nvme0n1p1设备,即固态硬盘的APP分区。
-c ./tools/kernel_flash/flash_l4t_nvme.xml:指定烧录的xml文件,即第三步修改的文件。
-S 118GiB:表示为系统APP分区占用的空间大小,此数值为第一步查询到的固态硬盘容量-1。由于本次使用的固态硬盘实际容量只有119.2GiB,系统还需要预留1GiB空间给其他分区,所以APP占用118GiB就可以了。
–showlogs:表示显示LOG信息。
jetson-xavier-nx-devkit-emmc nvme0n1p1:表示烧录的是Jetson Xavier NX设备和nvme0n1p1分区。
最后看到Success就表示成功构建系统。
五、替换系统的IMG文件
1.到资料中的出厂镜像下载最新版本的镜像系统压缩包文件,然后解压得到img镜像文件。
2.进入Linux_for_Tegra目录
3.复制原系统文件img作为备份(为了节约空间可以不做备份)
sudo cp tools/kernel_flash/images/external/system.img tools/kernel_flash/images/external/system.img.bak
4.复制并覆盖system.img系统文件将上一步生成的nx_rootfs.img文件复制到external/目录下,覆盖掉system.img文件。
sudo cp bootloader/nx_rootfs.img tools/kernel_flash/images/external/system.img
其中bootloader/nx_rootfs.img为下载的出厂镜像文件路径,根据实际路径修改,这里已经提前修改名称为nx_rootfs.img,注意名称不能有中文。
六、进入刷机模式
1.Jetson Xavier NX进入系统REC刷机模式。
将跳线帽连接到FC REC和GND引脚,也就是连接到核心板下方载板的第二和第三个引脚,如下图所示:
2.连接线路,将HDMI显示屏、鼠标、键盘和microUSB数据线连接到Jetson NX上,最后再接入电源。由于上一步已经将跳线帽连接FC REC和GND引脚,所以上电开机后会自动进入REC刷机模式。
这里注意一下使用虚拟机需要把设备设置为连接到虚拟机上。
七、开始刷机
打开终端,在Linux_for_Tegra目录下执行以下命令:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_nvme.xml -S 118GiB --showlogs jetson-xavier-nx-devkit-emmc nvme0n1p1
注意:开始烧录系统后,Jetson Xavier NX会重启一遍,如果是使用虚拟机,需要再手动将Jetson Xavier NX连接到虚拟机,否则会出现连接不上而超时退出烧录。
烧录完成后,Jetson Xavier NX会自动开机。
注意:烧录完系统请拔掉FC REC和GND的跳线帽。
一遍,如果是使用虚拟机,需要再手动将Jetson Xavier NX连接到虚拟机,否则会出现连接不上而超时退出烧录。
[外链图片转存中…(img-iQfCkzOr-1701749432535)]
烧录完成后,Jetson Xavier NX会自动开机。
注意:烧录完系统请拔掉FC REC和GND的跳线帽。
后续如果还需要烧录备份的系统,则从第五步开始就可以了。
更多推荐
所有评论(0)