Yocto Project — проект Linux Foundation с открытым исходным кодом, целью которого является создание инструментов позволяющих создавать дистрибутивы Linux для встроенного программного обеспечения и IoT, которые не зависят от базовой архитектуры встроенного оборудования. Проект был анонсирован Linux Foundation в 2010 году и запущен в марте 2011 года в сотрудничестве с 22 организациями, включая OpenEmbedded.[1]

Yocto Project
Скриншот программы Yocto Project
Тип Linux Foundation Project[d], дистрибутив Linux, Встраиваемый Linux[d] и Список свободных операционных систем[d]
Разработчик Bootlin[d]
Первый выпуск 2010; 14 лет назад (2010)
Последняя версия 4.2 (5 мая 2023; 11 месяцев назад (2023-05-05))
Репозиторий git.yoctoproject.org
Сайт yoctoproject.org

Целью Yocto Project является улучшение процесса разработки программного обеспечения для встраиваемых дистрибутивов Linux. Yocto Project предоставляет инструменты функциональной совместимости, метаданные и процессы, которые обеспечивают быстро воспроизводимую разработку встраиваемых систем на базе Linux, в которых можно настроить каждый аспект процесса разработки.

В октябре 2018 года Arm Holdings заключила партнёрское соглашение с Intel, чтобы обмениваться кодом для встраиваемых систем в рамках проекта Yocto.[2]

Цель проекта править

Целью Yocto Project является упрощение жизни разработчикам специализированных систем Linux, поддерживающих архитектуры ARM, MIPS, PowerPC и x86/x86-64. Значимой частью этого проекта является система сборки OpenEmbedded, которая позволяет разработчикам создавать свой собственный дистрибутив Linux, специфичный для их среды. Yocto Project и OpenEmbedded Project совместно поддерживают основные части системы сборки OpenEmbedded: механизм сборки BitBake и основные метаданные OpenEmbedded-Core. Проект Yocto предоставляет эталонную реализацию под названием Poky, которая содержит систему сборки OpenEmbedded, а также большой набор рецептов, организованных в виде иерархической системы слоёв, которые можно использовать в качестве полнофункционального шаблона для настраиваемой встроенной операционной системы.

В рамках проекта есть несколько других подпроектов, которые включают CROPS, matchbox и многие другие. Одной из основных целей проекта является совместимость этих инструментов.

Проект предлагает решения разного размера от крошечных до полнофункциональных, которые конфигурируются и кастомизируются конечным пользователем. Yocto Project поощряет взаимодействие с вышестоящими проектами и внес большой вклад в OpenEmbedded-Core и BitBake, также как и в прочие проекты, включая ядро Linux.[3] Полученные образы обычно полезны в системах, где будет использоваться встроенный Linux, обычно это системы, ориентированные на одноразовое использование, или системы без обычных экранов / устройств ввода.

Помимо создания систем Linux, существует также возможность создания набора инструментов для кросс-компиляции и комплекта разработки программного обеспечения (SDK), адаптированного к их собственному дистрибутиву. Проект старается быть независимым от программного обеспечения и поставщиков. Так, например, можно выбрать, какой формат менеджера пакетов использовать (deb, rpm или ipk).

В сборках есть варианты различных тестов работоспособности во время сборки, регрессионных тестов, а также возможность загрузки и тестирования определённых образов в QEMU для проверки сборки.

Проект известен тем, что уделяет значительное внимание хорошей документации и старается обновлять документацию для каждого релиза, сохраняя все документы для текущих и архивных выпусков на веб-сайте, поскольку документация может значительно меняться с каждым релизом.[4]

Управление проектом править

Проект Yocto — один из многих совместных проектов, организованных Linux Foundation.[5]

Управление проектом разделено на административное и техническое подразделения, хотя многие участники участвуют в обоих.

За техническим подразделением наблюдает архитектор проекта Ричард Перди (член Linux Foundation[6]), который имеет долгую историю участия во многих компонентах и технологиях проекта[7]. Архитектор поддерживает иерархию специалистов по сопровождению различных компонентов системы, подобно тому, как поддерживается ядро Linux.

Административное подразделение состоит из консультативного совета, состоящего из представителей организаций-участников проекта, в том числе нескольких крупных поставщиков микросхем, поставщиков коммерческих операционных систем, использующих Yocto Project в качестве инструмента сборки, корпоративных пользователей, а также представителей таких групп, как консультанты по программному обеспечению и члены сообщества.[8] Организации-члены этого совета предоставляют ресурсы для проекта. Есть также несколько рабочих групп консультативного совета, которые выполняют административные функции проекта, такие как финансы, инфраструктура, защита интересов и работа с общественностью, а также управление сообществом.

