bootlin (įmonė, kuri specializuojasi įterptųjų sistemų Linux srityje), paviešino prieš kelias dienas snagboot paleidimas, skirtas atkurti ir atnaujinti įterptuosius įrenginius, kurie nustojo paleisti, pavyzdžiui, dėl programinės įrangos sugadinimo.
snagboot Jis gimsta, nes dauguma įterptųjų platformų turi USB arba UART sąsajas atkūrimui ir įkrovos vaizdų perkėlimui programinės įrangos sugadinimo atveju, tačiau šios sąsajos yra konkrečiai kiekvienai platformai ir reikalauti naudoti atkūrimo paslaugas, susijusias su atskirais gamintojo produktais.
Siekdama išspręsti šią problemą, „Bootlin“ šiandien su malonumu išleido naują atkūrimo ir atnaujinimo įrankį, pavadintą „Snagboot“, kuris yra bendras atvirojo kodo pirmiau minėtų konkrečiam pardavėjui skirtų įrankių pakaitalas.
Apie Snagboot
„Snagboot“ veikia kaip specializuotų komunalinių paslaugų analogas, daugiausia savininkai, atkurti ir atnaujinti įrenginius, pvz., STM32CubeProgrammer, SAM-BA IPT, UUU ir sunxi-fel.
snagboot yra sukurta dirbti su daugybe plokščių ir įterptųjų įrenginių, todėl įterptųjų sistemų kūrėjams nereikia išmokti skirtingų paslaugų naudojimo gudrybių.
Pavyzdžiui, pirmoji snagboot versija gali būti naudojama norint atkurti įrenginius, pagrįstus ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI ir Texas Instruments AM62x SoC.
Yra keletas įrankių, kurie naudojasi šia funkcija, kad galėtų greitai atkurti ir atnaujinti per USB, pvz., STM32CubeProgrammer , SAM-BA arba UUU . Tačiau visi šie įrankiai priklauso nuo pardavėjo, o tai reiškia, kad kūrėjai, dirbantys su kelių tipų platformomis, turi perjungti skirtingus įrankius ir išmokti juos naudoti.
Paminėta, kad „Snagboot“ apima dvi programas, kurias galima atsisiųsti ir atnaujinti:
- snagrecover- Naudoja tiekėjo specifinius ROM kodo mechanizmus, kad inicijuotų išorinę RAM ir paleistų U-Boot įkrovos įkroviklį nekeičiant nuolatinės atminties turinio.
- snagflash- Sąveika su veikiančia U-Boot, kad sistemos vaizdas būtų įjungtas į nepastovią atmintį, naudojant DFU (įrenginio programinės aparatinės įrangos naujinimą), UMS (USB masinę atmintį) arba greitąją įkrovą.
Tiems, kurie domisi norėdami sužinoti daugiau apie taiAtminkite, kad „Snagboot“ kodas parašytas „Python“ ir yra atviro kodo pagal GPLv2 licenciją.
Kaip įdiegti „Snagboot“ sistemoje „Linux“?
Tiems, kurie domisi galimybe įdiegti „Snagboot“ savo sistemoje, jie turėtų tai žinoti Jūs galite tai padaryti gana lengvai. Jie turėtų įdiegti tik būtinas priklausomybes, kad vėliau nekiltų problemų.
Pirmasis yra libhidapi, kurį galima įdiegti taip (atsižvelgiant į jūsų platinimą). Jie tiesiog turi atidaryti terminalą ir jame įvesti:
„Debian“ / „Ubuntu“
sudo apt install libhidapi-hidraw0
Arba taip pat galite įdiegti:
sudo apt install libhidapi-libusb0
Arch Linux (nors jį taip pat galima įdiegti iš AUR, žr. žemiau esančią diegimo komandą)
sudo pacman -S hidapi
RHEL / Fedora
sudo dnf -y install hidapi
Kai tai bus padaryta, viskas, ką jums reikia padaryti, tai įdiegti „Snagboot“ su pip ir tai padaryti, tiesiog įveskite šią komandą:
python3 -m pip install --user snagboot
Galiausiai turėsime pridėti tik udev taisykles, kad „snagrecover“ turėtų skaitymo ir rašymo prieigą prie tikslinių SoC USB įrenginių:
snagrecover --udev > 80-snagboot.rules
sudo cp 80-snagboot.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
Ir pasiruošę galite pradėti dirbti su šiuo įrankiu. Arch Linux naudotojų atveju, kaip minėta anksčiau, įrankis gali būti įdiegtas tiesiai iš AUR ir tam jiems tereikia įjungti saugyklą ir įdiegti AUR vedlį.
Įrankio diegimo komanda yra tokia:
yay -S snagboot
Paskutinis, bet ne mažiau svarbus dalykas – tiems, kurie nori kompiliuoti patys, tiesiog atlikite šiuos veiksmus:
git klonas https://github.com/bootlin/snagboot.git
cd snagboot
./install.sh
Apie vadovus ir naudojimo instrukcijas visą šią informaciją galite rasti kita nuoroda.