bootlin (ett företag specialiserat på Linux för inbyggda system), gjorde det känt flera dagar sedan snagboot lansering, designad för att återställa och flasha inbäddade enheter som har slutat starta, till exempel på grund av korruption av firmware.
snagboot Det är född eftersom de flesta av de inbäddade plattformarna tillhandahåller USB- eller UART-gränssnitt för återställning och överföring av startbilder i händelse av korruption av firmware, men dessa gränssnitt är specifika för varje plattform och kräver användning av återställningsverktyg som är associerade med enskilda tillverkares produkter.
För att lösa det här problemet är Bootlin glad över att släppa ett nytt återställnings- och uppdateringsverktyg idag, kallat Snagboot , som är tänkt att vara en generisk, öppen källkodsersättning för de leverantörsspecifika verktygen som nämns ovan.
Om Snagboot
Snagboot fungerar som en analog av specialiserade verktyg, mestadels ägare, för att återställa och uppdatera enheter, såsom STM32CubeProgrammer, SAM-BA ISP, UUU och sunxi-fel.
snagboot är designad för att fungera med ett brett utbud av kort och inbäddade enheter, vilket eliminerar behovet för utvecklare av inbyggda system att lära sig detaljerna i att använda olika verktyg.
Till exempel kan den första versionen av snagboot användas för att återställa enheter baserade på ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI och Texas Instruments AM62x SoC.
Det finns några verktyg som drar fördel av den här funktionen för att erbjuda snabb återställning och uppdatering över USB, till exempel STM32CubeProgrammer , SAM-BA eller UUU . Dessa verktyg är dock alla leverantörsspecifika, vilket innebär att utvecklare som arbetar på flera typer av plattformar måste växla mellan olika verktyg och lära sig hur man använder var och en.
Det nämns att Snagboot innehåller två verktyg att ladda ner och uppdatera:
- snagrecover- Använder leverantörsspecifika ROM-kodmekanismer för att initiera externt RAM och köra U-Boot bootloader utan att ändra innehållet i det permanenta minnet.
- snagblixt- Interagerar med en körande U-boot för att flasha en systembild till icke-flyktigt minne med hjälp av DFU (Device Firmware Update), UMS (USB Mass Storage) eller Fastboot.
För den som är intresserad att veta mer om detObservera att Snagboots kod är skriven i Python och är öppen källkod under GPLv2-licensen.
Hur installerar jag Snagboot på Linux?
För de som är intresserade av att kunna installera Snagboot på sitt system bör de veta det Du kan göra det ganska enkelt. De bör bara installera nödvändiga beroenden för att inte få problem senare.
Den första är libhidapi som kan installeras enligt följande (beroende på din distribution). De behöver bara öppna en terminal och i den ska de skriva:
Debian / Ubuntu
sudo apt install libhidapi-hidraw0
Eller så kan du också installera:
sudo apt install libhidapi-libusb0
Arch Linux (även om det också kan installeras från AUR, se installationskommandot nedan)
sudo pacman -S hidapi
RHEL/Fedora
sudo dnf -y install hidapi
När detta är gjort är allt du behöver göra att installera Snagboot med pip och för att göra detta, skriv bara följande kommando:
python3 -m pip install --user snagboot
Slutligen behöver vi bara lägga till udev-reglerna så att snagrecover har läs- och skrivåtkomst till USB-enheterna för mål-SoC:erna:
snagrecover --udev > 80-snagboot.rules
sudo cp 80-snagboot.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
Och redo med det kan du börja arbeta med det här verktyget. När det gäller Arch Linux-användare, som tidigare nämnt, kan verktyget installeras direkt från AUR och för detta behöver de bara ha förvaret aktiverat och ha en AUR-guide installerad.
Kommandot för att installera verktyget är:
yay -S snagboot
Sist men inte minst, för de som föredrar att kompilera på egen hand, kör bara följande:
git-klon https://github.com/bootlin/snagboot.git
cd snagboot
./install.sh
Angående manualer och bruksanvisningar kan du läsa all denna information i följande länk.