常见问题

Jetson/L4T/从外部设备启动

2021-07-24 admin 658

内容

 [隐藏

介绍

  • 此方法将告诉系统将 rootfs 挂载到外部设备(USB、SATA、NVMe)上。

  • 您可以使用设备节点(例如 mmcblk1p1/sda1/nvme0n1p1...等)或基于 UUID 的方法。

脚步

1. 将外部设备连接到主机 Linux PC

2. 在设备上使用 gdisk 创建 GPT 和分区:

$sudo gdisk /dev/sd x "o" -> 清除所有当前分区数据 “n”-> 创建新分区 "1" -> 分区号 /dev/sd x 1 “40M”第一个扇区 -> 按 Enter 或“+32G”最后一个扇区 “Linux 文件系统”-> 使用默认类型 "c" -> 分区名称 "PARTLABEL" "w" -> 写入磁盘并退出。

3.获取分区UUID,复制rootfs到设备:

$ sudo mkfs.ext4 /dev/sd x 1 // 获取第 4 步的分区 UUID $ sudo blkid /dev/sd x 1 $ sudo 挂载 /dev/sd x 1 /mnt // 进入rootfs目录 $ cd Linux_for_Tegra/rootfs/ //这是sdkmanager准备的 // 复制 rootfs $ sudo tar -cpf - * | ( cd /mnt/ ; sudo tar -xpf - ) $ sudo umount /mnt

4. 将设备插入 Jetson 平台。让 Jetson 平台进入恢复模式并连接到主机 PC

5.1(版本> = r32.5)对于UUID方法,你需要创建文件的bootloader / l4t-根文件系统,uuid.txt_分机,把你的PARTUUID这个文件中。然后,使用命令:

$ sudo./flash.sh jetson-tx2 外部

对于设备节点方法,您只需将设备名称提供给 flash.sh 就更容易了。

例子: $ sudo ./flash.sh jetson-tx2 nvme0n1p1

5.2 (release < r32.5) 在主机 PC 上,为外部设备创建并复制 PARTUUID 到 bootloader/l4t-rootfs-uuid.txt,并用 rootfs 设备刷写板子。

$ sudo ./flash.sh jetson-tx2 外部

对于设备节点方法,它与之前的情况相同。

6. 完成

以 NVMe + Xavier NX 为例

如果您有 Xavier NX 并且外接设备是 NVMe PCIe M.2 SSD 卡,您可以在 XNX 上执行以下步骤:

1.1 将卡插入 XNX 上的 M.2 插槽并启动

1.2 下载包到XNX并生成rootfs

// 下载L4T 驱动程序包 (BSP)和示例根文件系统   https://developer.nvidia.com/embedded/linux-tegra    // 将包放在同一个文件夹中并执行 $ sudo tar xpf Tegra186_Linux_R32.4.4_aarch64.tbz2 $ cd Linux_for_Tegra/rootfs/ $ sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R32.4.4_aarch64.tbz2 $ cd ../ $须藤./apply_binaries.sh

2. 在设备上使用 gdisk 创建 GPT 和分区:

$sudo gdisk /dev/nvme0 "o" -> 清除所有当前分区数据 “n”-> 创建新分区 "1" -> 分区号 /dev/nvme0n1p1 “40M”第一个扇区 -> 按回车 “Linux 文件系统”-> 使用默认类型 "c" -> 分区名称 "PARTLABEL" "w" -> 写入磁盘并退出。

3 获取分区 UUID 并将 rootfs 复制到设备:

$ sudo mkfs.ext4 /dev/nvme0n1p1 // 在 r32.4.4 上,获取第 4 步的分区 UUID;不需要 r32.5 $ sudo blkid /dev/nvme0n1p1 $ sudo 挂载 /dev/nvme0n1p1 /mnt // 进入rootfs目录 $ cd rootfs/ // 复制 rootfs $ sudo tar -cpf - * | ( cd /mnt/ ; sudo tar -xpf - ) $ sudo umount /mnt

4. 让 Xavier NX 进入恢复模式并连接到主机 PC

5. 在主机 Linux PC 上,将 PARTUUID 复制到 bootloader/l4t-rootfs-uuid.txt。r32.5 不需要此步骤。

6. 用 rootfs 设备刷写板子:

// r32.4.4 $ sudo ./flash.sh jetson-xavier-nx-devkit-emmc 外部 // r32.5 $ sudo ./flash.sh jetson-xavier-nx-devkit-emmc nvme0n1p1

7. 完成

原文链接:

https://elinux.org/Jetson/L4T/Boot_From_External_Device

首页
产品
案例
联系