Версии править

Основные выпуски происходят примерно каждые 6 месяцев (апрель и октябрь).[9]

Версия 3.1 была первой LTS версией, первоначально поддерживаемым в течение двух лет.[10] С тех пор каждые два года добавляется новая LTS версия.

В 2021 году поддержка версии 3.1 была продлена ещё на два года[11] до 2024 года. Это было сделано в качестве эксперимента, чтобы дать пользователям время для перехода на более новую версию LTS, но это не будет делаться для всех LTS релизов.

Версия[12] Кодовое имя Дата релиза Поддержка до
Текущая версия: 4.2 Mickledore 05/2023 11/2023
Старая версия, не поддерживается: 4.1 Langdale 10/2022 EOL
Старая поддерживаемая версия: 4.0 (LTS) Kirkstone 05/2022 04/2024
3.4 Honister 11/2021 EOL
3.3 Hardknott 04/2021 EOL
3.2 Gatesgarth 11/2020 EOL
Старая поддерживаемая версия: 3.1 (LTS) Dunfell 04/2020 04/2024
3.0 Zeus 10/2019 EOL
2.7 Warrior 04/2019 EOL
2.6 Thud 11/2018 EOL
2.5 Sumo 04/2018 EOL
2.4 Rocko 10/2017 EOL
2.3 Pyro 04/2017 EOL
2.2 Morty 10/2016 EOL
2.1 Krogoth 04/2016 EOL
2.0 Jethro 10/2015 EOL
1.8 Fido 04/2015 EOL
1.7 Dizzy 10/2014 EOL
1.6 Daisy 04/2014 EOL
1.5 Dora 10/2013 EOL
1.4 Dylan 04/2013 EOL
1.3 Danny 10/2012 EOL
1.2 Denzil 04/2012 EOL
1.1 Edison 10/2011 EOL
1.0 Bernard 2011 EOL
0.9 Laverne 2010 EOL
Легенда:
Старая версия
Старая поддерживаемая версия
Текущая версия
Тестовая версия
Будущая версия

См. также править

Примечания править

  1. The Linux Foundation Announces Yocto Project Steering Group and Release 1.0. Дата обращения: 25 мая 2023. Архивировано 7 октября 2022 года.
  2. Arm cozies up to Intel for second time in a week – this time to borrow tools from Yocto Project for Mbed Linux. The Register. Дата обращения: 25 мая 2023. Архивировано 30 января 2020 года.
  3. Yocto Project Linux Kernel Development Manual. docs.yoctoproject.org. Дата обращения: 21 апреля 2021. Архивировано 21 апреля 2021 года.
  4. Yocto Project Documentation (амер. англ.). docs.yoctoproject.org. Дата обращения: 21 апреля 2021. Архивировано 21 апреля 2021 года.
  5. "Projects - The Linux Foundation". The Linux Foundation (англ.). Архивировано 27 мая 2023. Дата обращения: 5 января 2018. {{cite news}}: Указан более чем один параметр |accessdate= and |access-date= (справка)
  6. "Linux Foundation Fellows - The Linux Foundation". The Linux Foundation (англ.). Архивировано 8 сентября 2022. Дата обращения: 8 сентября 2022. {{cite news}}: Указан более чем один параметр |accessdate= and |access-date= (справка)
  7. Technical Leadership | Yocto Project (англ.). www.yoctoproject.org. Дата обращения: 5 января 2018. Архивировано 5 января 2018 года.
  8. Members – Yocto Project (амер. англ.). www.yoctoproject.org. Дата обращения: 31 июля 2018. Архивировано 31 июля 2018 года.
  9. Releases - Yocto Project (англ.). wiki.yoctoproject.org. Дата обращения: 31 июля 2018. Архивировано 31 июля 2018 года.
  10. Yocto Project Long Term Support Announced (англ.). Дата обращения: 25 мая 2023. Архивировано 25 мая 2023 года.
  11. 2021 - a year in review (англ.). Дата обращения: 25 мая 2023. Архивировано 25 мая 2023 года.
  12. Yocto Project Release Activity. Дата обращения: 25 мая 2023. Архивировано 25 мая 2023 года.

Ссылки править