Difference between revisions of "NVIDIA Jetpack Flashing with initrd"

From RidgeRun Developer Connection
Jump to: navigation, search
m
(Procedure)
Line 48: Line 48:
 
  cd JetPack_4.6_<board>
 
  cd JetPack_4.6_<board>
  
6. Navigate to the '''Linux_for_Tegra''' directory.
+
6. Download the ''Jetson Platform Fuse Burning and Secure Boot Documentation and Tools'' package from [https://developer.nvidia.com/embedded/linux-tegra-r3261 NVIDIA official site] and unpack it.
 +
 
 +
tar xvjf secureboot_r32.6.1_aarch64.tbz2
 +
 
 +
7. Navigate to the '''Linux_for_Tegra''' directory.
 
  cd Linux_for_Tegra
 
  cd Linux_for_Tegra
  
7. Start the initrd flashing procedure
+
8. Start the initrd flashing procedure
 
  sudo ./tools/kernel_flash/l4t_initrd_flash.sh <board-name> <rootdev>
 
  sudo ./tools/kernel_flash/l4t_initrd_flash.sh <board-name> <rootdev>
  

Revision as of 19:22, 17 August 2021

Introduction

This wiki provides a guide for using NVIDIA's initrd flashing procedure provided since Jetpack 4.6.

This is a streamlined way of flashing to internal or external media. The procedure works by first flashing a minimal initrd, which boots up and exposes the internal and external media to the host for flashing. This flashing procedure is much faster compared to other flashing techniques. For instance, in the case of Jetson Xavier NX which needs to flash SPI + EMMC, with initd both can be flashed in parallel. Another advantage of this feature is that it provides one solution to flash internal or external media.

Tools and instructions for flashing with initrd may be found in the directory /Linux_for_Tegra/‌tools/‌kernel_flash/. For more detailed information, see README_initrd_flash.txt in the same directory. Also, we encourage you to read the NVIDIA Jetson Linux Developer Guide for Jetpack 4.6.

Feature support table
Board Flashing with initrd
Jetson TX2 No
Xavier AGX Yes
Xavier NX Yes
Jetson Nano No

Requirements

  • High-quality USB‑C / micro-USB cable. A low-quality cable may make the flashing process fail.
  • NetworkManager is required by the host to configure the network for flashing, not some other network management application.
  • Automount must temporarily be disabled for the new external storage device during flashing.

Procedure

1. Disable automount

systemctl stop udisks2.service

2. Install dependencies

sudo apt install libxml2-utils simg2img network-manager abootimg sshpass device-tree-compiler

3. Put the Jetson Board in recovery mode and plug it into your computer.

4. Please go to the Target HW image folder created by the NVIDIA SDK manager after downloading the required Jetpack. By default it will be located at /home/$USER/nvidia/nvidia_sdk.

cd /home/$USER/nvidia/nvidia_sdk

5. Navigate to the corresponding Jetpack directory.

cd JetPack_4.6_<board>

6. Download the Jetson Platform Fuse Burning and Secure Boot Documentation and Tools package from NVIDIA official site and unpack it.

tar xvjf secureboot_r32.6.1_aarch64.tbz2

7. Navigate to the Linux_for_Tegra directory.

cd Linux_for_Tegra

8. Start the initrd flashing procedure

sudo ./tools/kernel_flash/l4t_initrd_flash.sh <board-name> <rootdev>

Where:

• <board-name> is the value of the environment variable BOARD for the target device. According to the currently supported devices, you can use: jetson-xavier-nx-devkit, jetson-xavier-nx-devkit-emmc or jetson-agx-xavier-devkit.

• <rootdev> specifies the type of device that is to be flashed. Use the value mmcblk0p1 to flash a local storage device (eMMC or SD card, depending on platform), as distinguished from NFS server, for example.

8. Once the flashing procedure is done, you can enable automount service

systemctl start udisks2.service‏‏