Migrating From JetPack 5 to JetPack 6 Using OTA Update
JetPack 6 Migration and Developer Guide |
---|
Introduction |
Migrating From JetPack 5 to JetPack 6 |
Installing JetPack 6 |
JetPack 6 Key Features |
Contact Us |
This guide outlines a method for updating the Jetson device's BSP using pre-built images. It covers major JetPack version jumps and minor updates within the same version.
This method allows to update the BSP on Jetson device by writing pre-generated images to its partitions. It is possible to update JetPack 5 to 6 using this method, as well as updating minor versions of JetPack 6.
Steps performed on the host machine
1. Set the BASE_BSP
environment variable to point to the directory containing Linux_for_Tegra
. This directory represents the base BSP version to be updated (e.g., r35.5.0).
export BASE_BSP=/path/to/Linux_for_Tegra/
2. Navigate to the directory containing the downloaded current BSP package (e.g., jetson_linux_r36.3.0_aarch64.tbz2), extract the contents of the package and apply its sample rootfs using the following command:
tar xpf jetson_linux_<release>_aarch64.tbz2 cd Linux_for_Tegra/rootfs/ sudo tar xpf ../../tegra_Linux_sample-root-filesystem_<release>_aarch64.tbz2 cd .. sudo ./apply_binaries.sh
3. Set the TARGET_BSP
environment variable to the complete path containing the Linux_for_Tegra
directory for the current BSP release (e.g., r36.3.0). Replace /path/to/extracted/jetson_linux_<release>/
with the actual location.
export TARGET_BSP=/path/to/extracted/jetson_linux_<release>/Linux_for_Tegra/
4. Install the ota_tools_<release>_aarch64.tbz2
OTA tool package to ${TARGET_BSP}
:
cd ${TARGET_BSP}/../ sudo tar xpf ota_tools_<rel>_aarch64.tbz2
5. Generate the OTA update payload package:
cd ${TARGET_BSP} sudo -E ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh \ [-s] [-b] [-r] [-u <PKC_key_file>] [-v <SBK_key_file>] [-o <rootfs_updater>] \ [-f <rootfs_image>] [--external-device <external_device>] [-S <rootfs_size>] \ <target_board> <bsp_version>
<PKC_key_file>
is an optional PKC key file, and it must be the same as the file that was used to flash images to the target board.<SBK_key_file>
is an optional SBK key file, and it must be the same as the file that was used to flash images to the target board.<rootfs_updater>
specifies the script that will be be used to update the rootfs partition.<rootfs_image>
is the path of the rootfs image to be written to the rootfs partition.<external_device>
specifies the external device to be upgraded, and nvme0n1 is the supported device.<rootfs_size>
specifies the size of rootfs partition on external device. It is only valid when --external-device option is set. KiB, MiB, GiB short hands are allowed.<target_board>
is the appropriate configuration name from the options: jetson-agx-orin-devkit, jetson-agx-orin-devkit-industrial, jetson-orin-nano-devkit, jetson-orin-nano-devkit.<bsp_version>
is the base BSP version, in the form Rmm-n, where mm and n are the major and minor version numbers. For example, R35-5 specifies base BSP version 35.5.x.
Steps performed on the Jetson Device
1. Download the ota_tools_<release>_aarch64.tbz2
OTA tool package and the ota_payload_package.tar.gz
OTA payload package to the target board.
2. Create a directory to hold files that were generated in the OTA update process.
3. Set the WORKDIR
environment variable to the complete path for this directory.
4. Unpack ota_tools_<release>_aarch64.tbz2
into the ${WORKDIR}
directory.
5. Create a /ota/
directory.
6. Place the ota_payload_package.tar.gz
OTA payload package in the /ota/
directory.
7. Unpack the OTA payload package and prepare to start OTA:
cd ${WORKDIR}/Linux_for_Tegra/tools/ota_tools/version_upgrade sudo ./nv_ota_start.sh /ota/ota_payload_package.tar.gz
8. If no error occurred in step 7, reboot the target board.