Jetson Xavier NX 备份与烧录固态系统

目录

1  需要的硬件

2  需要安装在ubuntu上的软件

2.1  安装gparted

2.2  安装nvidia官方烧录包

2.2.1  下载

2.2.2  配置

3  备份系统

4  烧入系统

5  我遇到过的问题

5.1  烧录过程中卡在某个地方不动

5.2  Fail to verify Stage25ignature SHA2


1  需要的硬件

像是 nx,nx附带的固态硬盘,显示器 这些就赘述了

  • 一个ubuntu实体机(虚拟机听说也行,但是没测试过),我当前ubuntu的版本是16.04
  • 一个能连接在ubuntu上的硬盘盒(需要读取nx附带的固态硬盘)
  • 短接线(让nx进入恢复模式)
  • 安卓数据线

该方法需要极大的空间来存储img文件与raw文件,一个raw文件128G,img文件与系统存储的内容有关,即使是什么都不存也会有38G

在nx上输入 sudo fdisk -l /dev/nvme0n1 ,这里需要记录nx的这些信息,后续我们就不再开启nx了

2  进入nx刷机模式

这里的nx需要有系统,空板子是不行的。需要在配置Linux_for_Tegra之前就让nx与ubuntu相连

之后进入刷机模式,用短接线短接 FC REC和GND引脚

然后用 安卓数据线 连接 nx与ubuntu

3  需要安装在ubuntu上的软件

我们全程只需要在ubuntu端进行操作,下面的软件都是安装在ubuntu上的

3.1  安装gparted

图标是这样的

这里建议把硬盘盒与ubuntu连接起来,看一下固态的分区,能备份的是这样的

像下面这样是无法备份的

3.2  安装nvidia官方烧录包

3.2.1  下载

下载地址 Jetson Linux | NVIDIA Developer

下载这三个东西,版本32.6.1是测试过的,别的版本没测过

把这三个包放在一起,然后打开终端

依次输入下面的命令进行解压

  • tar xf Jetson_Linux_R32.6.1_aarch64.tbz2
  • sudo tar xf Tegra_Linux_Sample-Root-Filesystem_R32.6.1_aarch64.tbz2 -C ./Linux_for_Tegra/rootfs/
  • sudo tar xf secureboot_R32.6.1_aarch64.tbz2

解压之后会得到这个

  • 解压的时候需要等待一会儿

3.2.2  配置

安装 qemu

  • sudo apt-get install qemu-user-static

生成二进制文件,这一步需要在 Linux_for_Tegra 中执行

  • sudo ./apply_binaries.sh

看到最后的success就表示OK。

修改系统数据

  • vim ./tools/kernel_flash/flash_l4t_nvme.xml

上图的 512 250069680 是从一开始看nx那张图中得来的

构建系统镜像

  • sudo ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash jetson-xavier-nx-devkit-qspi internal

之后输入

  • 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

这两步结束之后能看到 success 就对了

至此需要准备的东西就完毕了,下面开始正式的备份烧入流程

4  备份系统

将nx的固态硬盘放到硬盘盒中,之后将硬盘盒与ubuntu连接

之后打开 gparted,然后选择指定的设备

我们需要记录APP的partition,我上图需要记录的内容就是 /dev/sdb1

之后开始备份系统,of是你备份文件要放置的路径,if是你上面记录的内容,其他的地方不用改

  • sudo dd if=/dev/sdb1 of=/home/suyu/nx_rootfs.raw bs=1M

可以在另一个终端中输入

  • sudo watch -n 3 pkill -USR1 ^dd$

这样你就能看到进度了,我当前raw的文件大小是128G左右的大小

等待结束后就可以得到 nx_rootfs.raw 这个文件了

之后进入 Linux_for_Tegra,将 Linux_for_Tegra/bootloader 中的 system.img 重命名为 system.img.bak

之后将nx_rootfs.raw放在bootloader中,然后输入

  • ./mksparse --v --fillpattern=0 nx_rootfs.raw nx_rootfs.img

过程比较久,等结束后,你会在bootloader中得到 nx_rootfs.img

5  烧入系统

进入 Linux_for_Tegra/tools/kernel_flash/images/external ,将其中的 system.img 重命名为 system.img.bak

之后将bootloader中得到的nx_rootfs.img复制到 Linux_for_Tegra/tools/kernel_flash/images/external 中

之后将nx_rootfs.img重命名为system.img

在 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

6  我遇到过的问题

6.1  烧录过程中卡在某个地方不动

在烧录的过程中只会在这里慢一点,在其余地方如果等了超过10分钟,建议重新刷一下,偶尔会出现卡在B、USB这种情况

6.2  Fail to verify Stage25ignature SHA2

烧录的时候出现这种错误

重新搞了一下 Linux_for_Tegra,依次在 Linux_for_Tegra 目录下执行了如下命令

  • sudo ./apply_binaries.sh
  • sudo ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash jetson-xavier-nx-devkit-qspi internal
  • 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

