Společnost Bootlin zveřejnila první verzi nástroje Snagboot, určeného k obnovení funkčnosti a přeflashování vestavěných zařízení, která se přestala spouštět, například kvůli poškození firmwaru. Kód Snagboot je napsán v jazyce Python a je otevřen pod licencí GPLv2.
Většina vestavěných platforem v případě poškození firmwaru poskytuje pracovní rozhraní přes USB nebo UART pro obnovení funkčnosti a přenos spouštěcího obrazu, avšak tato rozhraní jsou specifická pro každou platformu a vyžadují použití utility pro obnovení vázané na produkty jednotlivých výrobců. Snagboot funguje jako alternativní systém k specializovaným, většinou proprietárním, nástrojům pro obnovu a přeflashování zařízení, jako jsou STM32CubeProgrammer, SAM-BA ISP, UUU a sunxi-fel.
Snagboot je navržen pro práci s širokým spektrem desek a vestavěných zařízení, což uvolňuje vývojáře vestavěných systémů od nutnosti studovat specifika používání různých utilit. Například první verze snagboot může být použita k obnovení zařízení založených na SoC ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI a Texas Instruments AM62x.
Nástroj zahrnuje dvě utility pro načítání a přeflashování:
- snagrecover — používá specifické mechanizmy různých výrobců pro práci s kódem v paměti ROM k inicializaci externí operační paměti a spouštění bootloaderu U-Boot bez změny obsahu trvalé paměti.
- snagflash — komunikuje se spuštěným U-Boot pro flashing systémového obrazu do neměnné paměti pomocí DFU (Device Firmware Upgrade), UMS (USB Mass Storage) nebo Fastboot.
Zdroj: opennet.ru
