Desplegar OTA en reComputer
Introducción
Las actualizaciones Over-the-Air (OTA) de NVIDIA Jetson permiten a los desarrolladores actualizar dispositivos edge de una versión anterior de JetPack a una versión más reciente de forma remota a través de una conexión de red, eliminando la necesidad de un PC host o re-flasheo físico por USB. Esta wiki demostrará cómo realizar actualizaciones OTA (Over-the-Air) en reComputer.
Plataforma de demostración: reComputer mini J4012 con JetPack 5.1.3 → JetPack 6.2 OTA. Otros reComputers basados en Orin pueden seguir la misma lógica, pero adaptar el nombre <target_board> que coincida con su placa portadora.
Prerrequisitos
- PC Ubuntu x86_64
- reComputer mini J4012
Realizar OTA rápidamente
Aquí proporcionamos un paquete de actualización precompilado para la placa de desarrollo Seeed, que actualiza de Jetpack 5.1.3 a Jetpack 6.2. Si planeas actualizar directamente de Jetpack 5.1.3 a Jetpack 6.2 vía OTA, simplemente puedes descargar y proceder con la actualización rápidamente.

Si estás utilizando un módulo Orin NX de 16 GB u 8 GB, no habilites el modo MAXN SUPER. La capacidad de refrigeración de reComputer mini es insuficiente y forzar este modo puede causar daños permanentes al módulo.
Paquete de payload OTA
Payload OTA JP5.1.3 → JP6.2 listo para usar para la serie mini de reComputer mini
Nombre de archivo: ota_payload_package.tar.gz
SHA256: 3da8fd97c450f4f7bd83390ab50f951dffd5ec1d43c39a1e6156b4806f7df7c6
Descargar: OneDrive 1
Procedimiento OTA en el dispositivo
Las siguientes operaciones se realizan en el Jetson (vía conexión remota)
Paso 1. Instalar software dependiente
sudo apt-get update
sudo apt-get install efibootmgr nvme-cli -y
Paso 2. Descargar la herramienta OTA
#Create a workspace directory
mkdir ~/ota_ws && cd ota_ws
#Download the OTA tools from Nvidia
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/release/ota_tools_r36.4.3_aarch64.tbz2
# Uncompress
tar xvf ota_tools_r36.4.3_aarch64.tbz2
Después de descomprimir los archivos anteriores, obtendrás una carpeta llamada "Linux_for_Tegra".
Paso 3. Transferir el archivo ota al Jetson (¡Este paso debe realizarse en tu PC!)
Reemplaza <Jetson IP> con la dirección IP real de tu Jetson. Por ejemplo: 192..168.137.xx
Reemplaza la ruta del archivo ota_payload_package.tar.gz y la ruta ota_ws con tu ruta real
#example:Use scp to transfer files
scp /path/to/your downloaded/ota_payload_package.tar.gz seeed@<Jetson IP>:/home/user/ota_ws
Paso 4. Hacer copia de seguridad de los archivos del sistema original
cd /path/ota_ws/Linux_for_Tegra/tools/ota_tools/version_upgrade/
#The editor needs to keep a backup of the file directory that needs to be preserved.
vim ota_backup_files_list.txt
Lista los archivos o carpetas que quieres conservar. ¡Usa ruta absoluta!

./nv_ota_preserve_data.sh
Paso 5. Iniciar OTA
cd Linux_for_Tegra/tools/ota_tools/version_upgrade
#Specify the directory of the OTA file
sudo ./nv_ota_start.sh ~/ota_ws/ota_payload_package.tar.gz


Después de que se ejecute el script, puedes reiniciar Jetson para iniciar el proceso OTA. Si tu dispositivo está conectado a un monitor, cuando reinicies, verás que el monitor mostrará el logo de Nvidia y luego entrará en kernel overlay. La pantalla permanecerá negra (un fenómeno normal) por un tiempo, y luego entrará en el proceso OTA.

Después de que se complete todo el proceso, necesitas entrar al sistema para configurar el nombre de usuario y contraseña.

Paso 6. Validación post-actualización
Una vez que el dispositivo arranque en JetPack 6.2:
nvbootctrl -t
sudo nvme list
cat /etc/nv_tegra_release

