Добрый день, коллеги. Наверняка многие сталкивались с ситуацией: нужно прошить 20, 50, а то и 100 EDGE компьютеров перед отправкой заказчику. Берёшь USB-кабель, открываешь Win32imager.. На пятой плате рутина убивает в тебе инженера. На десятой — кажется, что ты работаешь на азиатском подполье по производству типовых приборов.

Мы через это прошли. И теперь хотим рассказать, как превратили муторную рутину в комфортный процесс. Встречайте: специальный софт CM Provisior — он не подходит для отладочной Raspberry PI, а только для ее промышленного клона CM4, CM5 как в наших ПК AntexGate v2.

Зачем изобретать велосипед, если можно прошивать через USB?

Проблема: AntexGate — это промышленный компьютер на базе Raspberry CM4/CM5. Внутри — надёжная eMMC от Samsung. Но прошивать её вручную — это долго и не безопасно, т.к. открытая плата без корпуса подвержена поражению статическим электричеством.

Решение: Берём "донорный" AntexGate (однако можно использовать любую RaspberryPI ), ставим на неё CM Provision и прошиваем наши компьютеры AntexGate оптом. Один сервер прошивает одновременно десятки плат. И всё это управляется через веб морду.

Установка сервера: 10 минут, и можно пить кофе

Ставим на AntexGate серверную Pi Raspberry Pi OS Lite... 

Решил Вас не мучать пунктами и собрал свою сборку AntexGateProvisioning.img.xz, которую можно скачать с нашего ресурса. Эта сборка хоть и является слепком c 8GB памяти, но после установки она разворачивается и занимает все пространство EMMC/NVME. Уменьшить слепок и автоматически добавить правила для развертывания памяти помог скрипт PiShrink.

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

Скаченный образ устанавливаем с помощью Raspberry Pi Imager.

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

Выберете файл образа который скачали ранее, в настройках ничего не добавляйте, а при при прошивке не соглашайтесь добавлять в образ никаких изменений. Установите его по нашей инструкции quickstart либо скачайте pdf инструкцию с сайта.

Важная рекомендация! Если Вам необходимо тестировать много различных сборок, или хранить много бэкапов, рекомендуем образ развернуть на NVME диске 128+GB, таким образом вы получите огромное пространство для хранения Ваших сборок и увеличенную скорость прошивки.

Вводим в эксплуатацию "отца" AntexGate

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

  • Любой коммутатор со скоростью портов не ниже 1GB (100mb будет работать, но скорость прошивки снизится)

  • Несколько патчкордов rj45

  • Компьютер, планшет либо телефон для загрузки образов (удобнее всего прямо подключенный ноутбук к 100mb порту)

  • Подготовленный блок питания 12-48В с подключенными разъемами 2EDGK-5.08-02 (можно “гирляндой”) для подачи питания на потомков

Принцип подключения
Принцип подключения

На рисунке показано что ПК для доступа к веб интерфейсу необходимо подключить в LAN 10/100mb порт, а коммутатор для тиражируемых потомков в LAN 1GB порт. Не перепутайте!

По умолчанию доступен сервер записи по адресу 192.168.1.100:

  • Веб интерфейс доступен по адресу 192.168.1.100 port 80 login: antex@antex pass: antex

  • SSH сервер доступен по адресу 192.168.1.100 port 22 login: antex@antex pass: antex

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

Интерфейс программы
Интерфейс программы

Вам остается только добавить Ваш сжатый образ [name].img.xz нажав на кнопку [Add image] разделе [Images] и подготовить проект для записи. Когда вы нажмете загрузить, подождите некоторое время, пока не пропадет табличка.

Ждем загрузки пока не пропадет табличка
Ждем загрузки пока не пропадет табличка

Подготовка собственного сжатого образа img.xz

Когда вы полностью протестировали свой проект, добавили все правила, библиотеки и программы - необходимо снять слепок с Вашего тестового AntexGate (кстати слепки с Pasberry Pi4 и выше тоже должны запуститься на AntexGate). Рекомендуем разработку на небольшой памяти 8GB.

Чтобы снять слепок разберите корпус, снимите перемычки x20, установите перемычки x18 7-8pin, подключите USB как при прошивке quickstart и подайте питание. Посте запуска утилиты rpiboot память cm4 определится и можно сделать слепок. Используйте win32imager для снятия копии. Если сиcтема была на внешнем диске NVME просто извлеките его, подключите к Вашему компьютеру и снимите слепок с помощью win32imager.

win32imager копируем диск
win32imager копируем диск

Копия Вашего образа будет большой 8/16/32gb и будет зависеть от исходного размера памяти, далее нам предстоит ее сжать.

