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

snagboot

Snagboot — це інструмент відновлення з відкритим кодом.

bootlin (компанія, що спеціалізується на Linux для вбудованих систем), дав про це знати кілька днів тому запуск snagboot, призначений для відновлення та прошивки вбудованих пристроїв, які перестали завантажуватися, наприклад, через пошкодження прошивки.

snagboot Він народився тому, що більшість вбудованих платформ забезпечують інтерфейси USB або UART для відновлення та передачі завантажувальних образів у разі пошкодження прошивки, але ці інтерфейси є специфічні для кожної платформи і вимагають використання утиліт відновлення, пов’язаних із продуктами окремих виробників.

Щоб вирішити цю проблему, Bootlin із задоволенням випускає сьогодні новий інструмент відновлення й оновлення під назвою Snagboot, який має стати загальною заміною з відкритим вихідним кодом для інструментів від виробника, згаданих вище.

Про Snagboot

Аналогом спеціалізованих утиліт виступає Snagboot, переважно власники, для відновлення та оновлення пристроїв, таких як STM32CubeProgrammer, SAM-BA ISP, UUU та sunxi-fel.

snagboot призначений для роботи з широким спектром плат і вбудованих пристроїв, що позбавляє розробників вбудованих систем необхідності вивчати тонкощі використання різних утиліт.

Наприклад, першу версію 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. snagrecover- Використовує специфічні механізми коду ROM виробника для ініціалізації зовнішньої RAM і запуску завантажувача U-Boot без зміни вмісту постійної пам'яті.
  2. snagflash- Взаємодіє з запущеним 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/Fedora

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

Щодо посібників та інструкцій з використання, ви можете переглянути всю цю інформацію в наступна посилання.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.