Select language:
+7 (499) 500-14-94
Проекты

Автоматическая система сборки прошивки

 
14 октября 2009

В компанию обратился немецкий производитель сетевой техники. В выпускаемом оборудовании (роутере, точке доступа, файерволе, сетевом файловом или медиасервере) есть прошивка, состоящая из:

  • операционной системы;
  • драйверов устройств;
  • стека протоколов TCP/IP;
  • системного и прикладного сетевого ПО;
  • средства удаленного администрирования.

 

Без прошивки устройство не запускается. Готовая прошивка для конкретной модели состоит из набора программных компонентов от разных разработчиков и средства администрирования. Все начинается с загрузки исходных кодов программных пакетов в репозиторий. Версии пакетов ежедневно обновляются, компилируются в фоне и участвуют в сборке прошивок. Затем прошивки готовятся к записи на флэш-память устройства (роутера или сервера). После прошивки оборудование «оживает», превращаясь из «кирпича» в полезный элемент домашней или офисной инфраструктуры.

 

Внимания заслуживает и кросс-компиляция, позволяющая собирать выполняемый код для процессора ARM при компиляции на x86. ARM-код не будет запускаться на x86, но кросс-компиляция позволит собрать прошивку. Для корректной компоновки пакетов отслеживаются версии и таблица зависимостей пакетов от других пакетов с учетом минимальной версии. Простой пример: для сборки протокола TCP/IP требуется определенная версия ядра. Для кода маршрутизатора — TCP/IP. Поэтому перед компиляцией маршрутизатора загружаются и подготавливаются (в определенной последовательности и нужных версиях) ядро и протоколы Интернета. Для сборки некоторых пакетов не обязательно используется последняя версия зависимых пакетов. Могут потребоваться и устаревшие библиотеки. Исходный код обновляется раз в сутки. Репозиторий помечается актуальным, выборочно пересобираются измененные пакеты. Производится ежедневная автоматическая компоновка последней версии прошивок для полного списка выпускаемого сетевого оборудования на базе i368 и ARM для дальнейшего тестирования на физических устройствах.

 

Автоматическая система сборки прошивки

  
Заказчик: Немецкий производитель сетевого оборудования
Описание: Разработка системы автоматической сборки дистрибутива на базе Debian Linux. Приложение предназначается для внутреннего использования и позволяет создавать прошивки для устройств на основе ОС Linux: роутеров, точек доступа, встраиваемой техники, серверов. Поддерживаются архитектуры i386 и ARM. В ближайшем будущем планируется портирование под MacOS. Управляющий сайт создан с применением технологии AJAX и представлен простым интерфейсом для получения прошивки в три шага.