Bootlin har offentliggjort den første version af Snagboot-værktøjet, der er designet til at genoprette drift og genflash indlejrede enheder, der ikke længere kan starte, for eksempel på grund af en beskadiget firmware. Snagboot-koden er skrevet i Python og er open source under GPLv2-licensen.
De fleste indlejrede platforme tilbyder, i tilfælde af en firmwarefejl, USB- eller UART-grænseflader til genopretning og overførsel af bootbilleder, men disse grænseflader er specifikke for hver platform og kræver anvendelse af genopretningsværktøjer knyttet til specifikke producenters produkter. Snagboot fungerer som en erstatning for specialiserede, primært proprietære, værktøjer til genopretning og genflash af enheder, såsom STM32CubeProgrammer, SAM-BA ISP, UUU og sunxi-fel.
Snagboot er designet til at arbejde med et bredt udvalg af kort og indlejrede enheder, hvilket frigør udviklere af indlejrede systemer fra at skulle sætte sig ind i specifikationen af forskellige værktøjer. For eksempel kan den første version af snagboot anvendes til at genoprette enheder baseret på SoC ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI og Texas Instruments AM62x.
Værktøjet inkluderer to værktøjer til indlæsning og genflash:
- snagrecover — bruger producent-specifikke mekanismer til at arbejde med koden i ROM for at initialisere ekstern RAM og starte U-Boot bootloaderen uden at ændre indholdet i den permanente hukommelse.
- snagflash — interagerer med en aktiv U-Boot for at flash systembilledet til den uforanderlige hukommelse ved hjælp af DFU (Device Firmware Upgrade), UMS (USB Mass Storage) eller Fastboot.
Kilde: opennet.ru
