<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.yoctoproject.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Michael+Opdenacker</id>
	<title>Yocto Project - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.yoctoproject.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Michael+Opdenacker"/>
	<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/Special:Contributions/Michael_Opdenacker"/>
	<updated>2026-04-20T15:37:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=86628</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=86628"/>
		<updated>2025-05-09T14:05:03Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Release Activity */ Update Walnascar release date&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
See also [https://docs.yoctoproject.org/dev/_images/releases.svg a graphical release timeline].&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Wrynose&lt;br /&gt;
|6.0&lt;br /&gt;
| April 2026&lt;br /&gt;
|&lt;br /&gt;
|Future&lt;br /&gt;
|N/A&lt;br /&gt;
|2.16&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Whinlatter&lt;br /&gt;
|5.3&lt;br /&gt;
| October 2025&lt;br /&gt;
|&lt;br /&gt;
|Future&lt;br /&gt;
|N/A&lt;br /&gt;
|2.14&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|[[Recipe_Versions|Recipe versions]]&lt;br /&gt;
|-&lt;br /&gt;
|Walnascar (aka Walna)&lt;br /&gt;
|5.2&lt;br /&gt;
| May 2025&lt;br /&gt;
|&lt;br /&gt;
|Support for 7 months (until November 2025)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.12&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|[[Recipe_Versions|Recipe versions]]&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Styhead &amp;lt;br/&amp;gt;(like &#039;try head&#039;)&lt;br /&gt;
|5.1&lt;br /&gt;
| October 2024&lt;br /&gt;
|5.1.4 (April 2025)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.10&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Scarthgap&lt;br /&gt;
|5.0&lt;br /&gt;
| April 2024&lt;br /&gt;
| 5.0.9 (May 2025)&lt;br /&gt;
|Long Term Support (until April 2028)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.8&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|[[Recipe_Versions|Recipe versions]]&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| November 2023&lt;br /&gt;
| 4.3.4 (April 2024)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|- style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2.4 (December 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.26 (April 2025)&lt;br /&gt;
|Long Term Support (Apr. 2026¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.33 (May 2024)&lt;br /&gt;
| EOL - LTS¹&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series and 4.0 were originally planned for two years but extended to four. Future LTS releases are planned for 4 years.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Yocto_Project_Workshop_Embedded_Recipes_2025&amp;diff=86604</id>
		<title>Yocto Project Workshop Embedded Recipes 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Yocto_Project_Workshop_Embedded_Recipes_2025&amp;diff=86604"/>
		<updated>2025-04-10T04:25:16Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: Initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See https://www.yoctoproject.org/event/embedded-recipes-workshop-25/ for registration and call for participation links.&lt;br /&gt;
&lt;br /&gt;
=== Pitch your projects ===&lt;br /&gt;
&lt;br /&gt;
Take the opportunity to join the stage for up to 5 minutes and share what you&#039;re doing with Yocto - New recipes, new layers, new tooling, or just what you&#039;re trying to do and the challenges you&#039;re facing.&lt;br /&gt;
&lt;br /&gt;
To participate, add your name to the list below. Attach a short slide deck if you wish, or ask [[User:Michael Opdenacker|Michael Opdenacker]] to do it for you.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#c0e0e0&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#c0e0e0&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &#039;&#039;&#039;Presenter&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &#039;&#039;&#039;Pitch description&#039;&#039;&#039;                                  &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &#039;&#039;&#039;Slides or link&#039;&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
| Michael Opdenacker&lt;br /&gt;
| Testing Yocto Security Features&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Josef Holzmayr&lt;br /&gt;
| Getting More People Involved&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Project_Users&amp;diff=86591</id>
		<title>Project Users</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Project_Users&amp;diff=86591"/>
		<updated>2025-03-19T06:57:46Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Products that use the Yocto Project */ Add missing parenthesis&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It&#039;s hard to know which companies or projects use the Yocto Project since there is no requirement to tell us. This list is here to informally collate the companies, projects and products that use the Yocto Project in some way. This helps the project since it means we can show at least some cross section of which companies are using it and how/where. There is more information about this here: https://lists.yoctoproject.org/g/yocto/topic/82722441&lt;br /&gt;
&lt;br /&gt;
= Companies using the Yocto Project =&lt;br /&gt;
&lt;br /&gt;
== Semiconductor Vendors ==&lt;br /&gt;
* AMD (Platinum Member)&lt;br /&gt;
* ARM (Platinum Member)&lt;br /&gt;
* Intel (Platinum Member)&lt;br /&gt;
* Microchip&lt;br /&gt;
* NXP (Silver Member)&lt;br /&gt;
* Qualcomm(Platinum Member)&lt;br /&gt;
* Renesas (Gold Member)&lt;br /&gt;
* STMicroelectronics (Silver Member)&lt;br /&gt;
* Texas Instruments (Gold Member)&lt;br /&gt;
* Xilinx (AMD Platinum Member)&lt;br /&gt;
&lt;br /&gt;
== Operating System Vendors ==&lt;br /&gt;
* ENEA (Silver Member)&lt;br /&gt;
* Linaro (Gold Member)&lt;br /&gt;
* Lineo (Silver Member)&lt;br /&gt;
* Mentor Graphics (Siemens Gold Member)&lt;br /&gt;
* Microsoft (Platinum Member)&lt;br /&gt;
* Montavista (Silver Member)&lt;br /&gt;
* Wind River (Platinum Member)&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
* [https://3mdeb.com/ 3mdeb]&lt;br /&gt;
* [https://alladin.at/ alladin-IT GmbH]&lt;br /&gt;
* [https://www.ambu.com/ Ambu] (Endoscope video devices)&lt;br /&gt;
* [https://www.arthrex.co.uk/ Arthrex] (Surgical video products)&lt;br /&gt;
* Atlas Copco&lt;br /&gt;
* AWS (Platinum Member)&lt;br /&gt;
* [https://www.axis.com/ Axis Communications] (Silver Member)&lt;br /&gt;
* [https://www.balena.io/ Balena]&lt;br /&gt;
* [https://www.brose.com/ Brose]&lt;br /&gt;
* BMW&lt;br /&gt;
* BMW Car IT(Platinum Member)&lt;br /&gt;
* [https://www.brightsign.biz/ BrightSign]&lt;br /&gt;
* [https://www.bruker.com/ Bruker BioSpin GmbH]&lt;br /&gt;
* [https://bootlin.com/ Bootlin (Silver Member)]&lt;br /&gt;
* Cisco (Platinum Member)&lt;br /&gt;
* CNH Industrial&lt;br /&gt;
* Comcast (Platinum Member)&lt;br /&gt;
* [https://www.cytera.bio/ Cytera] (via Belena)&lt;br /&gt;
* Dell (Silver Member)&lt;br /&gt;
* [https://www.denx.de/ DENX Software Engineering]&lt;br /&gt;
* Dynamic Devices&lt;br /&gt;
* Ekinops&lt;br /&gt;
* [https://www.ericsson.com Ericsson]&lt;br /&gt;
* Facebook (Meta)&lt;br /&gt;
* [https://formlabs.com/ Formlabs]&lt;br /&gt;
* Fujitsu&lt;br /&gt;
* [https://www.gardena.com/ GARDENA] (Husqvarna Group)&lt;br /&gt;
* [https://www.garmin.com/ Garmin] (Platinum Member)&lt;br /&gt;
* General Electric&lt;br /&gt;
* [https://genielifesciences.com/ Genie Life Sciences]&lt;br /&gt;
* Gigaset Communications GmbH &lt;br /&gt;
* [https://hillrom.com Hillrom]&lt;br /&gt;
* [https://www.hanoverdisplays.com/ Hanover]&lt;br /&gt;
* Juniper&lt;br /&gt;
* [https://koansoftware.com/ KOAN sas]&lt;br /&gt;
* Kodak&lt;br /&gt;
* [https://www.korg.com/ Korg]&lt;br /&gt;
* [https://lawo.com/ LAWO]&lt;br /&gt;
* Lexmark&lt;br /&gt;
* LG (Platinum Member)&lt;br /&gt;
* [https://lightyear.one/ Lightyear]&lt;br /&gt;
* National Instruments&lt;br /&gt;
* [https://www.ovo.auto/ OVO Automotive]&lt;br /&gt;
* [https://www.pengutronix.de/ Pengutronix]&lt;br /&gt;
* [https://remarkable.com/ reMarkable]&lt;br /&gt;
* [https://www.rethinkrobotics.com/ Rethink Robotics GmbH]&lt;br /&gt;
* [https://rootcommit.com Root Commit]&lt;br /&gt;
* [https://www.siemens.com/ Siemens] (Gold Member)&lt;br /&gt;
* [https://www.smile.eu/en/offers/embedded-iot Smile ECS (Silver Member)]&lt;br /&gt;
* Sonos&lt;br /&gt;
* StreamUnlimited Engineering GmbH&lt;br /&gt;
* [https://www.taitradio.com Tait Communications]&lt;br /&gt;
* [https://www.witekio.com/values-expertise/ Witekio (Gold Member)]&lt;br /&gt;
* [https://vecima.com Vecima Networks]&lt;br /&gt;
* [https://www.veobot.com/ Veo Robotics]&lt;br /&gt;
&lt;br /&gt;
= Products that use the Yocto Project =&lt;br /&gt;
&lt;br /&gt;
* Amazon Eero&lt;br /&gt;
* Amazon Echo Show 5 and Echo Hub&lt;br /&gt;
* Ambu aview2 and abox2 &lt;br /&gt;
* BMW cars&lt;br /&gt;
* [https://www.cambridgeaudio.com/ Cambridge Audio] network streamers&lt;br /&gt;
* Comcast set top boxes&lt;br /&gt;
* [https://dasharo.com/ Dasharo]&lt;br /&gt;
* [https://www.gardena.com/int/products/smart/ GARDENA smart garden] (The smart garden gateway runs Yocto/OpenEmbedded. Open source parts can be found [https://github.com/husqvarnagroup/smart-garden-gateway-public on GitHub.])&lt;br /&gt;
* Some Garmin [https://www.garmin.com/marine/ Marine] Products&lt;br /&gt;
* Gigaset DSPG-SOCs based products (e.g N870, N870 Integrator, Marine 2/3/4)&lt;br /&gt;
* Go Pro (https://gopro.com/content/dam/help/open-source/2020-09-28%20-%20HERO9%20Black%20-GoPro%20Open%20Source%20Software%20Notice.pdf)&lt;br /&gt;
* Ikea [https://www.ikea.com/gb/en/p/dirigera-hub-for-smart-products-white-smart-50503409/ DIRIGERA Smart Hub] ([https://github.com/ikea-oss-distributions/DIRIGERA-hub source])&lt;br /&gt;
* [https://www.korg.com/uk/products/synthesizers/wavestate/ Korg Wavestate Synthesizer] ([https://github.com/korginc/wavestate_OSS sources])&lt;br /&gt;
* LAWO [https://lawo.com/products/a__uhd-core/  A__UHD Core] [https://lawo.com/products/a__line/ A__ Line]&lt;br /&gt;
* Lexmark Printers&lt;br /&gt;
* LG webOS TVs&lt;br /&gt;
* Lightyear 0 solar EV (Telematics Control Unit)&lt;br /&gt;
* Mellanox Bluefield SmartNIC&lt;br /&gt;
* [https://new.siemens.com/global/en/products/buildings.html Siemens Smart Infrastructure]: Products for sustainable, efficient and safe buildings&lt;br /&gt;
* Sky Glass (clear from sources tarball [http://oss.sky.com/SkyHD/SkyGlass/skyglass_spk.tar.bz2])&lt;br /&gt;
* [https://www.streamunlimited.com/hardware-modules/ StreamUnlimited hardware modules for voice assistants and connected speakers]&lt;br /&gt;
* Vernier LabQuest&lt;br /&gt;
* Teledyne FLIR thermal cameras (https://github.com/flir-cx/flir-yocto-documentation)&lt;br /&gt;
* myVaillant smart home devices (https://opensource.myvaillant.com)&lt;br /&gt;
* reMarkable E-ink tablets (https://developer.remarkable.com/documentation/software-stack)&lt;br /&gt;
* Eight Sleep Pod ([https://blopker.com/writing/04-zerosleep-1/ from a rooting guide])&lt;br /&gt;
&lt;br /&gt;
= Projects that use the Yocto Project =&lt;br /&gt;
&lt;br /&gt;
* [https://asteroidos.org/ AsteroidOS]&lt;br /&gt;
* [https://www.automotivelinux.org/ Automotive Grade Linux (AGL)]&lt;br /&gt;
* [https://www.balena.io/ Balena]&lt;br /&gt;
* Comcast RDK&lt;br /&gt;
* [https://easyos.org/ EasyOS]&lt;br /&gt;
* [https://github.com/oe-alliance Various Enigma2 based set-top boxes]&lt;br /&gt;
* [https://www.webos-ports.org LuneOS]&lt;br /&gt;
* Nvidia vibrante SDK [https://docs.nvidia.com/drive/archive/4.1.8.0L/nvoss_docs/index.html]&lt;br /&gt;
* OpenBMC&lt;br /&gt;
* [https://oryx-linux.org/ Oryx Linux]&lt;br /&gt;
* [https://github.com/riscv/meta-riscv RISC-V]&lt;br /&gt;
* [https://www.streamunlimited.com/stream-sdk/ StreamSDK for voice assistants and connected speakers]&lt;br /&gt;
* Windows Subsystem Linux (v1+v2)&lt;br /&gt;
* webOS&lt;br /&gt;
* [https://www.webosose.org/ webOS OSE (Open Source Edition)]&lt;br /&gt;
* [http://yoedistro.org The Yoe Distribution]&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Project_Users&amp;diff=86590</id>
		<title>Project Users</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Project_Users&amp;diff=86590"/>
		<updated>2025-03-19T05:38:23Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Others */ Add Root Commit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It&#039;s hard to know which companies or projects use the Yocto Project since there is no requirement to tell us. This list is here to informally collate the companies, projects and products that use the Yocto Project in some way. This helps the project since it means we can show at least some cross section of which companies are using it and how/where. There is more information about this here: https://lists.yoctoproject.org/g/yocto/topic/82722441&lt;br /&gt;
&lt;br /&gt;
= Companies using the Yocto Project =&lt;br /&gt;
&lt;br /&gt;
== Semiconductor Vendors ==&lt;br /&gt;
* AMD (Platinum Member)&lt;br /&gt;
* ARM (Platinum Member)&lt;br /&gt;
* Intel (Platinum Member)&lt;br /&gt;
* Microchip&lt;br /&gt;
* NXP (Silver Member)&lt;br /&gt;
* Qualcomm(Platinum Member)&lt;br /&gt;
* Renesas (Gold Member)&lt;br /&gt;
* STMicroelectronics (Silver Member)&lt;br /&gt;
* Texas Instruments (Gold Member)&lt;br /&gt;
* Xilinx (AMD Platinum Member)&lt;br /&gt;
&lt;br /&gt;
== Operating System Vendors ==&lt;br /&gt;
* ENEA (Silver Member)&lt;br /&gt;
* Linaro (Gold Member)&lt;br /&gt;
* Lineo (Silver Member)&lt;br /&gt;
* Mentor Graphics (Siemens Gold Member)&lt;br /&gt;
* Microsoft (Platinum Member)&lt;br /&gt;
* Montavista (Silver Member)&lt;br /&gt;
* Wind River (Platinum Member)&lt;br /&gt;
&lt;br /&gt;
== Others ==&lt;br /&gt;
* [https://3mdeb.com/ 3mdeb]&lt;br /&gt;
* [https://alladin.at/ alladin-IT GmbH]&lt;br /&gt;
* [https://www.ambu.com/ Ambu] (Endoscope video devices)&lt;br /&gt;
* [https://www.arthrex.co.uk/ Arthrex] (Surgical video products)&lt;br /&gt;
* Atlas Copco&lt;br /&gt;
* AWS (Platinum Member)&lt;br /&gt;
* [https://www.axis.com/ Axis Communications] (Silver Member)&lt;br /&gt;
* [https://www.balena.io/ Balena]&lt;br /&gt;
* [https://www.brose.com/ Brose]&lt;br /&gt;
* BMW&lt;br /&gt;
* BMW Car IT(Platinum Member)&lt;br /&gt;
* [https://www.brightsign.biz/ BrightSign]&lt;br /&gt;
* [https://www.bruker.com/ Bruker BioSpin GmbH]&lt;br /&gt;
* [https://bootlin.com/ Bootlin (Silver Member)]&lt;br /&gt;
* Cisco (Platinum Member)&lt;br /&gt;
* CNH Industrial&lt;br /&gt;
* Comcast (Platinum Member)&lt;br /&gt;
* [https://www.cytera.bio/ Cytera] (via Belena)&lt;br /&gt;
* Dell (Silver Member)&lt;br /&gt;
* [https://www.denx.de/ DENX Software Engineering]&lt;br /&gt;
* Dynamic Devices&lt;br /&gt;
* Ekinops&lt;br /&gt;
* [https://www.ericsson.com Ericsson]&lt;br /&gt;
* Facebook (Meta)&lt;br /&gt;
* [https://formlabs.com/ Formlabs]&lt;br /&gt;
* Fujitsu&lt;br /&gt;
* [https://www.gardena.com/ GARDENA] (Husqvarna Group)&lt;br /&gt;
* [https://www.garmin.com/ Garmin] (Platinum Member)&lt;br /&gt;
* General Electric&lt;br /&gt;
* [https://genielifesciences.com/ Genie Life Sciences]&lt;br /&gt;
* Gigaset Communications GmbH &lt;br /&gt;
* [https://hillrom.com Hillrom]&lt;br /&gt;
* [https://www.hanoverdisplays.com/ Hanover]&lt;br /&gt;
* Juniper&lt;br /&gt;
* [https://koansoftware.com/ KOAN sas]&lt;br /&gt;
* Kodak&lt;br /&gt;
* [https://www.korg.com/ Korg]&lt;br /&gt;
* [https://lawo.com/ LAWO]&lt;br /&gt;
* Lexmark&lt;br /&gt;
* LG (Platinum Member)&lt;br /&gt;
* [https://lightyear.one/ Lightyear]&lt;br /&gt;
* National Instruments&lt;br /&gt;
* [https://www.ovo.auto/ OVO Automotive]&lt;br /&gt;
* [https://www.pengutronix.de/ Pengutronix]&lt;br /&gt;
* [https://remarkable.com/ reMarkable]&lt;br /&gt;
* [https://www.rethinkrobotics.com/ Rethink Robotics GmbH]&lt;br /&gt;
* [https://rootcommit.com Root Commit]&lt;br /&gt;
* [https://www.siemens.com/ Siemens] (Gold Member)&lt;br /&gt;
* [https://www.smile.eu/en/offers/embedded-iot Smile ECS (Silver Member)]&lt;br /&gt;
* Sonos&lt;br /&gt;
* StreamUnlimited Engineering GmbH&lt;br /&gt;
* [https://www.taitradio.com Tait Communications]&lt;br /&gt;
* [https://www.witekio.com/values-expertise/ Witekio (Gold Member)]&lt;br /&gt;
* [https://vecima.com Vecima Networks]&lt;br /&gt;
* [https://www.veobot.com/ Veo Robotics]&lt;br /&gt;
&lt;br /&gt;
= Products that use the Yocto Project =&lt;br /&gt;
&lt;br /&gt;
* Amazon Eero&lt;br /&gt;
* Amazon Echo Show 5 and Echo Hub&lt;br /&gt;
* Ambu aview2 and abox2 &lt;br /&gt;
* BMW cars&lt;br /&gt;
* [https://www.cambridgeaudio.com/ Cambridge Audio] network streamers&lt;br /&gt;
* Comcast set top boxes&lt;br /&gt;
* [https://dasharo.com/ Dasharo]&lt;br /&gt;
* [https://www.gardena.com/int/products/smart/ GARDENA smart garden] (The smart garden gateway runs Yocto/OpenEmbedded. Open source parts can be found [https://github.com/husqvarnagroup/smart-garden-gateway-public on GitHub.])&lt;br /&gt;
* Some Garmin [https://www.garmin.com/marine/ Marine] Products&lt;br /&gt;
* Gigaset DSPG-SOCs based products (e.g N870, N870 Integrator, Marine 2/3/4)&lt;br /&gt;
* Go Pro (https://gopro.com/content/dam/help/open-source/2020-09-28%20-%20HERO9%20Black%20-GoPro%20Open%20Source%20Software%20Notice.pdf)&lt;br /&gt;
* Ikea [https://www.ikea.com/gb/en/p/dirigera-hub-for-smart-products-white-smart-50503409/ DIRIGERA Smart Hub] ([https://github.com/ikea-oss-distributions/DIRIGERA-hub source])&lt;br /&gt;
* [https://www.korg.com/uk/products/synthesizers/wavestate/ Korg Wavestate Synthesizer] ([https://github.com/korginc/wavestate_OSS sources])&lt;br /&gt;
* LAWO [https://lawo.com/products/a__uhd-core/  A__UHD Core] [https://lawo.com/products/a__line/ A__ Line]&lt;br /&gt;
* Lexmark Printers&lt;br /&gt;
* LG webOS TVs&lt;br /&gt;
* Lightyear 0 solar EV (Telematics Control Unit)&lt;br /&gt;
* Mellanox Bluefield SmartNIC&lt;br /&gt;
* [https://new.siemens.com/global/en/products/buildings.html Siemens Smart Infrastructure]: Products for sustainable, efficient and safe buildings&lt;br /&gt;
* Sky Glass (clear from sources tarball [http://oss.sky.com/SkyHD/SkyGlass/skyglass_spk.tar.bz2])&lt;br /&gt;
* [https://www.streamunlimited.com/hardware-modules/ StreamUnlimited hardware modules for voice assistants and connected speakers]&lt;br /&gt;
* Vernier LabQuest&lt;br /&gt;
* Teledyne FLIR thermal cameras (https://github.com/flir-cx/flir-yocto-documentation)&lt;br /&gt;
* myVaillant smart home devices (https://opensource.myvaillant.com)&lt;br /&gt;
* reMarkable E-ink tablets (https://developer.remarkable.com/documentation/software-stack)&lt;br /&gt;
* Eight Sleep Pod ([https://blopker.com/writing/04-zerosleep-1/ from a rooting guide]&lt;br /&gt;
&lt;br /&gt;
= Projects that use the Yocto Project =&lt;br /&gt;
&lt;br /&gt;
* [https://asteroidos.org/ AsteroidOS]&lt;br /&gt;
* [https://www.automotivelinux.org/ Automotive Grade Linux (AGL)]&lt;br /&gt;
* [https://www.balena.io/ Balena]&lt;br /&gt;
* Comcast RDK&lt;br /&gt;
* [https://easyos.org/ EasyOS]&lt;br /&gt;
* [https://github.com/oe-alliance Various Enigma2 based set-top boxes]&lt;br /&gt;
* [https://www.webos-ports.org LuneOS]&lt;br /&gt;
* Nvidia vibrante SDK [https://docs.nvidia.com/drive/archive/4.1.8.0L/nvoss_docs/index.html]&lt;br /&gt;
* OpenBMC&lt;br /&gt;
* [https://oryx-linux.org/ Oryx Linux]&lt;br /&gt;
* [https://github.com/riscv/meta-riscv RISC-V]&lt;br /&gt;
* [https://www.streamunlimited.com/stream-sdk/ StreamSDK for voice assistants and connected speakers]&lt;br /&gt;
* Windows Subsystem Linux (v1+v2)&lt;br /&gt;
* webOS&lt;br /&gt;
* [https://www.webosose.org/ webOS OSE (Open Source Edition)]&lt;br /&gt;
* [http://yoedistro.org The Yoe Distribution]&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=User:Michael_Opdenacker&amp;diff=86589</id>
		<title>User:Michael Opdenacker</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=User:Michael_Opdenacker&amp;diff=86589"/>
		<updated>2025-03-19T05:36:44Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: Update my description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Michael Opdenacker is the founder of [https://rootcommit.com Root Commit], a consulting and training company specializing in Free and Open Source Software for embedded systems, and a heavy user of the Yocto Project. Michael has made code and documentation contributions to the Yocto Project.&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86327</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86327"/>
		<updated>2024-04-30T19:25:34Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Project status */ Update status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
Here are other tests that would be worth implementing:&lt;br /&gt;
* Check that package upgrades don&#039;t cause configuration file changes to be lost. See [https://lore.kernel.org/openembedded-core/0e38566f-a1f9-4ebb-8492-2c50945eeeb4@gmail.com/T/#t this discussion].&lt;br /&gt;
* Check that the latest package upgrades successfully apply to any previous release, at least on the same branch. For example, upgrading directly from release x.y.n-2 to x.y may not work without going through x.y.n-1 as an intermediate. This could happen if a package has a really broken post-install script in n-2, which damage is repaired in n-1. Should n repair it too in case n-1 is skipped?&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== PR server passthrough ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to enable a local distribution to use packages from an &amp;quot;upstream&amp;quot; distribution, but customize specific ones so that the locally built packages have priority over the upstream ones.&lt;br /&gt;
&lt;br /&gt;
As for the Hash Equivalence server, we know have [https://lore.kernel.org/bitbake-devel/20240329143956.1602707-1-michael.opdenacker@bootlin.com/T/#t a patchset] enabling a local PR server to contact an &amp;quot;upstream&amp;quot; server to compute the local PR value. Therefore, if an upstream package bears revision &amp;lt;x&amp;gt;, the local version of it can have revision &amp;lt;x&amp;gt;.&amp;lt;y&amp;gt;, having priority other the upstream one.&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
Open questions:&lt;br /&gt;
* When do we run updates? What does process look like?&lt;br /&gt;
* How long are the feeds maintained?&lt;br /&gt;
* How do we handle PR and PE changes wrt to the core layers?&lt;br /&gt;
* Do we add a default user? How do we handle image passwords? root password?&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing adding new layers to the binary distro test artifacts process ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* In addition, layers must be well written and be targetting project best practices like reproducibility, no network access outside fetching so mirroring and licensing auditing works and not skipping QA tests without good reason.&lt;br /&gt;
* Any dependency layers would already have to be included in the testing already or make a separate application for addition first.&lt;br /&gt;
* The layer being added must be suitably generic with a clear need/usage of the components provided by the layer in the ecosystem&lt;br /&gt;
* The layer maintainer must have a commitment to keeping recipe upgrades functional&lt;br /&gt;
* The proposal must make it clear which recipes within the layer are being proposed to be built&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of a new MACHINE target ===&lt;br /&gt;
&lt;br /&gt;
* Layers to build the machine need to be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Layers need to be buildable on the project autobuilder&lt;br /&gt;
* Needs to be Yocto Project membership sponsorship of the machine due to the project resource usage&lt;br /&gt;
* Needs to be a commitment to testing the images for the platform for releases and upgrades&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of new recipe to the build ===&lt;br /&gt;
&lt;br /&gt;
* This process assumes the layer is already present but the recipe is not currently included in the test matrix&lt;br /&gt;
* The recipe would need to have demonstrated the ability to pass on target installation and upgrade&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
* The software needs to have a good maintenance track record including reasonable CVE response&lt;br /&gt;
* Note: The TSC is aiming to appoint a maintainer to take the lead on resolving binary distro testing issues and handling recipe addition requests.&lt;br /&gt;
&lt;br /&gt;
=== TSC Criteria for change evaluation ===&lt;br /&gt;
&lt;br /&gt;
* Does the project have resources (human and compute for build/test/QA/bugfixing) to support the change?&lt;br /&gt;
* Is the change widely useful to a significant portion of the user base?&lt;br /&gt;
* Does the change enhance the project&#039;s test matrix?&lt;br /&gt;
* Does the change significantly improve developer productivity?&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
=== Yocto Project Documentation improvements ===&lt;br /&gt;
&lt;br /&gt;
* [https://lore.kernel.org/yocto-docs/20231206155427.279612-1-michael.opdenacker@bootlin.com/T/#t Fixes and updates to the Test Environment Manual]&lt;br /&gt;
&lt;br /&gt;
== Project status ==&lt;br /&gt;
&lt;br /&gt;
Here is the status of the various deliverables, according to the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ project specifications]:&lt;br /&gt;
&lt;br /&gt;
# Define the scope of a binary distro prototype (which recipes and machines to target)&amp;lt;br /&amp;gt;Completed - See the top of this page: [[#Scope of a Yocto Binary Distribution Prototype]]&lt;br /&gt;
# Add automated testing of upgrading an image from our previous release to the current version using a package feed.&amp;lt;br /&amp;gt;[https://lore.kernel.org/openembedded-core/20240429152221.3405405-1-michael.opdenacker@bootlin.com/T/#u An implementation as an oe-selftest] is available.&lt;br /&gt;
# Implement PR server functionality to handle “pass through” mode and hierarchy data.&amp;lt;br /&amp;gt;[https://lore.kernel.org/bitbake-devel/20240430171512.936371-1-michael.opdenacker@bootlin.com/T/#t Patch series] submitted for the &amp;quot;passthrough&amp;quot; functionality, support for multiple upstream servers, and support for concurrent access from a read-write and a read-only server. This also adds bitbake-selftests to check all existing and new features and to detect future regressions. &amp;quot;oe-selftest - prservice&amp;quot; tests also pass provided an [https://lore.kernel.org/openembedded-core/20240429194656.655509-1-michael.opdenacker@bootlin.com/T/#u OE-core patch] is also merged.&lt;br /&gt;
# Automated testing of the ability to assemble images quickly from sstate/PRServ/Hashequiv data.&amp;lt;br /&amp;gt;Possible thanks to the use of the PR server in read-only mode.&lt;br /&gt;
# Propose policies/requirements on how a binary reference distro for the project would behave. Need to include proposed policies for including new recipes and extending to cover new platforms/architectures.&amp;lt;br /&amp;gt;Proposal available on [[#Policies_and_Processes]], thanks to Richard and the TSC.&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Can my product point at your package feed?&lt;br /&gt;
A: No. The aim of this work is demonstrate the tools, processes and policies needed to build a binary distribution using the project. There is no commitment or guarantee to maintain the feeds for any product use case or with any guarantees around security issues. Please do not point products at these package feeds.&lt;br /&gt;
&lt;br /&gt;
== Footnotes and references ==&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86326</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86326"/>
		<updated>2024-04-30T17:26:54Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Project status */ Update status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
Here are other tests that would be worth implementing:&lt;br /&gt;
* Check that package upgrades don&#039;t cause configuration file changes to be lost. See [https://lore.kernel.org/openembedded-core/0e38566f-a1f9-4ebb-8492-2c50945eeeb4@gmail.com/T/#t this discussion].&lt;br /&gt;
* Check that the latest package upgrades successfully apply to any previous release, at least on the same branch. For example, upgrading directly from release x.y.n-2 to x.y may not work without going through x.y.n-1 as an intermediate. This could happen if a package has a really broken post-install script in n-2, which damage is repaired in n-1. Should n repair it too in case n-1 is skipped?&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== PR server passthrough ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to enable a local distribution to use packages from an &amp;quot;upstream&amp;quot; distribution, but customize specific ones so that the locally built packages have priority over the upstream ones.&lt;br /&gt;
&lt;br /&gt;
As for the Hash Equivalence server, we know have [https://lore.kernel.org/bitbake-devel/20240329143956.1602707-1-michael.opdenacker@bootlin.com/T/#t a patchset] enabling a local PR server to contact an &amp;quot;upstream&amp;quot; server to compute the local PR value. Therefore, if an upstream package bears revision &amp;lt;x&amp;gt;, the local version of it can have revision &amp;lt;x&amp;gt;.&amp;lt;y&amp;gt;, having priority other the upstream one.&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
Open questions:&lt;br /&gt;
* When do we run updates? What does process look like?&lt;br /&gt;
* How long are the feeds maintained?&lt;br /&gt;
* How do we handle PR and PE changes wrt to the core layers?&lt;br /&gt;
* Do we add a default user? How do we handle image passwords? root password?&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing adding new layers to the binary distro test artifacts process ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* In addition, layers must be well written and be targetting project best practices like reproducibility, no network access outside fetching so mirroring and licensing auditing works and not skipping QA tests without good reason.&lt;br /&gt;
* Any dependency layers would already have to be included in the testing already or make a separate application for addition first.&lt;br /&gt;
* The layer being added must be suitably generic with a clear need/usage of the components provided by the layer in the ecosystem&lt;br /&gt;
* The layer maintainer must have a commitment to keeping recipe upgrades functional&lt;br /&gt;
* The proposal must make it clear which recipes within the layer are being proposed to be built&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of a new MACHINE target ===&lt;br /&gt;
&lt;br /&gt;
* Layers to build the machine need to be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Layers need to be buildable on the project autobuilder&lt;br /&gt;
* Needs to be Yocto Project membership sponsorship of the machine due to the project resource usage&lt;br /&gt;
* Needs to be a commitment to testing the images for the platform for releases and upgrades&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of new recipe to the build ===&lt;br /&gt;
&lt;br /&gt;
* This process assumes the layer is already present but the recipe is not currently included in the test matrix&lt;br /&gt;
* The recipe would need to have demonstrated the ability to pass on target installation and upgrade&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
* The software needs to have a good maintenance track record including reasonable CVE response&lt;br /&gt;
* Note: The TSC is aiming to appoint a maintainer to take the lead on resolving binary distro testing issues and handling recipe addition requests.&lt;br /&gt;
&lt;br /&gt;
=== TSC Criteria for change evaluation ===&lt;br /&gt;
&lt;br /&gt;
* Does the project have resources (human and compute for build/test/QA/bugfixing) to support the change?&lt;br /&gt;
* Is the change widely useful to a significant portion of the user base?&lt;br /&gt;
* Does the change enhance the project&#039;s test matrix?&lt;br /&gt;
* Does the change significantly improve developer productivity?&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
=== Yocto Project Documentation improvements ===&lt;br /&gt;
&lt;br /&gt;
* [https://lore.kernel.org/yocto-docs/20231206155427.279612-1-michael.opdenacker@bootlin.com/T/#t Fixes and updates to the Test Environment Manual]&lt;br /&gt;
&lt;br /&gt;
== Project status ==&lt;br /&gt;
&lt;br /&gt;
Here is the status of the various deliverables, according to the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ project specifications]:&lt;br /&gt;
&lt;br /&gt;
# Define the scope of a binary distro prototype (which recipes and machines to target)&amp;lt;br /&amp;gt;Completed - See the top of this page: [[#Scope of a Yocto Binary Distribution Prototype]]&lt;br /&gt;
# Add automated testing of upgrading an image from our previous release to the current version using a package feed.&amp;lt;br /&amp;gt;Code [https://lore.kernel.org/openembedded-core/20240429152221.3405405-1-michael.opdenacker@bootlin.com/T/#u implemented as an oe-selftest] has been submitted, taking the first reviews into account. &lt;br /&gt;
# Implement PR server functionality to handle “pass through” mode and hierarchy data.&amp;lt;br /&amp;gt;[https://lore.kernel.org/bitbake-devel/20240423093739.364140-1-michael.opdenacker@bootlin.com/T/#t Patch series] submitted for the &amp;quot;passthrough&amp;quot; functionality, support for multiple upstream servers, and support for concurrent access from a read-write and a read-only server. This also adds bitbake-selftests to check all existing and new features and to detect future regressions. &amp;quot;oe-selftest - prservice&amp;quot; tests also pass provided an [https://lore.kernel.org/openembedded-core/20240429194656.655509-1-michael.opdenacker@bootlin.com/T/#u OE-core patch] is also merged.&lt;br /&gt;
# Automated testing of the ability to assemble images quickly from sstate/PRServ/Hashequiv data.&amp;lt;br /&amp;gt;Possible thanks to the use of the PR server in read-only mode.&lt;br /&gt;
# Propose policies/requirements on how a binary reference distro for the project would behave. Need to include proposed policies for including new recipes and extending to cover new platforms/architectures.&amp;lt;br /&amp;gt;Proposal available on [[#Policies_and_Processes]], thanks to Richard and the TSC.&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Can my product point at your package feed?&lt;br /&gt;
A: No. The aim of this work is demonstrate the tools, processes and policies needed to build a binary distribution using the project. There is no commitment or guarantee to maintain the feeds for any product use case or with any guarantees around security issues. Please do not point products at these package feeds.&lt;br /&gt;
&lt;br /&gt;
== Footnotes and references ==&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86323</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86323"/>
		<updated>2024-04-29T15:25:55Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Project status */ Update status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
Here are other tests that would be worth implementing:&lt;br /&gt;
* Check that package upgrades don&#039;t cause configuration file changes to be lost. See [https://lore.kernel.org/openembedded-core/0e38566f-a1f9-4ebb-8492-2c50945eeeb4@gmail.com/T/#t this discussion].&lt;br /&gt;
* Check that the latest package upgrades successfully apply to any previous release, at least on the same branch. For example, upgrading directly from release x.y.n-2 to x.y may not work without going through x.y.n-1 as an intermediate. This could happen if a package has a really broken post-install script in n-2, which damage is repaired in n-1. Should n repair it too in case n-1 is skipped?&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== PR server passthrough ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to enable a local distribution to use packages from an &amp;quot;upstream&amp;quot; distribution, but customize specific ones so that the locally built packages have priority over the upstream ones.&lt;br /&gt;
&lt;br /&gt;
As for the Hash Equivalence server, we know have [https://lore.kernel.org/bitbake-devel/20240329143956.1602707-1-michael.opdenacker@bootlin.com/T/#t a patchset] enabling a local PR server to contact an &amp;quot;upstream&amp;quot; server to compute the local PR value. Therefore, if an upstream package bears revision &amp;lt;x&amp;gt;, the local version of it can have revision &amp;lt;x&amp;gt;.&amp;lt;y&amp;gt;, having priority other the upstream one.&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
Open questions:&lt;br /&gt;
* When do we run updates? What does process look like?&lt;br /&gt;
* How long are the feeds maintained?&lt;br /&gt;
* How do we handle PR and PE changes wrt to the core layers?&lt;br /&gt;
* Do we add a default user? How do we handle image passwords? root password?&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing adding new layers to the binary distro test artifacts process ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* In addition, layers must be well written and be targetting project best practices like reproducibility, no network access outside fetching so mirroring and licensing auditing works and not skipping QA tests without good reason.&lt;br /&gt;
* Any dependency layers would already have to be included in the testing already or make a separate application for addition first.&lt;br /&gt;
* The layer being added must be suitably generic with a clear need/usage of the components provided by the layer in the ecosystem&lt;br /&gt;
* The layer maintainer must have a commitment to keeping recipe upgrades functional&lt;br /&gt;
* The proposal must make it clear which recipes within the layer are being proposed to be built&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of a new MACHINE target ===&lt;br /&gt;
&lt;br /&gt;
* Layers to build the machine need to be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Layers need to be buildable on the project autobuilder&lt;br /&gt;
* Needs to be Yocto Project membership sponsorship of the machine due to the project resource usage&lt;br /&gt;
* Needs to be a commitment to testing the images for the platform for releases and upgrades&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of new recipe to the build ===&lt;br /&gt;
&lt;br /&gt;
* This process assumes the layer is already present but the recipe is not currently included in the test matrix&lt;br /&gt;
* The recipe would need to have demonstrated the ability to pass on target installation and upgrade&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
* The software needs to have a good maintenance track record including reasonable CVE response&lt;br /&gt;
* Note: The TSC is aiming to appoint a maintainer to take the lead on resolving binary distro testing issues and handling recipe addition requests.&lt;br /&gt;
&lt;br /&gt;
=== TSC Criteria for change evaluation ===&lt;br /&gt;
&lt;br /&gt;
* Does the project have resources (human and compute for build/test/QA/bugfixing) to support the change?&lt;br /&gt;
* Is the change widely useful to a significant portion of the user base?&lt;br /&gt;
* Does the change enhance the project&#039;s test matrix?&lt;br /&gt;
* Does the change significantly improve developer productivity?&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
=== Yocto Project Documentation improvements ===&lt;br /&gt;
&lt;br /&gt;
* [https://lore.kernel.org/yocto-docs/20231206155427.279612-1-michael.opdenacker@bootlin.com/T/#t Fixes and updates to the Test Environment Manual]&lt;br /&gt;
&lt;br /&gt;
== Project status ==&lt;br /&gt;
&lt;br /&gt;
Here is the status of the various deliverables, according to the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ project specifications]:&lt;br /&gt;
&lt;br /&gt;
# Define the scope of a binary distro prototype (which recipes and machines to target)&amp;lt;br /&amp;gt;Completed - See the top of this page: [[#Scope of a Yocto Binary Distribution Prototype]]&lt;br /&gt;
# Add automated testing of upgrading an image from our previous release to the current version using a package feed.&amp;lt;br /&amp;gt;Code [https://lore.kernel.org/openembedded-core/20240429152221.3405405-1-michael.opdenacker@bootlin.com/T/#u implemented as an oe-selftest] has been submitted, taking the first reviews into account. &lt;br /&gt;
# Implement PR server functionality to handle “pass through” mode and hierarchy data.&amp;lt;br /&amp;gt;Fourth [https://lore.kernel.org/bitbake-devel/20240423093739.364140-1-michael.opdenacker@bootlin.com/T/#t patch series] submitted for the &amp;quot;passthrough&amp;quot; functionality, with support for multiple upstream servers. The patches to modernize the existing PR server code have already been merged. BitBake selftests are also implemented for most of the code functionality (database, client, server, support for upstream server, read-only mode, &amp;quot;history&amp;quot; and &amp;quot;no history&amp;quot; modes). A newer iteration, currently being tested, will also be posted by April 30, 2024, with support for multiple servers accessing the same database.&lt;br /&gt;
# Automated testing of the ability to assemble images quickly from sstate/PRServ/Hashequiv data.&amp;lt;br /&amp;gt;Possible thanks to the use of the PR server in read-only mode.&lt;br /&gt;
# Propose policies/requirements on how a binary reference distro for the project would behave. Need to include proposed policies for including new recipes and extending to cover new platforms/architectures.&amp;lt;br /&amp;gt;Proposal available on [[#Policies_and_Processes]], thanks to Richard and the TSC.&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Can my product point at your package feed?&lt;br /&gt;
A: No. The aim of this work is demonstrate the tools, processes and policies needed to build a binary distribution using the project. There is no commitment or guarantee to maintain the feeds for any product use case or with any guarantees around security issues. Please do not point products at these package feeds.&lt;br /&gt;
&lt;br /&gt;
== Footnotes and references ==&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86322</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86322"/>
		<updated>2024-04-29T08:12:59Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Project status */ Update status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
Here are other tests that would be worth implementing:&lt;br /&gt;
* Check that package upgrades don&#039;t cause configuration file changes to be lost. See [https://lore.kernel.org/openembedded-core/0e38566f-a1f9-4ebb-8492-2c50945eeeb4@gmail.com/T/#t this discussion].&lt;br /&gt;
* Check that the latest package upgrades successfully apply to any previous release, at least on the same branch. For example, upgrading directly from release x.y.n-2 to x.y may not work without going through x.y.n-1 as an intermediate. This could happen if a package has a really broken post-install script in n-2, which damage is repaired in n-1. Should n repair it too in case n-1 is skipped?&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== PR server passthrough ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to enable a local distribution to use packages from an &amp;quot;upstream&amp;quot; distribution, but customize specific ones so that the locally built packages have priority over the upstream ones.&lt;br /&gt;
&lt;br /&gt;
As for the Hash Equivalence server, we know have [https://lore.kernel.org/bitbake-devel/20240329143956.1602707-1-michael.opdenacker@bootlin.com/T/#t a patchset] enabling a local PR server to contact an &amp;quot;upstream&amp;quot; server to compute the local PR value. Therefore, if an upstream package bears revision &amp;lt;x&amp;gt;, the local version of it can have revision &amp;lt;x&amp;gt;.&amp;lt;y&amp;gt;, having priority other the upstream one.&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
Open questions:&lt;br /&gt;
* When do we run updates? What does process look like?&lt;br /&gt;
* How long are the feeds maintained?&lt;br /&gt;
* How do we handle PR and PE changes wrt to the core layers?&lt;br /&gt;
* Do we add a default user? How do we handle image passwords? root password?&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing adding new layers to the binary distro test artifacts process ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* In addition, layers must be well written and be targetting project best practices like reproducibility, no network access outside fetching so mirroring and licensing auditing works and not skipping QA tests without good reason.&lt;br /&gt;
* Any dependency layers would already have to be included in the testing already or make a separate application for addition first.&lt;br /&gt;
* The layer being added must be suitably generic with a clear need/usage of the components provided by the layer in the ecosystem&lt;br /&gt;
* The layer maintainer must have a commitment to keeping recipe upgrades functional&lt;br /&gt;
* The proposal must make it clear which recipes within the layer are being proposed to be built&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of a new MACHINE target ===&lt;br /&gt;
&lt;br /&gt;
* Layers to build the machine need to be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Layers need to be buildable on the project autobuilder&lt;br /&gt;
* Needs to be Yocto Project membership sponsorship of the machine due to the project resource usage&lt;br /&gt;
* Needs to be a commitment to testing the images for the platform for releases and upgrades&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of new recipe to the build ===&lt;br /&gt;
&lt;br /&gt;
* This process assumes the layer is already present but the recipe is not currently included in the test matrix&lt;br /&gt;
* The recipe would need to have demonstrated the ability to pass on target installation and upgrade&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
* The software needs to have a good maintenance track record including reasonable CVE response&lt;br /&gt;
* Note: The TSC is aiming to appoint a maintainer to take the lead on resolving binary distro testing issues and handling recipe addition requests.&lt;br /&gt;
&lt;br /&gt;
=== TSC Criteria for change evaluation ===&lt;br /&gt;
&lt;br /&gt;
* Does the project have resources (human and compute for build/test/QA/bugfixing) to support the change?&lt;br /&gt;
* Is the change widely useful to a significant portion of the user base?&lt;br /&gt;
* Does the change enhance the project&#039;s test matrix?&lt;br /&gt;
* Does the change significantly improve developer productivity?&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
=== Yocto Project Documentation improvements ===&lt;br /&gt;
&lt;br /&gt;
* [https://lore.kernel.org/yocto-docs/20231206155427.279612-1-michael.opdenacker@bootlin.com/T/#t Fixes and updates to the Test Environment Manual]&lt;br /&gt;
&lt;br /&gt;
== Project status ==&lt;br /&gt;
&lt;br /&gt;
Here is the status of the various deliverables, according to the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ project specifications]:&lt;br /&gt;
&lt;br /&gt;
# Define the scope of a binary distro prototype (which recipes and machines to target)&amp;lt;br /&amp;gt;Completed - See the top of this page: [[#Scope of a Yocto Binary Distribution Prototype]]&lt;br /&gt;
# Add automated testing of upgrading an image from our previous release to the current version using a package feed.&amp;lt;br /&amp;gt;A [https://lore.kernel.org/openembedded-core/34a52efaf6a38753f773d5dd6b3cc4d6fe3c91ec.camel@linuxfoundation.org/T/#t first version implemented as an oe-selftest] has been submitted. A new iteration will be posted by April 30, 2024, taking the reviews into account. &lt;br /&gt;
# Implement PR server functionality to handle “pass through” mode and hierarchy data.&amp;lt;br /&amp;gt;Fourth [https://lore.kernel.org/bitbake-devel/20240423093739.364140-1-michael.opdenacker@bootlin.com/T/#t patch series] submitted for the &amp;quot;passthrough&amp;quot; functionality, with support for multiple upstream servers. The patches to modernize the existing PR server code have already been merged. BitBake selftests are also implemented for most of the code functionality (database, client, server, support for upstream server, read-only mode, &amp;quot;history&amp;quot; and &amp;quot;no history&amp;quot; modes). A newer iteration, currently being tested, will also be posted by April 30, 2024, with support for multiple servers accessing the same database.&lt;br /&gt;
# Automated testing of the ability to assemble images quickly from sstate/PRServ/Hashequiv data.&amp;lt;br /&amp;gt;Possible thanks to the use of the PR server in read-only mode.&lt;br /&gt;
# Propose policies/requirements on how a binary reference distro for the project would behave. Need to include proposed policies for including new recipes and extending to cover new platforms/architectures.&amp;lt;br /&amp;gt;Proposal available on [[#Policies_and_Processes]], thanks to Richard and the TSC.&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Can my product point at your package feed?&lt;br /&gt;
A: No. The aim of this work is demonstrate the tools, processes and policies needed to build a binary distribution using the project. There is no commitment or guarantee to maintain the feeds for any product use case or with any guarantees around security issues. Please do not point products at these package feeds.&lt;br /&gt;
&lt;br /&gt;
== Footnotes and references ==&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86321</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86321"/>
		<updated>2024-04-26T08:00:39Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Project status */ Update status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
Here are other tests that would be worth implementing:&lt;br /&gt;
* Check that package upgrades don&#039;t cause configuration file changes to be lost. See [https://lore.kernel.org/openembedded-core/0e38566f-a1f9-4ebb-8492-2c50945eeeb4@gmail.com/T/#t this discussion].&lt;br /&gt;
* Check that the latest package upgrades successfully apply to any previous release, at least on the same branch. For example, upgrading directly from release x.y.n-2 to x.y may not work without going through x.y.n-1 as an intermediate. This could happen if a package has a really broken post-install script in n-2, which damage is repaired in n-1. Should n repair it too in case n-1 is skipped?&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== PR server passthrough ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to enable a local distribution to use packages from an &amp;quot;upstream&amp;quot; distribution, but customize specific ones so that the locally built packages have priority over the upstream ones.&lt;br /&gt;
&lt;br /&gt;
As for the Hash Equivalence server, we know have [https://lore.kernel.org/bitbake-devel/20240329143956.1602707-1-michael.opdenacker@bootlin.com/T/#t a patchset] enabling a local PR server to contact an &amp;quot;upstream&amp;quot; server to compute the local PR value. Therefore, if an upstream package bears revision &amp;lt;x&amp;gt;, the local version of it can have revision &amp;lt;x&amp;gt;.&amp;lt;y&amp;gt;, having priority other the upstream one.&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
Open questions:&lt;br /&gt;
* When do we run updates? What does process look like?&lt;br /&gt;
* How long are the feeds maintained?&lt;br /&gt;
* How do we handle PR and PE changes wrt to the core layers?&lt;br /&gt;
* Do we add a default user? How do we handle image passwords? root password?&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing adding new layers to the binary distro test artifacts process ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* In addition, layers must be well written and be targetting project best practices like reproducibility, no network access outside fetching so mirroring and licensing auditing works and not skipping QA tests without good reason.&lt;br /&gt;
* Any dependency layers would already have to be included in the testing already or make a separate application for addition first.&lt;br /&gt;
* The layer being added must be suitably generic with a clear need/usage of the components provided by the layer in the ecosystem&lt;br /&gt;
* The layer maintainer must have a commitment to keeping recipe upgrades functional&lt;br /&gt;
* The proposal must make it clear which recipes within the layer are being proposed to be built&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of a new MACHINE target ===&lt;br /&gt;
&lt;br /&gt;
* Layers to build the machine need to be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Layers need to be buildable on the project autobuilder&lt;br /&gt;
* Needs to be Yocto Project membership sponsorship of the machine due to the project resource usage&lt;br /&gt;
* Needs to be a commitment to testing the images for the platform for releases and upgrades&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of new recipe to the build ===&lt;br /&gt;
&lt;br /&gt;
* This process assumes the layer is already present but the recipe is not currently included in the test matrix&lt;br /&gt;
* The recipe would need to have demonstrated the ability to pass on target installation and upgrade&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
* The software needs to have a good maintenance track record including reasonable CVE response&lt;br /&gt;
* Note: The TSC is aiming to appoint a maintainer to take the lead on resolving binary distro testing issues and handling recipe addition requests.&lt;br /&gt;
&lt;br /&gt;
=== TSC Criteria for change evaluation ===&lt;br /&gt;
&lt;br /&gt;
* Does the project have resources (human and compute for build/test/QA/bugfixing) to support the change?&lt;br /&gt;
* Is the change widely useful to a significant portion of the user base?&lt;br /&gt;
* Does the change enhance the project&#039;s test matrix?&lt;br /&gt;
* Does the change significantly improve developer productivity?&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
=== Yocto Project Documentation improvements ===&lt;br /&gt;
&lt;br /&gt;
* [https://lore.kernel.org/yocto-docs/20231206155427.279612-1-michael.opdenacker@bootlin.com/T/#t Fixes and updates to the Test Environment Manual]&lt;br /&gt;
&lt;br /&gt;
== Project status ==&lt;br /&gt;
&lt;br /&gt;
Here is the status of the various deliverables, according to the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ project specifications]:&lt;br /&gt;
&lt;br /&gt;
# Define the scope of a binary distro prototype (which recipes and machines to target)&amp;lt;br /&amp;gt;Completed - See the top of this page: [[#Scope of a Yocto Binary Distribution Prototype]]&lt;br /&gt;
# Add automated testing of upgrading an image from our previous release to the current version using a package feed.&amp;lt;br /&amp;gt;A [https://lore.kernel.org/openembedded-core/34a52efaf6a38753f773d5dd6b3cc4d6fe3c91ec.camel@linuxfoundation.org/T/#t first version implemented as an oe-selftest] has been submitted. &lt;br /&gt;
# Implement PR server functionality to handle “pass through” mode and hierarchy data.&amp;lt;br /&amp;gt;Fourth [https://lore.kernel.org/bitbake-devel/20240423093739.364140-1-michael.opdenacker@bootlin.com/T/#t patch series] submitted for the &amp;quot;passthrough&amp;quot; functionality, with support for multiple upstream servers. The patches to modernize the existing PR server code have already been merged. BitBake selftests are also implemented for most of the code functionality (database, client, server, support for upstream server, read-only mode, &amp;quot;history&amp;quot; and &amp;quot;no history&amp;quot; modes).&lt;br /&gt;
# Automated testing of the ability to assemble images quickly from sstate/PRServ/Hashequiv data.&amp;lt;br /&amp;gt;Possible thanks to the use of the PR server in read-only mode.&lt;br /&gt;
# Propose policies/requirements on how a binary reference distro for the project would behave. Need to include proposed policies for including new recipes and extending to cover new platforms/architectures.&amp;lt;br /&amp;gt;Proposal available on [[#Policies_and_Processes]], thanks to Richard and the TSC.&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Can my product point at your package feed?&lt;br /&gt;
A: No. The aim of this work is demonstrate the tools, processes and policies needed to build a binary distribution using the project. There is no commitment or guarantee to maintain the feeds for any product use case or with any guarantees around security issues. Please do not point products at these package feeds.&lt;br /&gt;
&lt;br /&gt;
== Footnotes and references ==&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86320</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86320"/>
		<updated>2024-04-26T07:59:50Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Project status */ Update status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
Here are other tests that would be worth implementing:&lt;br /&gt;
* Check that package upgrades don&#039;t cause configuration file changes to be lost. See [https://lore.kernel.org/openembedded-core/0e38566f-a1f9-4ebb-8492-2c50945eeeb4@gmail.com/T/#t this discussion].&lt;br /&gt;
* Check that the latest package upgrades successfully apply to any previous release, at least on the same branch. For example, upgrading directly from release x.y.n-2 to x.y may not work without going through x.y.n-1 as an intermediate. This could happen if a package has a really broken post-install script in n-2, which damage is repaired in n-1. Should n repair it too in case n-1 is skipped?&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== PR server passthrough ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to enable a local distribution to use packages from an &amp;quot;upstream&amp;quot; distribution, but customize specific ones so that the locally built packages have priority over the upstream ones.&lt;br /&gt;
&lt;br /&gt;
As for the Hash Equivalence server, we know have [https://lore.kernel.org/bitbake-devel/20240329143956.1602707-1-michael.opdenacker@bootlin.com/T/#t a patchset] enabling a local PR server to contact an &amp;quot;upstream&amp;quot; server to compute the local PR value. Therefore, if an upstream package bears revision &amp;lt;x&amp;gt;, the local version of it can have revision &amp;lt;x&amp;gt;.&amp;lt;y&amp;gt;, having priority other the upstream one.&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
Open questions:&lt;br /&gt;
* When do we run updates? What does process look like?&lt;br /&gt;
* How long are the feeds maintained?&lt;br /&gt;
* How do we handle PR and PE changes wrt to the core layers?&lt;br /&gt;
* Do we add a default user? How do we handle image passwords? root password?&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing adding new layers to the binary distro test artifacts process ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* In addition, layers must be well written and be targetting project best practices like reproducibility, no network access outside fetching so mirroring and licensing auditing works and not skipping QA tests without good reason.&lt;br /&gt;
* Any dependency layers would already have to be included in the testing already or make a separate application for addition first.&lt;br /&gt;
* The layer being added must be suitably generic with a clear need/usage of the components provided by the layer in the ecosystem&lt;br /&gt;
* The layer maintainer must have a commitment to keeping recipe upgrades functional&lt;br /&gt;
* The proposal must make it clear which recipes within the layer are being proposed to be built&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of a new MACHINE target ===&lt;br /&gt;
&lt;br /&gt;
* Layers to build the machine need to be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Layers need to be buildable on the project autobuilder&lt;br /&gt;
* Needs to be Yocto Project membership sponsorship of the machine due to the project resource usage&lt;br /&gt;
* Needs to be a commitment to testing the images for the platform for releases and upgrades&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of new recipe to the build ===&lt;br /&gt;
&lt;br /&gt;
* This process assumes the layer is already present but the recipe is not currently included in the test matrix&lt;br /&gt;
* The recipe would need to have demonstrated the ability to pass on target installation and upgrade&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
* The software needs to have a good maintenance track record including reasonable CVE response&lt;br /&gt;
* Note: The TSC is aiming to appoint a maintainer to take the lead on resolving binary distro testing issues and handling recipe addition requests.&lt;br /&gt;
&lt;br /&gt;
=== TSC Criteria for change evaluation ===&lt;br /&gt;
&lt;br /&gt;
* Does the project have resources (human and compute for build/test/QA/bugfixing) to support the change?&lt;br /&gt;
* Is the change widely useful to a significant portion of the user base?&lt;br /&gt;
* Does the change enhance the project&#039;s test matrix?&lt;br /&gt;
* Does the change significantly improve developer productivity?&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
=== Yocto Project Documentation improvements ===&lt;br /&gt;
&lt;br /&gt;
* [https://lore.kernel.org/yocto-docs/20231206155427.279612-1-michael.opdenacker@bootlin.com/T/#t Fixes and updates to the Test Environment Manual]&lt;br /&gt;
&lt;br /&gt;
== Project status ==&lt;br /&gt;
&lt;br /&gt;
Here is the status of the various deliverables, according to the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ project specifications]:&lt;br /&gt;
&lt;br /&gt;
# Define the scope of a binary distro prototype (which recipes and machines to target)&amp;lt;br /&amp;gt;Completed - See the top of this page: [[#Scope of a Yocto Binary Distribution Prototype]]&lt;br /&gt;
# Add automated testing of upgrading an image from our previous release to the current version using a package feed.&amp;lt;br /&amp;gt;A[https://lore.kernel.org/openembedded-core/34a52efaf6a38753f773d5dd6b3cc4d6fe3c91ec.camel@linuxfoundation.org/T/#t first version implemented as an oe-selftest] has been submitted. &lt;br /&gt;
# Implement PR server functionality to handle “pass through” mode and hierarchy data.&amp;lt;br /&amp;gt;Fourth [https://lore.kernel.org/bitbake-devel/20240423093739.364140-1-michael.opdenacker@bootlin.com/T/#t] patch series submitted for the &amp;quot;passthrough&amp;quot; functionality, with support for multiple upstream servers. The patches to modernize the existing PR server code have already been merged. BitBake selftests are also implemented for most of the code functionality (database, client, server, support for upstream server, read-only mode, &amp;quot;history&amp;quot; and &amp;quot;no history&amp;quot; modes).&lt;br /&gt;
# Automated testing of the ability to assemble images quickly from sstate/PRServ/Hashequiv data.&amp;lt;br /&amp;gt;Possible thanks to the use of the PR server in read-only mode.&lt;br /&gt;
# Propose policies/requirements on how a binary reference distro for the project would behave. Need to include proposed policies for including new recipes and extending to cover new platforms/architectures.&amp;lt;br /&amp;gt;Proposal available on [[#Policies_and_Processes]], thanks to Richard and the TSC.&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Can my product point at your package feed?&lt;br /&gt;
A: No. The aim of this work is demonstrate the tools, processes and policies needed to build a binary distribution using the project. There is no commitment or guarantee to maintain the feeds for any product use case or with any guarantees around security issues. Please do not point products at these package feeds.&lt;br /&gt;
&lt;br /&gt;
== Footnotes and references ==&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86313</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86313"/>
		<updated>2024-04-23T10:17:07Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Project status */ Update status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
Here are other tests that would be worth implementing:&lt;br /&gt;
* Check that package upgrades don&#039;t cause configuration file changes to be lost. See [https://lore.kernel.org/openembedded-core/0e38566f-a1f9-4ebb-8492-2c50945eeeb4@gmail.com/T/#t this discussion].&lt;br /&gt;
* Check that the latest package upgrades successfully apply to any previous release, at least on the same branch. For example, upgrading directly from release x.y.n-2 to x.y may not work without going through x.y.n-1 as an intermediate. This could happen if a package has a really broken post-install script in n-2, which damage is repaired in n-1. Should n repair it too in case n-1 is skipped?&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== PR server passthrough ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to enable a local distribution to use packages from an &amp;quot;upstream&amp;quot; distribution, but customize specific ones so that the locally built packages have priority over the upstream ones.&lt;br /&gt;
&lt;br /&gt;
As for the Hash Equivalence server, we know have [https://lore.kernel.org/bitbake-devel/20240329143956.1602707-1-michael.opdenacker@bootlin.com/T/#t a patchset] enabling a local PR server to contact an &amp;quot;upstream&amp;quot; server to compute the local PR value. Therefore, if an upstream package bears revision &amp;lt;x&amp;gt;, the local version of it can have revision &amp;lt;x&amp;gt;.&amp;lt;y&amp;gt;, having priority other the upstream one.&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
Open questions:&lt;br /&gt;
* When do we run updates? What does process look like?&lt;br /&gt;
* How long are the feeds maintained?&lt;br /&gt;
* How do we handle PR and PE changes wrt to the core layers?&lt;br /&gt;
* Do we add a default user? How do we handle image passwords? root password?&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing adding new layers to the binary distro test artifacts process ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* In addition, layers must be well written and be targetting project best practices like reproducibility, no network access outside fetching so mirroring and licensing auditing works and not skipping QA tests without good reason.&lt;br /&gt;
* Any dependency layers would already have to be included in the testing already or make a separate application for addition first.&lt;br /&gt;
* The layer being added must be suitably generic with a clear need/usage of the components provided by the layer in the ecosystem&lt;br /&gt;
* The layer maintainer must have a commitment to keeping recipe upgrades functional&lt;br /&gt;
* The proposal must make it clear which recipes within the layer are being proposed to be built&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of a new MACHINE target ===&lt;br /&gt;
&lt;br /&gt;
* Layers to build the machine need to be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Layers need to be buildable on the project autobuilder&lt;br /&gt;
* Needs to be Yocto Project membership sponsorship of the machine due to the project resource usage&lt;br /&gt;
* Needs to be a commitment to testing the images for the platform for releases and upgrades&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of new recipe to the build ===&lt;br /&gt;
&lt;br /&gt;
* This process assumes the layer is already present but the recipe is not currently included in the test matrix&lt;br /&gt;
* The recipe would need to have demonstrated the ability to pass on target installation and upgrade&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
* The software needs to have a good maintenance track record including reasonable CVE response&lt;br /&gt;
* Note: The TSC is aiming to appoint a maintainer to take the lead on resolving binary distro testing issues and handling recipe addition requests.&lt;br /&gt;
&lt;br /&gt;
=== TSC Criteria for change evaluation ===&lt;br /&gt;
&lt;br /&gt;
* Does the project have resources (human and compute for build/test/QA/bugfixing) to support the change?&lt;br /&gt;
* Is the change widely useful to a significant portion of the user base?&lt;br /&gt;
* Does the change enhance the project&#039;s test matrix?&lt;br /&gt;
* Does the change significantly improve developer productivity?&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
=== Yocto Project Documentation improvements ===&lt;br /&gt;
&lt;br /&gt;
* [https://lore.kernel.org/yocto-docs/20231206155427.279612-1-michael.opdenacker@bootlin.com/T/#t Fixes and updates to the Test Environment Manual]&lt;br /&gt;
&lt;br /&gt;
== Project status ==&lt;br /&gt;
&lt;br /&gt;
Here is the status of the various deliverables, according to the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ project specifications]:&lt;br /&gt;
&lt;br /&gt;
# Define the scope of a binary distro prototype (which recipes and machines to target)&amp;lt;br /&amp;gt;Completed - See the top of this page: [[#Scope of a Yocto Binary Distribution Prototype]]&lt;br /&gt;
# Add automated testing of upgrading an image from our previous release to the current version using a package feed.&amp;lt;br /&amp;gt;Ongoing - A [https://lore.kernel.org/openembedded-core/20240413055421.210001-1-michael.opdenacker@bootlin.com/T/#u prototype based on the &amp;quot;testimage&amp;quot; class] has been submitted. &lt;br /&gt;
# Implement PR server functionality to handle “pass through” mode and hierarchy data.&amp;lt;br /&amp;gt;Fourth [https://lore.kernel.org/bitbake-devel/20240423093739.364140-1-michael.opdenacker@bootlin.com/T/#t] patch series submitted for the &amp;quot;passthrough&amp;quot; functionality, with support for multiple upstream servers. The patches to modernize the existing PR server code have already been merged. BitBake selftests are also implemented for most of the code functionality (database, client, server, support for upstream server, read-only mode, &amp;quot;history&amp;quot; and &amp;quot;no history&amp;quot; modes).&lt;br /&gt;
# Automated testing of the ability to assemble images quickly from sstate/PRServ/Hashequiv data.&amp;lt;br /&amp;gt;. Possible thanks to the use of the PR server in read-only mode.&lt;br /&gt;
# Propose policies/requirements on how a binary reference distro for the project would behave. Need to include proposed policies for including new recipes and extending to cover new platforms/architectures.&amp;lt;br /&amp;gt;Proposal available on [[#Policies_and_Processes]], thanks to Richard and the TSC.&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Can my product point at your package feed?&lt;br /&gt;
A: No. The aim of this work is demonstrate the tools, processes and policies needed to build a binary distribution using the project. There is no commitment or guarantee to maintain the feeds for any product use case or with any guarantees around security issues. Please do not point products at these package feeds.&lt;br /&gt;
&lt;br /&gt;
== Footnotes and references ==&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86312</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86312"/>
		<updated>2024-04-22T14:36:47Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Project status */ Update status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
Here are other tests that would be worth implementing:&lt;br /&gt;
* Check that package upgrades don&#039;t cause configuration file changes to be lost. See [https://lore.kernel.org/openembedded-core/0e38566f-a1f9-4ebb-8492-2c50945eeeb4@gmail.com/T/#t this discussion].&lt;br /&gt;
* Check that the latest package upgrades successfully apply to any previous release, at least on the same branch. For example, upgrading directly from release x.y.n-2 to x.y may not work without going through x.y.n-1 as an intermediate. This could happen if a package has a really broken post-install script in n-2, which damage is repaired in n-1. Should n repair it too in case n-1 is skipped?&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== PR server passthrough ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to enable a local distribution to use packages from an &amp;quot;upstream&amp;quot; distribution, but customize specific ones so that the locally built packages have priority over the upstream ones.&lt;br /&gt;
&lt;br /&gt;
As for the Hash Equivalence server, we know have [https://lore.kernel.org/bitbake-devel/20240329143956.1602707-1-michael.opdenacker@bootlin.com/T/#t a patchset] enabling a local PR server to contact an &amp;quot;upstream&amp;quot; server to compute the local PR value. Therefore, if an upstream package bears revision &amp;lt;x&amp;gt;, the local version of it can have revision &amp;lt;x&amp;gt;.&amp;lt;y&amp;gt;, having priority other the upstream one.&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
Open questions:&lt;br /&gt;
* When do we run updates? What does process look like?&lt;br /&gt;
* How long are the feeds maintained?&lt;br /&gt;
* How do we handle PR and PE changes wrt to the core layers?&lt;br /&gt;
* Do we add a default user? How do we handle image passwords? root password?&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing adding new layers to the binary distro test artifacts process ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* In addition, layers must be well written and be targetting project best practices like reproducibility, no network access outside fetching so mirroring and licensing auditing works and not skipping QA tests without good reason.&lt;br /&gt;
* Any dependency layers would already have to be included in the testing already or make a separate application for addition first.&lt;br /&gt;
* The layer being added must be suitably generic with a clear need/usage of the components provided by the layer in the ecosystem&lt;br /&gt;
* The layer maintainer must have a commitment to keeping recipe upgrades functional&lt;br /&gt;
* The proposal must make it clear which recipes within the layer are being proposed to be built&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of a new MACHINE target ===&lt;br /&gt;
&lt;br /&gt;
* Layers to build the machine need to be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Layers need to be buildable on the project autobuilder&lt;br /&gt;
* Needs to be Yocto Project membership sponsorship of the machine due to the project resource usage&lt;br /&gt;
* Needs to be a commitment to testing the images for the platform for releases and upgrades&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of new recipe to the build ===&lt;br /&gt;
&lt;br /&gt;
* This process assumes the layer is already present but the recipe is not currently included in the test matrix&lt;br /&gt;
* The recipe would need to have demonstrated the ability to pass on target installation and upgrade&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
* The software needs to have a good maintenance track record including reasonable CVE response&lt;br /&gt;
* Note: The TSC is aiming to appoint a maintainer to take the lead on resolving binary distro testing issues and handling recipe addition requests.&lt;br /&gt;
&lt;br /&gt;
=== TSC Criteria for change evaluation ===&lt;br /&gt;
&lt;br /&gt;
* Does the project have resources (human and compute for build/test/QA/bugfixing) to support the change?&lt;br /&gt;
* Is the change widely useful to a significant portion of the user base?&lt;br /&gt;
* Does the change enhance the project&#039;s test matrix?&lt;br /&gt;
* Does the change significantly improve developer productivity?&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
=== Yocto Project Documentation improvements ===&lt;br /&gt;
&lt;br /&gt;
* [https://lore.kernel.org/yocto-docs/20231206155427.279612-1-michael.opdenacker@bootlin.com/T/#t Fixes and updates to the Test Environment Manual]&lt;br /&gt;
&lt;br /&gt;
== Project status ==&lt;br /&gt;
&lt;br /&gt;
Here is the status of the various deliverables, according to the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ project specifications]:&lt;br /&gt;
&lt;br /&gt;
# Define the scope of a binary distro prototype (which recipes and machines to target)&amp;lt;br /&amp;gt;Completed - See the top of this page: [[#Scope of a Yocto Binary Distribution Prototype]]&lt;br /&gt;
# Add automated testing of upgrading an image from our previous release to the current version using a package feed.&amp;lt;br /&amp;gt;Ongoing - A [https://lore.kernel.org/openembedded-core/20240413055421.210001-1-michael.opdenacker@bootlin.com/T/#u prototype based on the &amp;quot;testimage&amp;quot; class] has been submitted. &lt;br /&gt;
# Implement PR server functionality to handle “pass through” mode and hierarchy data.&amp;lt;br /&amp;gt;Third [https://lore.kernel.org/bitbake-devel/20240412090234.4110915-1-michael.opdenacker@bootlin.com/T/#t] patch series submitted for the &amp;quot;passthrough&amp;quot; functionality, with support for multiple upstream servers. The patches to modernize the existing PR server code have already been merged. BitBake selftests have also been implemented for most of the code functionality (database, client, server, support for upstream server, read-only mode, &amp;quot;history&amp;quot; and &amp;quot;no history&amp;quot; modes). A fourth patch series is expected by Apr. 22 after real-life testing (generation of a full image, not only BitBake selftests).&lt;br /&gt;
# Automated testing of the ability to assemble images quickly from sstate/PRServ/Hashequiv data.&amp;lt;br /&amp;gt;. Possible thanks to the use of the PR server in read-only mode.&lt;br /&gt;
# Propose policies/requirements on how a binary reference distro for the project would behave. Need to include proposed policies for including new recipes and extending to cover new platforms/architectures.&amp;lt;br /&amp;gt;Proposal available on [[#Policies_and_Processes]], thanks to Richard and the TSC.&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Can my product point at your package feed?&lt;br /&gt;
A: No. The aim of this work is demonstrate the tools, processes and policies needed to build a binary distribution using the project. There is no commitment or guarantee to maintain the feeds for any product use case or with any guarantees around security issues. Please do not point products at these package feeds.&lt;br /&gt;
&lt;br /&gt;
== Footnotes and references ==&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86302</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86302"/>
		<updated>2024-04-15T08:29:26Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Project status */ Update status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
Here are other tests that would be worth implementing:&lt;br /&gt;
* Check that package upgrades don&#039;t cause configuration file changes to be lost. See [https://lore.kernel.org/openembedded-core/0e38566f-a1f9-4ebb-8492-2c50945eeeb4@gmail.com/T/#t this discussion].&lt;br /&gt;
* Check that the latest package upgrades successfully apply to any previous release, at least on the same branch. For example, upgrading directly from release x.y.n-2 to x.y may not work without going through x.y.n-1 as an intermediate. This could happen if a package has a really broken post-install script in n-2, which damage is repaired in n-1. Should n repair it too in case n-1 is skipped?&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== PR server passthrough ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to enable a local distribution to use packages from an &amp;quot;upstream&amp;quot; distribution, but customize specific ones so that the locally built packages have priority over the upstream ones.&lt;br /&gt;
&lt;br /&gt;
As for the Hash Equivalence server, we know have [https://lore.kernel.org/bitbake-devel/20240329143956.1602707-1-michael.opdenacker@bootlin.com/T/#t a patchset] enabling a local PR server to contact an &amp;quot;upstream&amp;quot; server to compute the local PR value. Therefore, if an upstream package bears revision &amp;lt;x&amp;gt;, the local version of it can have revision &amp;lt;x&amp;gt;.&amp;lt;y&amp;gt;, having priority other the upstream one.&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
Open questions:&lt;br /&gt;
* When do we run updates? What does process look like?&lt;br /&gt;
* How long are the feeds maintained?&lt;br /&gt;
* How do we handle PR and PE changes wrt to the core layers?&lt;br /&gt;
* Do we add a default user? How do we handle image passwords? root password?&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing adding new layers to the binary distro test artifacts process ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* In addition, layers must be well written and be targetting project best practices like reproducibility, no network access outside fetching so mirroring and licensing auditing works and not skipping QA tests without good reason.&lt;br /&gt;
* Any dependency layers would already have to be included in the testing already or make a separate application for addition first.&lt;br /&gt;
* The layer being added must be suitably generic with a clear need/usage of the components provided by the layer in the ecosystem&lt;br /&gt;
* The layer maintainer must have a commitment to keeping recipe upgrades functional&lt;br /&gt;
* The proposal must make it clear which recipes within the layer are being proposed to be built&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of a new MACHINE target ===&lt;br /&gt;
&lt;br /&gt;
* Layers to build the machine need to be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Layers need to be buildable on the project autobuilder&lt;br /&gt;
* Needs to be Yocto Project membership sponsorship of the machine due to the project resource usage&lt;br /&gt;
* Needs to be a commitment to testing the images for the platform for releases and upgrades&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of new recipe to the build ===&lt;br /&gt;
&lt;br /&gt;
* This process assumes the layer is already present but the recipe is not currently included in the test matrix&lt;br /&gt;
* The recipe would need to have demonstrated the ability to pass on target installation and upgrade&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
* The software needs to have a good maintenance track record including reasonable CVE response&lt;br /&gt;
* Note: The TSC is aiming to appoint a maintainer to take the lead on resolving binary distro testing issues and handling recipe addition requests.&lt;br /&gt;
&lt;br /&gt;
=== TSC Criteria for change evaluation ===&lt;br /&gt;
&lt;br /&gt;
* Does the project have resources (human and compute for build/test/QA/bugfixing) to support the change?&lt;br /&gt;
* Is the change widely useful to a significant portion of the user base?&lt;br /&gt;
* Does the change enhance the project&#039;s test matrix?&lt;br /&gt;
* Does the change significantly improve developer productivity?&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
=== Yocto Project Documentation improvements ===&lt;br /&gt;
&lt;br /&gt;
* [https://lore.kernel.org/yocto-docs/20231206155427.279612-1-michael.opdenacker@bootlin.com/T/#t Fixes and updates to the Test Environment Manual]&lt;br /&gt;
&lt;br /&gt;
== Project status ==&lt;br /&gt;
&lt;br /&gt;
Here is the status of the various deliverables, according to the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ project specifications]:&lt;br /&gt;
&lt;br /&gt;
# Define the scope of a binary distro prototype (which recipes and machines to target)&amp;lt;br /&amp;gt;Completed - See the top of this page: [[#Scope of a Yocto Binary Distribution Prototype]]&lt;br /&gt;
# Add automated testing of upgrading an image from our previous release to the current version using a package feed.&amp;lt;br /&amp;gt;Ongoing - A [https://lore.kernel.org/openembedded-core/20240413055421.210001-1-michael.opdenacker@bootlin.com/T/#u prototype based on the &amp;quot;testimage&amp;quot; class] has been submitted. &lt;br /&gt;
# Implement PR server functionality to handle “pass through” mode and hierarchy data.&amp;lt;br /&amp;gt;Third [https://lore.kernel.org/bitbake-devel/20240412090234.4110915-1-michael.opdenacker@bootlin.com/T/#t] patch series submitted for the &amp;quot;passthrough&amp;quot; functionality, with support for multiple upstream servers. The patches to modernize the existing PR server code have already been merged. The next step is to implement BitBake selftests to make sure all use cases are properly supported (in particular upstream server support and read-only mode) and bugs are found before merging the new feature.&lt;br /&gt;
# Automated testing of the ability to assemble images quickly from sstate/PRServ/Hashequiv data.&amp;lt;br /&amp;gt;To be started soon. Will use the PR server in read-only mode.&lt;br /&gt;
# Propose policies/requirements on how a binary reference distro for the project would behave. Need to include proposed policies for including new recipes and extending to cover new platforms/architectures.&amp;lt;br /&amp;gt;Draft version available on [[#Policies_and_Processes]], thanks to Richard and the TSC. Can this deliverable now be considered as &amp;quot;ready&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Can my product point at your package feed?&lt;br /&gt;
A: No. The aim of this work is demonstrate the tools, processes and policies needed to build a binary distribution using the project. There is no commitment or guarantee to maintain the feeds for any product use case or with any guarantees around security issues. Please do not point products at these package feeds.&lt;br /&gt;
&lt;br /&gt;
== Footnotes and references ==&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=86301</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=86301"/>
		<updated>2024-04-11T09:36:24Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Release Activity */ Update for 4.3.4 release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
See also [https://docs.yoctoproject.org/dev/_images/releases.svg a graphical release timeline].&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Styhead &amp;lt;br/&amp;gt;(like &#039;try head&#039;)&lt;br /&gt;
|5.1&lt;br /&gt;
| October 2024&lt;br /&gt;
|&lt;br /&gt;
|Future&lt;br /&gt;
|N/A&lt;br /&gt;
|2.10&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|[[Recipe_Versions|Recipe versions]]&lt;br /&gt;
|-&lt;br /&gt;
|Scarthgap&lt;br /&gt;
|5.0&lt;br /&gt;
| April 2024&lt;br /&gt;
|&lt;br /&gt;
|Long Term Support (until April 2028)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.8&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|[[Recipe_Versions|Recipe versions]]&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| November 2023&lt;br /&gt;
| 4.3.4 (April 2024)&lt;br /&gt;
|Support for 7 months (until May 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|- style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2.4 (December 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.17 (March 2024)&lt;br /&gt;
|Long Term Support (Apr. 2026¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.32 (Mar. 2024)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series and 4.0 were originally planned for two years but extended to four. Future LTS releases are planned for 4 years.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86296</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86296"/>
		<updated>2024-04-08T08:04:58Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Project status */ Update status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
Here are other tests that would be worth implementing:&lt;br /&gt;
* Check that package upgrades don&#039;t cause configuration file changes to be lost. See [https://lore.kernel.org/openembedded-core/0e38566f-a1f9-4ebb-8492-2c50945eeeb4@gmail.com/T/#t this discussion].&lt;br /&gt;
* Check that the latest package upgrades successfully apply to any previous release, at least on the same branch. For example, upgrading directly from release x.y.n-2 to x.y may not work without going through x.y.n-1 as an intermediate. This could happen if a package has a really broken post-install script in n-2, which damage is repaired in n-1. Should n repair it too in case n-1 is skipped?&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== PR server passthrough ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to enable a local distribution to use packages from an &amp;quot;upstream&amp;quot; distribution, but customize specific ones so that the locally built packages have priority over the upstream ones.&lt;br /&gt;
&lt;br /&gt;
As for the Hash Equivalence server, we know have [https://lore.kernel.org/bitbake-devel/20240329143956.1602707-1-michael.opdenacker@bootlin.com/T/#t a patchset] enabling a local PR server to contact an &amp;quot;upstream&amp;quot; server to compute the local PR value. Therefore, if an upstream package bears revision &amp;lt;x&amp;gt;, the local version of it can have revision &amp;lt;x&amp;gt;.&amp;lt;y&amp;gt;, having priority other the upstream one.&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
Open questions:&lt;br /&gt;
* When do we run updates? What does process look like?&lt;br /&gt;
* How long are the feeds maintained?&lt;br /&gt;
* How do we handle PR and PE changes wrt to the core layers?&lt;br /&gt;
* Do we add a default user? How do we handle image passwords? root password?&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing adding new layers to the binary distro test artifacts process ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* In addition, layers must be well written and be targetting project best practices like reproducibility, no network access outside fetching so mirroring and licensing auditing works and not skipping QA tests without good reason.&lt;br /&gt;
* Any dependency layers would already have to be included in the testing already or make a separate application for addition first.&lt;br /&gt;
* The layer being added must be suitably generic with a clear need/usage of the components provided by the layer in the ecosystem&lt;br /&gt;
* The layer maintainer must have a commitment to keeping recipe upgrades functional&lt;br /&gt;
* The proposal must make it clear which recipes within the layer are being proposed to be built&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of a new MACHINE target ===&lt;br /&gt;
&lt;br /&gt;
* Layers to build the machine need to be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Layers need to be buildable on the project autobuilder&lt;br /&gt;
* Needs to be Yocto Project membership sponsorship of the machine due to the project resource usage&lt;br /&gt;
* Needs to be a commitment to testing the images for the platform for releases and upgrades&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of new recipe to the build ===&lt;br /&gt;
&lt;br /&gt;
* This process assumes the layer is already present but the recipe is not currently included in the test matrix&lt;br /&gt;
* The recipe would need to have demonstrated the ability to pass on target installation and upgrade&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
* The software needs to have a good maintenance track record including reasonable CVE response&lt;br /&gt;
* Note: The TSC is aiming to appoint a maintainer to take the lead on resolving binary distro testing issues and handling recipe addition requests.&lt;br /&gt;
&lt;br /&gt;
=== TSC Criteria for change evaluation ===&lt;br /&gt;
&lt;br /&gt;
* Does the project have resources (human and compute for build/test/QA/bugfixing) to support the change?&lt;br /&gt;
* Is the change widely useful to a significant portion of the user base?&lt;br /&gt;
* Does the change enhance the project&#039;s test matrix?&lt;br /&gt;
* Does the change significantly improve developer productivity?&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
=== Yocto Project Documentation improvements ===&lt;br /&gt;
&lt;br /&gt;
* [https://lore.kernel.org/yocto-docs/20231206155427.279612-1-michael.opdenacker@bootlin.com/T/#t Fixes and updates to the Test Environment Manual]&lt;br /&gt;
&lt;br /&gt;
== Project status ==&lt;br /&gt;
&lt;br /&gt;
Here is the status of the various deliverables, according to the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ project specifications]:&lt;br /&gt;
&lt;br /&gt;
# Define the scope of a binary distro prototype (which recipes and machines to target)&amp;lt;br /&amp;gt;Completed - See the top of this page: [[#Scope of a Yocto Binary Distribution Prototype]]&lt;br /&gt;
# Add automated testing of upgrading an image from our previous release to the current version using a package feed.&amp;lt;br /&amp;gt;Ongoing. I have a modified version of testimage.bbclass and an opkgfeed.py test that tests that an upgrade from a previously generated image succeeds with the feeds generated for the version being tested. Now need to explore the approach suggested by Richard, based directly on testimage.&lt;br /&gt;
# Implement PR server functionality to handle “pass through” mode and hierarchy data.&amp;lt;br /&amp;gt;Second [https://lore.kernel.org/bitbake-devel/20240405164125.1652579-1-michael.opdenacker@bootlin.com/T/#t patch series] submitted for the &amp;quot;passthrough&amp;quot; functionality, with support for multiple upstream servers.&lt;br /&gt;
# Automated testing of ability to assemble images quickly from sstate/PRServ/Hashequiv data.&amp;lt;br /&amp;gt;To be started soon.&lt;br /&gt;
# Propose policies/requirements on how a binary reference distro for the project would behave. Need to include proposed policies for including new recipes and extending to cover new platforms/architectures.&amp;lt;br /&amp;gt;Draft version available on [[#Policies_and_Processes]], thanks to Richard and the TSC. Can this deliverable now be considered as &amp;quot;ready&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Can my product point at your package feed?&lt;br /&gt;
A: No. The aim of this work is demonstrate the tools, processes and policies needed to build a binary distribution using the project. There is no commitment or guarantee to maintain the feeds for any product use case or with any guarantees around security issues. Please do not point products at these package feeds.&lt;br /&gt;
&lt;br /&gt;
== Footnotes and references ==&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86292</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86292"/>
		<updated>2024-04-02T15:44:23Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Policies and Processes */ Add&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
Here are other tests that would be worth implementing:&lt;br /&gt;
* Check that package upgrades don&#039;t cause configuration file changes to be lost. See [https://lore.kernel.org/openembedded-core/0e38566f-a1f9-4ebb-8492-2c50945eeeb4@gmail.com/T/#t this discussion].&lt;br /&gt;
* Check that the latest package upgrades successfully apply to any previous release, at least on the same branch. For example, upgrading directly from release x.y.n-2 to x.y may not work without going through x.y.n-1 as an intermediate. This could happen if a package has a really broken post-install script in n-2, which damage is repaired in n-1. Should n repair it too in case n-1 is skipped?&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== PR server passthrough ==&lt;br /&gt;
&lt;br /&gt;
The goal of this part is to enable a local distribution to use packages from an &amp;quot;upstream&amp;quot; distribution, but customize specific ones so that the locally built packages have priority over the upstream ones.&lt;br /&gt;
&lt;br /&gt;
As for the Hash Equivalence server, we know have [https://lore.kernel.org/bitbake-devel/20240329143956.1602707-1-michael.opdenacker@bootlin.com/T/#t a patchset] enabling a local PR server to contact an &amp;quot;upstream&amp;quot; server to compute the local PR value. Therefore, if an upstream package bears revision &amp;lt;x&amp;gt;, the local version of it can have revision &amp;lt;x&amp;gt;.&amp;lt;y&amp;gt;, having priority other the upstream one.&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
Open questions:&lt;br /&gt;
* When do we run updates? What does process look like?&lt;br /&gt;
* How long are the feeds maintained?&lt;br /&gt;
* How do we handle PR and PE changes wrt to the core layers?&lt;br /&gt;
* Do we add a default user? How do we handle image passwords? root password?&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing adding new layers to the binary distro test artifacts process ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* In addition, layers must be well written and be targetting project best practices like reproducibility, no network access outside fetching so mirroring and licensing auditing works and not skipping QA tests without good reason.&lt;br /&gt;
* Any dependency layers would already have to be included in the testing already or make a separate application for addition first.&lt;br /&gt;
* The layer being added must be suitably generic with a clear need/usage of the components provided by the layer in the ecosystem&lt;br /&gt;
* The layer maintainer must have a commitment to keeping recipe upgrades functional&lt;br /&gt;
* The proposal must make it clear which recipes within the layer are being proposed to be built&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of a new MACHINE target ===&lt;br /&gt;
&lt;br /&gt;
* Layers to build the machine need to be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Layers need to be buildable on the project autobuilder&lt;br /&gt;
* Needs to be Yocto Project membership sponsorship of the machine due to the project resource usage&lt;br /&gt;
* Needs to be a commitment to testing the images for the platform for releases and upgrades&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of new recipe to the build ===&lt;br /&gt;
&lt;br /&gt;
* This process assumes the layer is already present but the recipe is not currently included in the test matrix&lt;br /&gt;
* The recipe would need to have demonstrated the ability to pass on target installation and upgrade&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
* The software needs to have a good maintenance track record including reasonable CVE response&lt;br /&gt;
* Note: The TSC is aiming to appoint a maintainer to take the lead on resolving binary distro testing issues and handling recipe addition requests.&lt;br /&gt;
&lt;br /&gt;
=== TSC Criteria for change evaluation ===&lt;br /&gt;
&lt;br /&gt;
* Does the project have resources (human and compute for build/test/QA/bugfixing) to support the change?&lt;br /&gt;
* Is the change widely useful to a significant portion of the user base?&lt;br /&gt;
* Does the change enhance the project&#039;s test matrix?&lt;br /&gt;
* Does the change significantly improve developer productivity?&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
=== Yocto Project Documentation improvements ===&lt;br /&gt;
&lt;br /&gt;
* [https://lore.kernel.org/yocto-docs/20231206155427.279612-1-michael.opdenacker@bootlin.com/T/#t Fixes and updates to the Test Environment Manual]&lt;br /&gt;
&lt;br /&gt;
== Project status ==&lt;br /&gt;
&lt;br /&gt;
Here is the status of the various deliverables, according to the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ project specifications]:&lt;br /&gt;
&lt;br /&gt;
# Define the scope of a binary distro prototype (which recipes and machines to target)&amp;lt;br /&amp;gt;Completed - See the top of this page: [[#Scope of a Yocto Binary Distribution Prototype]]&lt;br /&gt;
# Add automated testing of upgrading an image from our previous release to the current version using a package feed.&amp;lt;br /&amp;gt;Ongoing. I have a modified version of testimage.bbclass and an opkgfeed.py test that tests that an upgrade from a previously generated image succeeds with the feeds generated for the version being tested. Now need to explore the approach suggested by Richard, based directly on testimage.&lt;br /&gt;
# Implement PR server functionality to handle “pass through” mode and hierarchy data.&amp;lt;br /&amp;gt;First [https://lore.kernel.org/bitbake-devel/20240329143956.1602707-1-michael.opdenacker@bootlin.com/T/#t patch series] submitted for the &amp;quot;passthrough&amp;quot; functionality. What about the &amp;quot;hierarchical data&amp;quot; feature mentioned in the specifications?&lt;br /&gt;
# Automated testing of ability to assemble images quickly from sstate/PRServ/Hashequiv data.&amp;lt;br /&amp;gt;To be started soon.&lt;br /&gt;
# Propose policies/requirements on how a binary reference distro for the project would behave. Need to include proposed policies for including new recipes and extending to cover new platforms/architectures.&amp;lt;br /&amp;gt;Draft version available on [[#Policies_and_Processes]], thanks to Richard and the TSC. Can this deliverable now be considered as &amp;quot;ready&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Can my product point at your package feed?&lt;br /&gt;
A: No. The aim of this work is demonstrate the tools, processes and policies needed to build a binary distribution using the project. There is no commitment or guarantee to maintain the feeds for any product use case or with any guarantees around security issues. Please do not point products at these package feeds.&lt;br /&gt;
&lt;br /&gt;
== Footnotes and references ==&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86291</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86291"/>
		<updated>2024-04-02T15:25:24Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Achievements */ Add &amp;quot;Project status&amp;quot; section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
Here are other tests that would be worth implementing:&lt;br /&gt;
* Check that package upgrades don&#039;t cause configuration file changes to be lost. See [https://lore.kernel.org/openembedded-core/0e38566f-a1f9-4ebb-8492-2c50945eeeb4@gmail.com/T/#t this discussion].&lt;br /&gt;
* Check that the latest package upgrades successfully apply to any previous release, at least on the same branch. For example, upgrading directly from release x.y.n-2 to x.y may not work without going through x.y.n-1 as an intermediate. This could happen if a package has a really broken post-install script in n-2, which damage is repaired in n-1. Should n repair it too in case n-1 is skipped?&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
Open questions:&lt;br /&gt;
* When do we run updates? What does process look like?&lt;br /&gt;
* How long are the feeds maintained?&lt;br /&gt;
* How do we handle PR and PE changes wrt to the core layers?&lt;br /&gt;
* Do we add a default user? How do we handle image passwords? root password?&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing adding new layers to the binary distro test artifacts process ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* In addition, layers must be well written and be targetting project best practices like reproducibility, no network access outside fetching so mirroring and licensing auditing works and not skipping QA tests without good reason.&lt;br /&gt;
* Any dependency layers would already have to be included in the testing already or make a separate application for addition first.&lt;br /&gt;
* The layer being added must be suitably generic with a clear need/usage of the components provided by the layer in the ecosystem&lt;br /&gt;
* The layer maintainer must have a commitment to keeping recipe upgrades functional&lt;br /&gt;
* The proposal must make it clear which recipes within the layer are being proposed to be built&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of a new MACHINE target ===&lt;br /&gt;
&lt;br /&gt;
* Layers to build the machine need to be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Layers need to be buildable on the project autobuilder&lt;br /&gt;
* Needs to be Yocto Project membership sponsorship of the machine due to the project resource usage&lt;br /&gt;
* Needs to be a commitment to testing the images for the platform for releases and upgrades&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
&lt;br /&gt;
=== Process and policy for proposing addition of new recipe to the build ===&lt;br /&gt;
&lt;br /&gt;
* This process assumes the layer is already present but the recipe is not currently included in the test matrix&lt;br /&gt;
* The recipe would need to have demonstrated the ability to pass on target installation and upgrade&lt;br /&gt;
* Proposals would be made to the Yocto Project TSC covering the above topics&lt;br /&gt;
* The software needs to have a good maintenance track record including reasonable CVE response&lt;br /&gt;
* Note: The TSC is aiming to appoint a maintainer to take the lead on resolving binary distro testing issues and handling recipe addition requests.&lt;br /&gt;
&lt;br /&gt;
=== TSC Criteria for change evaluation ===&lt;br /&gt;
&lt;br /&gt;
* Does the project have resources (human and compute for build/test/QA/bugfixing) to support the change?&lt;br /&gt;
* Is the change widely useful to a significant portion of the user base?&lt;br /&gt;
* Does the change enhance the project&#039;s test matrix?&lt;br /&gt;
* Does the change significantly improve developer productivity?&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
=== Yocto Project Documentation improvements ===&lt;br /&gt;
&lt;br /&gt;
* [https://lore.kernel.org/yocto-docs/20231206155427.279612-1-michael.opdenacker@bootlin.com/T/#t Fixes and updates to the Test Environment Manual]&lt;br /&gt;
&lt;br /&gt;
== Project status ==&lt;br /&gt;
&lt;br /&gt;
Here is the status of the various deliverables, according to the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ project specifications]:&lt;br /&gt;
&lt;br /&gt;
# Define the scope of a binary distro prototype (which recipes and machines to target)&amp;lt;br /&amp;gt;Completed - See the top of this page: [[#Scope of a Yocto Binary Distribution Prototype]]&lt;br /&gt;
# Add automated testing of upgrading an image from our previous release to the current version using a package feed.&amp;lt;br /&amp;gt;Ongoing. I have a modified version of testimage.bbclass and an opkgfeed.py test that tests that an upgrade from a previously generated image succeeds with the feeds generated for the version being tested. Now need to explore the approach suggested by Richard, based directly on testimage.&lt;br /&gt;
# Implement PR server functionality to handle “pass through” mode and hierarchy data.&amp;lt;br /&amp;gt;First [https://lore.kernel.org/bitbake-devel/20240329143956.1602707-1-michael.opdenacker@bootlin.com/T/#t patch series] submitted for the &amp;quot;passthrough&amp;quot; functionality. What about the &amp;quot;hierarchical data&amp;quot; feature mentioned in the specifications?&lt;br /&gt;
# Automated testing of ability to assemble images quickly from sstate/PRServ/Hashequiv data.&amp;lt;br /&amp;gt;To be started soon.&lt;br /&gt;
# Propose policies/requirements on how a binary reference distro for the project would behave. Need to include proposed policies for including new recipes and extending to cover new platforms/architectures.&amp;lt;br /&amp;gt;Draft version available on [[#Policies_and_Processes]], thanks to Richard and the TSC. Can this deliverable now be considered as &amp;quot;ready&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: Can my product point at your package feed?&lt;br /&gt;
A: No. The aim of this work is demonstrate the tools, processes and policies needed to build a binary distribution using the project. There is no commitment or guarantee to maintain the feeds for any product use case or with any guarantees around security issues. Please do not point products at these package feeds.&lt;br /&gt;
&lt;br /&gt;
== Footnotes and references ==&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86265</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86265"/>
		<updated>2024-03-11T14:10:33Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Testing plans */ Keep track of other scenarios that we may want to test&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
Here are other tests that would be worth implementing:&lt;br /&gt;
* Check that package upgrades don&#039;t cause configuration file changes to be lost. See [https://lore.kernel.org/openembedded-core/0e38566f-a1f9-4ebb-8492-2c50945eeeb4@gmail.com/T/#t this discussion].&lt;br /&gt;
* Check that the latest package upgrades successfully apply to any previous release, at least on the same branch. For example, upgrading directly from release x.y.n-2 to x.y may not work without going through x.y.n-1 as an intermediate. This could happen if a package has a really broken post-install script in n-2, which damage is repaired in n-1. Should n repair it too in case n-1 is skipped?&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Criteria for testing other layers ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Recipes to consider and all their dependencies should be already tested by the Autobuilder.&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
=== Yocto Project Documentation improvements ===&lt;br /&gt;
&lt;br /&gt;
* [https://lore.kernel.org/yocto-docs/20231206155427.279612-1-michael.opdenacker@bootlin.com/T/#t Fixes and updates to the Test Environment Manual]&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;br /&gt;
&lt;br /&gt;
== Footnotes and references ==&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=86264</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=86264"/>
		<updated>2024-03-11T10:02:43Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Release Activity */ Update for 3.1.32&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
See also [https://docs.yoctoproject.org/dev/_images/releases.svg a graphical release timeline].&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Styhead &amp;lt;br/&amp;gt;(like &#039;try head&#039;)&lt;br /&gt;
|5.1&lt;br /&gt;
| October 2024&lt;br /&gt;
|&lt;br /&gt;
|Future&lt;br /&gt;
|N/A&lt;br /&gt;
|2.10&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|[[Recipe_Versions|Recipe versions]]&lt;br /&gt;
|-&lt;br /&gt;
|Scarthgap&lt;br /&gt;
|5.0&lt;br /&gt;
| April 2024&lt;br /&gt;
|&lt;br /&gt;
|Long Term Support (until April 2028)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.8&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|[[Recipe_Versions|Recipe versions]]&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| November 2023&lt;br /&gt;
| 4.3.3 (March 2024)&lt;br /&gt;
|Support for 7 months (until May 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|- style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2.4 (December 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.16 (February 2024)&lt;br /&gt;
|Long Term Support (Apr. 2026¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.32 (Mar. 2024)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series and 4.0 were originally planned for two years but extended to four. Future LTS releases are planned for 4 years.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=86133</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=86133"/>
		<updated>2023-12-18T10:59:57Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Release Activity */ update link to latest graphical timeline&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
See also [https://docs.yoctoproject.org/dev/_images/releases.svg a graphical release timeline].&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
|Scarthgap&lt;br /&gt;
|5.0&lt;br /&gt;
| April 2024&lt;br /&gt;
|&lt;br /&gt;
|Future - Long Term Support (until April 2028)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.8&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| November 2023&lt;br /&gt;
| 4.3.1 (December 2023)&lt;br /&gt;
|Support for 7 months (until May 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|- style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2.4 (December 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.14 (November 2023)&lt;br /&gt;
|Long Term Support (Apr. 2026¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.29 (November 2023)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series and 4.0 were originally planned for two years but extended to four. Future LTS releases are planned for 4 years.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86118</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86118"/>
		<updated>2023-12-06T15:59:53Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Achievements */  Add improvements to the test manual&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Criteria for testing other layers ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Recipes to consider and all their dependencies should be already tested by the Autobuilder.&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
=== Yocto Project Documentation improvements ===&lt;br /&gt;
&lt;br /&gt;
* [https://lore.kernel.org/yocto-docs/20231206155427.279612-1-michael.opdenacker@bootlin.com/T/#t Fixes and updates to the Test Environment Manual]&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;br /&gt;
&lt;br /&gt;
== Footnotes and references ==&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86106</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86106"/>
		<updated>2023-12-02T06:24:46Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Out of scope */ Add footnotes and references section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Criteria for testing other layers ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Recipes to consider and all their dependencies should be already tested by the Autobuilder.&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;br /&gt;
&lt;br /&gt;
== Footnotes and references ==&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86105</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86105"/>
		<updated>2023-12-02T06:23:30Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Available reference binary artifacts and deliverables */ Add footnotes about source packages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPMs)&amp;lt;ref&amp;gt;Only Source RPMs are supported by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. To obtain them, you need to set &amp;lt;code&amp;gt;INHERIT += &amp;quot;archiver&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PACKAGE_CLASSES = &amp;quot;package_rpm&amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ARCHIVER_MODE[srpm] = &amp;quot;1&amp;quot;&amp;lt;/code&amp;gt;. The generation of source &amp;lt;code&amp;gt;deb&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ipk&amp;lt;/code&amp;gt; packages is currently not supported.&amp;lt;/ref&amp;gt;.&amp;lt;ref&amp;gt;The &amp;lt;code&amp;gt;-src&amp;lt;/code&amp;gt; packages which recipes can produce are only meant for debugging together with &amp;lt;code&amp;gt;-dbg&amp;lt;/code&amp;gt; packages. See [https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-PACKAGE_DEBUG_SPLIT_STYLE PACKAGE_DEBUG_SPLIT_STYLE].&amp;lt;/ref&amp;gt;&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Criteria for testing other layers ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Recipes to consider and all their dependencies should be already tested by the Autobuilder.&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86103</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86103"/>
		<updated>2023-12-01T19:03:14Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Available reference binary artifacts and deliverables */  Add we won&amp;#039;t produce source package feeds&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image, as produced by the [https://docs.yoctoproject.org/ref-manual/classes.html#ref-classes-archiver archiver] class. Unlike standard GNU/Linux distributions, we won&#039;t ship source package feeds (such as SRPM or &amp;lt;code&amp;gt;deb-src&amp;lt;/code&amp;gt;).&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Criteria for testing other layers ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Recipes to consider and all their dependencies should be already tested by the Autobuilder.&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86102</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86102"/>
		<updated>2023-12-01T18:11:11Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Defining policies and processes */ Add link to new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
See the [[#Policies and Processes | Policies and Processes]].&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Criteria for testing other layers ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Recipes to consider and all their dependencies should be already tested by the Autobuilder.&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86101</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86101"/>
		<updated>2023-12-01T17:27:57Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Achievements */  Adding a section for drafting policies and processes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== Policies and Processes ==&lt;br /&gt;
&lt;br /&gt;
=== Criteria for adding and testing a new CPU architecture or platform tuning ===&lt;br /&gt;
&lt;br /&gt;
* Only tunes in Openembedded-Core should be supported.&lt;br /&gt;
&lt;br /&gt;
=== Criteria for testing other layers ===&lt;br /&gt;
&lt;br /&gt;
* Layers must be [https://docs.yoctoproject.org/current/dev-manual/layers.html#making-sure-your-layer-is-compatible-with-yocto-project Yocto Project Compatible]&lt;br /&gt;
* Recipes to consider and all their dependencies should be already tested by the Autobuilder.&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86100</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86100"/>
		<updated>2023-12-01T17:12:42Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Target tunes */ Use the default tunes for qemux86-64 and qemuarm64&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated with the default tunes of the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] and  [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machines.&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86099</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86099"/>
		<updated>2023-12-01T17:00:48Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Target architectures and machines */ Refocus prototypes on the builds for qemux86-64 and qemuarm64&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;x86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemux86-64.conf qemux86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine.&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated for the below tunes:&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/arm/arch-armv8a.inc armv8a]&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/x86/tune-core2.inc core2-64]&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86098</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86098"/>
		<updated>2023-12-01T15:05:15Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Open questions */ Add issue with arch strings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;genericx86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta-yocto-bsp/conf/machine/genericx86-64.conf genericx86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine (and later &amp;quot;genericarm64&amp;quot; when ready).&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated for the below tunes:&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/arm/arch-armv8a.inc armv8a]&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/x86/tune-core2.inc core2-64]&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
* Issues with Yocto Project being pedantic in its use of arch strings such as &amp;quot;intel-x86-64&amp;quot; instead of &amp;quot;x86-64&amp;quot;. This conflicts with typical use in the greater Linux and &amp;quot;binary&amp;quot; community, which may not recognize the &amp;quot;extended&amp;quot; arch strings. Examples: [https://github.com/openSUSE/libsolv/blob/master/src/poolarch.c#L23 libresolv] and [https://github.com/rpm5/libhif/blob/f9b798cadb6821f9cffd5c0331578b3f7c19d699/libdnf/dnf-context.c#L52 libdnf] (reported by Mark Asselstine).&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86092</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86092"/>
		<updated>2023-11-29T10:32:27Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: Mention distribution installers (out of scope)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;genericx86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta-yocto-bsp/conf/machine/genericx86-64.conf genericx86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine (and later &amp;quot;genericarm64&amp;quot; when ready).&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated for the below tunes:&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/arm/arch-armv8a.inc armv8a]&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/x86/tune-core2.inc core2-64]&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;br /&gt;
&lt;br /&gt;
== Out of scope ==&lt;br /&gt;
&lt;br /&gt;
Features outside of the scope of this effort, but definitely worth keeping track of for future efforts, or for people already maintaining binary distributions.&lt;br /&gt;
* Binary distribution installer: not absolutely necessary but users may expect one. For example the [https://www.yoedistro.org/ Yoe] distro offers one, and so does [https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/ Raspberry Pi].&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86091</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86091"/>
		<updated>2023-11-28T18:24:13Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Scope of a Yocto Binary Distribution Prototype */ Add links for Angstrom and Yoe&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as [[wikipedia:Ångström_distribution|Ångström]] or [https://www.yoedistro.org/ Yoe].&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;genericx86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta-yocto-bsp/conf/machine/genericx86-64.conf genericx86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine (and later &amp;quot;genericarm64&amp;quot; when ready).&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated for the below tunes:&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/arm/arch-armv8a.inc armv8a]&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/x86/tune-core2.inc core2-64]&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86090</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86090"/>
		<updated>2023-11-28T18:12:21Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: Add link to original Engineering Request for Quotation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions (see the [https://web.archive.org/web/20230620145823/https://www.yoctoproject.org/community/yocto-project-engineering-request-for-quotation/ Engineering Request for Quotation]). As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as Angstrom or Yoe.&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;genericx86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta-yocto-bsp/conf/machine/genericx86-64.conf genericx86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine (and later &amp;quot;genericarm64&amp;quot; when ready).&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated for the below tunes:&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/arm/arch-armv8a.inc armv8a]&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/x86/tune-core2.inc core2-64]&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86089</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86089"/>
		<updated>2023-11-28T18:08:10Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: Add &amp;quot;Fixed bugs&amp;quot; section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions. As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as Angstrom or Yoe.&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;genericx86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta-yocto-bsp/conf/machine/genericx86-64.conf genericx86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine (and later &amp;quot;genericarm64&amp;quot; when ready).&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated for the below tunes:&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/arm/arch-armv8a.inc armv8a]&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/x86/tune-core2.inc core2-64]&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
== Achievements ==&lt;br /&gt;
&lt;br /&gt;
=== Fixed bugs ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15292 Bug 15292 - systemd-compat-units: error at package post-install time]&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86088</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86088"/>
		<updated>2023-11-28T17:04:56Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: Add a section documenting the identified missing features&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions. As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as Angstrom or Yoe.&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;genericx86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta-yocto-bsp/conf/machine/genericx86-64.conf genericx86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine (and later &amp;quot;genericarm64&amp;quot; when ready).&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated for the below tunes:&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/arm/arch-armv8a.inc armv8a]&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/x86/tune-core2.inc core2-64]&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
=== Open questions ===&lt;br /&gt;
&lt;br /&gt;
== Missing features ==&lt;br /&gt;
&lt;br /&gt;
Not implemented yet:&lt;br /&gt;
* Ability to update the system SPDX description after installing extra packages or package updates. The current way SPDX is generated doesn&#039;t allow to generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, which would have made this possible ([https://lists.openembedded.org/g/openembedded-architecture/message/1855 discussion]).&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86087</id>
		<title>Binary Distro Prototype</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Binary_Distro_Prototype&amp;diff=86087"/>
		<updated>2023-11-28T16:53:43Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: Initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scope of a Yocto Binary Distribution Prototype ==&lt;br /&gt;
&lt;br /&gt;
The Yocto Project has received funding for developing the processes and tooling for enabling binary distributions. As part of that, the project would need some form of prototype test binary distro to develop and test this. The main goal of this would be to develop the tools, and documentation needed to build a binary distribution and allow application and system developers to progress through a hierarchy of different uses of the resulting environment:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Beginner&#039;&#039;&#039; use case: begin by fetching a binary image, ready to boot on a target machine. Extend the system by installing extra applications through package feeds.&lt;br /&gt;
* &#039;&#039;&#039;Intermediate&#039;&#039;&#039; use case: tweak and rebuild existing packages, compile new applications and modify images by using an eSDK and other binary artifacts.&lt;br /&gt;
* &#039;&#039;&#039;Advanced&#039;&#039;&#039; use case: completely reorganize and optimize the system for a specific target, switching to building from source&lt;br /&gt;
&lt;br /&gt;
The first step in this effort is to define the scope of the prototype we will develop. We are looking for feedback and comments about issues we may not have considered.&lt;br /&gt;
&lt;br /&gt;
Bear in mind that a prototype has to be limited in scope. However, the developed tools, procedures and documentation will open a pathway for the Yocto Project and OpenEmbedded community to experiment with more architectures, features, recipes and images.&lt;br /&gt;
&lt;br /&gt;
Also bear in mind that the effort is not planning to adopt, replace or repeat any existing distributions such as Angstrom or Yoe.&lt;br /&gt;
&lt;br /&gt;
Notes from discussions:&lt;br /&gt;
* Alex Kanavin suggests as &amp;quot;Intermediate&amp;quot; step to use the [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles] that he submitted. However, this is closer to the &amp;quot;Advanced&amp;quot; use case as this already uses BitBake and OE/Yocto ([https://lists.openembedded.org/g/openembedded-architecture/message/1850 discussion]).&lt;br /&gt;
&lt;br /&gt;
=== Target architectures and machines ===&lt;br /&gt;
&lt;br /&gt;
The first prototype would only target the below architectures:&lt;br /&gt;
* &amp;quot;genericx86-64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta-yocto-bsp/conf/machine/genericx86-64.conf genericx86-64] machine.&lt;br /&gt;
* &amp;quot;arm64&amp;quot; architecture through the [https://git.yoctoproject.org/poky/tree/meta/conf/machine/qemuarm64.conf qemuarm64] machine (and later &amp;quot;genericarm64&amp;quot; when ready).&lt;br /&gt;
&lt;br /&gt;
Testing would happen through QEMU system emulation. The emulated architectures will be sufficient to test the outputs of this effort, but the developed tooling and documentation should allow the community to experiment with other target architectures and machines.&lt;br /&gt;
&lt;br /&gt;
=== Target tunes ===&lt;br /&gt;
&lt;br /&gt;
The binary images and other artifacts should be generated for the below tunes:&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/arm/arch-armv8a.inc armv8a]&lt;br /&gt;
* [https://git.yoctoproject.org/poky/tree/meta/conf/machine/include/x86/tune-core2.inc core2-64]&lt;br /&gt;
&lt;br /&gt;
See [https://docs.yoctoproject.org/ref-manual/variables.html#term-DEFAULTTUNE DEFAULTTUNE] for details.&lt;br /&gt;
&lt;br /&gt;
=== Distribution, Init Manager, C library ===&lt;br /&gt;
&lt;br /&gt;
Images and package feeds will be generated for the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution, using the systemd init manager.&lt;br /&gt;
&lt;br /&gt;
Choosing systemd makes the binary reference distribution as generic as possible, enabling the widest set of features, and being more familiar to more users. Of course, switching to other init managers and more restricted features will be possible by later compiling the system from source (advanced use case).&lt;br /&gt;
&lt;br /&gt;
This also implies the choice of the GNU C library (glibc). Selecting glibc also makes sense to enable the widest possible selection of packages, and some packages have limited or no support for the Musl C library. That&#039;s typically the case of systemd, which upstream only supports glibc.&lt;br /&gt;
&lt;br /&gt;
Last but not least, people who want to use the Musl C library probably do that to optimize the size of their system, which is a use case not well adapted to using ready-made binary images. &lt;br /&gt;
Such an advanced use case will be addressed by re-compiling from source, after testing initial prototypes with the binary image based on glibc.&lt;br /&gt;
&lt;br /&gt;
=== Binary images ===&lt;br /&gt;
&lt;br /&gt;
The prototype will provide as a reference, for each targeted architecture:&lt;br /&gt;
* The root filesystem binary image, generated by building the &amp;lt;code&amp;gt;core-image-full-cmdline&amp;lt;/code&amp;gt; target.&lt;br /&gt;
* An image containing on-target development tools (e.g compiler, debugger)&lt;br /&gt;
* The corresponding SD card images to be booted through QEMU. Other boot methods will be possible, but will be outside of the scope of the reference distribution.&lt;br /&gt;
&lt;br /&gt;
=== Package feeds ===&lt;br /&gt;
&lt;br /&gt;
For each targeted architecture, several package feeds will be available to allow for bugfix or security updates or to extend the image with additional packages:&lt;br /&gt;
* Architecture independent feed&lt;br /&gt;
* Architecture dependent feed&lt;br /&gt;
* Machine dependent feed&lt;br /&gt;
See [https://docs.yoctoproject.org/dev-manual/packages.html#using-runtime-package-management Using Runtime Package Management] for details.&lt;br /&gt;
&lt;br /&gt;
The feeds for the first prototype will contain all the packages which are supported by the [https://git.yoctoproject.org/poky/tree/meta-poky/conf/distro/poky-altcfg.conf poky-altcfg] distribution as produced by the &amp;lt;code&amp;gt;bitbake world&amp;lt;/code&amp;gt; command for the set of layers supplied by Poky.&lt;br /&gt;
&lt;br /&gt;
=== Available reference package formats ===&lt;br /&gt;
&lt;br /&gt;
To keep the first prototype simple, we will only release images and package feeds based on the &amp;quot;ipk&amp;quot; format supported by [[wikipedia:opkg|opkg]] package manager.&lt;br /&gt;
&lt;br /&gt;
Of course, the OpenEmbedded build system also supports the [[wikipedia:Deb_(file_format)|deb]] and [[wikipedia:RPM_Package_Manager|rpm]] package formats, so users will be able to generate their own images and feeds based on these other formats.&lt;br /&gt;
&lt;br /&gt;
Another reason for not providing &amp;quot;deb&amp;quot; and &amp;quot;rpm&amp;quot; packages is that we do not want inexperienced users to expect to be able to grab and use such packages produced for regular Linux distributions (Debian, Fedora, etc.). Being built with different C library versions and toolchains, the corresponding binaries are most likely to be broken anyway.&lt;br /&gt;
&lt;br /&gt;
=== Available reference binary artifacts and deliverables ===&lt;br /&gt;
&lt;br /&gt;
The first prototype will make the below binary artifacts publicly available:&lt;br /&gt;
* Root filesystem images (as specified above)&lt;br /&gt;
* Binary package feeds (as specified above)&lt;br /&gt;
* [https://docs.yoctoproject.org/ref-manual/variables.html#term-PR PR] database, so that people can manage updates to packages, by importing the database in a local PR server.&lt;br /&gt;
* Prebuilt object data (&amp;quot;Shared State cache) through a public server (see [https://docs.yoctoproject.org/ref-manual/variables.html#term-SSTATE_MIRRORS SSTATE_MIRRORS]), to reuse binary output already built by the Yocto Project autobuilders, to reduce the compile time of additional packages.&lt;br /&gt;
* Hash Equivalence data through a public server (see [https://docs.yoctoproject.org/bitbake/2.4/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_HASHSERVE_UPSTREAM BB_HASHSERVE_UPSTREAM]), to increase the reusability of prebuilt objects.&lt;br /&gt;
&lt;br /&gt;
Share State and Hash Equivalence data would be only useful to &amp;quot;Intermediate&amp;quot; and &amp;quot;Advanced&amp;quot; use cases, to rebuild parts or the whole system from source.&lt;br /&gt;
&lt;br /&gt;
Such artifacts will be served through a Content Delivery Network (CDN), to make sure that they can be downloaded fast enough from any location in the world, in a way that remains much faster than re-compiling such artifacts from sources.&lt;br /&gt;
&lt;br /&gt;
Those binaries should also be released along with:&lt;br /&gt;
* Sources corresponding to the software used to build the image&lt;br /&gt;
* SPDX output for the initial image&lt;br /&gt;
* The build system and layer sources. A good fit would be Alex Kanavin&#039;s [https://patchwork.yoctoproject.org/project/oe-core/patch/20231107105844.712846-1-alex@linutronix.de/ build bundles].&lt;br /&gt;
&lt;br /&gt;
=== Defining policies and processes ===&lt;br /&gt;
&lt;br /&gt;
This reference binary distribution prototype will also drive the documentation of policies and process to address future work such as:&lt;br /&gt;
* What criteria should a new CPU architecture or platform tuning meet to be added / tested?&lt;br /&gt;
* What criteria should other layers meet to be tested, in addition to being already tested by the Autobuilder? Should these criteria only apply to specific recipes or to the entire layers containing them?&lt;br /&gt;
&lt;br /&gt;
=== Testing plans ===&lt;br /&gt;
&lt;br /&gt;
Here are the tests we plan to implement:&lt;br /&gt;
* Producing and testing binary images through the autobuilder&lt;br /&gt;
* Making nightly builds available to testers&lt;br /&gt;
* Testing that package updates apply successfully:&lt;br /&gt;
** Within the current stable branch (nanbield): from one release update to the next, and from the latest release update to the tip of the branch&lt;br /&gt;
** Between release branches: from the latest update to our latest LTS (kirkstone), to the latest update to the current stable release (nanbield).&lt;br /&gt;
* Testing that it&#039;s also possible to build and deploy packages from the meta-openembedded and meta-virtualization layers, as a way to assess the relevance of our policies and process for additional layers or recipes. This would also be a way to demonstrate the ability to build container images, which would be a great way to ship binary distributions.&lt;br /&gt;
&lt;br /&gt;
We will work with recipe maintainers to publish fixes for update issues that testing will find in recipes. Each issue will be reported in Bugzilla.&lt;br /&gt;
&lt;br /&gt;
Open questions&lt;br /&gt;
How do we update the system SPDX description after installing package updates? Should we also generate &amp;lt;code&amp;gt;-spdx&amp;lt;/code&amp;gt; packages, to allow us to update the toplevel SPDX (from a new script?).&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=86071</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=86071"/>
		<updated>2023-11-15T18:43:39Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Release Activity */ Update for 4.0.14 release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
See also [https://docs.yoctoproject.org/_images/releases.svg a graphical release timeline].&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
|Scarthgap&lt;br /&gt;
|5.0&lt;br /&gt;
| April 2024&lt;br /&gt;
|&lt;br /&gt;
|Future - Long Term Support (until April 2028)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.8&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| November 2023&lt;br /&gt;
| 4.3 (November 2023)&lt;br /&gt;
|Support for 7 months (until May 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2.3 (September 2023)&lt;br /&gt;
|Support for 7 months (until November 2023)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.14 (November 2023)&lt;br /&gt;
|Long Term Support (Apr. 2026¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.29 (November 2023)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series and 4.0 were originally planned for two years but extended to four. Future LTS releases are planned for 4 years.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=86070</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=86070"/>
		<updated>2023-11-15T17:29:17Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Release Activity */ Update for 3.1.29 release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
See also [https://docs.yoctoproject.org/_images/releases.svg a graphical release timeline].&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
|Scarthgap&lt;br /&gt;
|5.0&lt;br /&gt;
| April 2024&lt;br /&gt;
|&lt;br /&gt;
|Future - Long Term Support (until April 2028)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.8&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| November 2023&lt;br /&gt;
| 4.3 (November 2023)&lt;br /&gt;
|Support for 7 months (until May 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2.3 (September 2023)&lt;br /&gt;
|Support for 7 months (until November 2023)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.13 (October 2023)&lt;br /&gt;
|Long Term Support (Apr. 2026¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.29 (November 2023)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series and 4.0 were originally planned for two years but extended to four. Future LTS releases are planned for 4 years.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=86066</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=86066"/>
		<updated>2023-11-10T14:38:29Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Release Activity */ Update for 4.3 release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
See also [https://docs.yoctoproject.org/_images/releases.svg a graphical release timeline].&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
|Scarthgap&lt;br /&gt;
|5.0&lt;br /&gt;
| April 2024&lt;br /&gt;
|&lt;br /&gt;
|Future - Long Term Support (until April 2028)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.8&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| November 2023&lt;br /&gt;
| 4.3 (November 2023)&lt;br /&gt;
|Support for 7 months (until May 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2.3 (September 2023)&lt;br /&gt;
|Support for 7 months (until November 2023)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.13 (October 2023)&lt;br /&gt;
|Long Term Support (Apr. 2026¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.28 (September 2023)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series and 4.0 were originally planned for two years but extended to four. Future LTS releases are planned for 4 years.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85955</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85955"/>
		<updated>2023-10-06T07:48:30Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Release Activity */ Update for 4.0.13 release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
See also [https://docs.yoctoproject.org/_images/releases.svg a graphical release timeline].&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
|Scarthgap&lt;br /&gt;
|5.0&lt;br /&gt;
| April 2024&lt;br /&gt;
|&lt;br /&gt;
|Future - Long Term Support (until April 2028)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.8&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| October 2023&lt;br /&gt;
|&lt;br /&gt;
|Future - Support for 7 months (until April 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2.3 (September 2023)&lt;br /&gt;
|Support for 7 months (until November 2023)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.13 (October 2023)&lt;br /&gt;
|Long Term Support (Apr. 2026¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.28 (September 2023)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series and 4.0 were originally planned for two years but extended to four. Future LTS releases are planned for 4 years.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85949</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85949"/>
		<updated>2023-10-02T08:52:39Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Release Activity */ Update for 3.1.28 release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
See also [https://docs.yoctoproject.org/_images/releases.svg a graphical release timeline].&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
|Scarthgap&lt;br /&gt;
|4.4&lt;br /&gt;
| April 2024&lt;br /&gt;
|&lt;br /&gt;
|Future - Long Term Support (until April 2028)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.8&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| October 2023&lt;br /&gt;
|&lt;br /&gt;
|Future - Support for 7 months (until April 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2.3 (September 2023)&lt;br /&gt;
|Support for 7 months (until November 2023)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.12 (August 2023)&lt;br /&gt;
|Long Term Support (Apr. 2026¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.28 (September 2023)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series and 4.0 were originally planned for two years but extended to four. Future LTS releases are planned for 4 years.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Documentation_Bugs&amp;diff=85925</id>
		<title>Documentation Bugs</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Documentation_Bugs&amp;diff=85925"/>
		<updated>2023-09-14T11:51:09Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: New overview page for documentation bugs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Based on [https://bugzilla.yoctoproject.org/buglist.cgi?email1=opdenacker&amp;amp;emailassigned_to1=1&amp;amp;emailtype1=substring&amp;amp;query_format=advanced&amp;amp;resolution=--- bugs assigned to Michael Opdenacker]&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85924</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85924"/>
		<updated>2023-09-12T19:10:35Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Release Activity */ Improve link to releases diagram&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
See also [https://docs.yoctoproject.org/_images/releases.svg a graphical release timeline].&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
|Scarthgap&lt;br /&gt;
|4.4&lt;br /&gt;
| April 2024&lt;br /&gt;
|&lt;br /&gt;
|Future - Long Term Support (until April 2028)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.8&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| October 2023&lt;br /&gt;
|&lt;br /&gt;
|Future - Support for 7 months (until April 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2.3 (September 2023)&lt;br /&gt;
|Support for 7 months (until November 2023)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.12 (August 2023)&lt;br /&gt;
|Long Term Support (Apr. 2026¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.27 (August 2023)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series and 4.0 were originally planned for two years but extended to four. Future LTS releases are planned for 4 years.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85923</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85923"/>
		<updated>2023-09-12T19:09:00Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Release Activity */ Add link to releases diagram from documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
See https://docs.yoctoproject.org/_images/releases.svg for graphical release timeline.&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
|Scarthgap&lt;br /&gt;
|4.4&lt;br /&gt;
| April 2024&lt;br /&gt;
|&lt;br /&gt;
|Future - Long Term Support (until April 2028)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.8&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| October 2023&lt;br /&gt;
|&lt;br /&gt;
|Future - Support for 7 months (until April 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2.3 (September 2023)&lt;br /&gt;
|Support for 7 months (until November 2023)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.12 (August 2023)&lt;br /&gt;
|Long Term Support (Apr. 2026¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.27 (August 2023)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series and 4.0 were originally planned for two years but extended to four. Future LTS releases are planned for 4 years.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85905</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85905"/>
		<updated>2023-09-04T10:14:06Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Release Activity */ Update for 4.2.3 release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
|Scarthgap&lt;br /&gt;
|4.4&lt;br /&gt;
| April 2024&lt;br /&gt;
|&lt;br /&gt;
|Future - Long Term Support (until April 2028)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.8&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| October 2023&lt;br /&gt;
|&lt;br /&gt;
|Future - Support for 7 months (until April 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2.3 (September 2023)&lt;br /&gt;
|Support for 7 months (until November 2023)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.12 (August 2023)&lt;br /&gt;
|Long Term Support (Apr. 2026¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.27 (August 2023)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series and 4.0 was originally planned for two years but extended to four. Future LTS releases are planned for 4 years.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85873</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85873"/>
		<updated>2023-08-11T09:35:09Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Release Activity */ Update for 3.1.27 release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
|Scarthgap&lt;br /&gt;
|4.4&lt;br /&gt;
| April 2024&lt;br /&gt;
|&lt;br /&gt;
|Future - Long Term Support (until April 2028)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.8&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| October 2023&lt;br /&gt;
|&lt;br /&gt;
|Future - Support for 7 months (until April 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2.2 (July 2023)&lt;br /&gt;
|Support for 7 months (until November 2023)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.11 (July 2023)&lt;br /&gt;
|Long Term Support (Apr. 2026¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.27 (August 2023)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series and 4.0 was originally planned for two years but extended to four. Future LTS releases are planned for 4 years.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85806</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85806"/>
		<updated>2023-05-30T12:00:49Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Release Activity */ Move Langdale to EOL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| October 2023&lt;br /&gt;
|&lt;br /&gt;
|Future - Support for 7 months (until April 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2.1 (May 2023)&lt;br /&gt;
|Support for 7 months (until November 2023)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.10 (May 2023)&lt;br /&gt;
|Long Term Support (minimum Apr. 2024¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.25 (May 2023)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series was originally planned for two years but extended to four. No decision has been made about 4.0, it would be a decision by the project members who fund it. The project in unable to commit to funding the work multiple years in advance.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85805</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85805"/>
		<updated>2023-05-29T07:40:09Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: Update for 4.2.1 release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| October 2023&lt;br /&gt;
|&lt;br /&gt;
|Future - Support for 7 months (until April 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2.1 (May 2023)&lt;br /&gt;
|Support for 7 months (until November 2023)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| Support until May 2023&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.10 (May 2023)&lt;br /&gt;
|Long Term Support (minimum Apr. 2024¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.25 (May 2023)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series was originally planned for two years but extended to four. No decision has been made about 4.0, it would be a decision by the project members who fund it. The project in unable to commit to funding the work multiple years in advance.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85798</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85798"/>
		<updated>2023-05-24T08:16:47Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: /* Release Activity */ Update for 4.0.10 release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| October 2023&lt;br /&gt;
|&lt;br /&gt;
|Future - Support for 7 months (until April 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2 (May 2023)&lt;br /&gt;
|Support for 7 months (until November 2023)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| Support until May 2023&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.10 (May 2023)&lt;br /&gt;
|Long Term Support (minimum Apr. 2024¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.25 (May 2023)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series was originally planned for two years but extended to four. No decision has been made about 4.0, it would be a decision by the project members who fund it. The project in unable to commit to funding the work multiple years in advance.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85783</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Releases&amp;diff=85783"/>
		<updated>2023-05-12T09:06:27Z</updated>

		<summary type="html">&lt;p&gt;Michael Opdenacker: Update for 3.1.25 release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: release names codenames versions version names numbers branches branchx --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Release Activity==&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded at https://www.yoctoproject.org/software-overview/downloads/&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
!Codename&lt;br /&gt;
!Yocto Project Version&lt;br /&gt;
!Release Date&lt;br /&gt;
!Current Version&lt;br /&gt;
!Support Level&lt;br /&gt;
!Poky Version&lt;br /&gt;
!BitBake branch&lt;br /&gt;
! Maintainer&lt;br /&gt;
|-&lt;br /&gt;
|Nanbield &amp;lt;br/&amp;gt;(like &#039;man field&#039;)&lt;br /&gt;
|4.3&lt;br /&gt;
| October 2023&lt;br /&gt;
|&lt;br /&gt;
|Future - Support for 7 months (until April 2024)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.6&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Mickledore&lt;br /&gt;
|4.2&lt;br /&gt;
| May 2023&lt;br /&gt;
| 4.2 (May 2023)&lt;br /&gt;
|Support for 7 months (until November 2023)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.4&lt;br /&gt;
|Richard Purdie &amp;lt;richard.purdie@linuxfoundation.org&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Langdale&lt;br /&gt;
|4.1&lt;br /&gt;
| October 2022&lt;br /&gt;
| 4.1.4 (May 2023)&lt;br /&gt;
| Support until May 2023&lt;br /&gt;
|N/A&lt;br /&gt;
|2.2&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Kirkstone &amp;lt;br/&amp;gt;(like &#039;kirk stun&#039;)&lt;br /&gt;
|4.0&lt;br /&gt;
|May 2022&lt;br /&gt;
|4.0.9 (April 2023)&lt;br /&gt;
|Long Term Support (minimum Apr. 2024¹)&lt;br /&gt;
|N/A&lt;br /&gt;
|2.0&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Honister&lt;br /&gt;
|3.4&lt;br /&gt;
|October 2021&lt;br /&gt;
|3.4.4 (May 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.52&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Hardknott&lt;br /&gt;
|3.3&lt;br /&gt;
|April 2021&lt;br /&gt;
|3.3.6 (April 2022)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.50&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Gatesgarth&lt;br /&gt;
|3.2&lt;br /&gt;
|Oct 2020&lt;br /&gt;
|3.2.4 (May 2021)&lt;br /&gt;
|EOL&lt;br /&gt;
|N/A&lt;br /&gt;
|1.48&lt;br /&gt;
|Anuj Mittal &amp;lt;anuj.mittal@intel.com&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dunfell&lt;br /&gt;
|3.1&lt;br /&gt;
|April 2020&lt;br /&gt;
|3.1.25 (May 2023)&lt;br /&gt;
|Long Term Support (until Apr. 2024¹)&lt;br /&gt;
|23.0&lt;br /&gt;
|1.46&lt;br /&gt;
|Steve Sakoman &amp;lt;steve@sakoman.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Zeus&lt;br /&gt;
|3.0&lt;br /&gt;
|October 2019&lt;br /&gt;
|3.0.4 (August 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|22.0.3&lt;br /&gt;
|1.44&lt;br /&gt;
| Anuj/Armin&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Warrior&lt;br /&gt;
|2.7&lt;br /&gt;
|April 2019&lt;br /&gt;
|2.7.4 (June 2020)&lt;br /&gt;
|EOL&lt;br /&gt;
|21.0&lt;br /&gt;
|1.42&lt;br /&gt;
|Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Thud&lt;br /&gt;
|2.6&lt;br /&gt;
|Nov 2018&lt;br /&gt;
|2.6.4 (October 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|20.0&lt;br /&gt;
|1.40&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Sumo&lt;br /&gt;
|2.5&lt;br /&gt;
|April 2018&lt;br /&gt;
|2.5.3 (April 2019)&lt;br /&gt;
|EOL&lt;br /&gt;
|19.0&lt;br /&gt;
|1.38&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Rocko&lt;br /&gt;
|2.4&lt;br /&gt;
|Oct 2017&lt;br /&gt;
|2.4.4 (November 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|18.0&lt;br /&gt;
|1.36&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pyro&lt;br /&gt;
|2.3&lt;br /&gt;
|May 2017&lt;br /&gt;
|2.3.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|17.0&lt;br /&gt;
|1.34&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Morty&lt;br /&gt;
|2.2&lt;br /&gt;
|Nov 2016&lt;br /&gt;
|2.2.4 (July 2018)&lt;br /&gt;
|EOL&lt;br /&gt;
|16.0&lt;br /&gt;
|1.32&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Krogoth&lt;br /&gt;
|2.1&lt;br /&gt;
|Apr 2016&lt;br /&gt;
|2.1.3 (July 2017)&lt;br /&gt;
|EOL&lt;br /&gt;
|15.0&lt;br /&gt;
|1.30&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Jethro&lt;br /&gt;
|2.0&lt;br /&gt;
|Nov 2015&lt;br /&gt;
|2.0.3 (January 2016)&lt;br /&gt;
|EOL&lt;br /&gt;
|14.0&lt;br /&gt;
|1.28&lt;br /&gt;
|Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Fido&lt;br /&gt;
|1.8&lt;br /&gt;
|Apr 2015&lt;br /&gt;
|1.8.2&lt;br /&gt;
|EOL&lt;br /&gt;
|13.0&lt;br /&gt;
|1.26&lt;br /&gt;
|Joshua Lock &amp;lt;joshua.g.lock@intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dizzy&lt;br /&gt;
|1.7&lt;br /&gt;
|Oct 2014&lt;br /&gt;
|1.7.3&lt;br /&gt;
|EOL&lt;br /&gt;
|12.0&lt;br /&gt;
|1.24&lt;br /&gt;
| Armin Kuster &amp;lt;akuster808@gmail.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Daisy&lt;br /&gt;
|1.6&lt;br /&gt;
|Apr 2014&lt;br /&gt;
|1.6.3&lt;br /&gt;
|EOL&lt;br /&gt;
|11.0&lt;br /&gt;
|1.22&lt;br /&gt;
| Saul Wold &amp;lt;sgw@linux.intel.com&amp;gt;&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dora&lt;br /&gt;
|1.5&lt;br /&gt;
|Oct 2013&lt;br /&gt;
|1.5.4&lt;br /&gt;
|EOL&lt;br /&gt;
|10.0&lt;br /&gt;
|1.20&lt;br /&gt;
| Robert Yang &amp;lt;liezhi.yang@windriver.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Dylan&lt;br /&gt;
|1.4&lt;br /&gt;
|Apr 2013&lt;br /&gt;
|1.4.3&lt;br /&gt;
|EOL&lt;br /&gt;
|9.0&lt;br /&gt;
|1.18&lt;br /&gt;
| Paul Eggleton &amp;lt;paul.eggleton@linux.intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Danny&lt;br /&gt;
|1.3&lt;br /&gt;
|Oct 2012&lt;br /&gt;
|1.3.2&lt;br /&gt;
|EOL&lt;br /&gt;
|8.0&lt;br /&gt;
|1.16&lt;br /&gt;
|Ross Burton &amp;lt;ross.burton@intel.com&amp;gt; &lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Denzil&lt;br /&gt;
|1.2&lt;br /&gt;
|Apr 2012&lt;br /&gt;
|1.2.2&lt;br /&gt;
|EOL&lt;br /&gt;
|7.0&lt;br /&gt;
|1.15&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Edison&lt;br /&gt;
|1.1&lt;br /&gt;
|Oct 2011&lt;br /&gt;
|1.1.2&lt;br /&gt;
|EOL&lt;br /&gt;
|6.0&lt;br /&gt;
|1.13&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Bernard&lt;br /&gt;
|1.0&lt;br /&gt;
|Apr 2011&lt;br /&gt;
|1.0.2&lt;br /&gt;
|EOL&lt;br /&gt;
|5.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Laverne&lt;br /&gt;
|0.9&lt;br /&gt;
|Oct 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|4.0&lt;br /&gt;
|1.11&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Green&lt;br /&gt;
|N/A&lt;br /&gt;
|11 June 2010&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.3&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Purple&lt;br /&gt;
|N/A&lt;br /&gt;
|15 Dec 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.2&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Pinky&lt;br /&gt;
|N/A&lt;br /&gt;
|12 Nov 2009&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.1&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Blinky&lt;br /&gt;
|N/A&lt;br /&gt;
|1 Aug 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|3.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Clyde&lt;br /&gt;
|N/A&lt;br /&gt;
|19 Jan 2007&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|2.0&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;color: slategray;&amp;quot;&lt;br /&gt;
|Inky&lt;br /&gt;
|N/A&lt;br /&gt;
|10 Feb 2006&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|1.0&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; see also [[Stable Release and LTS]], [[Linux Yocto]], [[Planning]] and [[Release Feature Table]] pages. EOL means some community support on email lists but no commit updates in the repos. There is also OS Vendor support for some Yocto EOL releases.&lt;br /&gt;
&lt;br /&gt;
¹ The 3.1 series was originally planned for two years but extended to four. No decision has been made about 4.0, it would be a decision by the project members who fund it. The project in unable to commit to funding the work multiple years in advance.&lt;br /&gt;
&lt;br /&gt;
== Releases Links==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;2&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Yocto Project Release&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Code Name&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Poky version&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Maintainer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Schedule&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Plan&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;QA Test Report&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Release notes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.4&lt;br /&gt;
| Honister&lt;br /&gt;
| 26.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.4_Features]]&lt;br /&gt;
| [[Yocto_3.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.4_Status]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan | Yocto_3.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.4_Release_Test_Plan#Execution_History | 3.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/229 3.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.3&lt;br /&gt;
| Hardknott&lt;br /&gt;
| 25.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.3_Features]]&lt;br /&gt;
| [[Yocto_3.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.3_Status]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan | Yocto_3.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.3_Release_Test_Plan#Execution_History | 3.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto-announce/message/215 3.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 3.2&lt;br /&gt;
| Gatesgarth&lt;br /&gt;
| 24.0&lt;br /&gt;
| Anuj Mittal&lt;br /&gt;
| [[Yocto_3.2_Features]]&lt;br /&gt;
| [[Yocto_3.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.2_Status]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan | Yocto_3.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.2_Release_Test_Plan#Execution_History | 3.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/51262 3.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.1&lt;br /&gt;
| Dunfell&lt;br /&gt;
| 23.0&lt;br /&gt;
| Steve Sakoman&lt;br /&gt;
| [[Yocto_3.1_Features]]&lt;br /&gt;
| [[Yocto_3.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v3.1_Status]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan | Yocto_3.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_3.1_Release_Test_Plan#Execution_History | 3.1 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/g/yocto/message/49201 3.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 3.0&lt;br /&gt;
| Zeus&lt;br /&gt;
| 22.0&lt;br /&gt;
| Armin Kuster/Anuj Mittal&lt;br /&gt;
| [[Yocto_2.8_Features]]&lt;br /&gt;
| [[Yocto_2.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.8_Status]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan | Yocto_2.8_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.8_Release_Test_Plan#Execution_History | 2.8 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-October/047111.html 3.0 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.7&lt;br /&gt;
| Warrior&lt;br /&gt;
| 21.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.7_Features]]&lt;br /&gt;
| [[Yocto_2.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.7_Status]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan | Yocto_2.7_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.7_Release_Test_Plan#Execution_History | 2.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto/2019-May/045028.html 2.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.6&lt;br /&gt;
| Thud&lt;br /&gt;
| 20.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.6_Features]]&lt;br /&gt;
| [[Yocto_2.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.6_Status]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan | Yocto_2.6_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.6_Release_Test_Plan#Execution_History | 2.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-November/000147.html 2.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.5&lt;br /&gt;
| Sumo&lt;br /&gt;
| 19.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.5_Features]]&lt;br /&gt;
| [[Yocto_2.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.5_Status]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan | Yocto_2.5_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.5_Release_Test_Plan#Execution_History | 2.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2018-May/000136.html 2.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.4&lt;br /&gt;
| Rocko&lt;br /&gt;
| 18.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.4_Features]]&lt;br /&gt;
| [[Yocto_2.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.4_Status]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan | Yocto_2.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.4_Release_Test_Plan#Execution_History | 2.4 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-October/000125.html 2.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.3&lt;br /&gt;
| Pyro&lt;br /&gt;
| 17.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.3_Features]]&lt;br /&gt;
| [[Yocto_2.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.3_Status]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan | Yocto_2.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.3_Release_Test_Plan#Execution_History | 2.3 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2017-May/000112.html 2.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.2&lt;br /&gt;
| Morty&lt;br /&gt;
| 16.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.2_Features]]&lt;br /&gt;
| [[Yocto_2.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.2_Status]]&lt;br /&gt;
| [[Yocto_2.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_Project_2.2_Release_Test_Plan#Execution_History | 2.2 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-November/000101.html 2.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.1&lt;br /&gt;
| Krogoth&lt;br /&gt;
| 15.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_2.1_Features]]&lt;br /&gt;
| [[Yocto_2.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v2.1_Status]]&lt;br /&gt;
| [[Yocto_2.1_Overall_Test_Plan]]&lt;br /&gt;
| [[2.1 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2016-May/000089.html 2.1 release notes]&lt;br /&gt;
|-&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 2.0&lt;br /&gt;
| Jethro&lt;br /&gt;
| 14.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.9_Features]]&lt;br /&gt;
| [[Yocto_1.9_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.9_Status]]&lt;br /&gt;
| &lt;br /&gt;
| [[1.9 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-November/000076.html 2.0 release notes]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Yocto Project 1.8&lt;br /&gt;
| Fido&lt;br /&gt;
| 13.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.8_Features]]&lt;br /&gt;
| [[Yocto_1.8_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.8_Status]]&lt;br /&gt;
| [[Yocto_1.8_Overall_Test_Plan]]&lt;br /&gt;
| [[1.8 qa run history]] &lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2015-April/000062.html 1.8 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.7&lt;br /&gt;
| Dizzy&lt;br /&gt;
| 12.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.7_Features]]&lt;br /&gt;
| [[Yocto_1.7_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.7_Status]]&lt;br /&gt;
| [[Yocto_1.7_Overall_Test_Plan]]&lt;br /&gt;
| [[1.7 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-October/000053.html 1.7 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.6&lt;br /&gt;
| Daisy&lt;br /&gt;
| 11.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.6_Features]]&lt;br /&gt;
| [[Yocto_1.6_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.6_Status]]&lt;br /&gt;
| [[Yocto_1.6_Overall_Test_Plan]]&lt;br /&gt;
| [[1.6 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2014-April/000045.html 1.6 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.5&lt;br /&gt;
| Dora&lt;br /&gt;
| 10.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.5_Features]]&lt;br /&gt;
| [[Yocto_1.5_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.5_Status]]&lt;br /&gt;
| [[Yocto_1.5_Overall_Test_Plan]]&lt;br /&gt;
| [[1.5 qa run history]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-October/000037.html 1.5 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.4&lt;br /&gt;
| Dylan&lt;br /&gt;
| 9.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.4_Features]]&lt;br /&gt;
| [[Yocto_1.4_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.4_Status]]&lt;br /&gt;
| [[Yocto_1.4_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.4_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2013-April/000027.html 1.4 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.3&lt;br /&gt;
| Danny&lt;br /&gt;
| 8.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.3_Features]]&lt;br /&gt;
| [[Yocto_1.3_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.3_Status]]&lt;br /&gt;
| [[Yocto_1.3_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.3_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-October/000020.html 1.3 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.2&lt;br /&gt;
| Denzil&lt;br /&gt;
| 7.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.2_Features]]&lt;br /&gt;
| [[Yocto_1.2_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.2_Status]]&lt;br /&gt;
| [[Yocto_1.2_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.2_Milestone_Test_Report]]&lt;br /&gt;
| [https://lists.yoctoproject.org/pipermail/yocto-announce/2012-April/000009.html 1.2 release notes]&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.1&lt;br /&gt;
| Edison&lt;br /&gt;
| 6.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_1.1_Features]]&lt;br /&gt;
| [[Yocto_1.1_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.1_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.1_Overall_Test_Plan]]&lt;br /&gt;
| [[Yocto_1.1_Milestone_Test_Report]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Yocto Project 1.0&lt;br /&gt;
| Bernard&lt;br /&gt;
| 5.0&lt;br /&gt;
| Community&lt;br /&gt;
| [[Yocto_Features]]&lt;br /&gt;
| [[Yocto_1.0_Schedule]]&lt;br /&gt;
| [[Yocto_Project_v1.0_Release_Criteria]]&lt;br /&gt;
| [[Yocto_1.0_Overall_Test_Plan]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Michael Opdenacker</name></author>
	</entry>
</feed>