Como Construir e Gravar a Fonte BSP para o Jetson Thor

Este wiki explica como usar o pacote de fonte BSP para construir e gravar o NVIDIA Jetson AGX Thor Developer Kit a partir de um host Ubuntu.
O fluxo de trabalho neste artigo usa o pacote BSP JetPack 7.1 fornecido abaixo e cobre:
- Baixar e extrair o pacote BSP
- Entrar no modo de recuperação USB no Thor
- Executar
thor_build_flash.sh - Limpar o espaço de trabalho com
thor_cleanup.sh - Instalação opcional de pacotes pós-gravação
Pré-requisitos
- NVIDIA Jetson AGX Thor Developer Kit
- PC host Ubuntu
- Cabo de dados USB Type-C
- Fonte de alimentação estável para o Thor
- Pacote BSP para o Thor
Use a porta de gravação USB Type-C mais próxima do conector HDMI ao conectar o Thor ao PC host.
1. Baixar e Extrair o Pacote BSP
Baixe o pacote BSP primeiro:
| Versão do JetPack | Link de Download |
|---|---|
| 7.1 | Download |
Após baixar o pacote, extraia-o e entre no diretório de trabalho:
cd /other_data
sudo tar xpf <downloaded_package>.tar.gz
cd thor-dev/linux_for_tegra
Use sudo tar xpf ao extrair o pacote para que a propriedade e as permissões dos arquivos sejam preservadas corretamente.
2. Entrar no Modo de Recuperação USB no Thor
Primeiro, conecte o PC host à porta de gravação USB Type-C próxima ao conector HDMI:

Os botões laterais são mostrados abaixo:

Definições dos botões na imagem:
11: Botão de energia12: Botão de recuperação forçada13: Botão de reset14: LED branco
Para entrar no modo de recuperação:
- Desligue o Thor.
- Conecte o cabo USB Type-C entre o PC host e a porta de gravação do Thor.
- Pressione e segure o botão de recuperação forçada (
12). - Enquanto segura o botão de recuperação forçada (
12), pressione o botão de energia (11) para ligar a placa. - Solte o botão após a placa entrar no modo de recuperação.
No PC host, verifique o modo de recuperação com:
lsusb
O Thor no modo de recuperação USB normalmente é enumerado como:
0955:7045
Imagem de referência:

3. Construir e Gravar
Execute o comando de ajuda primeiro:
cd /other_data/thor-dev/linux_for_tegra
./thor_build_flash.sh help
As configurações padrão da placa já estão definidas para Thor J601:
CONFIG=recomputer-thor-carrier-j601BOARDID=3834BOARDSKU=0008FAB=400BOARDREV=G.5CHIP_SKU=00:00:00:A0
Fluxo 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
Você também pode executar o processo completo de uma vez:
./thor_build_flash.sh all
Para a primeira gravação, o fluxo dividido prepare -> build -> flash é recomendado porque facilita a identificação de falhas.
Significado dos Estágios
-
prepare- Baixar o tarball do rootfs
- Extrair
rootfs/ - Executar
apply_binaries.sh - Baixar e extrair a toolchain cruzada
-
build- Compilar o kernel e os módulos fora da árvore
- Copiar a imagem do kernel para
rootfs/boot/ - Executar
rootfs_magic.sh - Atualizar o initrd
- Criar o usuário padrão
-
flash- Chamar
l4t_initrd_flash.sh - Requer que a placa alvo esteja no modo de recuperação USB
- Chamar
Notas Importantes
- Execute
buildcomo um usuário normal, não comoroot. - Execute
flashcomsudo -E. - O modo de recuperação USB do Thor normalmente é visível no host como
0955:7045. - O script corrige automaticamente um link simbólico
nvethernetrmausente antes da construção.
Substituições Comuns
Use variáveis de ambiente quando precisar substituir os padrões:
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
Variáveis úteis:
DOWNLOAD_BASE_URLROOTFS_NAMETOOLCHAIN_NAMEDEFAULT_USERDEFAULT_PASSWORDDEFAULT_HOSTNAMEFLASH_TARGETRUN_ROOTFS_MAGIC
4. Limpeza
Mostrar ajuda:
./thor_cleanup.sh help
Limpeza Diária Recomendada
./thor_cleanup.sh incremental
Isso mantém source/kernel_out para que a próxima compilação permaneça rápida, enquanto remove:
output/bootloader/system.img*bootloader/esp.img*bootloader/recovery.img*bootloader/boot*.img- Artefatos temporários e logs de gravação
Modos de Limpeza
-
incremental- Manter
source/kernel_out - Melhor escolha para desenvolvimento normal
- Manter
-
rebuild- Também remove
source/kernel_out - A próxima construção se torna uma reconstrução completa
- Também remove
-
distclean- Também remove
rootfs/el4t-gcc/ - Use apenas ao arquivar ou redefinir completamente o ambiente
- Também remove
Simulação
./thor_cleanup.sh incremental --dry-run
5. Pacotes Opcionais Pós-Gravação
Após o Thor inicializar com sucesso, você pode opcionalmente atualizar os metadados do pacote e instalar o meta-pacote nvidia-jetpack:
sudo apt update
sudo apt install nvidia-jetpack
Solução de Problemas
A inicialização mostra um erro mmap
Se o Thor não inicializar normalmente e a tela mostrar um erro mmap como na imagem abaixo, entre novamente no modo de recuperação USB e regrave a placa:

Execute o seguinte comando a partir do espaço de trabalho de gravação:
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
Se o erro mmap persistir após executar o comando de apagar e regravar acima, colete o log completo da inicialização e entre em contato com o suporte.
Recursos
Suporte Técnico e Discussão de Produtos
Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.