<?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=David+Kinder</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=David+Kinder"/>
	<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/Special:Contributions/David_Kinder"/>
	<updated>2026-04-08T16:14:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook&amp;diff=18701</id>
		<title>Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook&amp;diff=18701"/>
		<updated>2016-05-24T20:35:02Z</updated>

		<summary type="html">&lt;p&gt;David Kinder: /* Other Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[WORK IN PROGRESS]&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This Yocto Project Cookbook collects working examples of how to use the Yocto Project, filling some of the gaps between the&lt;br /&gt;
[http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Yocto Project Quick Start Guide] and the&lt;br /&gt;
[http://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html full reference documentation]. Like any&lt;br /&gt;
cookbook, we&#039;ll include some basic as well as more complex examples you can follow to learn about the pantry of&lt;br /&gt;
components and files available, as well as the techniques for manipulating them using Yocto Project tools.&lt;br /&gt;
&lt;br /&gt;
We encourage you, the Yocto Project community, to add your own examples to this Cookbook, or pointers to training, tips,&lt;br /&gt;
and other material that can help new and experienced users of Yocto Project share their knowledge and experience.&lt;br /&gt;
&lt;br /&gt;
Please test all procedures before adding them to this page, and if you do see a problem or improvement, start a &lt;br /&gt;
[https://wiki.yoctoproject.org/wiki/index.php?title=Talk:Cookbook&amp;amp;action=edit discussion] (use the discussion tab at the top of this page)&lt;br /&gt;
, or edit the page itself!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cookbook Topics ==&lt;br /&gt;
&lt;br /&gt;
Here&#039;s our initial list of examples we&#039;d like to include in our cookbook.  Those that have been written or are in progress will be linked, the others are on our list to work on.  (As we get more, we may regroup the organization of these topics, but for now this should work:&lt;br /&gt;
 &lt;br /&gt;
* [[Cookbook:Example:Adding_packages_to_your_OS_image|Adding packages to your OS image]]&lt;br /&gt;
* [[Cookbook:Example:Creating_and_updating_recipes_with_devtool|Creating and updating recipes with devtool]]&lt;br /&gt;
* Understanding the fetch/unpack/configure/build/package pipeline&lt;br /&gt;
* Locating and understanding failures&lt;br /&gt;
* Understanding the tmp/work directory structure and what goes where&lt;br /&gt;
* Introduction to writing recipes&lt;br /&gt;
* Package management&lt;br /&gt;
* Application Development&lt;br /&gt;
* Configuring your kernel&lt;br /&gt;
* And more....&lt;br /&gt;
&lt;br /&gt;
== Other Links ==&lt;br /&gt;
&lt;br /&gt;
;[http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Quick Start Guide]&lt;br /&gt;
:The official Yocto Project Quick Start Guide contains a step-by-step walk-through showing how to set up your environment and perform your first build&lt;br /&gt;
&lt;br /&gt;
;[http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#extendpoky Developer Manual: Common Tasks]&lt;br /&gt;
:The Common Tasks section of the Yocto Project Developer Manual&#039;s documentation discusses creating layers, customizing images, writing recipes, configuring and patching the kernel, performing automated runtime testing, and more.&lt;br /&gt;
&lt;br /&gt;
;[https://www.yoctoproject.org/sites/default/files/ypdd-2016.04-san_diego.pdf Creating a Custom Embedded Linux Distribution for Any Embedded Device Presentation from ELC 2016 Dev Day]&lt;br /&gt;
:A good overview presentation from the Linux Foundation covering many topics for creating a custom embedded Linux distribution with Yocto Project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are links that were in a previous version of this Cookbook. (Some seem rather outdated that we&#039;ll need to comb through, but we wanted to keep them around for now.)&lt;br /&gt;
&lt;br /&gt;
;[[Yocto_BSP_One-Stop_Shop_(Documentation_Overview,_Getting_Started,_FAQs,_and_more)|Everything you need to know to create and maintain a Yocto BSP]]&lt;br /&gt;
:TomZ&#039;s page on how to create and maintain a Yocto Project BSP, including how to interact with the community &lt;br /&gt;
&lt;br /&gt;
;[[Cookbook:Appliance:Startup_Scripts|Startup scripts]]&lt;br /&gt;
:How to get things to happen or start automatically:&lt;/div&gt;</summary>
		<author><name>David Kinder</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook&amp;diff=18700</id>
		<title>Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook&amp;diff=18700"/>
		<updated>2016-05-24T20:32:07Z</updated>

		<summary type="html">&lt;p&gt;David Kinder: /* Other Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[WORK IN PROGRESS]&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This Yocto Project Cookbook collects working examples of how to use the Yocto Project, filling some of the gaps between the&lt;br /&gt;
[http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Yocto Project Quick Start Guide] and the&lt;br /&gt;
[http://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html full reference documentation]. Like any&lt;br /&gt;
cookbook, we&#039;ll include some basic as well as more complex examples you can follow to learn about the pantry of&lt;br /&gt;
components and files available, as well as the techniques for manipulating them using Yocto Project tools.&lt;br /&gt;
&lt;br /&gt;
We encourage you, the Yocto Project community, to add your own examples to this Cookbook, or pointers to training, tips,&lt;br /&gt;
and other material that can help new and experienced users of Yocto Project share their knowledge and experience.&lt;br /&gt;
&lt;br /&gt;
Please test all procedures before adding them to this page, and if you do see a problem or improvement, start a &lt;br /&gt;
[https://wiki.yoctoproject.org/wiki/index.php?title=Talk:Cookbook&amp;amp;action=edit discussion] (use the discussion tab at the top of this page)&lt;br /&gt;
, or edit the page itself!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cookbook Topics ==&lt;br /&gt;
&lt;br /&gt;
Here&#039;s our initial list of examples we&#039;d like to include in our cookbook.  Those that have been written or are in progress will be linked, the others are on our list to work on.  (As we get more, we may regroup the organization of these topics, but for now this should work:&lt;br /&gt;
 &lt;br /&gt;
* [[Cookbook:Example:Adding_packages_to_your_OS_image|Adding packages to your OS image]]&lt;br /&gt;
* [[Cookbook:Example:Creating_and_updating_recipes_with_devtool|Creating and updating recipes with devtool]]&lt;br /&gt;
* Understanding the fetch/unpack/configure/build/package pipeline&lt;br /&gt;
* Locating and understanding failures&lt;br /&gt;
* Understanding the tmp/work directory structure and what goes where&lt;br /&gt;
* Introduction to writing recipes&lt;br /&gt;
* Package management&lt;br /&gt;
* Application Development&lt;br /&gt;
* Configuring your kernel&lt;br /&gt;
* And more....&lt;br /&gt;
&lt;br /&gt;
== Other Links ==&lt;br /&gt;
&lt;br /&gt;
;[http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Quick Start Guide]&lt;br /&gt;
:The official Yocto Project Quick Start Guide contains a step-by-step walk-through showing how to set up your environment and perform your first build&lt;br /&gt;
&lt;br /&gt;
;[http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#extendpoky Developer Manual: Common Tasks]&lt;br /&gt;
:The Common Tasks section of the Yocto Project Developer Manual&#039;s documentation discusses creating layers, customizing images, writing recipes, configuring and patching the kernel, performing automated runtime testing, and more.&lt;br /&gt;
&lt;br /&gt;
;[https://www.yoctoproject.org/sites/default/files/ypdd-2016.04-san_diego.pdf |Creating a Custom Embedded Linux Distribution for Any Embedded Device Presentation from ELC 2016 Dev Day]&lt;br /&gt;
:A good overview presentation from the Linux Foundation covering many topics for creating a custom embedded Linux distribution with Yocto Project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are links that were in a previous version of this Cookbook. (Some seem rather outdated that we&#039;ll need to comb through, but we wanted to keep them around for now.)&lt;br /&gt;
&lt;br /&gt;
;[[Yocto_BSP_One-Stop_Shop_(Documentation_Overview,_Getting_Started,_FAQs,_and_more)|Everything you need to know to create and maintain a Yocto BSP]]&lt;br /&gt;
:TomZ&#039;s page on how to create and maintain a Yocto Project BSP, including how to interact with the community &lt;br /&gt;
&lt;br /&gt;
;[[Cookbook:Appliance:Startup_Scripts|Startup scripts]]&lt;br /&gt;
:How to get things to happen or start automatically:&lt;/div&gt;</summary>
		<author><name>David Kinder</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook&amp;diff=18699</id>
		<title>Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook&amp;diff=18699"/>
		<updated>2016-05-24T20:31:38Z</updated>

		<summary type="html">&lt;p&gt;David Kinder: /* Other Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[WORK IN PROGRESS]&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This Yocto Project Cookbook collects working examples of how to use the Yocto Project, filling some of the gaps between the&lt;br /&gt;
[http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Yocto Project Quick Start Guide] and the&lt;br /&gt;
[http://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html full reference documentation]. Like any&lt;br /&gt;
cookbook, we&#039;ll include some basic as well as more complex examples you can follow to learn about the pantry of&lt;br /&gt;
components and files available, as well as the techniques for manipulating them using Yocto Project tools.&lt;br /&gt;
&lt;br /&gt;
We encourage you, the Yocto Project community, to add your own examples to this Cookbook, or pointers to training, tips,&lt;br /&gt;
and other material that can help new and experienced users of Yocto Project share their knowledge and experience.&lt;br /&gt;
&lt;br /&gt;
Please test all procedures before adding them to this page, and if you do see a problem or improvement, start a &lt;br /&gt;
[https://wiki.yoctoproject.org/wiki/index.php?title=Talk:Cookbook&amp;amp;action=edit discussion] (use the discussion tab at the top of this page)&lt;br /&gt;
, or edit the page itself!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cookbook Topics ==&lt;br /&gt;
&lt;br /&gt;
Here&#039;s our initial list of examples we&#039;d like to include in our cookbook.  Those that have been written or are in progress will be linked, the others are on our list to work on.  (As we get more, we may regroup the organization of these topics, but for now this should work:&lt;br /&gt;
 &lt;br /&gt;
* [[Cookbook:Example:Adding_packages_to_your_OS_image|Adding packages to your OS image]]&lt;br /&gt;
* [[Cookbook:Example:Creating_and_updating_recipes_with_devtool|Creating and updating recipes with devtool]]&lt;br /&gt;
* Understanding the fetch/unpack/configure/build/package pipeline&lt;br /&gt;
* Locating and understanding failures&lt;br /&gt;
* Understanding the tmp/work directory structure and what goes where&lt;br /&gt;
* Introduction to writing recipes&lt;br /&gt;
* Package management&lt;br /&gt;
* Application Development&lt;br /&gt;
* Configuring your kernel&lt;br /&gt;
* And more....&lt;br /&gt;
&lt;br /&gt;
== Other Links ==&lt;br /&gt;
&lt;br /&gt;
;[http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Quick Start Guide]&lt;br /&gt;
:The official Yocto Project Quick Start Guide contains a step-by-step walk-through showing how to set up your environment and perform your first build&lt;br /&gt;
&lt;br /&gt;
;[http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#extendpoky Developer Manual: Common Tasks]&lt;br /&gt;
:The Common Tasks section of the Yocto Project Developer Manual&#039;s documentation discusses creating layers, customizing images, writing recipes, configuring and patching the kernel, performing automated runtime testing, and more.&lt;br /&gt;
&lt;br /&gt;
;[https://www.yoctoproject.org/sites/default/files/ypdd-2016.04-san_diego.pdf | Creating a Custom Embedded Linux Distribution for Any Embedded Device Presentation from ELC 2016 Dev Day]&lt;br /&gt;
:A good overview presentation from the Linux Foundation covering many topics for creating a custom embedded Linux distribution with Yocto Project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are links that were in a previous version of this Cookbook. (Some seem rather outdated that we&#039;ll need to comb through, but we wanted to keep them around for now.)&lt;br /&gt;
&lt;br /&gt;
;[[Yocto_BSP_One-Stop_Shop_(Documentation_Overview,_Getting_Started,_FAQs,_and_more)|Everything you need to know to create and maintain a Yocto BSP]]&lt;br /&gt;
:TomZ&#039;s page on how to create and maintain a Yocto Project BSP, including how to interact with the community &lt;br /&gt;
&lt;br /&gt;
;[[Cookbook:Appliance:Startup_Scripts|Startup scripts]]&lt;br /&gt;
:How to get things to happen or start automatically:&lt;/div&gt;</summary>
		<author><name>David Kinder</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook&amp;diff=18665</id>
		<title>Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook&amp;diff=18665"/>
		<updated>2016-05-20T20:22:29Z</updated>

		<summary type="html">&lt;p&gt;David Kinder: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[WORK IN PROGRESS]&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This Yocto Project Cookbook collects working examples of how to use the Yocto Project, filling some of the gaps between the&lt;br /&gt;
[http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Yocto Project Quick Start Guide] and the&lt;br /&gt;
[http://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html full reference documentation]. Like any&lt;br /&gt;
cookbook, we&#039;ll include some basic as well as more complex examples you can follow to learn about the pantry of&lt;br /&gt;
components and files available, as well as the techniques for manipulating them using Yocto Project tools.&lt;br /&gt;
&lt;br /&gt;
We encourage you, the Yocto Project community, to add your own examples to this Cookbook, or pointers to training, tips,&lt;br /&gt;
and other material that can help new and experienced users of Yocto Project share their knowledge and experience.&lt;br /&gt;
&lt;br /&gt;
Please test all procedures before adding them to this page, and if you do see a problem or improvement, start a &lt;br /&gt;
[https://wiki.yoctoproject.org/wiki/index.php?title=Talk:Cookbook&amp;amp;action=edit discussion] (use the discussion tab at the top of this page)&lt;br /&gt;
, or edit the page itself!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cookbook Topics ==&lt;br /&gt;
&lt;br /&gt;
Here&#039;s our initial list of examples we&#039;d like to include in our cookbook.  Those that have been written or are in progress will be linked, the others are on our list to work on.  (As we get more, we may regroup the organization of these topics, but for now this should work:&lt;br /&gt;
 &lt;br /&gt;
* [[Cookbook:Example:Adding_packages_to_your_OS_image|Adding packages to your OS image]]&lt;br /&gt;
* [[Cookbook:Example:Creating_and_updating_recipes_with_devtool|Creating and updating recipes with devtool]]&lt;br /&gt;
* Understanding the fetch/unpack/configure/build/package pipeline&lt;br /&gt;
* Locating and understanding failures&lt;br /&gt;
* Understanding the tmp/work directory structure and what goes where&lt;br /&gt;
* Introduction to writing recipes&lt;br /&gt;
* Package management&lt;br /&gt;
* Application Development&lt;br /&gt;
* Configuring your kernel&lt;br /&gt;
* And more....&lt;br /&gt;
&lt;br /&gt;
== Other Links ==&lt;br /&gt;
&lt;br /&gt;
;[http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Quick Start Guide]&lt;br /&gt;
:The official Yocto Project Quick Start Guide contains a step-by-step walk-through showing how to set up your environment and perform your first build&lt;br /&gt;
&lt;br /&gt;
;[http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#extendpoky Developer Manual: Common Tasks]&lt;br /&gt;
:The Common Tasks section of the Yocto Project Developer Manual&#039;s documentation discusses creating layers, customizing images, writing recipes, configuring and patching the kernel, performing automated runtime testing, and more.&lt;br /&gt;
&lt;br /&gt;
;[https://www.yoctoproject.org/sites/default/files/ypdd-2016.04-san_diego.pdf| Creating a Custom Embedded Linux Distribution for Any Embedded Device Presentation from ELC 2016 Dev Day]&lt;br /&gt;
:A good overview presentation from the Linux Foundation covering many topics for creating a custom embedded Linux distribution with Yocto Project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are links that were in a previous version of this Cookbook. (Some seem rather outdated that we&#039;ll need to comb through, but we wanted to keep them around for now.)&lt;br /&gt;
&lt;br /&gt;
;[[Yocto_BSP_One-Stop_Shop_(Documentation_Overview,_Getting_Started,_FAQs,_and_more)|Everything you need to know to create and maintain a Yocto BSP]]&lt;br /&gt;
:TomZ&#039;s page on how to create and maintain a Yocto Project BSP, including how to interact with the community &lt;br /&gt;
&lt;br /&gt;
;[[Cookbook:Appliance:Startup_Scripts|Startup scripts]]&lt;br /&gt;
:How to get things to happen or start automatically:&lt;/div&gt;</summary>
		<author><name>David Kinder</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook:Example:Adding_packages_to_your_OS_image&amp;diff=18635</id>
		<title>Cookbook:Example:Adding packages to your OS image</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook:Example:Adding_packages_to_your_OS_image&amp;diff=18635"/>
		<updated>2016-05-19T23:14:39Z</updated>

		<summary type="html">&lt;p&gt;David Kinder: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[WORK IN PROGRESS]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adding packages to your OS image is one of the most common things you need to do; you have an OS image and you want to add some functionality. We&#039;ll assume you&#039;ve gone through the Quick Start and have built core-image-sato for qeumux86. In this example, we start by making a quick change to the configuration to instead make a headless build with core-image-minimal. &lt;br /&gt;
(This is probably a better place to start as we have a much simpler image.)&lt;br /&gt;
&lt;br /&gt;
First edit &amp;lt;code&amp;gt;local.conf&amp;lt;/code&amp;gt; and remove the the following line as it prevents debugging the build:&lt;br /&gt;
 INHERIT += &amp;quot;rm_work&amp;quot;&lt;br /&gt;
Then build the image:&lt;br /&gt;
 $ bitbake core-image-minimal&lt;br /&gt;
Now let&#039;s start running the resulting headless image (note we&#039;re using the &amp;lt;code&amp;gt;nographic&amp;lt;/code&amp;gt; option):&lt;br /&gt;
 $ runqemu qemux86 nographic&lt;br /&gt;
When it gets to the login prompt, use user &#039;root&#039; with no password. Let&#039;s try and connect over ssh. First we need to get the IP address with &amp;lt;code&amp;gt;ifconfig&amp;lt;/code&amp;gt;.&lt;br /&gt;
 root@qemux86:~# ifconfig&lt;br /&gt;
 eth0     Link encap:Ethernet  HWaddr 52:54:00:12:34:56  &lt;br /&gt;
          inet addr:192.168.7.2  Bcast:192.168.7.255  Mask:255.255.255.0&lt;br /&gt;
Now try and connect to our VM from a different machine on the same sub net&lt;br /&gt;
 $ ssh root@192.168.7.2&lt;br /&gt;
 ssh: connect to host 192.168.7.2 port 22: Connection refused&lt;br /&gt;
Hmmm, a Connection Refused error. Let&#039;s check if we have an ssh server running&lt;br /&gt;
 root@qemux86:~# ps | grep sshd | grep -v grep&lt;br /&gt;
 root@qemux86:~#&lt;br /&gt;
Nope. So let&#039;s add one. First we need to exit the qemu session. Hit CTRL+A then C. You should see the on the console:&lt;br /&gt;
 QEMU 2.5.0 monitor - type &#039;help&#039; for more information&lt;br /&gt;
 (qemu) &lt;br /&gt;
Type &#039;&#039;&#039;quit&#039;&#039;&#039; and you&#039;re out. &lt;br /&gt;
&lt;br /&gt;
Now we need to find the Yocto Project recipe that includes sshd. The way to find recipes is to go to the https://layers.openembedded.org web site. Select the krogoth branch and click on the Recipes button at the top:&lt;br /&gt;
 &lt;br /&gt;
[[File:cookbook-Layers-openembedded-ssh.png]]&lt;br /&gt;
&lt;br /&gt;
The entry openssh looks like the right thing (summary needs to be fixed!). So let&#039;s add it to the image by adding this line to &amp;lt;code&amp;gt;conf/local.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
 CORE_IMAGE_EXTRA_INSTALL += &amp;quot;openssh&amp;quot;&lt;br /&gt;
Now rebuild image&lt;br /&gt;
 $ bitbake core-image-minimal&lt;br /&gt;
How do we quickly check that sshd has been installed? First let&#039;s find where the openssh package was built. Since it was to run on the target, work files can be found in build/tmp/work/$TARGET_SYS. First we need to find the value of TARGET_SYS. Each time you run bitbake, this value is displayed.&lt;br /&gt;
Build Configuration:&lt;br /&gt;
 BB_VERSION        = &amp;quot;1.31.0&amp;quot;&lt;br /&gt;
 BUILD_SYS         = &amp;quot;x86_64-linux&amp;quot;&lt;br /&gt;
 NATIVELSBSTRING   = &amp;quot;universal&amp;quot;&lt;br /&gt;
 &#039;&#039;&#039;TARGET_SYS        = &amp;quot;i586-poky-linux&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
 MACHINE           = &amp;quot;qemux86&amp;quot;&lt;br /&gt;
 DISTRO            = &amp;quot;poky&amp;quot;&lt;br /&gt;
 DISTRO_VERSION    = &amp;quot;2.1+snapshot-20160509&amp;quot;&lt;br /&gt;
 TUNE_FEATURES     = &amp;quot;m32 i586&amp;quot;&lt;br /&gt;
 TARGET_FPU        = &amp;quot;&amp;quot;&lt;br /&gt;
 meta              &lt;br /&gt;
 meta-poky         &lt;br /&gt;
 meta-yocto-bsp    = &amp;quot;master:3cb5dead2808482baf3ffae5ed961c72f2ea275f&amp;quot;&lt;br /&gt;
See we can see  TARGET_SYS = &amp;quot;i586-poky-linux&amp;quot;. A more general way of doing this is displaying the bitbake environment and searching for a variable using grep:&lt;br /&gt;
 $ bitbake -e | grep ^TARGET_SYS&lt;br /&gt;
 TARGET_SYS=&amp;quot;i586-poky-linux&amp;quot;&lt;br /&gt;
Now we look into the folder &amp;lt;code&amp;gt;build/tmp/work/i586-poky-linux/openssh&amp;lt;/code&amp;gt;. Here we find folders for each package version that is built. Typically there is just one.&lt;br /&gt;
 $ ls tmp/work/i586-poky-linux/openssh&lt;br /&gt;
 7.1p2-r0&lt;br /&gt;
All the files installed on the target will be &amp;lt;code&amp;gt;tmp/work/i586-poky-linux/openssh/7.1p2-r0/package&amp;lt;/code&amp;gt;. Let&#039;s look for &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt;&lt;br /&gt;
 $ find tmp/work/i586-poky-linux/openssqemux86-poky-linuxh/7.1p2-r0/package -name sshd&lt;br /&gt;
 tmp/work/i586-poky-linux/openssh/7.1p2-r0/package/etc/init.d/sshd&lt;br /&gt;
 tmp/work/i586-poky-linux/openssh/7.1p2-r0/package/usr/sbin/.debug/sshd&lt;br /&gt;
 tmp/work/i586-poky-linux/openssh/7.1p2-r0/package/usr/sbin/sshd&lt;br /&gt;
We found it! And it&#039;ll be installed into /usr/sbin/sshd. Let&#039;s see if it has appeared in rootfs (found in &amp;lt;code&amp;gt;build/tmp/work/$MACHINE-poky-linux/image-name/1.0-r0/rootfs&amp;lt;/code&amp;gt;. &lt;br /&gt;
For us, the translates to:&lt;br /&gt;
 $ ls tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/&lt;br /&gt;
 bin  boot  dev  etc  home  lib  media  mnt  proc  run  sbin  sys  tmp  usr  var&lt;br /&gt;
Let look for sshd&lt;br /&gt;
 $ ls tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/sbin/sshd&lt;br /&gt;
 tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/sbin/sshd&lt;br /&gt;
Found it! Now we know it&#039;ll be in the image, so let&#039;s start running the image we just built:&lt;br /&gt;
 runqemu qemux86 nographic&lt;br /&gt;
And we see this in the boot message which looks promising:&lt;br /&gt;
 Starting OpenBSD Secure Shell server: sshd&lt;br /&gt;
Now let&#039;s see if its running&lt;br /&gt;
 root@qemux86:~# ps | grep sshd | grep -v grep&lt;br /&gt;
  389 root      5352 S    /usr/sbin/sshd&lt;br /&gt;
Yup! Let&#039;s try to connect from another machine&lt;br /&gt;
 $ ssh root@192.168.7.2&lt;br /&gt;
 The authenticity of host &#039;192.168.7.2 (192.168.7.2)&#039; can&#039;t be established.&lt;br /&gt;
 ECDSA key fingerprint is SHA256:RbNcfuY+gHOZ8vdF5+M/CqVNVpELIY6KayT0ilDYsfs.&lt;br /&gt;
 ECDSA key fingerprint is MD5:42:0d:84:b3:5b:d8:42:38:ea:38:fd:97:f8:a3:4c:c4.&lt;br /&gt;
 Are you sure you want to continue connecting (yes/no)? yes&lt;br /&gt;
 Warning: Permanently added &#039;192.168.7.2&#039; (ECDSA) to the list of known hosts.&lt;br /&gt;
 root@qemux86:~# &lt;br /&gt;
We&#039;re in! &lt;br /&gt;
&lt;br /&gt;
In this example, we showed how find a Yocto Project recipe that includes a package we&#039;re interested in (openssh),&lt;br /&gt;
and how to add the openssh package to the image by editing &amp;lt;code&amp;gt;conf/local.conf&amp;lt;/code&amp;gt; and doing another bitbake build.&lt;br /&gt;
We also tested our new image using the qemu emulator to verify that ssh capability was now present.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
Back to the [[Cookbook]] home page.&lt;/div&gt;</summary>
		<author><name>David Kinder</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=File:Cookbook-Layers-openembedded-ssh.png&amp;diff=18634</id>
		<title>File:Cookbook-Layers-openembedded-ssh.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=File:Cookbook-Layers-openembedded-ssh.png&amp;diff=18634"/>
		<updated>2016-05-19T23:13:28Z</updated>

		<summary type="html">&lt;p&gt;David Kinder: David Kinder uploaded a new version of &amp;amp;quot;File:Cookbook-Layers-openembedded-ssh.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>David Kinder</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Application_Development_with_Extensible_SDK&amp;diff=18633</id>
		<title>Application Development with Extensible SDK</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Application_Development_with_Extensible_SDK&amp;diff=18633"/>
		<updated>2016-05-19T23:03:34Z</updated>

		<summary type="html">&lt;p&gt;David Kinder: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[WORK IN PROGRESS]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This example describes &#039;&#039;&#039;devtool&#039;&#039;&#039; and how to use it. This tool makes it easier to add new applications and libraries to a Yocto Project image, modify the source for an existing component, test changes on the target hardware, and ease integration into the rest of the OpenEmbedded build system. In short think of devtool as a single point of entry to creating, modifying and testing recipes. Note that devtool cannot add your recipe to a layer nor update your build configuration to include it in a image. These steps will be covered later in the [[Cookbook]]. devtool can be used with both the Yocto Project build environment and the [http://www.yoctoproject.org/docs/latest/sdk-manual/sdk-manual.html#sdk-extensible Extensible SDK].&lt;br /&gt;
&lt;br /&gt;
(From the Yocto Project documentation: Here&#039;s a presentation by Trevor Woerner that, while somewhat dated, provides detailed background information and a complete working &lt;br /&gt;
[https://drive.google.com/a/linaro.org/file/d/0B3KGzY5fW7laTDVxUXo3UDRvd2s/view Yocto Project Developer Workflow Tutorial].)&lt;br /&gt;
&lt;br /&gt;
== How to get devtool? ==&lt;br /&gt;
If you have set up the Yocto Project build environment using the Quick Start Guide, you already have access to devtool for qemux86 image. Alternatively you can download an [http://hbruce-desk3.jf.intel.com/iot/files/qemux86/poky-glibc-x86_64-core-image-minimal-i586-toolchain-ext-2.1+snapshot.sh qemux86 extensible SDK installer] &#039;&#039;&#039;NEED TO FIX THIS LINK&#039;&#039;&#039; and install as per [http://www.yoctoproject.org/docs/latest/sdk-manual/sdk-manual.html#sdk-extensible eSDK manual].&lt;br /&gt;
&lt;br /&gt;
== Creating a recipe from existing source ==&lt;br /&gt;
Let&#039;s say you have a C application that you want to add to your OS image. Assume repo is https://github.com/whbruce/bbexample.git and you want to name recipe (and thus the executable it creates) bbexample.&lt;br /&gt;
 devtool add bbexample https://github.com/whbruce/bbexample.git&lt;br /&gt;
You will see the following output&lt;br /&gt;
 NOTE: Creating workspace layer in /path/to/build/workspace&lt;br /&gt;
 NOTE: Enabling workspace layer in bblayers.conf&lt;br /&gt;
 NOTE: Using default source tree path /path/to/build/workspace/sources/bbexample&lt;br /&gt;
 NOTE: Recipe /path/to/build/workspace/recipes/bbexample/bbexample_git.bb has been automatically created; further editing may be required to make it fully functional&lt;br /&gt;
You can now look at the generated recipe with&lt;br /&gt;
 devtool edit-recipe bbexample&lt;br /&gt;
We&#039;ll take a look at what&#039;s in the recipe. Comments and whitespace have been removed for easier reading&lt;br /&gt;
 LICENSE = &amp;quot;Unknown&amp;quot;&lt;br /&gt;
 LIC_FILES_CHKSUM = &amp;quot;file://LICENSE;md5=96af5705d6f64a88e035781ef00e98a8&amp;quot;&lt;br /&gt;
 SRC_URI = &amp;quot;git://github.com/whbruce/bbexample.git;protocol=https&amp;quot;&lt;br /&gt;
 # Modify these as desired&lt;br /&gt;
 PV = &amp;quot;0.1+git${SRCPV}&amp;quot;&lt;br /&gt;
 SRCREV = &amp;quot;${AUTOREV}&amp;quot;&lt;br /&gt;
 S = &amp;quot;${WORKDIR}/git&amp;quot;&lt;br /&gt;
 inherit autotools&lt;br /&gt;
 EXTRA_OECONF = &amp;quot;&amp;quot;&lt;br /&gt;
Let&#039;s go through the bitbake commands and variables in the recipe and explain what they do:&lt;br /&gt;
;LICENSE&lt;br /&gt;
:The type of licence. This is set to unknown as devtool cannot recognize the old MIT text. Bug?&lt;br /&gt;
;LIC_FILES_CHKSUM&lt;br /&gt;
:devtool looks in the root of the source folder for a file called LICENCE and generates a checksum so ensure checkout has been successful. &lt;br /&gt;
;SRC_URI&lt;br /&gt;
:The git repo given in the &#039;devtool add&#039; command. This is where the source will be pulled from. &lt;br /&gt;
;PV&lt;br /&gt;
:The package version. Usually taken from recipe filename (e.g. bbexample_0.1.bb would automatically set PV = &amp;quot;0.1&amp;quot;)&lt;br /&gt;
;SRCREV&lt;br /&gt;
:the git revision to checkout. ${AUTOREV} means HEAD and must be used during app development. It should be set a specific commit before being added to a layer.&lt;br /&gt;
;S&lt;br /&gt;
:Where the source can be found after being fetched and unpacked.&lt;br /&gt;
;inherit autotools&lt;br /&gt;
:Use a bitbake class that can configure, build and install an autotools project&lt;br /&gt;
;EXTRA_OECONF&lt;br /&gt;
:Options to be passed to configure script. In this case it is empty, so is not necessary.&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
 $ devtool build bbexample&lt;br /&gt;
 Parsing recipes: 100% |#########################################| ETA:  00:00:00&lt;br /&gt;
 Parsing of 872 .bb files complete (0 cached, 872 parsed). 1302 targets, 47 skipped, 0 masked, 0 errors.&lt;br /&gt;
 NOTE: Resolving any missing task queue dependencies&lt;br /&gt;
 NOTE: Preparing RunQueue&lt;br /&gt;
 NOTE: Checking sstate mirror object availability (for 51 objects)&lt;br /&gt;
 NOTE: Executing SetScene Tasks&lt;br /&gt;
 NOTE: Executing RunQueue Tasks&lt;br /&gt;
 NOTE: bbexample: compiling from external source tree /path/to/esdk/workspace/sources/bbexample&lt;br /&gt;
 NOTE: Tasks Summary: Attempted 342 tasks of which 336 didn&#039;t need to be rerun and all succeeded.&lt;br /&gt;
This build command runs bitbake just as in a full Yocto Project OS image build. The key line in the output is &#039;&#039;&#039;Checking sstate mirror object availability (for 51 objects)&#039;&#039;&#039;. As the extensible SDK installer gives you a minimal build environment it has to download all the dependencies (e.g. native build tools and necessary target libraries). Here 51 objects have been found and are downloaded in their pre-built state greatly speeding up the build process (i.e. we just run 342 tasks of which 336 didn&#039;t need to be rerun). This is the extensible part of the SDK in action.&lt;br /&gt;
&lt;br /&gt;
== Deploying ==&lt;br /&gt;
Before deploying, the target must be running have a network connection and an ssh server running. In the case, we&#039;ll assume the qemux86 target is running. &lt;br /&gt;
 $ devtool deploy-target -s bbexample root@192.168.7.2&lt;br /&gt;
 Parsing recipes..done.&lt;br /&gt;
 devtool_deploy.list                           100%  167     0.2KB/s   00:00    &lt;br /&gt;
 devtool_deploy.sh                             100% 1002     1.0KB/s   00:00    &lt;br /&gt;
 ./&lt;br /&gt;
 ./usr/&lt;br /&gt;
 ./usr/bin/&lt;br /&gt;
 ./usr/bin/bbexample&lt;br /&gt;
 ./usr/include/&lt;br /&gt;
 ./usr/include/bbexample.h&lt;br /&gt;
 ./usr/lib/&lt;br /&gt;
 ./usr/lib/libbbexample.so.1&lt;br /&gt;
 ./usr/lib/libbbexample.so&lt;br /&gt;
 ./usr/lib/libbbexample.so.1.0.0&lt;br /&gt;
 ./usr/lib/libbbexample.la&lt;br /&gt;
 NOTE: Successfully deployed /path/to/esdk/sdk/tmp/work/i586-poky-linux/bbexample/0.1+git999-r0/image&lt;br /&gt;
== Running ==&lt;br /&gt;
 root@qemux86:~# bbexample&lt;br /&gt;
 Hello Yocto World...&lt;br /&gt;
 Hello World (from a shared library!)&lt;br /&gt;
&lt;br /&gt;
== Deploy ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[WORK IN PROGRESS]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
Back to the [[Cookbook]] home page.&lt;/div&gt;</summary>
		<author><name>David Kinder</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Application_Development_with_Extensible_SDK&amp;diff=18631</id>
		<title>Application Development with Extensible SDK</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Application_Development_with_Extensible_SDK&amp;diff=18631"/>
		<updated>2016-05-19T22:54:49Z</updated>

		<summary type="html">&lt;p&gt;David Kinder: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;[WORK IN PROGRESS]&amp;#039;&amp;#039;&amp;#039;  This example describes &amp;#039;&amp;#039;&amp;#039;devtool&amp;#039;&amp;#039;&amp;#039; and how to use it. This tool makes it easier to add new applications and libraries to a Yocto Project image, mod...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[WORK IN PROGRESS]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This example describes &#039;&#039;&#039;devtool&#039;&#039;&#039; and how to use it. This tool makes it easier to add new applications and libraries to a Yocto Project image, modify the source for an existing component, test changes on the target hardware, and ease integration into the rest of the OpenEmbedded build system. In short think of devtool as a single point of entry to creating, modifying and testing recipes. Note that devtool cannot add your recipe to a layer nor update your build configuration to include it in a image. These steps will be covered later in the [[Cookbook]]. devtool can be used with both the Yocto Project build environment and the [http://www.yoctoproject.org/docs/latest/sdk-manual/sdk-manual.html#sdk-extensible Extensible SDK].&lt;br /&gt;
&lt;br /&gt;
== How to get devtool? ==&lt;br /&gt;
If you have set up the Yocto Project build environment using the Quick Start Guide, you already have access to devtool for qemux86 image. Alternatively you can download an [http://hbruce-desk3.jf.intel.com/iot/files/qemux86/poky-glibc-x86_64-core-image-minimal-i586-toolchain-ext-2.1+snapshot.sh qemux86 extensible SDK installer] &#039;&#039;&#039;NEED TO FIX THIS LINK&#039;&#039;&#039; and install as per [http://www.yoctoproject.org/docs/latest/sdk-manual/sdk-manual.html#sdk-extensible eSDK manual].&lt;br /&gt;
&lt;br /&gt;
== Creating a recipe from existing source ==&lt;br /&gt;
Let&#039;s say you have a C application that you want to add to your OS image. Assume repo is https://github.com/whbruce/bbexample.git and you want to name recipe (and thus the executable it creates) bbexample.&lt;br /&gt;
 devtool add bbexample https://github.com/whbruce/bbexample.git&lt;br /&gt;
You will see the following output&lt;br /&gt;
 NOTE: Creating workspace layer in /path/to/build/workspace&lt;br /&gt;
 NOTE: Enabling workspace layer in bblayers.conf&lt;br /&gt;
 NOTE: Using default source tree path /path/to/build/workspace/sources/bbexample&lt;br /&gt;
 NOTE: Recipe /path/to/build/workspace/recipes/bbexample/bbexample_git.bb has been automatically created; further editing may be required to make it fully functional&lt;br /&gt;
You can now look at the generated recipe with&lt;br /&gt;
 devtool edit-recipe bbexample&lt;br /&gt;
We&#039;ll take a look at what&#039;s in the recipe. Comments and whitespace have been removed for easier reading&lt;br /&gt;
 LICENSE = &amp;quot;Unknown&amp;quot;&lt;br /&gt;
 LIC_FILES_CHKSUM = &amp;quot;file://LICENSE;md5=96af5705d6f64a88e035781ef00e98a8&amp;quot;&lt;br /&gt;
 SRC_URI = &amp;quot;git://github.com/whbruce/bbexample.git;protocol=https&amp;quot;&lt;br /&gt;
 # Modify these as desired&lt;br /&gt;
 PV = &amp;quot;0.1+git${SRCPV}&amp;quot;&lt;br /&gt;
 SRCREV = &amp;quot;${AUTOREV}&amp;quot;&lt;br /&gt;
 S = &amp;quot;${WORKDIR}/git&amp;quot;&lt;br /&gt;
 inherit autotools&lt;br /&gt;
 EXTRA_OECONF = &amp;quot;&amp;quot;&lt;br /&gt;
Let&#039;s go through the bitbake commands and variables in the recipe and explain what they do:&lt;br /&gt;
;LICENSE&lt;br /&gt;
:The type of licence. This is set to unknown as devtool cannot recognize the old MIT text. Bug?&lt;br /&gt;
;LIC_FILES_CHKSUM&lt;br /&gt;
:devtool looks in the root of the source folder for a file called LICENCE and generates a checksum so ensure checkout has been successful. &lt;br /&gt;
;SRC_URI&lt;br /&gt;
:The git repo given in the &#039;devtool add&#039; command. This is where the source will be pulled from. &lt;br /&gt;
;PV&lt;br /&gt;
:The package version. Usually taken from recipe filename (e.g. bbexample_0.1.bb would automatically set PV = &amp;quot;0.1&amp;quot;)&lt;br /&gt;
;SRCREV&lt;br /&gt;
:the git revision to checkout. ${AUTOREV} means HEAD and must be used during app development. It should be set a specific commit before being added to a layer.&lt;br /&gt;
;S&lt;br /&gt;
:Where the source can be found after being fetched and unpacked.&lt;br /&gt;
;inherit autotools&lt;br /&gt;
:Use a bitbake class that can configure, build and install an autotools project&lt;br /&gt;
;EXTRA_OECONF&lt;br /&gt;
:Options to be passed to configure script. In this case it is empty, so is not necessary.&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
 $ devtool build bbexample&lt;br /&gt;
 Parsing recipes: 100% |#########################################| ETA:  00:00:00&lt;br /&gt;
 Parsing of 872 .bb files complete (0 cached, 872 parsed). 1302 targets, 47 skipped, 0 masked, 0 errors.&lt;br /&gt;
 NOTE: Resolving any missing task queue dependencies&lt;br /&gt;
 NOTE: Preparing RunQueue&lt;br /&gt;
 NOTE: Checking sstate mirror object availability (for 51 objects)&lt;br /&gt;
 NOTE: Executing SetScene Tasks&lt;br /&gt;
 NOTE: Executing RunQueue Tasks&lt;br /&gt;
 NOTE: bbexample: compiling from external source tree /path/to/esdk/workspace/sources/bbexample&lt;br /&gt;
 NOTE: Tasks Summary: Attempted 342 tasks of which 336 didn&#039;t need to be rerun and all succeeded.&lt;br /&gt;
This build command runs bitbake just as in a full Yocto Project OS image build. The key line in the output is &#039;&#039;&#039;Checking sstate mirror object availability (for 51 objects)&#039;&#039;&#039;. As the extensible SDK installer gives you a minimal build environment it has to download all the dependencies (e.g. native build tools and necessary target libraries). Here 51 objects have been found and are downloaded in their pre-built state greatly speeding up the build process (i.e. we just run 342 tasks of which 336 didn&#039;t need to be rerun). This is the extensible part of the SDK in action.&lt;br /&gt;
&lt;br /&gt;
== Deploying ==&lt;br /&gt;
Before deploying, the target must be running have a network connection and an ssh server running. In the case, we&#039;ll assume the qemux86 target is running. &lt;br /&gt;
 $ devtool deploy-target -s bbexample root@192.168.7.2&lt;br /&gt;
 Parsing recipes..done.&lt;br /&gt;
 devtool_deploy.list                           100%  167     0.2KB/s   00:00    &lt;br /&gt;
 devtool_deploy.sh                             100% 1002     1.0KB/s   00:00    &lt;br /&gt;
 ./&lt;br /&gt;
 ./usr/&lt;br /&gt;
 ./usr/bin/&lt;br /&gt;
 ./usr/bin/bbexample&lt;br /&gt;
 ./usr/include/&lt;br /&gt;
 ./usr/include/bbexample.h&lt;br /&gt;
 ./usr/lib/&lt;br /&gt;
 ./usr/lib/libbbexample.so.1&lt;br /&gt;
 ./usr/lib/libbbexample.so&lt;br /&gt;
 ./usr/lib/libbbexample.so.1.0.0&lt;br /&gt;
 ./usr/lib/libbbexample.la&lt;br /&gt;
 NOTE: Successfully deployed /path/to/esdk/sdk/tmp/work/i586-poky-linux/bbexample/0.1+git999-r0/image&lt;br /&gt;
== Running ==&lt;br /&gt;
 root@qemux86:~# bbexample&lt;br /&gt;
 Hello Yocto World...&lt;br /&gt;
 Hello World (from a shared library!)&lt;br /&gt;
&lt;br /&gt;
== Deploy ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[WORK IN PROGRESS]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
Back to the [[Cookbook]] home page.&lt;/div&gt;</summary>
		<author><name>David Kinder</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook&amp;diff=18630</id>
		<title>Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook&amp;diff=18630"/>
		<updated>2016-05-19T22:43:10Z</updated>

		<summary type="html">&lt;p&gt;David Kinder: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[WORK IN PROGRESS]&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This Yocto Project Cookbook collects working examples of how to use the Yocto Project, filling some of the gaps between the&lt;br /&gt;
[http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Yocto Project Quick Start Guide] and the&lt;br /&gt;
[http://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html full reference documentation]. Like any&lt;br /&gt;
cookbook, we&#039;ll include some basic as well as more complex examples you can follow to learn about the pantry of&lt;br /&gt;
components and files available, as well as the techniques for manipulating them using Yocto Project tools.&lt;br /&gt;
&lt;br /&gt;
We encourage you, the Yocto Project community, to add your own examples to this Cookbook, or pointers to training, tips,&lt;br /&gt;
and other material that can help new and experienced users of Yocto Project share their knowledge and experience.&lt;br /&gt;
&lt;br /&gt;
Please test all procedures before adding them to this page, and if you do see a problem or improvement, start a &lt;br /&gt;
[https://wiki.yoctoproject.org/wiki/index.php?title=Talk:Cookbook&amp;amp;action=edit discussion] (use the discussion tab at the top of this page)&lt;br /&gt;
, or edit the page itself!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cookbook Topics ==&lt;br /&gt;
&lt;br /&gt;
Here&#039;s our initial list of examples we&#039;d like to include in our cookbook.  Those that have been written or are in progress will be linked, the others are on our list to work on.  (As we get more, we may regroup the organization of these topics, but for now this should work:&lt;br /&gt;
 &lt;br /&gt;
* [[Cookbook:Example:Adding_packages_to_your_OS_image|Adding packages to your OS image]]&lt;br /&gt;
* [[Cookbook:Example:Creating_and_updating_recipes_with_devtool|Creating and updating recipes with devtool]]&lt;br /&gt;
* Understanding the fetch/unpack/configure/build/package pipeline&lt;br /&gt;
* Locating and understanding failures&lt;br /&gt;
* Understanding the tmp/work directory structure and what goes where&lt;br /&gt;
* Introduction to writing recipes&lt;br /&gt;
* Package management&lt;br /&gt;
* Application Development&lt;br /&gt;
* Configuring your kernel&lt;br /&gt;
* And more....&lt;br /&gt;
&lt;br /&gt;
== Other Links ==&lt;br /&gt;
&lt;br /&gt;
;[http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Quick Start Guide]&lt;br /&gt;
:The official Yocto Project Quick Start Guide contains a step-by-step walk-through showing how to set up your environment and perform your first build&lt;br /&gt;
&lt;br /&gt;
;[http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#extendpoky Developer Manual: Common Tasks]&lt;br /&gt;
:The Common Tasks section of the Yocto Project Developer Manual&#039;s documentation discusses creating layers, customizing images, writing recipes, configuring and patching the kernel, performing automated runtime testing, and more. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are links that were in a previous version of this Cookbook. (Some seem rather outdated that we&#039;ll need to comb through, but we wanted to keep them around for now.)&lt;br /&gt;
&lt;br /&gt;
;[[Yocto_BSP_One-Stop_Shop_(Documentation_Overview,_Getting_Started,_FAQs,_and_more)|Everything you need to know to create and maintain a Yocto BSP]]&lt;br /&gt;
:TomZ&#039;s page on how to create and maintain a Yocto Project BSP, including how to interact with the community &lt;br /&gt;
&lt;br /&gt;
;[[Cookbook:Appliance:Startup_Scripts|Startup scripts]]&lt;br /&gt;
:How to get things to happen or start automatically:&lt;/div&gt;</summary>
		<author><name>David Kinder</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook:Example:Adding_packages_to_your_OS_image&amp;diff=18629</id>
		<title>Cookbook:Example:Adding packages to your OS image</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook:Example:Adding_packages_to_your_OS_image&amp;diff=18629"/>
		<updated>2016-05-19T22:42:04Z</updated>

		<summary type="html">&lt;p&gt;David Kinder: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[WORK IN PROGRESS]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adding packages to your OS image is one of the most common things you need to do; you have an OS image and you want to add some functionality. We&#039;ll assume you&#039;ve gone through the Quick Start and have built core-image-sato for qeumux86. In this example, we start by making a quick change to the configuration to instead make a headless build with core-image-minimal. &lt;br /&gt;
(This is probably a better place to start as we have a much simpler image.)&lt;br /&gt;
&lt;br /&gt;
First edit &amp;lt;code&amp;gt;local.conf&amp;lt;/code&amp;gt; and remove the the following line as it prevents debugging the build:&lt;br /&gt;
 INHERIT += &amp;quot;rm_work&amp;quot;&lt;br /&gt;
Then build the image:&lt;br /&gt;
 $ bitbake core-image-minimal&lt;br /&gt;
Now let&#039;s start running the resulting headless image (note we&#039;re using the &amp;lt;code&amp;gt;nographic&amp;lt;/code&amp;gt; option):&lt;br /&gt;
 $ runqemu qemux86 nographic&lt;br /&gt;
When it gets to the login prompt, use user &#039;root&#039; with no password. Let&#039;s try and connect over ssh. First we need to get the IP address with &amp;lt;code&amp;gt;ifconfig&amp;lt;/code&amp;gt;.&lt;br /&gt;
 root@qemux86:~# ifconfig&lt;br /&gt;
 eth0     Link encap:Ethernet  HWaddr 52:54:00:12:34:56  &lt;br /&gt;
          inet addr:192.168.7.2  Bcast:192.168.7.255  Mask:255.255.255.0&lt;br /&gt;
Now try and connect to our VM from a different machine on the same sub net&lt;br /&gt;
 $ ssh root@192.168.7.2&lt;br /&gt;
 ssh: connect to host 192.168.7.2 port 22: Connection refused&lt;br /&gt;
Hmmm, a Connection Refused error. Let&#039;s check if we have an ssh server running&lt;br /&gt;
 root@qemux86:~# ps | grep sshd | grep -v grep&lt;br /&gt;
 root@qemux86:~#&lt;br /&gt;
Nope. So let&#039;s add one. First we need to exit the qemu session. Hit CTRL+A then C. You should see the on the console:&lt;br /&gt;
 QEMU 2.5.0 monitor - type &#039;help&#039; for more information&lt;br /&gt;
 (qemu) &lt;br /&gt;
Type &#039;&#039;&#039;quit&#039;&#039;&#039; and you&#039;re out. &lt;br /&gt;
&lt;br /&gt;
Now we need to find the Yocto Project recipe that includes sshd. The way to find recipes is to go to the https://layers.openembedded.org web site. Select the krogoth branch and click on the Recipes button at the top:&lt;br /&gt;
 &lt;br /&gt;
[[File:cookbook-Layers-openembedded-ssh.png]]&lt;br /&gt;
&lt;br /&gt;
The entry openssh looks like the right thing (summary needs to be fixed!). So let&#039;d add it to the image by adding this line to &amp;lt;code&amp;gt;conf/local.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
 CORE_IMAGE_EXTRA_INSTALL += &amp;quot;openssh&amp;quot;&lt;br /&gt;
Now rebuild image&lt;br /&gt;
 $ bitbake core-image-minimal&lt;br /&gt;
How do we quickly check that sshd has been installed? First let&#039;s find where the openssh package was built. Since it was to run on the target, work files can be found in build/tmp/work/$TARGET_SYS. First we need to find the value of TARGET_SYS. Each time you run bitbake, this value is displayed.&lt;br /&gt;
Build Configuration:&lt;br /&gt;
 BB_VERSION        = &amp;quot;1.31.0&amp;quot;&lt;br /&gt;
 BUILD_SYS         = &amp;quot;x86_64-linux&amp;quot;&lt;br /&gt;
 NATIVELSBSTRING   = &amp;quot;universal&amp;quot;&lt;br /&gt;
 &#039;&#039;&#039;TARGET_SYS        = &amp;quot;i586-poky-linux&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
 MACHINE           = &amp;quot;qemux86&amp;quot;&lt;br /&gt;
 DISTRO            = &amp;quot;poky&amp;quot;&lt;br /&gt;
 DISTRO_VERSION    = &amp;quot;2.1+snapshot-20160509&amp;quot;&lt;br /&gt;
 TUNE_FEATURES     = &amp;quot;m32 i586&amp;quot;&lt;br /&gt;
 TARGET_FPU        = &amp;quot;&amp;quot;&lt;br /&gt;
 meta              &lt;br /&gt;
 meta-poky         &lt;br /&gt;
 meta-yocto-bsp    = &amp;quot;master:3cb5dead2808482baf3ffae5ed961c72f2ea275f&amp;quot;&lt;br /&gt;
See we can see  TARGET_SYS = &amp;quot;i586-poky-linux&amp;quot;. A more general way of doing this is displaying the bitbake environment and searching for a variable using grep:&lt;br /&gt;
 $ bitbake -e | grep ^TARGET_SYS&lt;br /&gt;
 TARGET_SYS=&amp;quot;i586-poky-linux&amp;quot;&lt;br /&gt;
Now we look into the folder &amp;lt;code&amp;gt;build/tmp/work/i586-poky-linux/openssh&amp;lt;/code&amp;gt;. Here we find folders for each package version that is built. Typically there is just one.&lt;br /&gt;
 $ ls tmp/work/i586-poky-linux/openssh&lt;br /&gt;
 7.1p2-r0&lt;br /&gt;
All the files installed on the target will be &amp;lt;code&amp;gt;tmp/work/i586-poky-linux/openssh/7.1p2-r0/package&amp;lt;/code&amp;gt;. Let&#039;s look for &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt;&lt;br /&gt;
 $ find tmp/work/i586-poky-linux/openssqemux86-poky-linuxh/7.1p2-r0/package -name sshd&lt;br /&gt;
 tmp/work/i586-poky-linux/openssh/7.1p2-r0/package/etc/init.d/sshd&lt;br /&gt;
 tmp/work/i586-poky-linux/openssh/7.1p2-r0/package/usr/sbin/.debug/sshd&lt;br /&gt;
 tmp/work/i586-poky-linux/openssh/7.1p2-r0/package/usr/sbin/sshd&lt;br /&gt;
We found it! And it&#039;ll be installed into /usr/sbin/sshd. Let&#039;s see if it has appeared in rootfs (found in &amp;lt;code&amp;gt;build/tmp/work/$MACHINE-poky-linux/image-name/1.0-r0/rootfs&amp;lt;/code&amp;gt;. &lt;br /&gt;
For us, the translates to:&lt;br /&gt;
 $ ls tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/&lt;br /&gt;
 bin  boot  dev  etc  home  lib  media  mnt  proc  run  sbin  sys  tmp  usr  var&lt;br /&gt;
Let look for sshd&lt;br /&gt;
 $ ls tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/sbin/sshd&lt;br /&gt;
 tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/sbin/sshd&lt;br /&gt;
Found it! Now we know it&#039;ll be in the image, so let&#039;s start running the image we just built:&lt;br /&gt;
 runqemu qemux86 nographic&lt;br /&gt;
And we see this in the boot message which looks promising:&lt;br /&gt;
 Starting OpenBSD Secure Shell server: sshd&lt;br /&gt;
Now let&#039;s see if its running&lt;br /&gt;
 root@qemux86:~# ps | grep sshd | grep -v grep&lt;br /&gt;
  389 root      5352 S    /usr/sbin/sshd&lt;br /&gt;
Yup! Let&#039;s try to connect from another machine&lt;br /&gt;
 $ ssh root@192.168.7.2&lt;br /&gt;
 The authenticity of host &#039;192.168.7.2 (192.168.7.2)&#039; can&#039;t be established.&lt;br /&gt;
 ECDSA key fingerprint is SHA256:RbNcfuY+gHOZ8vdF5+M/CqVNVpELIY6KayT0ilDYsfs.&lt;br /&gt;
 ECDSA key fingerprint is MD5:42:0d:84:b3:5b:d8:42:38:ea:38:fd:97:f8:a3:4c:c4.&lt;br /&gt;
 Are you sure you want to continue connecting (yes/no)? yes&lt;br /&gt;
 Warning: Permanently added &#039;192.168.7.2&#039; (ECDSA) to the list of known hosts.&lt;br /&gt;
 root@qemux86:~# &lt;br /&gt;
We&#039;re in! &lt;br /&gt;
&lt;br /&gt;
In this example, we showed how find a Yocto Project recipe that includes a package we&#039;re interested in (openssh),&lt;br /&gt;
and how to add the openssh package to the image by editing &amp;lt;code&amp;gt;conf/local.conf&amp;lt;/code&amp;gt; and doing another bitbake build.&lt;br /&gt;
We also tested our new image using the qemu emulator to verify that ssh capability was now present.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
Back to the [[Cookbook]] home page.&lt;/div&gt;</summary>
		<author><name>David Kinder</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook:Example:Adding_packages_to_your_OS_image&amp;diff=18628</id>
		<title>Cookbook:Example:Adding packages to your OS image</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook:Example:Adding_packages_to_your_OS_image&amp;diff=18628"/>
		<updated>2016-05-19T22:38:56Z</updated>

		<summary type="html">&lt;p&gt;David Kinder: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[WORK IN PROGRESS]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adding packages to your OS image is one of the most common things you need to do; you have an OS image and you want to add some functionality. We&#039;ll assume you&#039;ve gone through the Quick Start and have built core-image-sato for qeumux86. In this example, we start by making a quick change to the configuration to instead make a headless build with core-image-minimal. &lt;br /&gt;
(This is probably a better place to start as we have a much simpler image.)&lt;br /&gt;
&lt;br /&gt;
First edit &amp;lt;code&amp;gt;local.conf&amp;lt;/code&amp;gt; and remove the the following line as it prevents debugging the build:&lt;br /&gt;
 INHERIT += &amp;quot;rm_work&amp;quot;&lt;br /&gt;
Then build the image:&lt;br /&gt;
 $ bitbake core-image-minimal&lt;br /&gt;
Now let&#039;s start running the resulting headless image (note we&#039;re using the &amp;lt;code&amp;gt;nographic&amp;lt;/code&amp;gt; option):&lt;br /&gt;
 $ runqemu qemux86 nographic&lt;br /&gt;
When it gets to the login prompt, use user &#039;root&#039; with no password. Let&#039;s try and connect over ssh. First we need to get the IP address with &amp;lt;code&amp;gt;ifconfig&amp;lt;/code&amp;gt;.&lt;br /&gt;
 root@qemux86:~# ifconfig&lt;br /&gt;
 eth0     Link encap:Ethernet  HWaddr 52:54:00:12:34:56  &lt;br /&gt;
          inet addr:192.168.7.2  Bcast:192.168.7.255  Mask:255.255.255.0&lt;br /&gt;
Now try and connect to our VM from a different machine on the same sub net&lt;br /&gt;
 $ ssh root@192.168.7.2&lt;br /&gt;
 ssh: connect to host 192.168.7.2 port 22: Connection refused&lt;br /&gt;
Hmmm, a Connection Refused error. Let&#039;s check if we have an ssh server running&lt;br /&gt;
 root@qemux86:~# ps | grep sshd | grep -v grep&lt;br /&gt;
 root@qemux86:~#&lt;br /&gt;
Nope. So let&#039;s add one. First we need to exit the qemu session. Hit CTRL+A then C. You should see the on the console:&lt;br /&gt;
 QEMU 2.5.0 monitor - type &#039;help&#039; for more information&lt;br /&gt;
 (qemu) &lt;br /&gt;
Type &#039;&#039;&#039;quit&#039;&#039;&#039; and you&#039;re out. &lt;br /&gt;
&lt;br /&gt;
Now we need to find the Yocto Project recipe that includes sshd. The way to find recipes is to go to the https://layers.openembedded.org web site. Select the krogoth branch and click on the Recipes button at the top:&lt;br /&gt;
 &lt;br /&gt;
[[File:cookbook-Layers-openembedded-ssh.png]]&lt;br /&gt;
&lt;br /&gt;
The entry openssh looks like the right thing (summary needs to be fixed!). So let&#039;d add it to the image by adding this line to &amp;lt;code&amp;gt;conf/local.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
 CORE_IMAGE_EXTRA_INSTALL += &amp;quot;openssh&amp;quot;&lt;br /&gt;
Now rebuild image&lt;br /&gt;
 $ bitbake core-image-minimal&lt;br /&gt;
How do we quickly check that sshd has been installed? First let&#039;s find where the openssh package was built. Since it was to run on the target, work files can be found in build/tmp/work/$TARGET_SYS. First we need to find the value of TARGET_SYS. Each time you run bitbake, this value is displayed.&lt;br /&gt;
Build Configuration:&lt;br /&gt;
 BB_VERSION        = &amp;quot;1.31.0&amp;quot;&lt;br /&gt;
 BUILD_SYS         = &amp;quot;x86_64-linux&amp;quot;&lt;br /&gt;
 NATIVELSBSTRING   = &amp;quot;universal&amp;quot;&lt;br /&gt;
 &#039;&#039;&#039;TARGET_SYS        = &amp;quot;i586-poky-linux&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
 MACHINE           = &amp;quot;qemux86&amp;quot;&lt;br /&gt;
 DISTRO            = &amp;quot;poky&amp;quot;&lt;br /&gt;
 DISTRO_VERSION    = &amp;quot;2.1+snapshot-20160509&amp;quot;&lt;br /&gt;
 TUNE_FEATURES     = &amp;quot;m32 i586&amp;quot;&lt;br /&gt;
 TARGET_FPU        = &amp;quot;&amp;quot;&lt;br /&gt;
 meta              &lt;br /&gt;
 meta-poky         &lt;br /&gt;
 meta-yocto-bsp    = &amp;quot;master:3cb5dead2808482baf3ffae5ed961c72f2ea275f&amp;quot;&lt;br /&gt;
See we can see  TARGET_SYS = &amp;quot;i586-poky-linux&amp;quot;. A more general way of doing this is displaying the bitbake environment and searching for a variable using grep:&lt;br /&gt;
 $ bitbake -e | grep ^TARGET_SYS&lt;br /&gt;
 TARGET_SYS=&amp;quot;i586-poky-linux&amp;quot;&lt;br /&gt;
Now we look into the folder &amp;lt;code&amp;gt;build/tmp/work/i586-poky-linux/openssh&amp;lt;/code&amp;gt;. Here we find folders for each package version that is built. Typically there is just one.&lt;br /&gt;
 $ ls tmp/work/i586-poky-linux/openssh&lt;br /&gt;
 7.1p2-r0&lt;br /&gt;
All the files installed on the target will be &amp;lt;code&amp;gt;tmp/work/i586-poky-linux/openssh/7.1p2-r0/package&amp;lt;/code&amp;gt;. Let&#039;s look for &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt;&lt;br /&gt;
 $ find tmp/work/i586-poky-linux/openssqemux86-poky-linuxh/7.1p2-r0/package -name sshd&lt;br /&gt;
 tmp/work/i586-poky-linux/openssh/7.1p2-r0/package/etc/init.d/sshd&lt;br /&gt;
 tmp/work/i586-poky-linux/openssh/7.1p2-r0/package/usr/sbin/.debug/sshd&lt;br /&gt;
 tmp/work/i586-poky-linux/openssh/7.1p2-r0/package/usr/sbin/sshd&lt;br /&gt;
We found it! And it&#039;ll be installed into /usr/sbin/sshd. Let&#039;s see if it has appeared in rootfs (found in &amp;lt;code&amp;gt;build/tmp/work/$MACHINE-poky-linux/image-name/1.0-r0/rootfs&amp;lt;/code&amp;gt;. &lt;br /&gt;
For us, the translates to:&lt;br /&gt;
 $ ls tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/&lt;br /&gt;
 bin  boot  dev  etc  home  lib  media  mnt  proc  run  sbin  sys  tmp  usr  var&lt;br /&gt;
Let look for sshd&lt;br /&gt;
 $ ls tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/sbin/sshd&lt;br /&gt;
 tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/sbin/sshd&lt;br /&gt;
Found it! Now we know it&#039;ll be in the image, so let&#039;s start running the image we just built:&lt;br /&gt;
 runqemu qemux86 nographic&lt;br /&gt;
And we see this in the boot message which looks promising:&lt;br /&gt;
 Starting OpenBSD Secure Shell server: sshd&lt;br /&gt;
Now let&#039;s see if its running&lt;br /&gt;
 root@qemux86:~# ps | grep sshd | grep -v grep&lt;br /&gt;
  389 root      5352 S    /usr/sbin/sshd&lt;br /&gt;
Yup! Let&#039;s try to connect from another machine&lt;br /&gt;
 $ ssh root@192.168.7.2&lt;br /&gt;
 The authenticity of host &#039;192.168.7.2 (192.168.7.2)&#039; can&#039;t be established.&lt;br /&gt;
 ECDSA key fingerprint is SHA256:RbNcfuY+gHOZ8vdF5+M/CqVNVpELIY6KayT0ilDYsfs.&lt;br /&gt;
 ECDSA key fingerprint is MD5:42:0d:84:b3:5b:d8:42:38:ea:38:fd:97:f8:a3:4c:c4.&lt;br /&gt;
 Are you sure you want to continue connecting (yes/no)? yes&lt;br /&gt;
 Warning: Permanently added &#039;192.168.7.2&#039; (ECDSA) to the list of known hosts.&lt;br /&gt;
 root@qemux86:~# &lt;br /&gt;
We&#039;re in! &lt;br /&gt;
&lt;br /&gt;
In this example, we showed how find a Yocto Project recipe that includes a package we&#039;re interested in (openssh),&lt;br /&gt;
and how to add the openssh package to the image by editing &amp;lt;code&amp;gt;conf/local.conf&amp;lt;/code&amp;gt; and doing another bitbake build.&lt;br /&gt;
We also tested our new image using the qemu emulator to verify that ssh capability was now present.&lt;br /&gt;
&lt;br /&gt;
Back to the [[Cookbook]] home page.&lt;/div&gt;</summary>
		<author><name>David Kinder</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=File:Cookbook-Layers-openembedded-ssh.png&amp;diff=18627</id>
		<title>File:Cookbook-Layers-openembedded-ssh.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=File:Cookbook-Layers-openembedded-ssh.png&amp;diff=18627"/>
		<updated>2016-05-19T22:38:05Z</updated>

		<summary type="html">&lt;p&gt;David Kinder: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>David Kinder</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook:Example:Adding_packages_to_your_OS_image&amp;diff=18626</id>
		<title>Cookbook:Example:Adding packages to your OS image</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook:Example:Adding_packages_to_your_OS_image&amp;diff=18626"/>
		<updated>2016-05-19T22:35:01Z</updated>

		<summary type="html">&lt;p&gt;David Kinder: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[WORK IN PROGRESS]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adding packages to your OS image is one of the most common things you need to do; you have an OS image and you want to add some functionality. We&#039;ll assume you&#039;ve gone through the Quick Start and have built core-image-sato for qeumux86. In this example, we start by making a quick change to the configuration to instead make a headless build with core-image-minimal. &lt;br /&gt;
(This is probably a better place to start as we have a much simpler image.)&lt;br /&gt;
&lt;br /&gt;
First edit &amp;lt;code&amp;gt;local.conf&amp;lt;/code&amp;gt; and remove the the following line as it prevents debugging the build:&lt;br /&gt;
 INHERIT += &amp;quot;rm_work&amp;quot;&lt;br /&gt;
Then build the image:&lt;br /&gt;
 $ bitbake core-image-minimal&lt;br /&gt;
Now let&#039;s start running the resulting headless image (note we&#039;re using the &amp;lt;code&amp;gt;nographic&amp;lt;/code&amp;gt; option):&lt;br /&gt;
 $ runqemu qemux86 nographic&lt;br /&gt;
When it gets to the login prompt, use user &#039;root&#039; with no password. Let&#039;s try and connect over ssh. First we need to get the IP address with &amp;lt;code&amp;gt;ifconfig&amp;lt;/code&amp;gt;.&lt;br /&gt;
 root@qemux86:~# ifconfig&lt;br /&gt;
 eth0     Link encap:Ethernet  HWaddr 52:54:00:12:34:56  &lt;br /&gt;
          inet addr:192.168.7.2  Bcast:192.168.7.255  Mask:255.255.255.0&lt;br /&gt;
Now try and connect to our VM from a different machine on the same sub net&lt;br /&gt;
 $ ssh root@192.168.7.2&lt;br /&gt;
 ssh: connect to host 192.168.7.2 port 22: Connection refused&lt;br /&gt;
Hmmm, a Connection Refused error. Let&#039;s check if we have an ssh server running&lt;br /&gt;
 root@qemux86:~# ps | grep sshd | grep -v grep&lt;br /&gt;
 root@qemux86:~#&lt;br /&gt;
Nope. So let&#039;s add one. First we need to exit the qemu session. Hit CTRL+A then C. You should see the on the console:&lt;br /&gt;
 QEMU 2.5.0 monitor - type &#039;help&#039; for more information&lt;br /&gt;
 (qemu) &lt;br /&gt;
Type &#039;&#039;&#039;quit&#039;&#039;&#039; and you&#039;re out. &lt;br /&gt;
&lt;br /&gt;
Now we need to find the Yocto Project recipe that includes sshd. The way to find recipes is to go to the https://layers.openembedded.org web site. Select the krogoth branch and click on the Recipes button at the top. &lt;br /&gt;
[[File:Layers-openembedded-ssh.png]]&lt;br /&gt;
&lt;br /&gt;
The entry openssh looks like the right thing (summary needs to be fixed!). So let&#039;d add it to the image by adding this line to &amp;lt;code&amp;gt;conf/local.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
 CORE_IMAGE_EXTRA_INSTALL += &amp;quot;openssh&amp;quot;&lt;br /&gt;
Now rebuild image&lt;br /&gt;
 $ bitbake core-image-minimal&lt;br /&gt;
How do we quickly check that sshd has been installed? First let&#039;s find where the openssh package was built. Since it was to run on the target, work files can be found in build/tmp/work/$TARGET_SYS. First we need to find the value of TARGET_SYS. Each time you run bitbake, this value is displayed.&lt;br /&gt;
Build Configuration:&lt;br /&gt;
 BB_VERSION        = &amp;quot;1.31.0&amp;quot;&lt;br /&gt;
 BUILD_SYS         = &amp;quot;x86_64-linux&amp;quot;&lt;br /&gt;
 NATIVELSBSTRING   = &amp;quot;universal&amp;quot;&lt;br /&gt;
 &#039;&#039;&#039;TARGET_SYS        = &amp;quot;i586-poky-linux&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
 MACHINE           = &amp;quot;qemux86&amp;quot;&lt;br /&gt;
 DISTRO            = &amp;quot;poky&amp;quot;&lt;br /&gt;
 DISTRO_VERSION    = &amp;quot;2.1+snapshot-20160509&amp;quot;&lt;br /&gt;
 TUNE_FEATURES     = &amp;quot;m32 i586&amp;quot;&lt;br /&gt;
 TARGET_FPU        = &amp;quot;&amp;quot;&lt;br /&gt;
 meta              &lt;br /&gt;
 meta-poky         &lt;br /&gt;
 meta-yocto-bsp    = &amp;quot;master:3cb5dead2808482baf3ffae5ed961c72f2ea275f&amp;quot;&lt;br /&gt;
See we can see  TARGET_SYS = &amp;quot;i586-poky-linux&amp;quot;. A more general way of doing this is displaying the bitbake environment and searching for a variable using grep:&lt;br /&gt;
 $ bitbake -e | grep ^TARGET_SYS&lt;br /&gt;
 TARGET_SYS=&amp;quot;i586-poky-linux&amp;quot;&lt;br /&gt;
Now we look into the folder &amp;lt;code&amp;gt;build/tmp/work/i586-poky-linux/openssh&amp;lt;/code&amp;gt;. Here we find folders for each package version that is built. Typically there is just one.&lt;br /&gt;
 $ ls tmp/work/i586-poky-linux/openssh&lt;br /&gt;
 7.1p2-r0&lt;br /&gt;
All the files installed on the target will be &amp;lt;code&amp;gt;tmp/work/i586-poky-linux/openssh/7.1p2-r0/package&amp;lt;/code&amp;gt;. Let&#039;s look for &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt;&lt;br /&gt;
 $ find tmp/work/i586-poky-linux/openssqemux86-poky-linuxh/7.1p2-r0/package -name sshd&lt;br /&gt;
 tmp/work/i586-poky-linux/openssh/7.1p2-r0/package/etc/init.d/sshd&lt;br /&gt;
 tmp/work/i586-poky-linux/openssh/7.1p2-r0/package/usr/sbin/.debug/sshd&lt;br /&gt;
 tmp/work/i586-poky-linux/openssh/7.1p2-r0/package/usr/sbin/sshd&lt;br /&gt;
We found it! And it&#039;ll be installed into /usr/sbin/sshd. Let&#039;s see if it has appeared in rootfs (found in &amp;lt;code&amp;gt;build/tmp/work/$MACHINE-poky-linux/image-name/1.0-r0/rootfs&amp;lt;/code&amp;gt;. &lt;br /&gt;
For us, the translates to:&lt;br /&gt;
 $ ls tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/&lt;br /&gt;
 bin  boot  dev  etc  home  lib  media  mnt  proc  run  sbin  sys  tmp  usr  var&lt;br /&gt;
Let look for sshd&lt;br /&gt;
 $ ls tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/sbin/sshd&lt;br /&gt;
 tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/sbin/sshd&lt;br /&gt;
Found it! Now we know it&#039;ll be in the image, so let&#039;s start running the image we just built:&lt;br /&gt;
 runqemu qemux86 nographic&lt;br /&gt;
And we see this in the boot message which looks promising:&lt;br /&gt;
 Starting OpenBSD Secure Shell server: sshd&lt;br /&gt;
Now let&#039;s see if its running&lt;br /&gt;
 root@qemux86:~# ps | grep sshd | grep -v grep&lt;br /&gt;
  389 root      5352 S    /usr/sbin/sshd&lt;br /&gt;
Yup! Let&#039;s try to connect from another machine&lt;br /&gt;
 $ ssh root@192.168.7.2&lt;br /&gt;
 The authenticity of host &#039;192.168.7.2 (192.168.7.2)&#039; can&#039;t be established.&lt;br /&gt;
 ECDSA key fingerprint is SHA256:RbNcfuY+gHOZ8vdF5+M/CqVNVpELIY6KayT0ilDYsfs.&lt;br /&gt;
 ECDSA key fingerprint is MD5:42:0d:84:b3:5b:d8:42:38:ea:38:fd:97:f8:a3:4c:c4.&lt;br /&gt;
 Are you sure you want to continue connecting (yes/no)? yes&lt;br /&gt;
 Warning: Permanently added &#039;192.168.7.2&#039; (ECDSA) to the list of known hosts.&lt;br /&gt;
 root@qemux86:~# &lt;br /&gt;
We&#039;re in! &lt;br /&gt;
&lt;br /&gt;
In this example, we showed how find a Yocto Project recipe that includes a package we&#039;re interested in (openssh),&lt;br /&gt;
and how to add the openssh package to the image by editing &amp;lt;code&amp;gt;conf/local.conf&amp;lt;/code&amp;gt; and doing another bitbake build.&lt;br /&gt;
We also tested our new image using the qemu emulator to verify that ssh capability was now present.&lt;br /&gt;
&lt;br /&gt;
Back to the [[Cookbook]] home page.&lt;/div&gt;</summary>
		<author><name>David Kinder</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook:Example:Adding_packages_to_your_OS_image&amp;diff=18625</id>
		<title>Cookbook:Example:Adding packages to your OS image</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook:Example:Adding_packages_to_your_OS_image&amp;diff=18625"/>
		<updated>2016-05-19T22:34:25Z</updated>

		<summary type="html">&lt;p&gt;David Kinder: First draft of cookbook example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;```[WORK IN PROGRESS]```&lt;br /&gt;
&lt;br /&gt;
Adding packages to your OS image is one of the most common things you need to do; you have an OS image and you want to add some functionality. We&#039;ll assume you&#039;ve gone through the Quick Start and have built core-image-sato for qeumux86. In this example, we start by making a quick change to the configuration to instead make a headless build with core-image-minimal. &lt;br /&gt;
(This is probably a better place to start as we have a much simpler image.)&lt;br /&gt;
&lt;br /&gt;
First edit &amp;lt;code&amp;gt;local.conf&amp;lt;/code&amp;gt; and remove the the following line as it prevents debugging the build:&lt;br /&gt;
 INHERIT += &amp;quot;rm_work&amp;quot;&lt;br /&gt;
Then build the image:&lt;br /&gt;
 $ bitbake core-image-minimal&lt;br /&gt;
Now let&#039;s start running the resulting headless image (note we&#039;re using the &amp;lt;code&amp;gt;nographic&amp;lt;/code&amp;gt; option):&lt;br /&gt;
 $ runqemu qemux86 nographic&lt;br /&gt;
When it gets to the login prompt, use user &#039;root&#039; with no password. Let&#039;s try and connect over ssh. First we need to get the IP address with &amp;lt;code&amp;gt;ifconfig&amp;lt;/code&amp;gt;.&lt;br /&gt;
 root@qemux86:~# ifconfig&lt;br /&gt;
 eth0     Link encap:Ethernet  HWaddr 52:54:00:12:34:56  &lt;br /&gt;
          inet addr:192.168.7.2  Bcast:192.168.7.255  Mask:255.255.255.0&lt;br /&gt;
Now try and connect to our VM from a different machine on the same sub net&lt;br /&gt;
 $ ssh root@192.168.7.2&lt;br /&gt;
 ssh: connect to host 192.168.7.2 port 22: Connection refused&lt;br /&gt;
Hmmm, a Connection Refused error. Let&#039;s check if we have an ssh server running&lt;br /&gt;
 root@qemux86:~# ps | grep sshd | grep -v grep&lt;br /&gt;
 root@qemux86:~#&lt;br /&gt;
Nope. So let&#039;s add one. First we need to exit the qemu session. Hit CTRL+A then C. You should see the on the console:&lt;br /&gt;
 QEMU 2.5.0 monitor - type &#039;help&#039; for more information&lt;br /&gt;
 (qemu) &lt;br /&gt;
Type &#039;&#039;&#039;quit&#039;&#039;&#039; and you&#039;re out. &lt;br /&gt;
&lt;br /&gt;
Now we need to find the Yocto Project recipe that includes sshd. The way to find recipes is to go to the https://layers.openembedded.org web site. Select the krogoth branch and click on the Recipes button at the top. &lt;br /&gt;
[[File:Layers-openembedded-ssh.png]]&lt;br /&gt;
&lt;br /&gt;
The entry openssh looks like the right thing (summary needs to be fixed!). So let&#039;d add it to the image by adding this line to &amp;lt;code&amp;gt;conf/local.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
 CORE_IMAGE_EXTRA_INSTALL += &amp;quot;openssh&amp;quot;&lt;br /&gt;
Now rebuild image&lt;br /&gt;
 $ bitbake core-image-minimal&lt;br /&gt;
How do we quickly check that sshd has been installed? First let&#039;s find where the openssh package was built. Since it was to run on the target, work files can be found in build/tmp/work/$TARGET_SYS. First we need to find the value of TARGET_SYS. Each time you run bitbake, this value is displayed.&lt;br /&gt;
Build Configuration:&lt;br /&gt;
 BB_VERSION        = &amp;quot;1.31.0&amp;quot;&lt;br /&gt;
 BUILD_SYS         = &amp;quot;x86_64-linux&amp;quot;&lt;br /&gt;
 NATIVELSBSTRING   = &amp;quot;universal&amp;quot;&lt;br /&gt;
 &#039;&#039;&#039;TARGET_SYS        = &amp;quot;i586-poky-linux&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
 MACHINE           = &amp;quot;qemux86&amp;quot;&lt;br /&gt;
 DISTRO            = &amp;quot;poky&amp;quot;&lt;br /&gt;
 DISTRO_VERSION    = &amp;quot;2.1+snapshot-20160509&amp;quot;&lt;br /&gt;
 TUNE_FEATURES     = &amp;quot;m32 i586&amp;quot;&lt;br /&gt;
 TARGET_FPU        = &amp;quot;&amp;quot;&lt;br /&gt;
 meta              &lt;br /&gt;
 meta-poky         &lt;br /&gt;
 meta-yocto-bsp    = &amp;quot;master:3cb5dead2808482baf3ffae5ed961c72f2ea275f&amp;quot;&lt;br /&gt;
See we can see  TARGET_SYS = &amp;quot;i586-poky-linux&amp;quot;. A more general way of doing this is displaying the bitbake environment and searching for a variable using grep:&lt;br /&gt;
 $ bitbake -e | grep ^TARGET_SYS&lt;br /&gt;
 TARGET_SYS=&amp;quot;i586-poky-linux&amp;quot;&lt;br /&gt;
Now we look into the folder &amp;lt;code&amp;gt;build/tmp/work/i586-poky-linux/openssh&amp;lt;/code&amp;gt;. Here we find folders for each package version that is built. Typically there is just one.&lt;br /&gt;
 $ ls tmp/work/i586-poky-linux/openssh&lt;br /&gt;
 7.1p2-r0&lt;br /&gt;
All the files installed on the target will be &amp;lt;code&amp;gt;tmp/work/i586-poky-linux/openssh/7.1p2-r0/package&amp;lt;/code&amp;gt;. Let&#039;s look for &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt;&lt;br /&gt;
 $ find tmp/work/i586-poky-linux/openssqemux86-poky-linuxh/7.1p2-r0/package -name sshd&lt;br /&gt;
 tmp/work/i586-poky-linux/openssh/7.1p2-r0/package/etc/init.d/sshd&lt;br /&gt;
 tmp/work/i586-poky-linux/openssh/7.1p2-r0/package/usr/sbin/.debug/sshd&lt;br /&gt;
 tmp/work/i586-poky-linux/openssh/7.1p2-r0/package/usr/sbin/sshd&lt;br /&gt;
We found it! And it&#039;ll be installed into /usr/sbin/sshd. Let&#039;s see if it has appeared in rootfs (found in &amp;lt;code&amp;gt;build/tmp/work/$MACHINE-poky-linux/image-name/1.0-r0/rootfs&amp;lt;/code&amp;gt;. &lt;br /&gt;
For us, the translates to:&lt;br /&gt;
 $ ls tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/&lt;br /&gt;
 bin  boot  dev  etc  home  lib  media  mnt  proc  run  sbin  sys  tmp  usr  var&lt;br /&gt;
Let look for sshd&lt;br /&gt;
 $ ls tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/sbin/sshd&lt;br /&gt;
 tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/sbin/sshd&lt;br /&gt;
Found it! Now we know it&#039;ll be in the image, so let&#039;s start running the image we just built:&lt;br /&gt;
 runqemu qemux86 nographic&lt;br /&gt;
And we see this in the boot message which looks promising:&lt;br /&gt;
 Starting OpenBSD Secure Shell server: sshd&lt;br /&gt;
Now let&#039;s see if its running&lt;br /&gt;
 root@qemux86:~# ps | grep sshd | grep -v grep&lt;br /&gt;
  389 root      5352 S    /usr/sbin/sshd&lt;br /&gt;
Yup! Let&#039;s try to connect from another machine&lt;br /&gt;
 $ ssh root@192.168.7.2&lt;br /&gt;
 The authenticity of host &#039;192.168.7.2 (192.168.7.2)&#039; can&#039;t be established.&lt;br /&gt;
 ECDSA key fingerprint is SHA256:RbNcfuY+gHOZ8vdF5+M/CqVNVpELIY6KayT0ilDYsfs.&lt;br /&gt;
 ECDSA key fingerprint is MD5:42:0d:84:b3:5b:d8:42:38:ea:38:fd:97:f8:a3:4c:c4.&lt;br /&gt;
 Are you sure you want to continue connecting (yes/no)? yes&lt;br /&gt;
 Warning: Permanently added &#039;192.168.7.2&#039; (ECDSA) to the list of known hosts.&lt;br /&gt;
 root@qemux86:~# &lt;br /&gt;
We&#039;re in! &lt;br /&gt;
&lt;br /&gt;
In this example, we showed how find a Yocto Project recipe that includes a package we&#039;re interested in (openssh),&lt;br /&gt;
and how to add the openssh package to the image by editing &amp;lt;code&amp;gt;conf/local.conf&amp;lt;/code&amp;gt; and doing another bitbake build.&lt;br /&gt;
We also tested our new image using the qemu emulator to verify that ssh capability was now present.&lt;br /&gt;
&lt;br /&gt;
Back to the [[Cookbook]] home page.&lt;/div&gt;</summary>
		<author><name>David Kinder</name></author>
	</entry>
	<entry>
		<id>https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook&amp;diff=18623</id>
		<title>Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.yoctoproject.org/wiki/index.php?title=Cookbook&amp;diff=18623"/>
		<updated>2016-05-19T21:56:16Z</updated>

		<summary type="html">&lt;p&gt;David Kinder: Resurrecting the Yocto Project Cookbook examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[WORK IN PROGRESS]&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This Yocto Project Cookbook collects working examples of how to use the Yocto Project, filling some of the gaps between the&lt;br /&gt;
[http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Yocto Project Quick Start Guide] and the&lt;br /&gt;
[http://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html full reference documentation]. Like any&lt;br /&gt;
cookbook, we&#039;ll include some basic as well as more complex examples you can follow to learn about the pantry of&lt;br /&gt;
components and files available, as well as the techniques for manipulating them using Yocto Project tools.&lt;br /&gt;
&lt;br /&gt;
We encourage you, the Yocto Project community, to add your own examples to this Cookbook, or pointers to training, tips,&lt;br /&gt;
and other material that can help new and experienced users of Yocto Project share their knowledge and experience.&lt;br /&gt;
&lt;br /&gt;
Please test all procedures before adding them to this page, and if you do see a problem or improvement, start a &lt;br /&gt;
[https://wiki.yoctoproject.org/wiki/index.php?title=Talk:Cookbook&amp;amp;action=edit discussion] (use the discussion tab at the top of this page)&lt;br /&gt;
, or edit the page itself!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cookbook Topics ==&lt;br /&gt;
&lt;br /&gt;
Here&#039;s our initial list of examples we&#039;d like to include in our cookbook.  Those that have been written or are in progress will be linked, the others are on our list to work on.  (As we get more, we may regroup the organization of these topics, but for now this should work:&lt;br /&gt;
 &lt;br /&gt;
* Adding packages to your OS image&lt;br /&gt;
* Creating and updating recipes with devtool&lt;br /&gt;
* Understanding the fetch/unpack/configure/build/package pipeline&lt;br /&gt;
* Locating and understanding failures&lt;br /&gt;
* Understanding the tmp/work directory structure and what goes where&lt;br /&gt;
* Introduction to writing recipes&lt;br /&gt;
* Package management&lt;br /&gt;
* Application Development&lt;br /&gt;
* Configuring your kernel&lt;br /&gt;
* And more....&lt;br /&gt;
&lt;br /&gt;
== Other Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Quick Start Guide]: The official Yocto Project Quick Start Guide contains a step-by-step walk-through showing how to set up your environment and perform your first build&lt;br /&gt;
&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#extendpoky Developer Manual: Common Tasks] section of the Yocto Project documentation &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are links that were in a previous version of this Cookbook. (Some seem rather outdated that we&#039;ll need to comb through, but we wanted to keep them around for now.)&lt;br /&gt;
&lt;br /&gt;
* TomZ&#039;s page on how to create and maintain a Yocto Project BSP: [[Yocto_BSP_One-Stop_Shop_(Documentation_Overview,_Getting_Started,_FAQs,_and_more)]]&lt;br /&gt;
&lt;br /&gt;
* How to get things to happen or start automatically: [[Cookbook:Appliance:Startup_Scripts|Startup scripts]]&lt;/div&gt;</summary>
		<author><name>David Kinder</name></author>
	</entry>
</feed>