Snagboot, отличная утилита для восстановления и прошивки встроенных устройств

коряга

Snagboot — это инструмент восстановления с открытым исходным кодом.

Бутлин (компания, специализирующаяся на Linux для встраиваемых систем), сделал это известным несколько дней назад быстрый запуск, предназначенный для восстановления и прошивки встроенных устройств, которые перестали загружаться, например, из-за повреждения прошивки.

коряга Это связано с тем, что большинство встраиваемых платформ имеют интерфейсы USB или UART. для восстановления и передачи загрузочных образов в случае повреждения прошивки, но эти интерфейсы индивидуально для каждой платформы и требуют использования утилит восстановления, связанных с продуктами отдельных производителей.



Чтобы решить эту проблему, Bootlin рада представить сегодня новый инструмент восстановления и обновления под названием Snagboot, который предназначен для универсальной замены с открытым исходным кодом упомянутых выше инструментов конкретного поставщика.

О Снагбут

Snagboot выступает аналогом специализированных утилит, в основном владельцы, для восстановления и обновления устройств, такие как STM32CubeProgrammer, SAM-BA ISP, UUU и sunxi-fel.



коряга предназначен для работы с широким спектром плат и встроенных устройств, что избавляет разработчиков встраиваемых систем от необходимости изучать все тонкости использования различных утилит.

Например, первую версию snagboot можно использовать для восстановления устройств на базе ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI и Texas Instruments AM62x SoC.



Есть некоторые инструменты, которые используют эту функциональность для быстрого восстановления и обновления через USB, такие как STM32CubeProgrammer, SAM-BA или UUU. Однако все эти инструменты зависят от поставщика, а это означает, что разработчикам, работающим на нескольких типах платформ, приходится переключаться между разными инструментами и учиться использовать каждый из них.

Упоминается, что Snagboot включает в себя две утилиты для загрузки и обновления:

  1. ловушка— Использует специфичные для производителя механизмы кода ПЗУ для инициализации внешней ОЗУ и запуска загрузчика U-Boot без изменения содержимого постоянной памяти.
  2. вспышка— Взаимодействует с работающим U-Boot для записи образа системы в энергонезависимую память с помощью DFU (обновление прошивки устройства), UMS (USB Mass Storage) или Fastboot.

Для тех, кто интересуется узнать больше об этомПожалуйста, знайте, что код Snagboot написан на Python и имеет открытый исходный код под лицензией GPLv2.



Как установить Snagboot на Linux?

Для тех, кто заинтересован в возможности установить Snagboot в своей системе, они должны знать, что Вы можете сделать это довольно легко. Они должны устанавливать только необходимые зависимости, чтобы потом не возникло проблем.

Первый — это libhidapi, который можно установить следующим образом (в зависимости от вашего дистрибутива). Им просто нужно открыть терминал и ввести в нем:



Debian / Ubuntu

sudo apt install libhidapi-hidraw0

Или вы также можете установить:

sudo apt install libhidapi-libusb0

Arch Linux (хотя его также можно установить из AUR, см. команду установки ниже)

sudo pacman -S hidapi

RHEL/Федора

sudo dnf -y install hidapi

Как только это будет сделано, все, что вам нужно сделать, это установить Snagboot с помощью pip, и для этого просто введите следующую команду:

python3 -m pip install --user snagboot

Наконец, нам нужно будет только добавить правила udev, чтобы snagrecover имел доступ для чтения и записи к USB-устройствам целевых SoC:

snagrecover --udev > 80-snagboot.rules

sudo cp 80-snagboot.rules /etc/udev/rules.d/

sudo udevadm control --reload-rules

sudo udevadm trigger

И готовы с этим вы можете начать работать с этим инструментом. В случае пользователей Arch Linux, как упоминалось ранее, инструмент можно установить непосредственно из AUR, и для этого им нужно только включить репозиторий и установить мастер AUR.

Команда для установки инструмента:

yay -S snagboot

И последнее, но не менее важное: для тех, кто предпочитает компилировать самостоятельно, просто запустите следующее:

git-клон https://github.com/bootlin/snagboot.git

cd snagboot

./install.sh

Что касается руководств и инструкций по использованию, вы можете ознакомиться со всей этой информацией в следующую ссылку.




2023-06-03T21:42:31
приложений