Компания Bootlin публикува първата версия на инструмента Snagboot, предназначен за възстановяване и презаписване на вградени устройства, които спират да се зареждат, например, поради повреда на фърмуера. Кодът на Snagboot е написан на Python и е с отворен код под GPLv2 лиценз.
Повечето вградени платформи предоставят работещи чрез USB или UART интерфейси за възстановяване и предаване на зареждащия образ, когато фърмуерът е повреден, но тези интерфейси са специфични за всяка платформа и изискват използването на утилити, свързани с продуктите на отделни производители. Snagboot е аналог на специализираните, основно патентовани, утилити за възстановяване и презаписване на устройства, като STM32CubeProgrammer, SAM-BA ISP, UUU и sunxi-fel.
Snagboot е проектиран да работи с голямо разнообразие от платки и вградени устройства, което освобождава разработчиците на вградени системи от необходимостта да се запознават с особеностите на използването на различни утилити. Например, първата версия на snagboot може да се използва за възстановяване на устройства, базирани на SoC ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI и Texas Instruments AM62x.
Инструментариумът включва две утилити за зареждане и презаписване:
- snagrecover — използва специфични за различни производители механизми за работа с код в ПЗУ за инициализиране на външна оперативна памет и стартиране на загрузчика U-Boot, без да променя съдържанието на постоянната памет.
- snagflash — взаимодействието с работещия U-Boot за записване на системния образ в неизменяема памет, използвайки DFU (Device Firmware Upgrade), UMS (USB Mass Storage) или Fastboot.
Източник: opennet.ru
