Массовая прошивка устройств AntexGate на базе Raspberry Pi CM4 и CM5

Приветствую, коллеги! Многим из вас наверняка знакома ситуация: нужно подготовить к отправке партию из 20, 50, а то и 100 EDGE-компьютеров. Вы вооружаетесь USB-кабелем, запускаете Win32imager… На пятой плате рутина начинает подавлять инженерный энтузиазм, а на десятой возникает стойкое ощущение, что вы оказались на конвейере по кустарной сборке типовой электроники.

Мы прошли через этот этап и готовы поделиться опытом, как превратить унылую монотонную работу в отлаженный процесс. Представляем вашему вниманию CM Provision — специализированный инструментарий для прошивки промышленных модулей Raspberry Pi CM4 и CM5, которые используются в наших ПК AntexGate v2.

Зачем усложнять, если есть USB?

Проблема: AntexGate — промышленное решение на базе вычислительных модулей Raspberry Pi. Внутри установлена надежная eMMC-память от Samsung. Однако ручная прошивка не только отнимает время, но и несет риски: работа с открытыми платами вне корпуса делает их уязвимыми для статического электричества.

Решение: Мы используем «мастер-сервер» на базе AntexGate (подойдет и любая Raspberry Pi), оснащенный ПО CM Provision. Это позволяет прошивать целую группу устройств параллельно, управляя всем процессом через удобный веб-интерфейс.

Развертывание сервера: 10 минут — и готово

Чтобы избавить вас от лишних хлопот, мы подготовили собственный образ системы AntexGateProvisioning.img.xz. Несмотря на то, что это слепок с 8-гигабайтного накопителя, после развертывания система автоматически расширяется, занимая всё доступное пространство носителя (eMMC или NVMe). Для оптимизации образа и автоматизации процесса мы использовали утилиту PiShrink.

Хотя проект Provisioner доступен в официальном репозитории и может быть установлен на чистый Raspbian, наша готовая сборка сэкономит время и убережет от ошибок конфигурации.

Установка образа производится стандартным инструментом Raspberry Pi Imager.

Официальный софт для прошивки EMMC.
Официальный софт для прошивки eMMC.

Просто выберите скачанный образ, оставьте настройки по умолчанию и при записи игнорируйте запросы на изменения. Подробную инструкцию по первому запуску можно найти в разделе quickstart или скачав PDF-руководство.

Совет: Если планируется хранить множество сборок или бэкапов, рекомендуем разворачивать систему на NVMe-накопителе объемом 128 ГБ и более. Это даст существенный прирост скорости записи и позволит не беспокоиться о нехватке места.

Подготовка «серверного» AntexGate

Для создания полноценной станции прошивки вам потребуются:

  • Гигабитный коммутатор (порт 100 Мбит/с также допустим, но скорость работы снизится).
  • Набор патч-кордов RJ45.
  • Управляющее устройство (ноутбук/планшет/телефон) для доступа к веб-интерфейсу.
  • Блок питания 12–48 В с разъемами 2EDGK-5.08-02 для подключения «потомков».
Принцип подключения
Схема подключения

Обратите внимание: управляющий ПК подключается в LAN 10/100 Мбит/с, а целевые устройства — в LAN 1 Гбит/с. Не перепутайте порты!

Адрес сервера по умолчанию — 192.168.1.100:

  • Веб-интерфейс: 192.168.1.100:80 (логин/пароль: antex@antex / antex).
  • SSH-доступ: 192.168.1.100:22 (логин/пароль: antex@antex / antex).
Интерфейс программы
Интерфейс программы

Загрузка образа проста: перейдите в раздел [Images], нажмите [Add image] и укажите ваш файл .img.xz. Дождитесь завершения процесса — всплывающее уведомление исчезнет автоматически.

Ждем загрузки пока не пропадет табличка
Дождитесь окончания загрузки образа

Создание собственного образа

После полной настройки и тестирования ПО на вашем тестовом AntexGate, создайте слепок системы. Рекомендуем разрабатывать проект на устройстве с небольшим объемом памяти (8 ГБ) для удобства последующего тиражирования.

Для снятия образа разберите корпус, удалите перемычки x20 и установите x18 (7-8 pin). Подключите питание и USB-кабель согласно инструкции. С помощью утилиты rpiboot на ПК считываем память CM4 через Win32DiskImager. Если используется NVMe-накопитель, просто подключите его к компьютеру напрямую и снимите образ.

win32imager копируем диск
Копирование диска через Win32DiskImager

Полученный массивный файл (размером с накопитель) нужно сжать. Используйте упомянутый выше PiShrink для обрезки неиспользуемого пространства и внедрения скриптов автоматического расширения разделов при первом запуске (работает с Raspbian). Финальный шаг — архивация через 7-Zip (формат XZ), что позволит уменьшить размер файла в 5–6 раз.

Сжатие архиватором
Финальное сжатие образа

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

Запуск массовой прошивки

Вернемся к веб-интерфейсу.

Скрипты для продвинутых
Раздел скриптов

В разделе [Scripts] можно задать кастомные сценарии. Например, для активации SSH и настройки пользователя:

#!/bin/sh

# Создаем точки монтирования
mkdir -p /mnt/boot

# Монтируем загрузочный раздел
mount -t vfat $PART1 /mnt/boot

# 1. Включаем SSH
touch /mnt/boot/ssh

# 2. Настраиваем пользователя pi:raspberry
echo 'pi:$6$c70VpvPsVNCG0YR5$l5vWWLsLko9Kj65gcQ8qvMkuOoRkEagI90qi3F/Y7rm8eNYZHW8CY6BOIKwMH7a3YYzZYL90zf304cAHLFaZE0' > /mnt/boot/userconf.txt

# Размонтируем
umount /mnt/boot

Далее в разделе [Projects] создаем задачу: указываем название, выбираем образ, ставим галочку проверки целостности (verify) и привязываем нужные скрипты. После нажатия кнопки [Set Active] сервер готов принимать «потомков».

Создание проекта
Создание проекта

Подключите устройства к гигабитному коммутатору, подайте питание, и процесс начнется автоматически. Это займет от 1 до 5 минут в зависимости от размера образа.

Найденные CM4 CM5 модули
Обнаруженные модули CM4/CM5

В разделе [CMs] отображается статус устройств. В разделе [Dashboard] можно следить за логами прошивки и выявлять ошибки, если они возникнут.

Перепрошивка

Разбирать устройство для повторной прошивки больше не нужно: достаточно подключиться по SSH, сбросить параметры загрузки или очистить раздел boot, после чего просто перезагрузить прибор — он снова будет готов к прошивке через сервер.

Итог

Мы внедрили этот подход в нашу производственную цепочку и теперь делимся им с вами. Это делает ввод AntexGate в эксплуатацию по-настоящему эффективным.

Возникли вопросы? Ждем вас в комментариях, в нашем Telegram-канале или канале поддержки MAX. Поможем адаптировать скрипты под ваш кейс.

И помните: масштабирование начинается там, где заканчивается ручной труд над однотипными задачами!

 

Источник

Читайте также