Instalação de SO personalizado agora disponível nos dispositivos AWS DeepRacer

O problema com o firmware original

Os dispositivos AWS DeepRacer são carrinhos autônomos em escala 1/18 movidos por modelos treinados com aprendizado por reforço. Combinados com um ambiente de nuvem para treino e avaliação de redes neurais, eles formam uma plataforma educacional bastante popular para quem quer dar os primeiros passos em aprendizado de máquina (ML).

O problema é que, desde o início, o firmware seguro embarcado nesses dispositivos só permitia inicializar sistemas operacionais assinados pela própria AWS — especificamente versões do Ubuntu 16.04 e 20.04. Ambas já estão fora do ciclo de suporte oficial, o que tornava difícil continuar experimentando e pesquisando com esses hardwares. Sem a possibilidade de atualizar o sistema operacional (SO), os dispositivos iam ficando para trás tecnologicamente.

Para resolver isso sem abandonar o hardware, a AWS desenvolveu e disponibilizou um novo bootloader para desenvolvedores, que permite instalar SOs customizados nesses carrinhos e, assim, prolongar sua vida útil.

A solução: o developer shim

O bootloader lançado pela AWS é baseado no projeto open source shim. Chamado de developer shim, ele oferece acesso de autoatendimento para desenvolvedores que queiram instalar distribuições customizadas ou de terceiros nos dispositivos DeepRacer.

O público-alvo são desenvolvedores familiarizados com processos de boot Linux e gerenciamento de certificados — especialmente membros da comunidade que queiram criar e distribuir suas próprias imagens de instalação para o DeepRacer.

Com esse bootloader, passa a ser possível:

  • Instalar distribuições Linux modernas;
  • Adicionar drivers de hardware personalizados;
  • Executar stacks de software mais atuais;
  • Construir projetos educacionais inovadores;
  • Desenvolver protótipos de novos algoritmos veiculares.

E caso o desenvolvedor precise retornar à configuração original, o processo é completamente reversível. Basta seguir as instruções de atualização e restauração do veículo para voltar ao estado de fábrica.

Como o developer shim funciona

O funcionamento do bootloader se apoia em três elementos principais:

1. Gerenciamento de certificados por autoatendimento

Quando a verificação de assinatura embutida falha (porque o SO não é assinado pela AWS), o developer shim procura por certificados de desenvolvedor no caminho /EFI/DEVELOPER/certs/ na partição de boot do dispositivo. O desenvolvedor pode gerenciar seus próprios certificados usando ferramentas padrão como OpenSSL e sbsign, mantendo a verificação criptográfica adequada.

2. Avisos visuais claros

Quando certificados de desenvolvedor estão em uso, o sistema sinaliza isso de forma explícita:

  • Aviso na tela (via HDMI): informa que o modo desenvolvedor está ativo;
  • Indicação por hardware: as luzes do dispositivo piscam “DEVELOPER MODE” em código Morse;
  • Atraso no boot: dá tempo suficiente para observar a ativação do modo desenvolvedor.

A ideia é garantir transparência total: sempre que o modo desenvolvedor estiver ativo, o dispositivo deixa isso bem claro.

3. Fluxo de verificação padrão

A solução utiliza ferramentas de assinatura baseadas em certificados já conhecidas do mercado, tornando-a acessível a quem já trabalha com processos de boot seguro. O desenvolvedor fornece seus próprios certificados enquanto mantém a integridade criptográfica da cadeia de boot e do sistema operacional.

Sequência de boot esperada

Ao ligar o dispositivo, o processo segue as seguintes etapas:

  • O firmware carrega o developer shim (BOOTX64.EFI) e transfere a execução para ele;
  • O shim exibe um aviso na tela (se um monitor HDMI estiver conectado) e pisca “DEVELOPER MODE” em Morse nas luzes do dispositivo — essa etapa leva aproximadamente 21 segundos;
  • O bootloader carrega o kernel do sistema operacional;
  • O shim verifica a assinatura do kernel contra o repositório de certificados local em /EFI/DEVELOPER/certs;
  • Se a assinatura bater, a execução é transferida para o kernel e o boot continua normalmente.

Impacto na comunidade open source

