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