bootlin (et selskap som spesialiserer seg på Linux for innebygde systemer), gjort det kjent flere dager siden snagboot lansering, designet for å gjenopprette og flashe innebygde enheter som har sluttet å starte opp, for eksempel på grunn av korrupsjon av fastvare.
snagboot Det er født fordi de fleste av de innebygde plattformene gir USB- eller UART-grensesnitt for gjenoppretting og overføring av oppstartsbilder i tilfelle fastvarekorrupsjon, men disse grensesnittene er det spesifikke for hver plattform og krever bruk av gjenopprettingsverktøy knyttet til individuelle produsenters produkter.
For å løse dette problemet, er Bootlin glad for å slippe et nytt gjenopprettings- og oppdateringsverktøy i dag, kalt Snagboot , som er ment å være en generisk åpen kildekode-erstatning for de leverandørspesifikke verktøyene nevnt ovenfor.
Om Snagboot
Snagboot fungerer som en analog av spesialiserte verktøy, for det meste eiere, for å gjenopprette og oppdatere enheter, slik som STM32CubeProgrammer, SAM-BA ISP, UUU og sunxi-fel.
snagboot er designet for å fungere med et bredt spekter av brett og innebygde enheter, som eliminerer behovet for utviklere av innebygde system for å lære inn og ut av bruk av forskjellige verktøy.
For eksempel kan den første versjonen av snagboot brukes til å gjenopprette enheter basert på ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI og Texas Instruments AM62x SoC.
Det er noen verktøy som drar nytte av denne funksjonaliteten for å tilby rask gjenoppretting og oppdatering over USB, for eksempel STM32CubeProgrammer , SAM-BA eller UUU . Imidlertid er disse verktøyene alle leverandørspesifikke, noe som betyr at utviklere som jobber på flere typer plattformer må bytte mellom ulike verktøy og lære å bruke hver enkelt.
Det nevnes at Snagboot inkluderer to verktøy for å laste ned og oppdatere:
- snagrecover- Bruker leverandørspesifikke ROM-kodemekanismer for å initialisere ekstern RAM og kjøre U-Boot bootloader uten å endre innholdet i permanent minne.
- snagblits- Samhandler med en kjørende U-Boot for å flashe et systembilde til ikke-flyktig minne ved hjelp av DFU (Device Firmware Update), UMS (USB Mass Storage) eller Fastboot.
For de som er interessert i å vite mer om detVær oppmerksom på at Snagboots kode er skrevet i Python og er åpen kildekode under GPLv2-lisensen.
Hvordan installere Snagboot på Linux?
For de som er interessert i å kunne installere Snagboot på systemet sitt, bør de vite det Du kan gjøre det ganske enkelt. De bør bare installere de nødvendige avhengighetene for ikke å få problemer senere.
Den første er libhidapi som kan installeres som følger (avhengig av distribusjonen din). De må bare åpne 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 (selv om det også kan installeres fra AUR, se installasjonskommandoen nedenfor)
sudo pacman -S hidapi
RHEL/Fedora
sudo dnf -y install hidapi
Når dette er gjort, er alt du trenger å gjøre å installere Snagboot med pip og for å gjøre dette, skriv bare inn følgende kommando:
python3 -m pip install --user snagboot
Til slutt må vi bare legge til udev-reglene slik at snagrecover har lese- og skrivetilgang til USB-enhetene til mål-SoC-ene:
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 begynne å jobbe med dette verktøyet. Når det gjelder Arch Linux-brukere, som nevnt før, kan verktøyet installeres direkte fra AUR og for dette trenger de bare å ha depotet aktivert og ha en AUR-veiviser installert.
Kommandoen for å installere verktøyet er:
yay -S snagboot
Sist men ikke minst, for de som foretrekker å kompilere på egen hånd, bare kjør følgende:
git-klone https://github.com/bootlin/snagboot.git
cd snagboot
./install.sh
Når det gjelder bruksanvisninger og bruksanvisninger, kan du se all denne informasjonen i følgende link.