Cómo Compilar y Flashear el Código Fuente BSP para Jetson Thor

Esta wiki explica cómo usar el paquete fuente BSP para compilar y flashear el NVIDIA Jetson AGX Thor Developer Kit desde un host Ubuntu.
El flujo de trabajo en este artículo utiliza el paquete BSP JetPack 7.1 proporcionado a continuación y cubre:
- Descargar y extraer el paquete BSP
- Entrar en modo de recuperación USB en Thor
- Ejecutar
thor_build_flash.sh - Limpiar el espacio de trabajo con
thor_cleanup.sh - Instalación opcional de paquetes post-flasheo
Requisitos Previos
- NVIDIA Jetson AGX Thor Developer Kit
- PC host con Ubuntu
- Cable de datos USB Type-C
- Fuente de alimentación estable para Thor
- Paquete BSP para Thor
Usa el puerto de flasheo USB Type-C más cercano al conector HDMI cuando conectes Thor al PC host.
1. Descargar y Extraer el Paquete BSP
Primero descarga el paquete BSP:
| Versión de JetPack | Enlace de Descarga |
|---|---|
| 7.1 | Descargar |
Después de descargar el paquete, extráelo e ingresa al directorio de trabajo:
cd /other_data
sudo tar xpf <downloaded_package>.tar.gz
cd thor-dev/linux_for_tegra
Usa sudo tar xpf al extraer el paquete para que la propiedad y los permisos de los archivos se conserven correctamente.
2. Entrar en Modo de Recuperación USB en Thor
Primero conecta el PC host al puerto de flasheo USB Type-C cerca del conector HDMI:

Los botones laterales se muestran a continuación:

Definiciones de botones en la imagen:
11: Botón de encendido12: Botón de recuperación forzada13: Botón de reinicio14: LED blanco
Para entrar en modo de recuperación:
- Apaga Thor.
- Conecta el cable USB Type-C entre el PC host y el puerto de flasheo de Thor.
- Presiona y mantén presionado el botón de recuperación forzada (
12). - Mientras mantienes presionado el botón de recuperación forzada (
12), presiona el botón de encendido (11) para encender la placa. - Suelta el botón después de que la placa entre en modo de recuperación.
En el PC host, verifica el modo de recuperación con:
lsusb
Thor en modo de recuperación USB normalmente se enumera como:
0955:7045
Imagen de referencia:

3. Compilar y Flashear
Primero ejecuta el comando de ayuda:
cd /other_data/thor-dev/linux_for_tegra
./thor_build_flash.sh help
La configuración predeterminada de la placa ya está configurada para Thor J601:
CONFIG=recomputer-thor-carrier-j601BOARDID=3834BOARDSKU=0008FAB=400BOARDREV=G.5CHIP_SKU=00:00:00:A0
Flujo Típico
cd /other_data/thor-dev/linux_for_tegra
./thor_build_flash.sh prepare
./thor_build_flash.sh build
sudo -E ./thor_build_flash.sh flash
También puedes ejecutar el proceso completo de una vez:
./thor_build_flash.sh all
Para el primer flasheo, se recomienda el flujo dividido prepare -> build -> flash porque facilita la identificación de fallos.
Significado de las Etapas
-
prepare- Descarga el tarball del rootfs
- Extrae
rootfs/ - Ejecuta
apply_binaries.sh - Descarga y extrae la cadena de herramientas cruzada
-
build- Compila el kernel y los módulos fuera del árbol
- Copia la imagen del kernel en
rootfs/boot/ - Ejecuta
rootfs_magic.sh - Actualiza initrd
- Crea el usuario predeterminado
-
flash- Llama a
l4t_initrd_flash.sh - Requiere que la placa objetivo esté en modo de recuperación USB
- Llama a
Notas Importantes
- Ejecuta
buildcomo un usuario normal, no comoroot. - Ejecuta
flashconsudo -E. - El modo de recuperación USB de Thor normalmente es visible en el host como
0955:7045. - El script corrige automáticamente un enlace simbólico
nvethernetrmfaltante antes de la compilación.
Anulaciones Comunes
Usa variables de entorno cuando necesites anular los valores predeterminados:
CONFIG=recomputer-thor-carrier-j601 \
DOWNLOAD_BASE_URL=http://192.168.1.77/jetson \
DEFAULT_USER=seeed \
DEFAULT_PASSWORD=seeed \
DEFAULT_HOSTNAME=jetson-test \
./thor_build_flash.sh build
Variables útiles:
DOWNLOAD_BASE_URLROOTFS_NAMETOOLCHAIN_NAMEDEFAULT_USERDEFAULT_PASSWORDDEFAULT_HOSTNAMEFLASH_TARGETRUN_ROOTFS_MAGIC
4. Limpieza
Mostrar ayuda:
./thor_cleanup.sh help
Limpieza Diaria Recomendada
./thor_cleanup.sh incremental
Esto mantiene source/kernel_out para que la próxima compilación siga siendo rápida, mientras elimina:
output/bootloader/system.img*bootloader/esp.img*bootloader/recovery.img*bootloader/boot*.img- Artefactos temporales y registros de flasheo
Modos de Limpieza
-
incremental- Mantiene
source/kernel_out - Mejor opción para desarrollo normal
- Mantiene
-
rebuild- También elimina
source/kernel_out - La próxima compilación será una recompilación completa
- También elimina
-
distclean- También elimina
rootfs/yl4t-gcc/ - Usar solo al archivar o restablecer completamente el entorno
- También elimina
Ejecución en Seco
./thor_cleanup.sh incremental --dry-run
5. Paquetes Opcionales Post-Flasheo
Después de que Thor arranque exitosamente, puedes opcionalmente actualizar los metadatos de paquetes e instalar el meta-paquete nvidia-jetpack:
sudo apt update
sudo apt install nvidia-jetpack
Solución de Problemas
El arranque muestra un error mmap
Si Thor no arranca normalmente y la pantalla muestra un error mmap como la imagen de abajo, vuelve a entrar en modo de recuperación USB y reflashea la placa:

Ejecuta el siguiente comando desde el espacio de trabajo de flasheo:
cd /other_data/thor-dev/linux_for_tegra
sudo BOARDID=$BOARDID FAB=$FAB BOARDSKU=$BOARDSKU BOARDREV=$BOARDREV CHIP_SKU=$CHIP_SKU \
./l4t_initrd_flash.sh --erase-all jetson-agx-thor-devkit internal
Si el error mmap persiste después de ejecutar el comando de borrar y reflashear anterior, recopila el registro de arranque completo y contacta con soporte.
Recursos
Soporte Técnico y Discusión de Productos
¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para garantizar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para atender diferentes preferencias y necesidades.