bootlin (kompanija specijalizovana za Linux za ugrađene sisteme), dao do znanja prije nekoliko dana snagboot launch, dizajniran za vraćanje i flešovanje ugrađenih uređaja koji su prestali da se dižu, na primjer, zbog oštećenja firmvera.
snagboot Rođen je zato što većina ugrađenih platformi pruža USB ili UART interfejse za oporavak i prijenos boot slika u slučaju oštećenja firmvera, ali ova sučelja jesu specifično za svaku platformu i zahtijevaju korištenje uslužnih programa za oporavak povezanih s proizvodima pojedinačnih proizvođača.
Kako bi riješio ovaj problem, Bootlin sa zadovoljstvom danas objavljuje novi alat za oporavak i ažuriranje, nazvan Snagboot, koji je namijenjen da bude generička zamjena otvorenog koda za alate specifične za dobavljače spomenute gore.
O Snagbootu
Snagboot djeluje kao analog specijaliziranih uslužnih programa, uglavnom vlasnici, za vraćanje i ažuriranje uređaja, kao što su STM32CubeProgrammer, SAM-BA ISP, UUU i sunxi-fel.
snagboot dizajniran je za rad sa širokim spektrom ploča i ugrađenih uređaja, što eliminiše potrebu za programerima ugrađenih sistema da nauče detalje korišćenja različitih uslužnih programa.
Na primjer, prva verzija snagboot-a može se koristiti za oporavak uređaja baziranih na ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI i Texas Instruments AM62x SoC.
Postoje neki alati koji iskorištavaju ovu funkcionalnost za brz oporavak i ažuriranje preko USB-a, kao što su STM32CubeProgrammer, SAM-BA ili UUU. Međutim, svi ovi alati su specifični za dobavljača, što znači da programeri koji rade na više vrsta platformi moraju se prebacivati između različitih alata i naučiti kako koristiti svaki od njih.
Spominje se da Snagboot uključuje dva uslužna programa za preuzimanje i ažuriranje:
- snagrecover- Koristi mehanizme ROM koda specifične za proizvođača da inicijalizira eksternu RAM memoriju i pokrene U-Boot bootloader bez promjene sadržaja trajne memorije.
- snagflash- Interagira sa pokrenutim U-Boot-om da flešuje sliku sistema u nepromenljivu memoriju koristeći DFU (Ažuriranje firmvera uređaja), UMS (USB Mass Storage) ili Fastboot.
Za one koje zanima da saznam više o tomeImajte na umu da je Snagboot kod napisan u Pythonu i da je otvorenog koda pod GPLv2 licencom.
Kako instalirati Snagboot na Linux?
Za one koji su zainteresirani da mogu instalirati Snagboot na svoj sistem, trebali bi to znati Možete to učiniti prilično lako. Trebali bi instalirati samo potrebne ovisnosti kako kasnije ne bi imali problema.
Prvi je libhidapi koji se može instalirati na sljedeći način (ovisno o vašoj distribuciji). Oni samo moraju otvoriti terminal i u njega će upisati:
Debian / Ubuntu
sudo apt install libhidapi-hidraw0
Ili također možete instalirati:
sudo apt install libhidapi-libusb0
Arch Linux (iako se može instalirati i sa AUR-a, pogledajte naredbu za instalaciju ispod)
sudo pacman -S hidapi
RHEL/Fedora
sudo dnf -y install hidapi
Kada se ovo uradi, sve što treba da uradite je da instalirate Snagboot sa pip i da to uradite, samo ukucajte sledeću naredbu:
python3 -m pip install --user snagboot
Konačno, morat ćemo samo dodati udev pravila tako da snagrecover ima pristup za čitanje i pisanje na USB uređaje ciljnog SoC-a:
snagrecover --udev > 80-snagboot.rules
sudo cp 80-snagboot.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
I spremni s tim možete početi raditi s ovim alatom. U slučaju korisnika Arch Linuxa, kao što je već spomenuto, alat se može instalirati direktno iz AUR-a i za to samo moraju imati omogućeno spremište i instaliran AUR čarobnjak.
Naredba za instaliranje alata je:
yay -S snagboot
Na kraju, ali ne i najmanje važno, za one koji više vole da kompajliraju sami, samo pokrenite sljedeće:
git klon https://github.com/bootlin/snagboot.git
cd snagboot
./install.sh
Što se tiče priručnika i uputa za upotrebu, sve ove informacije možete pogledati u sledeći link.