Yocto Project

The Yocto Project is a Linux Foundation collaborative open source project whose goal is to produce tools and processes that enable the creation of Linux distributions for embedded and IoT software that 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, including OpenEmbedded.[1]

Yocto Project
Initial release2010 (2010)
Websitewww.yoctoproject.org

The Yocto Project's focus is on improving the software development process for embedded Linux distributions. The Yocto Project provides interoperable tools, metadata, and processes that enable the rapid, repeatable development of Linux-based embedded systems in which every aspect of the development process can be customized.

In October 2018, Arm Holdings partnered with Intel in order to share code for embedded systems through the Yocto Project.[2]

Project scope

The Yocto Project has the aim and objective of attempting to improve the lives of developers of customized Linux systems supporting the ARM, MIPS, PowerPC and x86/x86-64 architectures. A key part of this is the OpenEmbedded build system, which enables developers to create their own Linux distribution specific 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 called Poky, 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, cross-prelink, Eclipse integration (has been dropped from version 2.7[3]), the matchbox suite 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 and BitBake as well as to numerous upstream projects, including the Linux kernel.[4] 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 for cross compilation and a software development kit (SDK) tailored to their own distribution, also referred to as the Application Developer Toolkit (ADT). 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, or ipk).

Within builds, there are options for various build-time sanity/regression tests, and also the option to boot and test certain images under QEMU to 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.[5]

Governance

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

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[7]) who has a long history of involvement with many of the project's components and technologies.[8] 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.[9] 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

Major releases occur about every 6 months (April and October), with point releases for the latest three.[10]

Release Codename Date
3.1 Dunfell 04/2020
3.0 Zeus 10/2019
2.7 Warrior 04/2019
2.6 Thud 11/2018
2.5 Sumo 04/2018
2.4 Rocko 10/2017
2.3 Pyro 04/2017
2.2 Morty 10/2016
2.1 Krogoth 04/2016
2.0 Jethro 10/2015
1.8 Fido 04/2015
1.7 Dizzy 10/2014
1.6 Daisy 04/2014
1.5 Dora 10/2013
1.4 Dylan 04/2013
1.3 Danny 10/2012
1.2 Denzil 04/2012
1.1 Edison 10/2011
1.0 Bernard 2011
0.9 Laverne 2010

Branding Program

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 as Yocto Project Participants, and content as Yocto 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.[11]

gollark: ```haskellirifyDefn :: Definition -> IRifier IRirifyDefn (Defn mt _ args expr) = do argns <- mapM (\n -> do f <- fresh pure (LocalIdentifier n, LocalIdentifier f)) args def <- withEnv argns (irify expr) let ir = foldr (\(_, LocalIdentifier a) l -> Node () $ Lam a l) def argns case mt of Just t -> pure . Node () $ Annot ir t Nothing -> pure ir```WHAT DOES IT MEAN
gollark: Personally, I just *ignore* charsets, and assume stuff will either just be regular bytestrings or UTF-8.
gollark: ...
gollark: Besides, we would lose emojis and █ and ™ then.
gollark: Because that IS NOT WORKABLE.

See also

References

  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".
  3. "Eclipse™ Support Removed".
  4. "Yocto Project Linux Kernel Development Manual". www.yoctoproject.org. Retrieved 2018-07-31.
  5. "Docs Overview – Yocto Project". www.yoctoproject.org. Retrieved 2018-07-31.
  6. "Projects - The Linux Foundation". The Linux Foundation. Retrieved 2018-01-05.
  7. "Linux Foundation Fellows - The Linux Foundation". The Linux Foundation. Retrieved 2018-07-31.
  8. "Technical Leadership | Yocto Project". www.yoctoproject.org. Retrieved 2018-01-05.
  9. "Members – Yocto Project". www.yoctoproject.org. Retrieved 2018-07-31.
  10. "Releases - Yocto Project". wiki.yoctoproject.org. Retrieved 2018-07-31.
  11. "Branding Program – Yocto Project". www.yoctoproject.org. Retrieved 2018-07-31.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.