OpenEmbedded
Разработчик(и) | 75+ разработчиков [1] |
---|---|
Репозиторий | |
Операционная система | Линукс |
Платформа | Кросс-платформенный |
Тип | Автоматизация сборки |
Лицензия | С |
Веб-сайт | www |
OpenEmbedded — это платформа автоматизации сборки и среда кросс-компиляции, используемая для создания дистрибутивов Linux для встраиваемых устройств . [2] Платформа OpenEmbedded разработана сообществом OpenEmbedded, которое было официально создано в 2003 году. OpenEmbedded — это рекомендуемая система сборки Yocto Project , рабочей группы Linux Foundation , которая помогает коммерческим компаниям в разработке систем на базе Linux для встраиваемых продуктов.
Система сборки основана на «рецептах» BitBake , которые определяют способ сборки конкретного пакета, а также включают списки зависимостей и расположение исходного кода, а также инструкции по установке и удалению скомпилированного пакета. Инструменты OpenEmbedded используют эти рецепты для извлечения и исправления исходного кода, компиляции и связывания двоичных файлов, создания двоичных пакетов ( ipk , deb , rpm ) и создания загрузочных образов.
Исторически коллекция рецептов OpenEmbedded хранилась в одном репозитории, а метаданные были структурированы в форме, которая теперь называется «OpenEmbedded-Classic». К 2010 году управлять постоянно растущим числом рецептов становилось все труднее. Чтобы решить эту проблему, метаданные рецептов были разделены на несколько слоев. Самый нижний уровень, который включает метаданные, независимые от платформы и распространения, называется «OpenEmbedded-Core». [3] Инструкции, зависящие от архитектуры, приложения и распространения, применяются на соответствующих целевых уровнях поддержки, которые могут переопределять или дополнять инструкции нижних уровней. Кроме того, изменения в рецептах на базовом уровне теперь управляются с помощью модели извлечения: вместо того, чтобы фиксировать свои изменения непосредственно в репозитории (как это было раньше), разработчики теперь отправляют свои исправления в список рассылки. Исправления, если они одобрены, затем объединяются (извлекаются) сопровождающим. [3]
Фреймворк OpenEmbedded можно установить и автоматически обновлять через Git . [2]
История [ править ]
Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( август 2011 г. ) |
Проект OpenEmbedded ( сокращенно OE ) был создан Крисом Ларсоном, Михаэлем Лауэром и Хольгером Шуригом, объединив достижения OpenZaurus с вкладом таких проектов, как Familiar Linux и OpenSIMpad , в общую базу кода. OpenEmbedded заменил эти проекты и использовался для создания любого из них на основе одной и той же базы кода.
Проект OpenEmbedded-Core ( сокращенно OE-Core ) возник в результате слияния проекта Yocto с OpenEmbedded. [4] С тех пор все рецепты пакетов поддерживаются через OpenEmbedded-Core.
Организация слоев [ править ]
OpenEmbedded-Core адаптировал эту многоуровневую структуру при слиянии с Yocto, и со временем были добавлены новые записи слоев. [5] [6] Слои представляют собой структуру, которая носит только декларативный характер. Конкретные записи являются более строгими в плане принятия решения о том, какая запись какие пакеты предоставляет. Обзор слоев доступен в: слои
- Слой разработчика
- Пользовательский слой для пользовательских рецептов Bitbake. Разработчики программного обеспечения для встраиваемых систем разместили бы здесь свои рецепты, если бы программное обеспечение не соответствовало коммерческому или базовому уровню.
- Коммерческий уровень
- пакеты, плагины и конфигурации от поставщиков с открытым исходным кодом . На этом уровне располагаются
- Уровень, специфичный для пользовательского интерфейса
- Слои, присутствующие в настоящее время в мета-открытом слое:
- мета-efl ( Enlightenment ) оконный менеджер
- мета-гном ( GNOME ) оконный менеджер
- мета-gpe ( оконный менеджер GPE )
- мета-xfce ( оконный менеджер Xfce )
- Аппаратно-зависимый уровень
- Meta-Reachx ( Устройства охвата )
- Meta-fsl-arm ( платы для разработки, официально поддерживаемые Freescale Semiconductor )
- Meta-fsl-arm-extra ( платы, поддерживаемые сообществом Freescale Semiconductor )
- мета-карманные устройства ( персональные цифровые помощники , КПК)
- мета-intel ( встраиваемые устройства Intel )
- мета-nslu2 ( NSLU2 ) устройства
- мета-openpandora ( Openpandora ) устройства
- метасмартфон (различные смартфонные устройства)
- мета-ти ( Texas Instruments ) устройства
- мета-xilinx ( Xilinx ) устройства
- мета-альтера ( Альтера ) устройства
- мета-ettus (устройства Ettus Research USRP SDR)
- (Другие)
- Уровень OpenEmbedded-Core
- открытое встроенное ядро
- мета-открытый встроенный
Поддерживаемые дистрибутивы [ править ]
В OpenEmbedded-Classic конфигурации от Base- до UI-Layer могут быть дополнены различными дистрибутивами Linux . Следующий список доступен для OpenEmbedded:
Поддерживаемое оборудование [ править ]
Поддерживаются различные устройства: [10]
- Платы и процессоры
- от Поддерживаются плата BeagleBoard Texas Instruments и различные устройства на базе процессора ARM.
- Смартфоны
- такие смартфоны, как Nokia N800 и Neo FreeRunner . Поддерживаются
- Портирование на новое оборудование
- Созвездие OpenEmbedded, особенно открытый дизайн, позволяет довольно легко адаптировать OpenEmbedded к новому оборудованию. [11] [ неправильный синтез? ] [12] [ неправильный синтез? ]
См. также [ править ]
Ссылки [ править ]
- ^ «Разработчики OpenEmbedded» . Архивировано из оригинала 9 ноября 2012 г.
- ^ Jump up to: Перейти обратно: а б Тормоз, Клифф; и др. (2015), «Добро пожаловать в OpenEmbedded» , OpenEmbedded Wiki , Блэксбург, Вирджиния: openembedded.org .
- ^ Jump up to: Перейти обратно: а б Эгглтон, Пол (2015), «OpenEmbedded-Core» , OpenEmbedded Wiki , Блэксбург, Вирджиния: openembedded.org .
- ^ Jump up to: Перейти обратно: а б «Проект Yocto объединяет технологию с OpenEmbedded и привлекает корпоративных сотрудников» . Архивировано из оригинала 11 января 2012 г.
- ^ Jump up to: Перейти обратно: а б Базовые слои Yocto и OpenEmbedded, заархивированные 19 сентября 2011 г. на Wayback Machine.
- ^ «Индекс метаданных OpenEmbedded — слои» . Архивировано из оригинала 22 июня 2013 г. Проверено 18 июня 2013 г.
- ^ «ШР» .
- ^ Бен Комби на форуме разработчиков Palm — пятница, 16 июля 2010 г. Создание статических библиотек. Архивировано 26 июля 2011 г. на Wayback Machine.
- ^ «Информационные решения B2C» .
- ^ «Обзор машин с поддержкой оригинального оборудования» . Проверено 8 сентября 2022 г.
- ^ Руководство по пакету поддержки Yocto Project Board
- ^ «Руководство по разработке проектов Yocto» .