A comunidade open source do AWS DeepRacer, em deepracing.io, já aproveitou o developer shim para criar uma nova distribuição customizada. Ela é construída sobre Ubuntu 24.04 com o stack ROS2 Jazzy e traz uma interface de usuário baseada em Cloudscape.

Pensada para ser uma demonstração prática da abordagem do bootloader de autoatendimento, a distribuição vem pronta para uso, com um processo de instalação muito similar ao da distribuição original da AWS. A comunidade priorizou desempenho nas corridas, removendo pacotes não essenciais — incluindo o sistema gráfico X Window System. Quem precisar da experiência de desktop pode adicioná-la posteriormente. As instruções de instalação estão disponíveis no README do repositório.

A distribuição pode ser encontrada em https://github.com/aws-deepracer-community/deepracer-custom-car.

Como usar o bootloader

O bootloader pode ser utilizado de três formas diferentes, dependendo do nível de controle desejado pelo desenvolvedor:

Opção A: Instalar uma distribuição da comunidade

A forma mais simples de começar é instalando a Distribuição da Comunidade Ubuntu 24.04. Essa opção dispensa a necessidade de instalar o Linux manualmente e reconfigurar os processos de boot do zero.

Opção B: Distribuições de terceiros

Para quem quer mais controle sobre o processo de instalação, é possível usar o developer shim com uma distribuição de terceiros, como o Ubuntu padrão. Após instalar o SO, basta substituir o arquivo BOOTX64.EFI pelo developer shim e adicionar os certificados adequados. Esse passo pode precisar ser feito duas vezes: uma na mídia de instalação e outra após a instalação no dispositivo. O arquivo USAGE.md incluso no pacote do developer shim contém as orientações detalhadas.

Opção C: SO completamente customizado

Para quem está construindo um SO do zero para o DeepRacer, o processo envolve criar um volume de boot no dispositivo, posicionar o developer shim em EFI/BOOT/BOOTX64.EFI, colocar o kernel ou bootloader do SO em EFI/BOOT/GRUBX64.EFI e instalar o certificado público em DEVELOPER/certs. O arquivo USAGE.md do pacote do developer shim também cobre esse cenário.

Integração com a solução self-managed

Com o developer shim e a solução de gerenciamento próprio lançada em 26 de janeiro de 2026, os desenvolvedores passam a ter controle total tanto sobre os ambientes de treinamento em nuvem quanto sobre os dispositivos físicos. É possível customizar o stack de software embarcado, experimentar novos pacotes ROS2 e iterar sobre modelos de corrida com flexibilidade completa de ponta a ponta. Mais detalhes sobre a solução self-managed estão disponíveis na página do DeepRacer on AWS.

Como começar

Para dar os primeiros passos, a AWS recomenda explorar primeiro a Solução DeepRacer on AWS e depois baixar o developer shim em deepracer-developer-shim.zip.

Para criar ou modificar a mídia de boot do novo SO customizado:

  • Coloque o arquivo shim BOOTX64.EFI no diretório EFI/BOOT;
  • Armazene o kernel do SO escolhido como GRUBX64.EFI;
  • Armazene o certificado público do kernel em EFI/DEVELOPER/CERTS no formato x509 DER.

Esse processo pode precisar ser repetido tanto na mídia de instalação quanto no próprio dispositivo após a instalação. Para documentação técnica detalhada, solução de problemas e uso avançado, o arquivo USAGE.md dentro do zip é a referência principal.

Alternativamente, é possível baixar diretamente a Distribuição da Comunidade e seguir as instruções para uma instalação limpa com o developer bootloader já incorporado.

Conclusão

Com o novo bootloader, os dispositivos AWS DeepRacer ganham uma segunda vida como ambiente de educação e desenvolvimento em aprendizado de máquina. Agora é possível rodar sistemas operacionais modernos, ferramentas atualizadas e stacks de software contemporâneos — ou até criar sua própria distribuição customizada. Para começar, basta baixar o deepracer-developer-shim.zip, seguir as instruções no arquivo USAGE.md e continuar a jornada de ML com a Solução DeepRacer on AWS.

Fonte

Custom OS installation now available on AWS DeepRacer devices (https://aws.amazon.com/blogs/machine-learning/custom-os-installation-now-available-on-aws-deepracer-devices/)

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *