Система обновлений — функция продукта, а не просто shell-скрипт. Для семейства Sige ArmSoM документирует поддержку Debian, Android и Buildroot; Forge1 ориентирован на Buildroot. Поэтому формат образа, загрузчик и механизм отката нужно определять для каждого продукта.
Минимальные правила выпуска
Версионируйте ядро, Device Tree, корневую файловую систему, конфигурацию загрузчика и приложение вместе. Подписывайте артефакты в CI, проверяйте их перед установкой и сохраняйте заведомо рабочий слот либо внешний путь восстановления. Сохраняйте последовательные логи неудачных загрузок.
sha256sum Image *.dtb rootfs.squashfs
printf '%s %s\n' "$VERSION" "$(git rev-parse HEAD)" > release.manifest
Эти команды формируют проверочные данные, но не реализуют полноценную безопасную загрузку. Хранение ключей, состояние eFuse, поведение Boot ROM и политика восстановления на объекте требуют проверки для конкретной платы.
Границы совместимости
Инструменты OTA Raspberry Pi часто предполагают определённую схему загрузочных разделов. Обновления Jetson опираются на загрузочные компоненты NVIDIA. Не переносите эти процессы без сопоставления носителей, загрузчика и механизмов восстановления ArmSoM.
Источники
Проверки перед публикацией
- Проверьте отключение питания во время обновления.
- Проверьте откат и заводское восстановление на точном SKU.
- Укажите владельца ключей и предполагаемый срок поддержки.