Если у Вас была оригинальная Raspbian можно использовать промежуточное сжатие по инструкции PiShrink. В таком случае у сборки будет обрезано лишнее пространство и добавлены скрипты, чтобы при загрузке проект распаковался на оставшееся пустое пространство EMMC/NVME. Если Вы используете специфичную ОС, например, Астра Linux, QNX этот пункт возможно не сработает (не проверял).

Итак полученный образ рекомендую еще сжать с помощью утилиты 7zip, она значительно уменьшит размер образа в 5-6 раз. Используйте XZ формат, в итоге мы получаем файл [name].img.xz

Сжатие архиватором
Сжатие архиватором

Внимание! Не пытайтесь перенести без обрезки пустого пространства из образа с большей на меньшую EMMC. Если перенесли с меньшего EMMC на большее, не забудьте разметить пустое пространство.

Прошивка первого потомка

Наконец все готово, мы возвращаемся на web интерфейс.

Скрипты для продвинутых
Скрипты для продвинутых

Продвинутые специалисты могут создать свои скрипты в разделе [Scripts] или использовать имеющиеся от производителя.

Например такой скрипт мы используем для включения SSH сервера и автоматического добавления пользователя пользователя pi с паролем raspberry.

#!/bin/sh

# Create mount points
mkdir -p /mnt/boot

# Mount the boot partition ($PART1 is the device name)
mount -t vfat $PART1 /mnt/boot

# 1. Enable SSH
touch /mnt/boot/ssh

# 2. Add User and Password (pi:raspberry)
echo 'pi:$6$c70VpvPsVNCG0YR5$l5vWWLsLko9Kj65gcQ8qvMkuOoRkEagI90qi3F/Y7rm8eNYZHW8CY6BOIKwMH7a3YYzZYL90zf304cAHLFaZE0' > /mnt/boot/userconf.txt

# Unmount after changes are done
umount /mnt/boot

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

Далее переходим в раздел [Progects], чтобы создать все правила для образа на клиентский компьютер.

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

Нажав кнопку [Add project] остается только придумать название проекта, выбрать нужный образ из загруженных, поставить галочку напротив верификации образа (Verify that image was written correctly), выбрать нужные скрипты и сохранить проект [save].

Выбор проекта
Выбор проекта

Когда вы создали один или несколько проектов увидите такой интерфейс. Перед подключением потомка необходимо нажать напротив нужного проекта кнопку [Set Active].

Осталось воткнуть тиражируемые приборы в коммутатор и подать на него/них питание, начнется процесс прошивки, который длятся от 1 до 5 минут, в зависимости от условий объема образа и качества его сжатия.

Внимание! Коммутатор необходим, при использовании прямого патчкорда прибор не прошьется. Чтобы клиент прошился, подключите его в порт с названием на корпусе LAN 1GB/S.

Найденные CM4 CM5 модули
Найденные CM4 CM5 модули

Когда один или несколько приборов будет подключено к серверу прошивки, в разделе CMs вы увидите информацию о клиентских приборах AntexGate, а точнее подробные данные об установленных в них модулей CM4/5. Данные в web интерфейсе обновляется с задержкой, поэтому рекомендую обновлять страницу вашего браузера вручную когда вы увидите активную индикацию 1gb Lan порта клиента.

Логи прошивки
Логи прошивки

Процесс прошивки можно увидеть в разделе Dashboard, в котором сообщается об удачных или неудачных прошивках. В этих логах можно увидеть, если Ваш скрипт не применился и по какой ошибке или не сошлась контрольная сумма образа.

После удачной прошивки прибора просто перезагрузите питание и получите полностью работающий прибор.

А если AntexGate уже прошит, но нужно перезалить?

Теперь разбирать прибор для его прошивки нет необходимости. Чтобы заменить существующую прошивку необходимо подключиться по SSH, сломать файл запуска в зависимости от вашей ОС либо удалить весь boot раздел и снова подключить к коммутатору сервера прошивки.

Заключение

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

А если остались вопросы — добро пожаловать в комментарии и наш Telegram-канал или MAX-канал поддержки. Расскажем, как настроить скрипты под ваш конкретный кейс.

И помните: "Масштабирование начинается там, где вы перестаёте делать однотипные операции!"

Комментарии (2)


  1. spagetti3d
    17.04.2026 12:52

    Кроме 7zip, использовал дедупликацию на уровне файловой системы сервера, если образов десятки и они похожи. Сэкономит еще больше места на NVME


    1. antex_dom Автор
      17.04.2026 12:52

      Думаю да, но в целом сжатые сборки для таких встраиваемых компов и так не сильно большие.