Asegúrate de que la versión reportada coincida con R36 (release), REVISION: 4.3, y confirma que tus aplicaciones inicien como se espera.
¡Felicidades! El proceso OTA fue exitoso. ¡Los archivos del sistema también fueron guardados previamente!
Otras versiones de OTA (opcional)
Arriba, solo hemos proporcionado la versión común del paquete OTA. Si necesitas actualizar de la versión actual de OTA a otra versión, por favor consulta los siguientes pasos para generar el paquete OTA correspondiente. Lo que estamos demostrando ahora es la actualización de Jetpack 5.1.3 a la versión objetivo, Jetpack 6.2.
Preparar el BSP objetivo (JetPack 6.2)
Todos los comandos a continuación se ejecutan en el PC Ubuntu.
Paso 1. Descargar paquetes NVIDIA JetPack 6.2.
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/release/Jetson_Linux_r36.4.3_aarch64.tbz2
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/release/Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2
Paso 2. Extraer el BSP en Linux_for_Tegra.
tar xf Jetson_Linux_r36.4.3_aarch64.tbz2
sudo tar xpf Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2 -C Linux_for_Tegra/rootfs/
Paso 3. Sincronizar fuentes NVIDIA para JP6.2.
cd Linux_for_Tegra/source/
./source_sync.sh -t jetson_36.4.3
cd ../..
Paso 4. Superponer personalizaciones de Seeed.
mkdir -p github/Linux_for_Tegra
git clone https://github.com/Seeed-Studio/Linux_for_Tegra.git -b r36.4.3 --depth=1 github/Linux_for_Tegra
cp -r github/Linux_for_Tegra/* Linux_for_Tegra/
Paso 5. Aplicar binarios NVIDIA y dependencias del host.
cd Linux_for_Tegra
sudo ./apply_binaries.sh
sudo apt-get update
sudo apt-get install -y build-essential flex bison libssl-dev sshpass \
abootimg nfs-kernel-server libxml2-utils qemu-user-static
Paso 6. Instalar la cadena de herramientas de Jetson para la compilación del kernel.
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/toolchain/aarch64--glibc--stable-2022.08-1.tar.bz2
mkdir -p l4t-gcc
tar xf aarch64--glibc--stable-2022.08-1.tar.bz2 -C ./l4t-gcc
export ARCH=arm64
export CROSS_COMPILE=$(realpath .)/l4t-gcc/aarch64--glibc--stable-2022.08-1/bin/aarch64-buildroot-linux-gnu-
Paso 7. Compilar el kernel, DTBs y módulos.
cd source
./nvbuild.sh
./do_copy.sh
export INSTALL_MOD_PATH=$(realpath ../rootfs/)
./nvbuild.sh -i
cd ..
En este punto, el BSP JP6.2 bajo ~/JP6.2/Linux_for_Tegra (o la ruta que hayas elegido) está listo para ser usado como el BSP TARGET para el script de generación OTA.
Preparar el BSP Base (JetPack 5.1.3)
Usa un espacio de trabajo limpio (por ejemplo, ~/JP5.1.3/).
Paso 1. Descargar los paquetes de JetPack 5.1.3.
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
Paso 2. Extraer y copiar las superposiciones BSP de Seeed.
tar xf Jetson_Linux_R35.5.0_aarch64.tbz2 -C JP5.1.3
cd JP5.1.3
git clone -b r35.5.0 https://github.com/Seeed-Studio/Linux_for_Tegra.git
cp -rf Linux_for_Tegra/* ./Linux_for_Tegra/
Paso 3. Poblar el sistema de archivos raíz y aplicar binarios.
cd Linux_for_Tegra
sudo tar xpf ../Tegra_Linux_Sample-Root-Filesystem_r35.5.0_aarch64.tbz2 -C rootfs
sudo ./apply_binaries.sh
Paso 4. Instalar la cadena de herramientas GCC de Bootlin para compilaciones del kernel JP5.
wget https://developer.nvidia.com/embedded/jetson-linux/bootlin-toolchain-gcc-93 -O bootlin-toolchain-gcc-93.tar.bz2
mkdir -p l4t-gcc
tar xf bootlin-toolchain-gcc-93.tar.bz2 -C ./l4t-gcc
export ARCH=arm64
export CROSS_COMPILE_AARCH64_PATH=$(realpath .)/l4t-gcc
Paso 5. Compilar e instalar módulos, árboles de dispositivos y controladores personalizados.
cd source
export INSTALL_MOD_PATH=$(realpath ../rootfs/)
./nvbuild.sh -i -r ${INSTALL_MOD_PATH}
./do_copy.sh
Tu ruta BSP JP5.1.3 (por ejemplo /home/seeed/test/5.1.3/Linux_for_Tegra) actuará como el BSP BASE durante la generación del paquete OTA.
Generar el Paquete OTA en el Host
Navega al espacio de trabajo JP6.2 y ejecuta el script auxiliar OTA de NVIDIA:
cd ~/JP6.2/Linux_for_Tegra/tools/ota_tools/
./start_generate_ota_pkg.sh
El script solicitará la siguiente información:
- Ruta BASE_BSP:
/home/seeed/test/5.1.3/Linux_for_Tegra - Ruta TARGET_BSP:
/home/seeed/test/6.2/Linux_for_Tegra - Nombre target_board:
recomputer-orin-j40mini(usa el nombre.confque coincida con tu dispositivo) - bsp_version (Rmm-n):
R35-5para JetPack 5.1.3
Si todo está configurado correctamente, la herramienta termina con:

Realizar la OTA en el Dispositivo Jetson
Consulta de nuevo el procedimiento OTA en el dispositivo para los pasos detallados.
Recursos
Soporte Técnico y Discusión de Productos
¡Gracias por elegir Seeed Studio! Si necesitas más asistencia, comunícate a través de los siguientes canales: