Pular para o conteúdo principal

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
info

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 JetPackLink de Download
7.1Download

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
dica

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 energia
  • 12: Botão de recuperação forçada
  • 13: Botão de reset
  • 14: LED branco

Para entrar no modo de recuperação:

  1. Desligue o Thor.
  2. Conecte o cabo USB Type-C entre o PC host e a porta de gravação do Thor.
  3. Pressione e segure o botão de recuperação forçada (12).
  4. Enquanto segura o botão de recuperação forçada (12), pressione o botão de energia (11) para ligar a placa.
  5. 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-j601
  • BOARDID=3834
  • BOARDSKU=0008
  • FAB=400
  • BOARDREV=G.5
  • CHIP_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
dica

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

Notas Importantes

  • Execute build como um usuário normal, não como root.
  • Execute flash com sudo -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 nvethernetrm ausente 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_URL
  • ROOTFS_NAME
  • TOOLCHAIN_NAME
  • DEFAULT_USER
  • DEFAULT_PASSWORD
  • DEFAULT_HOSTNAME
  • FLASH_TARGET
  • RUN_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
  • rebuild

    • Também remove source/kernel_out
    • A próxima construção se torna uma reconstrução completa
  • distclean

    • Também remove rootfs/ e l4t-gcc/
    • Use apenas ao arquivar ou redefinir completamente o ambiente

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
nota

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.

Loading Comments...