Saltar al contenido principal

Actualización de Jetson Linux con Actualización Over-the-Air Basada en Imagen

Este wiki utilizará el reComputer J3010 como ejemplo para demostrar cómo actualizar Jetson linux desde jetpack5.1.3 a jetpack6.0 con actualización over-the-air basada en imagen.

Prerrequisitos

  • reComputer J4012/ J4011/ J3010 o J3011
  • Computadora Host Ubuntu 20.04
  • Cable de transmisión de datos USB Type-C
info

Aquí, utilizamos la serie clásica reComputer para la demostración. Otras series de reComputers también pueden seguir este tutorial para lograr actualizaciones de firmware OTA.

1 Generar la Imagen del Sistema de JP5.1.3

1.1 Preparar BSP de JP5.1.3

Primero, necesitas abrir una ventana de terminal en la PC host y ejecutar el siguiente comando para descargar el BSP de la versión NVIDIA Jetpack 5.1.3.

cd <root_dir>
mkdir jp5 && cd jp5
wget https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v5.0/release/jetson_linux_r35.5.0_aarch64.tbz2
wget https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v5.0/release/tegra_linux_sample-root-filesystem_r35.5.0_aarch64.tbz2
nota

Donde <root_dir> es el directorio raíz del proyecto.

1.2 Construir Imagen del Sistema de JP5.1.3

Ejecuta el siguiente comando en la ventana de terminal de la PC host para construir la imagen del sistema 5.1.3.

tar xf jetson_linux_r35.5.0_aarch64.tbz2
sudo tar xpf tegra_linux_sample-root-filesystem_r35.5.0_aarch64.tbz2 -C Linux_for_Tegra/rootfs/
cd Linux_for_Tegra
sudo ./apply_binaries.sh
sudo BOARDID=<BOARDID> BOARDSKU=<BOARDSKU> FAB=<FAB> BOARDREV=<BOARDREV> CHIP_SKU=<CHIP_SKU> ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_nvme.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml --no-systemimg" --no-flash --massflash 5 --network usb0 jetson-orin-nano-devkit external
info
Jetson BOARDID BOARDSKU FAB BOARDREV CHIP_SKU
Orin Nano 4G 3767 0004 300 N.2 00:00:00:D6
Orin Nano 8G 3767 0003 300 N.2 00:00:00:D6
Orin Nx 8G 3767 0001 300 M.3 00:00:00:D4
Orin Nx 16G 3767 0000 300 G.3 00:00:00:D3

Por favor reemplaza las variables correspondientes basándote en el módulo Jetson específico que estés usando. Para reComputer J3010: sudo BOARDID=3767 BOARDSKU=0004 FAB=300 BOARDREV=N.2 CHIP_SKU=00:00:00:D6 ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_nvme.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml --no-systemimg" --no-flash --massflash 5 --network usb0 jetson-orin-nano-devkit external

Tras una compilación exitosa, se generará un paquete de imagen del sistema en el directorio Linux_for_Tegra.

1.3 Flashear JP5.1.3 al Dispositivo (Opcional)

Si quieres probar este firmware en el dispositivo Jetson, puedes consultar este wiki para flashear el firmware en el dispositivo Jetson.

sudo tar xpf mfi_jetson-orin-nano-devkit.tar.gz
cd mfi_jetson-orin-nano-devkit
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --massflash 1 --network usb0 --showlogs

2 Generar el Paquete OTA de JP6.0

2.1 Preparar el BSP

Necesitas abrir una ventana de terminal en la PC host y ejecutar el siguiente comando para descargar el BSP de la versión NVIDIA Jetpack 6.0.

cd <root_dir>
mkdir jp6 && cd jp6
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/release/jetson_linux_r36.3.0_aarch64.tbz2
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/release/tegra_linux_sample-root-filesystem_r36.3.0_aarch64.tbz2
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/release/ota_tools_R36.3.0_aarch64.tbz2

2.2 Construir Imagen del Sistema de JP6

Por favor consulta los pasos en 1.2 para la ejecución, y presta atención a modificar las variables en el mismo.

tar xf jetson_linux_r36.3.0_aarch64.tbz2
sudo tar xpf tegra_linux_sample-root-filesystem_r36.3.0_aarch64.tbz2 -C Linux_for_Tegra/rootfs
cd Linux_for_Tegra
sudo ./apply_binaries.sh
sudo BOARDID=<BOARDID> BOARDSKU=<BOARDSKU> FAB=<FAB> BOARDREV=<BOARDREV> CHIP_SKU=<CHIP_SKU> ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_nvme.xml -p "-c bootloader/generic/cfg/flash_t234_qspi.xml --no-systemimg" --no-flash --massflash 5 --network usb0 jetson-orin-nano-devkit external

2.3 Generar Paquete de Carga OTA

Ejecuta los siguientes comandos en la ventana de terminal de la PC host.

cd <root_dir>/jp6
tar xf ota_tools_R36.3.0_aarch64.tbz2
cd Linux_for_Tegra
sudo BASE_BSP=<root_dir>/jp5/Linux_for_Tegra ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh --external-device nvme0n1 -S 80GiB jetson-orin-nano-devkit R35-5

Después de que el comando termine. Obtendrás el ota_payload_package.tar.gz en Linux_for_Tegra/bootloader/jetson-orin-nano-devkit.

3 Aplicar Paquete OTA en el Dispositivo

3.1 Trabajo de preparación

Copia el paquete OTA generado(ota_payload_package.tar.gz) al dispositivo Jetson, y ejecuta los siguientes comandos en la ventana de terminal del dispositivo Jetson.

scp <...>/jp6/Linux_for_Tegra/bootloader/jetson-orin-nano-devkit/ota_payload_package.tar.gz ~
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/release/ota_tools_R36.3.0_aarch64.tbz2
sudo mkdir /ota
sudo mv ~/ota_payload_package.tar.gz /ota
tar xf ota_tools_R36.3.0_aarch64.tbz2

3.2 Aplicar OTA

cd ~/Linux_for_Tegra/tools/ota_tools/version_upgrade
sudo ./nv_ota_start.sh /ota/ota_payload_package.tar.gz

Después de que este comando termine exitosamente. Reinicia el dispositivo.

Finalmente, el dispositivo se actualiza de 5.1.3 a 6.0 exitosamente.

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para atender diferentes preferencias y necesidades.

Loading Comments...