
Приветствую, коллеги! Многим из вас наверняка знакома ситуация: нужно подготовить к отправке партию из 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.

Просто выберите скачанный образ, оставьте настройки по умолчанию и при записи игнорируйте запросы на изменения. Подробную инструкцию по первому запуску можно найти в разделе 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-накопитель, просто подключите его к компьютеру напрямую и снимите образ.
Полученный массивный файл (размером с накопитель) нужно сжать. Используйте упомянутый выше 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 минут в зависимости от размера образа.
В разделе [CMs] отображается статус устройств. В разделе [Dashboard] можно следить за логами прошивки и выявлять ошибки, если они возникнут.
Перепрошивка
Разбирать устройство для повторной прошивки больше не нужно: достаточно подключиться по SSH, сбросить параметры загрузки или очистить раздел boot, после чего просто перезагрузить прибор — он снова будет готов к прошивке через сервер.
Итог
Мы внедрили этот подход в нашу производственную цепочку и теперь делимся им с вами. Это делает ввод AntexGate в эксплуатацию по-настоящему эффективным.
Возникли вопросы? Ждем вас в комментариях, в нашем Telegram-канале или канале поддержки MAX. Поможем адаптировать скрипты под ваш кейс.
И помните: масштабирование начинается там, где заканчивается ручной труд над однотипными задачами!