执行完之后,将img文件再次复制到Linux_for_Tegra/tools/kernel_flash/images/external中,然后再烧录就可以了

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: Nvidia Jetson Xavier NX 刷机的步骤如下: 1. 下载 JetPack SDK,这是 Nvidia 提供的开发套件,包含了系统镜像、驱动程序、SDK 等。 2. 将 Jetson Xavier NX 连接到电脑上,使用 USB 线连接。 3. 进入恢复模式,按住电源按钮,同时按下复位按钮,等待几秒钟后松开复位按钮,此时 Jetson Xavier NX 进入恢复模式。 4. 在电脑上运行 JetPack SDK,选择刷机选项,按照提示进行操作。 5. 等待刷机完成,重新启动 Jetson Xavier NX。 注意事项: 1. 刷机过程中不要断开电源或 USB 连接。 2. 刷机前备份重要数据,刷机会清空所有数据。 3. 刷机前确认电脑上已安装好 JetPack SDK。 4. 刷机前确认 Jetson Xavier NX 进入恢复模式。 ### 回答2: NVIDIA Jetson Xavier NX 是一种高性能嵌入式计算机,它可以针对人工智能、机器学习和深度学习进行优化。如果我们想要定制该计算机系统,或更改操作系统,我们就需要进行刷机。 首先,我们需要下载所需的固件。官方提供了很多版本的系统供下载使用,我们需要选择最适合我们需求的版本。在下载完毕后,我们需要准备一个SD卡,并安装软件(Win32 Disk Imager)用于将系统镜像烧录到SD卡中,该软件可以从官网下载。 接下来,我们需要在启动时进入系统设置模式(按住电源按钮,同时按下重置按钮,松开重置按钮后再松开电源按钮),然后连接启动设备。启动设备可以是一个USB设备或者一个SD卡,使计算机能够识别新的系统。 然后,我们需要输入以下命令进入可引导设备: ``` # For USB device: $ reboot usb # For SD Card: $ reboot recovery ``` 一旦我们进入了引导设备,我们就可以开始刷机过程。 使用以下命令可以查看设备列表: ``` # 查看设备列表 $ lsblk # 显示格式化设备 $ sudo fdisk -l ``` 使用以下命令可以使用该镜像文件在SD卡上设置新系统: ``` $ sudo dd if=jetpack_4.5.1_xavier_nx_sd_card.zip of=/dev/mmcblk0 bs=1M status=progress ``` 注意:该命令将删除SD卡上的所有数据。如果我们希望保留现有数据,则可以使用GUI应用程序Etcher。 在完成SD卡设置后,我们将启动计算机,然后进入恢复模式。在此处,我们可以使用以下命令安装新的系统: ``` $ sudo chmod +x ./flash.sh $ sudo ./flash.sh jetson-xavier-nx-devkit mmcblk0p1 ``` 该命令将卸载并格式化应用存储器,并在其中安装新的系统。 完成安装后,我们可以重新启动计算机。此时,我们已经完成了nvidia jetson xavier nx 的刷机过程。 ### 回答3: NVIDIA Jetson Xavier NX是一款非常强大的嵌入式计算机,可以用于各种AI、机器人和自动化控制应用。它内置了基于ARM架构的六核CPU和512核Volta GPU,同时还拥有8GB LPDDR4x内存和16GB eMMC存储空间。然而,当我们用该设备进行AI开发时,可能需要刷机来安装新的操作系统或驱动程序。下面是关于NVIDIA Jetson Xavier NX刷机的详细介绍。 首先,为了避免误操作导致设备变砖,我们需要备份当前系统的镜像。可以使用NVIDIA提供的工具JetPack进行备份。在备份完成后,我们可以下载新的系统包,并使用JetPack进行安装。 在执行刷机操作之前,需要使用Micro-USB电缆将Jetson Xavier NX与PC连接,并进入bootloader模式。在此模式下,设备可以通过USB进行刷机,并且没有操作系统可以干扰刷机过程。连接好设备后,我们可以使用JetPack中的“Flash OS”选项。 刷机过程可能需要一段时间,具体时长取决于设备所需的软件包大小和PC的性能。在刷机过程中,JetPack会在设备上安装各种软件包、驱动和库文件,需要有足够的存储容量和内存空间。为了提升效率和减少出错率,我们应该尽量在稳定的网络环境下进行刷机,并选择可靠的软件源。 刷机完成后,我们需要重新启动设备,并检查新的操作系统是否正常运行。此时可以进行一些简单的操作测试,例如运行NVIDIA自带的示例程序或自己编写的简单的Python脚本。如有必要,可以安装额外的软件包和库文件,以满足特定的应用需求。 总之,刷机是在使用NVIDIA Jetson Xavier NX进行AI开发时不可避免的一步操作,它帮助我们安装新的系统,修复已有的故障,从而有效地提高开发效率和开发质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Suyuoa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值