Jump to content

Yocto Project

From Wikipedia, the free encyclopedia
Initial release2010;14 years ago(2010)
Stable release
5.0 (Scarthgap) / April 1, 2024;5 months ago(2024-04-01)
Repositorygit.yoctoproject.org
Written inPrimarily Python, Shell
Websiteyoctoproject.org

TheYocto Projectis aLinux Foundationcollaborativeopen sourceproject whose goal is to produce tools and processes that enable the creation ofLinux distributionsforembedded and IoT softwarethat are independent of the underlying architecture of the embedded hardware. The project was announced by the Linux Foundation in 2010 and launched in March, 2011, in collaboration with 22 organizations, includingOpenEmbedded.[1]

The Yocto Project's focus is on improving the software development process forembedded Linuxdistributions. The Yocto Project provides interoperable tools, metadata, and processes that enable the rapid, repeatable development of Linux-basedembedded systemsin which every aspect of the development process can be customized.

In October 2018,Arm Holdingspartnered withIntelin order to share code for embedded systems through the Yocto Project.[2]

Project scope

[edit]

The Yocto Project has the aim and objective of attempting to improve the lives of developers of customizedLinuxsystems supporting theARM,MIPS,PowerPCandx86/x86-64architectures. A key part of this is theOpenEmbeddedbuild system, which enables developers to create their ownLinux distributionspecific to their environment. The Yocto Project and OpenEmbedded Project share maintainership of the main parts of the OpenEmbedded build system: the build engine,BitBake,and the core metadata, OpenEmbedded-Core. The Yocto Project provides a reference implementation calledPoky,which contains the OpenEmbedded build system plus a large set of recipes, arranged in a hierarchical system of layers, that can be used as a fully functional template for a customized embedded operating system.

There are several other sub-projects under the project umbrella which include CROPS, pseudo, thematchboxsuite of applications, and many others. One of the central goals of the project is interoperability among these tools.

The project offers different sized targets from "tiny" to fully featured images which are configurable and customisable by the end user. The project encourages interaction with upstream projects and has contributed heavily to OpenEmbedded-Core andBitBakeas well as to numerous upstream projects, including theLinux kernel.[3]The resulting images are typically useful in systems where embedded Linux would be used, these being single-use focused systems or systems without the usual screens/input devices associated with desktop Linux systems.

As well as building Linux systems, there is also an ability to generate a toolchain forcross compilationand asoftware development kit(SDK) tailored to their own distribution. The project tries to be software and vendor agnostic. Thus, for example, it is possible to select which package manager format to use (deb,rpm,oripk).

Within builds, there are options for various build-timesanity/regression tests,and also the option to boot and test certain images underQEMUto validate the build.

The project is known for making good documentation a priority and attempts to update documentation for each release, retaining all documents for current and archived releases on the website, as the documentation can change significantly with any release.[4]

Governance

[edit]

The Yocto Project is one of many collaborative projects organized as a non-profit under the banner of theLinux Foundation.[5]

The project's governance is divided loosely into administrative and technical arms, although many members participate in both camps.

At a technical level, the project is overseen by the project architect Richard Purdie (a Linux Foundation Fellow[6]) who has a long history of involvement with many of the project's components and technologies.[7]The architect maintains a hierarchy of maintainers for the different components of the system, much as the Linux kernel is maintained.

The administrative arm consists of an advisory board made up of representatives from the project's member organizations, including several major silicon vendors, commercial operating system vendors that use Yocto Project as their upstream, corporate users, as well as representatives from groups such as software consultants and community members.[8]The member organizations of this board provide resources to the project. There are also several advisory board working groups that handle administrative functions for the project such as finance, infrastructure, advocacy and outreach, and community management.

Releases

[edit]

Major releases occur about every 6 months (April and October).[9]

Version 3.1 was the firstlong-term support(LTS) release.[10]Since then, a new LTS release is added every two years.

The 3.1 series and 4.0 were originally planned for two years but extended to four. The next LTS releases are planned for 4 years.[11]

Since version 3.1, the release codenames are names of mountains or passes in the Cumbria county in Northern England.[12][circular reference]

