Сегодня мы расскажем об успешно реализованном проекте для крупного немецкого производителя телекоммуникационного оборудования (хабы, роутеры, сетевые серверы и пр.)
Задача
Embedded Debian не предоставляет готовой к использованию среды для сборки произвольных образов системы. Чтобы ее подготовить, требуется использовать стандартный дистрибутив Debian, обладать навыками системного администрирования, подобрать и настроить набор утилит, написав при этом ряд shell скриптов для автоматизации процедуры кросс-компиляции пакетов. Проделав всю ручную работу, вы получите консольный инструмент, пользоваться которым может исключительно технический персонал с определенным уровнем навыков работы с ОС Linux, а это не удобно, встает вопрос по организации многопользовательского доступа к этой среде и ограничению прав, а также постоянной поддержки среды в актуальном состоянии.
Выбор производителя телекоммуникационного оборудования пал на дистрибутив Embedded Debian благодаря большому количеству пакетов входящих в состав ОС, позволяющих решать самые разнообразные задачи, и обилию поддерживаемых платформ.
Перед разработчиками EDISON была поставлена задача разработать веб-сервис с интуитивно понятным веб-интерфейсом в виде мастера, позволяющего подготовить произвольный образ системы на базе Embedded Debian на целевую платформу в несколько шагов, который также решает ряд смежных задач.
- Многопользовательский доступ к системе сборки образов Debian.
- Хранение подготовленных образов и предоставление доступа к ним.
- Модификация и повторная сборка подготовленных ранее образов.
- Клонирование и модификация подготовленных ранее образов.
- Возможность делится созданным образом с другими пользователями.
- Зеркалирование дистрибутива Embedded Debian, поддержка его в актуальном состоянии.
- Предварительная сборка пакетов дистрибутива на различные платформы по расписанию.
- Предоставление статистики по итогам сборки пакетов на различные платформы.
- Поддержка классических img образов, а также iso образов, в том числе с поддержкой Live CD.
Дополнительным пожеланием была возможность включения в систему пакетов, разработанных производителем оборудования непосредственно для выпускаемых устройств.
Реализация и технологии.
- Python 2 / Django.
- Bash shell scripts.
- MySQL.
- Debian 5.0 (Lenny).
- Embedded Debian 1.0 (Grip / Crush).