stringtranslate.com

OpenEmbedded

OpenEmbedded (OE) — это фреймворк автоматизации сборки и среда кросс-компиляции , используемые для создания дистрибутивов Linux для встраиваемых устройств . [2] Фреймворк разработан сообществом OpenEmbedded, которое было официально создано в 2003 году. OpenEmbedded — это рекомендуемая система сборки проекта Yocto , рабочей группы Linux Foundation , которая помогает коммерческим компаниям в разработке систем на базе Linux для встраиваемых продуктов.

Система сборки основана на BitBake . Файл конфигурации BitBake, называемый рецептом, определяет различную информацию, такую ​​как зависимости и расположения исходного кода, как собрать пакет и как установить и удалить скомпилированный пакет. Инструменты OpenEmbedded используют эти рецепты для извлечения и исправления исходного кода, компиляции и компоновки двоичных файлов, создания двоичных пакетов ( ipk , deb , rpm ) и создания загрузочных образов .

Исторически рецепты OpenEmbedded хранились в одном репозитории, а метаданные были структурированы как то, что сейчас называется «OpenEmbedded-Classic». Начиная с 2010 года структура была изменена для лучшей поддержки постоянно растущего числа рецептов. Метаданные рецептов были разделены на несколько слоев. Самый нижний слой, который включает независимые от платформы и дистрибутива метаданные, называется «OpenEmbedded-Core». [3] Специфичные для архитектуры, приложения и зависимые от дистрибутива инструкции применяются в соответствующих целевых слоях поддержки, которые могут переопределять или дополнять инструкции из нижних слоев. Кроме того, изменения в рецептах на уровне ядра теперь управляются с помощью модели pull: вместо того, чтобы фиксировать свои изменения непосредственно в репозитории (как это было раньше), разработчики теперь отправляют исправления в список рассылки. После одобрения исправления объединяются (извлекаются) сопровождающим. [3]

Фреймворк OpenEmbedded можно установить и автоматически обновить через Git . [2]

OpenEmbedded Image Creator, называемый Wic, можно использовать для создания файлов образов дисков; как правило, с расширением .wic.

История

Проект OpenEmbedded , созданный Крисом Ларсоном, Майклом Лауэром и Хольгером Шуригом, объединил достижения OpenZaurus с вкладами таких проектов, как Familiar Linux и OpenSIMpad , в общую кодовую базу. OpenEmbedded заменил эти проекты и использовался для сборки любого из них из той же кодовой базы.

OpenEmbedded-Core (OE-Core) появился в результате слияния проекта Yocto с OpenEmbedded. [4] С тех пор все рецепты пакетов поддерживаются через OpenEmbedded-Core.

Организация слоев

OpenEmbedded-Core адаптировал эту слоистую структуру при слиянии с Yocto, и со временем были добавлены новые записи слоев. [5] [6] Слои представляют собой структуру, которая носит исключительно декларативный характер. Конкретные записи более строги в плане принятия решения о том, какая запись предоставляет какие пакеты. Обзор слоев доступен по адресу: layers.openembedded.org/layerindex/branch/master/layers/

Слой разработчика
Пользовательский слой для пользовательских рецептов Bitbake. Разработчики встроенного системного программного обеспечения размещали бы здесь свой рецепт, если бы программное обеспечение не подходило для коммерческого или базового слоя.
Коммерческий слой
На этом уровне размещаются пакеты, плагины и конфигурации от поставщиков ПО с открытым исходным кодом .
Слой, специфичный для пользовательского интерфейса
Слои, присутствующие в настоящее время в слое meta-openembedded:
  • meta-efl ( менеджер окон Enlightenment )
  • meta-gnome ( менеджер окон GNOME )
  • meta-gpe ( оконный менеджер GPE )
  • meta-xfce ( оконный менеджер Xfce )
Аппаратно-специфический слой
Йокто слой
  • мета-йокто (уровень проекта Yocto [5] [4] )
Слой OpenEmbedded-Core
  • openembedded-core
  • мета-открытовстроенный

Поддерживаемые дистрибутивы

В OpenEmbedded-Classic конфигурации от Base- до UI-Layer могут быть дополнены различными дистрибутивами Linux . Следующий список доступен для OpenEmbedded:

Поддерживаемое оборудование

Поддерживаются различные устройства: [10]

Платы и процессоры
Поддерживаются BeagleBoard от Texas Instruments и различные устройства на базе процессора ARM.
Смартфоны
Поддерживаются такие смартфоны, как Nokia N800 и Neo FreeRunner .
Перенос на новое оборудование
Созвездие OpenEmbedded, особенно открытая конструкция, позволяет OpenEmbedded довольно легко адаптировать новое оборудование. [11] [ неправильный синтез? ] [12] [ неправильный синтез? ]

Смотрите также

Ссылки

  1. ^ "OpenEmbedded Developers". Архивировано из оригинала 2012-11-09.
  2. ^ ab Brake, Cliff; et al. (2015), «Добро пожаловать в OpenEmbedded», OpenEmbedded Wiki , Блэксбург, Вирджиния: openembedded.org.
  3. ^ Эгглтон, Пол (2015), «OpenEmbedded-Core», OpenEmbedded Wiki , Блэксбург, Вирджиния: openembedded.org.
  4. ^ ab "Проект Yocto объединяет технологию с OpenEmbedded и привлекает корпоративных партнеров". Архивировано из оригинала 2012-01-11.
  5. ^ ab Yocto & OpenEmbedded Core Layers Архивировано 19 сентября 2011 г. на Wayback Machine
  6. ^ "OpenEmbedded Metadata Index - слои". Архивировано из оригинала 2013-06-22 . Получено 2013-06-18 .
  7. ^ "ШР".
  8. ^ Бен Комби на форуме разработчиков Palm - пт июл 16, 2010. Сборка статических библиотек Архивировано 2011-07-26 на Wayback Machine
  9. ^ «Информационные решения B2C».
  10. ^ "Обзор поддерживаемых OE машин" . Получено 2022-09-08 .
  11. ^ Руководство по пакету поддержки Yocto Project Board
  12. ^ «Руководство по разработке проекта Yocto».

Внешние ссылки