Legend:
Old version
Old version, still maintained
Current stable version
Latest preview version
Future release
Release[13] Codename Date Support
Future release:5.1 Styhead 10/2024 05/2025
Current stable version:5.0 (LTS) Scarthgap 04/2024 04/2028
Old version, no longer maintained:4.3 Nanbield 11/2023 05/2024
Old version, no longer maintained:4.2 Mickledore 05/2023 EOL
Old version, no longer maintained:4.1 Langdale 10/2022 EOL
Old version, yet still maintained:4.0 (LTS) Kirkstone 05/2022 04/2026
Old version, no longer maintained:3.4 Honister 11/2021 EOL
Old version, no longer maintained:3.3 Hardknott 04/2021 EOL
Old version, no longer maintained:3.2 Gatesgarth 11/2020 EOL
Old version, no longer maintained:3.1 (LTS) Dunfell 04/2020 EOL
Old version, no longer maintained:3.0 Zeus 10/2019 EOL
Old version, no longer maintained:2.7 Warrior 04/2019 EOL
Old version, no longer maintained:2.6 Thud 11/2018 EOL
Old version, no longer maintained:2.5 Sumo 04/2018 EOL
Old version, no longer maintained:2.4 Rocko 10/2017 EOL
Old version, no longer maintained:2.3 Pyro 04/2017 EOL
Old version, no longer maintained:2.2 Morty 10/2016 EOL
Old version, no longer maintained:2.1 Krogoth 04/2016 EOL
Old version, no longer maintained:2.0 Jethro 10/2015 EOL
Old version, no longer maintained:1.8 Fido 04/2015 EOL
Old version, no longer maintained:1.7 Dizzy 10/2014 EOL
Old version, no longer maintained:1.6 Daisy 04/2014 EOL
Old version, no longer maintained:1.5 Dora 10/2013 EOL
Old version, no longer maintained:1.4 Dylan 04/2013 EOL
Old version, no longer maintained:1.3 Danny 10/2012 EOL
Old version, no longer maintained:1.2 Denzil 04/2012 EOL
Old version, no longer maintained:1.1 Edison 10/2011 EOL
Old version, no longer maintained:1.0 Bernard 2011 EOL
Old version, no longer maintained:0.9 Laverne 2010 EOL

Branding Program

[edit]

The Yocto Project Branding Program provides an opportunity to associate the value of using the Yocto Project with a company or product. The Yocto Project Branding Program defines steps to register organizations asYocto Project Participants,and content asYocto Project Compatible.Yocto Project Participant is appropriate for organizations who use and support the Yocto Project publicly. Yocto Project Compatible is appropriate for products, BSPs, and other OE-compatible layers, and related open-source projects, and is open to Yocto Project member organizations.[14]

See also

[edit]

References

[edit]
  1. ^"The Linux Foundation Announces Yocto Project Steering Group and Release 1.0".
  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.
  3. ^"Yocto Project Linux Kernel Development Manual".docs.yoctoproject.org.Retrieved2021-04-21.
  4. ^"Yocto Project Documentation".docs.yoctoproject.org.Retrieved2021-04-21.
  5. ^"Projects - The Linux Foundation".The Linux Foundation.Retrieved2018-01-05.
  6. ^"Linux Foundation Fellows - The Linux Foundation".The Linux Foundation.Retrieved2022-09-08.
  7. ^"Technical Leadership | Yocto Project".www.yoctoproject.org.Retrieved2018-01-05.
  8. ^"Members – Yocto Project".www.yoctoproject.org.Retrieved2018-07-31.
  9. ^"Releases - Yocto Project".wiki.yoctoproject.org.Retrieved2018-07-31.
  10. ^"Yocto Project Long Term Support Announced".26 February 2020.
  11. ^"Releases - Yocto Project".
  12. ^"List of hill passes in the Lake District".Retrieved27 February2024.
  13. ^Yocto Project Release Activity
  14. ^"Branding Program – Yocto Project".www.yoctoproject.org.Retrieved2018-07-31.
[edit]