Snagboot, una excel·lent utilitat per restaurar i flashejar dispositius integrats

snagboot

Snagboot és una eina de recuperació open source

Bootlin (una empresa especialitzada en Linux per a sistemes integrats), va donar a conèixer fa ja diversos dies el llançament de Snagboot, dissenyat per restaurar i flashejar dispositius integrats que han deixat d'arrencar, per exemple, a causa de la corrupció del microprogramari.

Snagboot neix pel fet que la majoria de les plataformes integrades proporcionen interfícies USB o UART per a la recuperació i la transferència d'imatges d'arrencada en cas de corrupció del microprogramari, però aquestes interfícies són específiques de cada plataforma i requereixen lús dutilitats de recuperació associades amb productes de fabricants individuals.

Per abordar aquest problema, Bootlin es complau a llançar avui una nova eina de recuperació i actualització, anomenada Snagboot, que pretén ser un reemplaçament genèric i de codi obert de les eines específiques del proveïdor esmentades anteriorment.

Sobre Snagboot

Snagboot actua com un anàleg d'utilitats especialitzades, majoritàriament propietàries, per restaurar i actualitzar dispositius, com STM32CubeProgrammer, SAM-BA ISP, UUU i sunxi-fel.

Snagboot està dissenyat per funcionar amb una àmplia gamma de plaques i dispositius integrats, el que elimina la necessitat que els desenvolupadors de sistemes integrats aprenguin els detalls de lús de diferents utilitats.

Per exemple, la primera versió de snagboot es pot utilitzar per recuperar dispositius basats en ST STM32MP1, Microxip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI i Texas Instruments AM62x SoC.

Hi ha algunes eines que aprofiten aquesta funcionalitat per oferir una recuperació i actualització ràpides a través d'USB, com STM32CubeProgrammer, SAM-BA o UUU. No obstant això, aquestes eines són totes específiques del proveïdor, cosa que significa que els desenvolupadors que treballen en diversos tipus de plataformes han de canviar entre diferents eines i aprendre a fer servir cadascuna.

S'esmenta que Snagboot inclou dues utilitats per descarregar i actualitzar:

  1. snagrecover: utilitza mecanismes de codi ROM específics del proveïdor per inicialitzar la RAM externa i executar el carregador d'arrencada U-Boot sense canviar el contingut de la memòria permanent.
  2. snagflash: interactua amb un U-Boot en execució per flashejar una imatge del sistema en una memòria no volàtil mitjançant DFU (Actualització de microprogramari del dispositiu), UMS (Emmagatzematge massiu USB) o Fastboot.

Per als interessats en poder conèixer més sobre això, han de saber que el codi de Snagboot està escrit a Python i és de codi obert sota la llicència GPLv2.

Com instal·lar Snagboot a Linux?

Per als interessats en poder instal·lar Snagboot al vostre sistema, han de saber que poden fer-ho d'una manera força senzilla, només deuen instal·lar les dependències necessàries per no tenir problemes posteriorment.

La primera és libhidapi la qual es pot instal·lar de la següent forma (depenent de la teva distribució). Només deuen obrir una terminal i hi teclejaran:

Debian / Ubuntu

sudo apt install libhidapi-hidraw0

O també poden instal·lar:

sudo apt install libhidapi-libusb0

Arch Linux (encara que també es pot instal·lar des d'AUR, veure més endavant la comanda d'instal·lació)

sudo pacman -S hidapi

RHEL/Fedora

sudo dnf -y install hidapi

Fet això, ja només n'hi ha prou amb instal·lar Snagboot amb pip i per això n'hi ha prou amb teclejar la següent ordre:

python3 -m pip install --user snagboot

Finalment, només haurem d'afegir les regles udev perquè snagrecover tingui accés de lectura i escriptura als dispositius USB dels SoC de destinació:

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

I llest amb això ja podeu començar a treballar amb aquesta eina. Per al cas dels usuaris d'Arch Linux com s'esmento abans, es pot instal·lar l'eina directament des d'AUR i per això només han de comptar amb el repositori habilitat i tenir un assistent d'AUR instal·lat.

L'ordre per instal·lar l'eina és:

yay -S snagboot

Per últim i no menys important, per a aquells que prefereixen realitzar la compilació pel seu compte només cal executar el següent:

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

cd snagboot
./install.sh

Per la part dels manuals i instruccions d'ús, podeu consultar tota aquesta informació al següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.