Het bedrijf Bootlin heeft de eerste versie van Snagboot uitgebracht, een toolkit voor het herstellen en opnieuw flitsen van ingebedde apparaten die niet meer opstarten, bijvoorbeeld door een beschadigde firmware. De Snagboot-code is geschreven in Python en is onder GPLv2-licentie beschikbaar.
De meeste ingebedde platforms bieden, in geval van een beschadigde firmware, werkende interfaces via USB of UART om het apparaat weer aan de praat te krijgen en het opstartbeeld over te dragen, maar deze interfaces zijn specifiek voor elk platform en vereisen tools die aan producten van verschillende fabrikanten zijn gekoppeld. Snagboot fungeert als alternatief voor gespecialiseerde, voornamelijk propriëtaire tools voor het herstellen en opnieuw flitsen van apparaten, zoals STM32CubeProgrammer, SAM-BA ISP, UUU en sunxi-fel.
Snagboot is ontworpen om te werken met een breed scala aan kaarten en ingebedde apparaten, wat ontwikkelaars van ingebedde systemen bevrijdt van de noodzaak om de specificaties van verschillende tools te bestuderen. De eerste versie van snagboot kan bijvoorbeeld worden gebruikt voor het herstellen van apparaten die zijn gebaseerd op de SoC ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI en Texas Instruments AM62x.
De toolkit bevat twee tools voor opstarten en flitsen:
- snagrecover — maakt gebruik van fabrikantspecifieke mechanismen om code in de ROM te initialiseren en extern RAM-geheugen te starten, zonder de inhoud van het permanente geheugen te wijzigen.
- snagflash — werkt samen met de actieve U-Boot om het besturingssysteem naar het onveranderlijke geheugen te flitsen, gebruikmakend van DFU (Device Firmware Upgrade), UMS (USB Mass Storage) of Fastboot.
Bron: opennet.ru
