Создать образа Linux (buildroot), toolchain и систему сборки прошивок
Задача проекта коротко
Есть- Одноплатный компьютер (на i.MX287)
- Образы ОС linux, создаваемые для компьютера посредством buildroot
- для первоначальной прошивки при выпуске изделия
- для обновления через web-интерфейс
- Свойства образов
- содержат набор скриптов для связи прикладного ПО и ОС
- работают из RAM-диска, практически не записывают во flash-память
- обновление через web-интерфейс устойчиво к пропаданию питания
- Набор скриптов для автоматизации всего этого
- Воспроизвести всё это на другом одноплатном компьютере (Fire Fly AIO-3399 ProC на RK3399)
- Или воспроизвести, заменив buildroot на существующий дистрибутив linux
Условия работы над проектом
- Работать можно удаленно (Москва или Подмосковье) или в нашем офисе в Москве (3 мин. от станции МЦК Андроновка, 1 мин., 15 мин от м. Авиамоторная)
- Трудовой проектный договор или ГПХ или самозанятый на усмотрение соискателя, полная занятость, фиксированная помесячная оплата (или фиксированная сумма за проект на усмотрение соискателя)
- По завершению проекта возможно трудоустройство программистом C++ (Middle и выше) в офис.
Задача подробнее
Для используемого одноплатного компьютера (на i.MX287) существует адаптированный buildroot и набор скриптов, обеспечивающий сборку прошивок для наших терминалов. Необходимо адаптировать buildroot (или использовать существующий дистрибутив linux) и создать набор скриптов, обеспечивающих сборку прошивок для одноплатного компьютера Fire Fly AIO-3399 Pro C (на RK3399).Существующая система сборки:
Buildroot и toolchain
- Buildroot собирает toolchain, который используется для сборки образа ОС и прикладного ПО
- В образ ОС включается минимально необходимый набор ПО
- Для прошивки при производстве
- Для прошивки в поле через web-интерфейс
- Для прошивки посредством u-boot
- Модифицировано под схему платы и встроен самописный драйвер
- Работает из read-only RAM-диска
- Из rw хранилищ используется
- flash-память (для образов ОС и файлов конфигурации)
- USB-флешка (для логов прикладного ПО и crash-дампов)
- ram-disk (для минимального набора временных файлов)
- Разработаны скрипты (bash, php)
- для обновления образа в поле
- для взаимодействия прикладного ПО с ОC
- для работы с USB-flash накопителем
- Выполнена настройка утилиты для прошивки образа
- Выполняется запись в плату MAC-адреса
- По пересборке ядра linux
- По пересборке u-boot
- Для автоматизации создания образа ОС для монтирования через nfs
- Для автоматизации настройки компьютера для работы с образом ОС через nfs
- Для автоматизации получения консоли u-boot
- Для автоматизации прошивки образа через u-boot