Snagboot, et fremragende værktøj til at gendanne og flashe indlejrede enheder

snagboot

Snagboot er et open source-gendannelsesværktøj.

bootlin (et firma med speciale i Linux til indlejrede systemer), gjort det kendt flere dage siden snagboot lancering, designet til at gendanne og flashe indlejrede enheder, der er stoppet med at starte, for eksempel på grund af firmware-korruption.

snagboot Det er født, fordi de fleste af de indlejrede platforme giver USB- eller UART-grænseflader til gendannelse og overførsel af boot-billeder i tilfælde af firmware-korruption, men disse grænseflader er specifik for hver platform og kræver brug af gendannelsesværktøjer forbundet med individuelle producents produkter.

For at løse dette problem er Bootlin glad for at frigive et nyt gendannelses- og opdateringsværktøj i dag, kaldet Snagboot , som er beregnet til at være en generisk open source-erstatning for de leverandørspecifikke værktøjer, der er nævnt ovenfor.

Om Snagboot

Snagboot fungerer som en analog af specialiserede hjælpeprogrammer, for det meste ejere, at gendanne og opdatere enheder, såsom STM32CubeProgrammer, SAM-BA ISP, UUU og sunxi-fel.

snagboot er designet til at fungere med en bred vifte af boards og indlejrede enheder, hvilket eliminerer behovet for, at indlejrede systemudviklere skal lære ins og outs ved at bruge forskellige hjælpeprogrammer.

For eksempel kan den første version af snagboot bruges til at gendanne enheder baseret på ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI og Texas Instruments AM62x SoC.

Der er nogle værktøjer, der udnytter denne funktionalitet til at tilbyde hurtig gendannelse og opdatering over USB, såsom STM32CubeProgrammer, SAM-BA eller UUU. Disse værktøjer er dog alle leverandørspecifikke, hvilket betyder, at udviklere, der arbejder på flere typer platforme, skal skifte mellem forskellige værktøjer og lære at bruge hver enkelt.

Det nævnes, at Snagboot inkluderer to værktøjer til at downloade og opdatere:

  1. snagrecover- Bruger leverandørspecifikke ROM-kodemekanismer til at initialisere ekstern RAM og køre U-Boot bootloader uden at ændre indholdet af permanent hukommelse.
  2. snagflash- Interagerer med en kørende U-Boot for at flashe et systembillede til ikke-flygtig hukommelse ved hjælp af DFU (Device Firmware Update), UMS (USB Mass Storage) eller Fastboot.

For dem der er interesseret i at vide mere om detVær opmærksom på, at Snagboots kode er skrevet i Python og er open source under GPLv2-licensen.

Hvordan installeres Snagboot på Linux?

For dem, der er interesseret i at kunne installere Snagboot på deres system, bør de vide det Du kan gøre det ret nemt. De bør kun installere de nødvendige afhængigheder for ikke at få problemer senere.

Den første er libhidapi, som kan installeres som følger (afhængigt af din distribution). De skal bare åbne en terminal og i den skal de skrive:

Debian / Ubuntu

sudo apt install libhidapi-hidraw0

Eller du kan også installere:

sudo apt install libhidapi-libusb0

Arch Linux (selvom det også kan installeres fra AUR, se installationskommandoen nedenfor)

sudo pacman -S hidapi

RHEL/Fedora

sudo dnf -y install hidapi

Når dette er gjort, skal du blot installere Snagboot med pip, og for at gøre dette skal du blot skrive følgende kommando:

python3 -m pip install --user snagboot

Endelig skal vi kun tilføje udev-reglerne, så snagrecover har læse- og skriveadgang til USB-enhederne på mål-SoC'erne:

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

Og klar med det kan du begynde at arbejde med dette værktøj. I tilfælde af Arch Linux-brugere, som før nævnt, kan værktøjet installeres direkte fra AUR'en, og for dette skal de kun have repository aktiveret og have en AUR-guide installeret.

Kommandoen til at installere værktøjet er:

yay -S snagboot

Sidst men ikke mindst, for dem, der foretrækker at kompilere på egen hånd, skal du bare køre følgende:

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

cd snagboot
./install.sh

Med hensyn til manualer og brugsanvisninger kan du se alle disse oplysninger i næste link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.