以下所有方法仅适用于Jetson Xavier Nx (16G emmc版本) 其他版本仅供参考 官方文档下载链接为https://developer.nvidia.com/embedded/downloads#?search=Developer%20Kit%20User%20Guide
一、镜像制作和烧录方案1 (不修改BSP包中所有配置文件,使用默认配置,第一次启动有引导流程)
1、准备一台Linux主机,系统必须为Ubuntu16.04LTS 或 18.04LTS,需安装python, 并下载好BSP包Jetson_Linux_R32.7.1_aarch64.tbz2 和示例根文件系统Tegra_Linux_Sample-Root-Filesystem_R32.7.1_aarch64.tbz2 。
2、安装 qemu-user-static软件包
sudo apt-get install qemu-user-static
3、解压BSP包,解压后文件夹为Linux_for_Tegra
tar -jxvf Jetson_Linux_R32.7.1_aarch64.tbz2
4、跳转到目录Linux_for_Tegra/rootfs/,将示例根文件系统解压到该目录
cd Linux_for_Tegra/rootfs/
sudo tar -jxvf ../../Tegra_Linux_Sample-Root-Filesystem_R32.7.1_aarch64.tbz2
5、将用户空间加载到根文件系统中
cd ..
sudo ./apply_binaries.sh
6、将设备USB2.0 OTGB口与主机连接,注意此时不能上电。将设备FRC引脚与GND脚短接,此时给设备上电,设备进入强制恢复模式,将FRC与GND断开。主机调用命令lsusb若返回
Bus bbb Device ddd: ID 0955: nnn Nvidia Corp
说明设备进入强制恢复模式成功,nnnn为设备编码,可以开始烧入镜像。 7、将镜像烧入到设备中
sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1
该脚本会先制作一个system.img.raw的精确镜像文件然后将精确镜像制作为system.img的稀疏镜像文件, 两个文件存放在在Linux_for_Tegra/bootloader中,然后将system.img该镜像烧入到设备上。时长30分钟左右,由主机性能决定。 如果Linux_for_Tegra/bootloader已经存在镜像文件可以跳过镜像制作流程直接烧录镜像使用如下命令,时长15分钟左右
sudo ./flash.sh -r jetson-xavier-nx-devkit-emmc mmcblk0p1
8、若已经将显示器和鼠标键盘连接到设备,镜像烧录完成将进入开机引导界面,在该界面设置用户名密码,语言,设备功率等配置
二 、镜像制作和烧录方案 2 (提前设置 用户名密码 分区,固定根文件系统分区大小为6G,第一次启动跳过启动引导流程)
1、准备一台Linux主机,系统必须为Ubuntu16.04LTS 或 18.04LTS,需安装python,并下载好BSP包Jetson_Linux_R32.7.1_aarch64.tbz2 和示例根文件系统Tegra_Linux_Sample-Root-Filesystem_R32.7.1_aarch64.tbz2 。
2、安装 qemu-user-static软件包
sudo apt-get install qemu-user-static
3、解压BSP包,解压后文件夹为Linux_for_Tegra tar -jxvf Jetson_Linux_R32.7.1_aarch64.tbz2
4、跳转到目录Linux_for_Tegra/rootfs/,将示例根文件系统解压到该目录
cd Linux_for_Tegra/rootfs/
sudo tar -jxvf ../../Tegra_Linux_Sample-Root-Filesystem_R32.7.1_aarch64.tbz2
5、将用户空间加载到根文件系统中
cd ..
sudo ./apply_binaries.sh
6、将设备USB2.0 OTGB口与主机连接,注意此时不能上电。将设备FRC引脚与GND脚短接, 此时给设备上电,设备进入强制恢复模式,将FRC与GND断开。主机调用命令 lsusb 若返回
Bus bbb Device ddd: ID 0955: nnn Nvidia Corp
说明设备进入强制恢复模式成功,nnnn为设备编码,可以开始烧入镜像。
7、跳转到Linux_for_Tegra/tools目录下使用脚本l4t_create_default_user.sh可以设置用户名密码,并跳过开机启动引导过程。
cd tools
sudo ./l4t_create_default_user.sh -u gzrobot -p 000111
如上将用户名设置为 gzrobot 密码为 000111
8、在Linux_for_Tegra/bootloader/t186ref/cfg/flash_l4t_t194_spi_emmc_p3668.xml 文件中配置分区,镜像烧录时会很据该文件内容进行分区,注意不能修改该文件中存放系统镜像的APP分区的所有参数和其他官方默认分区的参数可以参考官方文档查看默认分区, 硬盘如果还存在剩余空间将自动分配到UDA分区。
9、调用falsh.sh脚本进行镜像制作和烧录,并且将根文件系统分区大小设置为6GB,时长30分钟左右
sudo ./flash.sh -S 6GiB jetson-xavier-nx-devkit-emmc mmcblk0p1
如果Linux_for_Tegra/bootloader已经存在镜像文件可以跳过镜像制作流程直接烧录镜像使用如下命令,时长15分钟左右 已存在的镜像文件必须是使用sudo ./flash.sh -S 6GiB jetson-xavier-nx-devkit-emmc mmcblk0p1命令制作的,才能使用以下命令直接烧录镜像
sudo ./flash.sh -r -S 6GiB jetson-xavier-nx-devkit-emmc mmcblk0p1
10、烧录完成后设备自行开机。
三 、系统镜像克隆
1、将设备USB2.0 OTGB口与主机连接,注意此时不能上电。将设备FRC引脚与GND脚短接, 此时给设备上电,设备进入强制恢复模式, 将FRC与GND断开。主机调用命令 lsusb 若返回
Bus bbb Device ddd: ID 0955: nnn Nvidia Corp
说明设备进入强制恢复模式成功,nnnn为设备编码 。 2、在Linux_for_Tegra目录下使用以下命令克隆指定硬盘分区的镜像。 例如克隆APP分区的系统镜像,指定生成镜像的名称
sudo ./flash.sh -r -k APP -G <clone> jetson-xavier-nx-devkit-emmc mmcblk0p1
克隆完成后将在Linux_for_Tegra目录下生成clone.img 和clone.img.raw这两个文件。实际要烧录的文件是clone.img。
3、将镜像复制bootloader目录下并对新设备烧入克隆镜像
sudo cp <clone>.img bootloader/system.img
sudo ./flash.sh -r jetson-xavier-nx-devkit-emmc mmcblk0p1
如果需要指定APP分区大小则如
sudo ./flash.sh -r -S 6GiB jetson-xavier-nx-devkit-emmc mmcblk0p1
4、如果设备已经烧入过镜像,只刷新特定分区。可以使用以下命令, <partition_name>指定分区 [–image <image_name>] 指定烧录镜像路径
sudo ./flash.sh -k <partition_name> [--image <image_name>] jetson-xavier-nx-devkit-emmc mmcblk0p1
|