NVIDIA Jetpack Flashing with initrd: Difference between revisions

From RidgeRun Developer Wiki
(Created page with "<seo title="NVIDIA Jetpack Flashing with initrd | RidgeRun Developer" titlemode="replace" keywords="GStreamer, Linux SDK, Linux BSP, Embedded Linux, Device Drivers, NVIDIA, N...")
 
mNo edit summary
Line 1: Line 1:
<seo title="NVIDIA Jetpack Flashing with initrd | RidgeRun Developer" titlemode="replace" keywords="GStreamer, Linux SDK, Linux BSP,  Embedded Linux, Device Drivers, NVIDIA, NVIDIA Jetson, Xilinx, TI, NXP, Freescale, Embedded Linux driver development, Linux Software development, Embedded Linux SDK, Embedded Linux Application development, OTA, Over The Air updates, A/B Filesystem Redundancy, Filesystem Redundancy, NVIDIA Jetpack, Jetpack 4.6, Jetson TX2, Xavier AGX, Xavier NX, Jetson Nano, OTA Update, Jetpack, A/B Root File System Support, Root File System Support, NVIDIA Jetpack 4.6."  description="This wiki shows how to use the new root file system redundancy, as well as the image-based OTA update features, available in Jetpack 4.6."></seo>
<seo title="NVIDIA Jetpack Flashing with initrd | RidgeRun Developer" titlemode="replace" keywords="GStreamer, Linux SDK, Linux BSP,  Embedded Linux, Device Drivers, NVIDIA, NVIDIA Jetson, Xilinx, TI, NXP, Freescale, Embedded Linux driver development, Linux Software development, Embedded Linux SDK, Embedded Linux Application development, NVIDIA Jetpack, Jetpack 4.6, Jetson TX2, Xavier AGX, Xavier NX, Jetson Xavier, Jetson Nano, NVIDIA Jetpack 4.6, initrd, NVIDIA initrd, Flashing with initrd, Jetpack Flashing with initrd, NVIDIA Flashing with initrd."  description="This wiki shows how to use the new root file system redundancy, as well as the image-based OTA update features, available in Jetpack 4.6."></seo>


==Introduction==
==Introduction==

Revision as of 06:54, 5 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. Navigate to the Linux_for_Tegra directory.

cd Linux_for_Tegra

7. 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‏‏