bootlin (podjetje, specializirano za Linux za vgrajene sisteme), dal vedeti pred nekaj dnevi zagon snagboot, zasnovan za obnovitev in flash vdelanih naprav, ki so se prenehale zagnati, na primer zaradi okvare vdelane programske opreme.
snagboot Nastal je zato, ker večina vgrajenih platform ponuja vmesnike USB ali UART za obnovitev in prenos zagonskih slik v primeru okvare vdelane programske opreme, vendar so ti vmesniki specifične za posamezno platformo in zahtevajo uporabo pripomočkov za obnovitev, povezanih z izdelki posameznega proizvajalca.
Da bi rešil to težavo, Bootlin danes z veseljem izda novo orodje za obnovitev in posodobitev, imenovano Snagboot, ki naj bi bilo generična odprtokodna zamenjava za zgoraj omenjena orodja, specifična za prodajalca.
O Snagbootu
Snagboot deluje kot analog specializiranih pripomočkov, večinoma lastniki, za obnovitev in posodobitev naprav, kot so STM32CubeProgrammer, SAM-BA ISP, UUU in sunxi-fel.
snagboot je zasnovan za delo s široko paleto plošč in vgrajenih naprav, kar odpravlja potrebo, da se razvijalci vgrajenih sistemov naučijo podrobnosti uporabe različnih pripomočkov.
Na primer, prvo različico snagboot lahko uporabite za obnovitev naprav, ki temeljijo na ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI in Texas Instruments AM62x SoC.
Obstaja nekaj orodij, ki izkoriščajo to funkcionalnost za hitro obnovitev in posodobitev prek USB-ja, na primer STM32CubeProgrammer, SAM-BA ali UUU. Vendar so vsa ta orodja odvisna od prodajalca, kar pomeni, da morajo razvijalci, ki delajo na več vrstah platform, preklapljati med različnimi orodji in se naučiti uporabljati vsako.
Omenjeno je, da Snagboot vključuje dva pripomočka za prenos in posodabljanje:
- snagrecover- Uporablja mehanizme kode ROM, specifične za prodajalca, za inicializacijo zunanjega RAM-a in zagon zagonskega nalagalnika U-Boot brez spreminjanja vsebine trajnega pomnilnika.
- snagflash- Vzajemno deluje z delujočim U-Bootom za bliskavico sistemske slike v obstojni pomnilnik z uporabo DFU (Device Firmware Update), UMS (USB Mass Storage) ali Fastboot.
Za tiste, ki jih zanima izvedeti več o temUpoštevajte, da je koda Snagboot napisana v Pythonu in je odprtokodna pod licenco GPLv2.
Kako namestiti Snagboot na Linux?
Za tiste, ki jih zanima namestitev Snagboota v svoj sistem, bi to morali vedeti To lahko storite zelo enostavno. Nameščajo naj samo potrebne odvisnosti, da kasneje ne bi imeli težav.
Prvi je libhidapi, ki ga lahko namestite na naslednji način (odvisno od vaše distribucije). Samo odpreti morajo terminal in vanj vnesti:
Debian / Ubuntu
sudo apt install libhidapi-hidraw0
Lahko pa tudi namestite:
sudo apt install libhidapi-libusb0
Arch Linux (čeprav ga je mogoče namestiti tudi iz AUR, glejte spodnji ukaz za namestitev)
sudo pacman -S hidapi
RHEL/Fedora
sudo dnf -y install hidapi
Ko je to opravljeno, morate samo namestiti Snagboot s pipom in za to samo vnesite naslednji ukaz:
python3 -m pip install --user snagboot
Nazadnje bomo morali dodati le pravila udev, tako da ima snagrecover dostop za branje in pisanje do naprav USB ciljnih sistemov na čipu:
snagrecover --udev > 80-snagboot.rules
sudo cp 80-snagboot.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
In ko ste pripravljeni, lahko začnete delati s tem orodjem. V primeru uporabnikov Arch Linuxa, kot je bilo že omenjeno, je orodje mogoče namestiti neposredno iz AUR in za to morajo imeti le omogočeno skladišče in namestiti čarovnika za AUR.
Ukaz za namestitev orodja je:
yay -S snagboot
Nenazadnje, za tiste, ki raje prevajajo sami, zaženite naslednje:
git klon https://github.com/bootlin/snagboot.git
cd snagboot
./install.sh
V zvezi s priročniki in navodili za uporabo si lahko ogledate vse te informacije v naslednjo povezavo.