Snagboot, um excelente utilitário para restaurar e atualizar dispositivos embutidos

snagboot

Snagboot é uma ferramenta de recuperação de código aberto.

bootlin (empresa especializada em Linux para sistemas embarcados), tornou conhecido vários dias atrás lançamento do Snagboot, projetado para restaurar e atualizar dispositivos incorporados que pararam de inicializar, por exemplo, devido a corrupção de firmware.

snagboot Nasce porque a maioria das plataformas embarcadas fornecem interfaces USB ou UART para recuperação e transferência de imagens de inicialização em caso de corrupção de firmware, mas essas interfaces são específico para cada plataforma e exigem o uso de utilitários de recuperação associados a produtos de fabricantes individuais.

Para resolver esse problema, a Bootlin tem o prazer de lançar hoje uma nova ferramenta de recuperação e atualização, chamada Snagboot , que pretende ser um substituto genérico e de código aberto para as ferramentas específicas do fornecedor mencionadas acima.

Sobre o Snagboot

Snagboot atua como um análogo de utilitários especializados, principalmente proprietários, para restaurar e atualizar dispositivos, como STM32CubeProgrammer, SAM-BA ISP, UUU e sunxi-fel.

snagboot foi projetado para funcionar com uma ampla variedade de placas e dispositivos incorporados, o que elimina a necessidade de desenvolvedores de sistemas embarcados aprenderem os prós e contras do uso de diferentes utilitários.

Por exemplo, a primeira versão do snagboot pode ser usada para recuperar dispositivos baseados em ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI e Texas Instruments AM62x SoC.

Existem algumas ferramentas que aproveitam essa funcionalidade para oferecer recuperação e atualização rápidas via USB, como STM32CubeProgrammer , SAM-BA ou UUU . No entanto, essas ferramentas são todas específicas do fornecedor, o que significa que os desenvolvedores que trabalham em vários tipos de plataformas precisam alternar entre diferentes ferramentas e aprender como usar cada uma delas.

É mencionado que o Snagboot inclui dois utilitários para baixar e atualizar:

  1. Snagrecover- Usa mecanismos de código ROM específicos do fornecedor para inicializar a RAM externa e executar o gerenciador de inicialização U-Boot sem alterar o conteúdo da memória permanente.
  2. flash instantâneo- Interage com um U-Boot em execução para atualizar uma imagem do sistema para memória não volátil usando DFU (atualização de firmware do dispositivo), UMS (armazenamento em massa USB) ou Fastboot.

Para os interessados ​​em para saber mais sobre issoSaiba que o código do Snagboot é escrito em Python e tem código aberto sob a licença GPLv2.

Como instalar o Snagboot no Linux?

Para aqueles interessados ​​em instalar o Snagboot em seu sistema, eles devem saber que Você pode fazer isso facilmente. Eles devem instalar apenas as dependências necessárias para não ter problemas posteriormente.

O primeiro é o libhidapi que pode ser instalado da seguinte maneira (dependendo da sua distribuição). Eles só têm que abrir um terminal e nele vão digitar:

Debian / Ubuntu

sudo apt install libhidapi-hidraw0

Ou você também pode instalar:

sudo apt install libhidapi-libusb0

Arch Linux (embora também possa ser instalado a partir do AUR, veja o comando de instalação abaixo)

sudo pacman -S hidapi

RHEL/Fedora

sudo dnf -y install hidapi

Feito isso, basta instalar o Snagboot com pip e para isso, basta digitar o seguinte comando:

python3 -m pip install --user snagboot

Por fim, teremos apenas que adicionar as regras do udev para que o snagrecover tenha acesso de leitura e gravação aos dispositivos USB dos SoCs de destino:

snagrecover --udev > 80-snagboot.rules
sudo cp 80-snagboot.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger

E pronto com isso você pode começar a trabalhar com esta ferramenta. No caso de usuários do Arch Linux, como mencionado anteriormente, a ferramenta pode ser instalada diretamente do AUR e para isso basta ter o repositório habilitado e ter um assistente do AUR instalado.

O comando para instalar a ferramenta é:

yay -S snagboot

Por último, mas não menos importante, para aqueles que preferem compilar por conta própria, basta executar o seguinte:

clone do git https://github.com/bootlin/snagboot.git

cd snagboot
./install.sh

Relativamente aos manuais e instruções de utilização, pode consultar toda esta informação no seguinte link.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.