<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.koansoftware.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Koan</id>
	<title>KoanSoftware Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.koansoftware.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Koan"/>
	<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php/Special:Contributions/Koan"/>
	<updated>2026-05-02T13:44:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.15</generator>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=BitBake%27s_passthrough_environment_variables&amp;diff=415</id>
		<title>BitBake&#039;s passthrough environment variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=BitBake%27s_passthrough_environment_variables&amp;diff=415"/>
		<updated>2025-12-01T15:21:38Z</updated>

		<summary type="html">&lt;p&gt;Koan: Created page with &amp;quot;== BitBake&amp;#039;s passthrough environment variables ==  When you need to manage custom variables in a script having an impact with Bitbake, it is possible to add custom environment variables to BitBake&amp;#039;s passthrough mechanism.      #!/bin/bash     #     # A script to demonstrate adding custom environment variables to BitBake&amp;#039;s passthrough mechanism.     #          export CUSTOM=&amp;quot;CustomValue&amp;quot;     export MYVAR=$CUSTOM-$USER     BB_ENV_PASSTHROUGH_ADDITIONS=&amp;quot;$BB_ENV_PASSTHROUGH_...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== BitBake&#039;s passthrough environment variables ==&lt;br /&gt;
&lt;br /&gt;
When you need to manage custom variables in a script having an impact with Bitbake,&lt;br /&gt;
it is possible to add custom environment variables to BitBake&#039;s passthrough mechanism.&lt;br /&gt;
&lt;br /&gt;
    #!/bin/bash&lt;br /&gt;
    #&lt;br /&gt;
    # A script to demonstrate adding custom environment variables to BitBake&#039;s passthrough mechanism.&lt;br /&gt;
    #&lt;br /&gt;
    &lt;br /&gt;
    export CUSTOM=&amp;quot;CustomValue&amp;quot;&lt;br /&gt;
    export MYVAR=$CUSTOM-$USER&lt;br /&gt;
    BB_ENV_PASSTHROUGH_ADDITIONS=&amp;quot;$BB_ENV_PASSTHROUGH_ADDITIONS MYVAR&amp;quot;&lt;br /&gt;
    bitbake -e os-release | grep ^MYVAR=&lt;br /&gt;
&lt;br /&gt;
Execution example&lt;br /&gt;
&lt;br /&gt;
  $ ../bitbake-test-passthrough.sh&lt;br /&gt;
  MYVAR=&amp;quot;custom_value-tux&amp;quot;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=414</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=414"/>
		<updated>2025-12-01T15:19:08Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Yocto Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome on [https://koansoftware.com Koan Software] official wiki&lt;br /&gt;
&lt;br /&gt;
== KOAN Embedded Software Engineering == &lt;br /&gt;
[https://koansoftware.com KOAN] is an Italian software house, specialized in embedded and real time Linux software solutions on RISC platforms of the ARM family (Raspberry, Atmel, Freescale, NXP). Founded on 1996 from diversified experiences, is a supplier of embedded software systems for industrial automation, telecommunications, automotive, mechatronics and aerospace.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is this wiki? == &lt;br /&gt;
This is a collection of useful notes about Yocto Project and OpenEmbedded, GNU/Linux distributions aimed for embedded devices developed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem solving - Howto ==&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Setup NFS root filesystem]]&lt;br /&gt;
* [[Setup an external toolchain with Yocto]]&lt;br /&gt;
* [[Fixing Perl Locale Errors in a Clean Ubuntu Install]]&lt;br /&gt;
* [[Using VMware Player to run Linux training]]&lt;br /&gt;
* [[Issues running python on Linux]]&lt;br /&gt;
* [[Error Initialize GIT git init --initial-branch=main]]&lt;br /&gt;
* [[repo issue &amp;quot;def print(self, *args, **kwargs):&amp;quot;]]&lt;br /&gt;
* [[Replacement for command ldd on Linux]]&lt;br /&gt;
* [[Optimal swap size for building with Yocto Project]]&lt;br /&gt;
* [[Linux Network Managers and Configuration Files]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Core ==&lt;br /&gt;
* [[Submit patches to Openembedded]] &lt;br /&gt;
* [http://openembedded.org/wiki/Commit_Patch_Message_Guidelines Commit Patch Message Guidelines]&lt;br /&gt;
* [[OE-Core Standalone Setup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Debugging ==&lt;br /&gt;
* [[Openembedded debugging]]&lt;br /&gt;
* [[Packages information list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto Project ==&lt;br /&gt;
* [[Best hardware to build Yocto Project]] &lt;br /&gt;
* [[Yocto Project my own quick start]] &lt;br /&gt;
* [[Yocto versus Poky versus Angstrom]]&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html Yocto Project reference Manual]&lt;br /&gt;
* [http://git.yoctoproject.org/ Yocto source Repositories]&lt;br /&gt;
* [http://layers.openembedded.org OpenEmbedded layers index]&lt;br /&gt;
* [https://wiki.yoctoproject.org/wiki/Releases Yocto version releases]&lt;br /&gt;
* [http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Migrating metadata to OE-Core]&lt;br /&gt;
* [[OE/Yocto prebuilt toolchains]]&lt;br /&gt;
* [[Howto build a kernel module out of the kernel tree]]&lt;br /&gt;
* [[Howto speed up Yocto build]]&lt;br /&gt;
* [[bitbake options]]&lt;br /&gt;
* [[Directories and installation variables]]&lt;br /&gt;
* [[How to add libstdc++ to a Yocto (Poky) image]]&lt;br /&gt;
* [[How to run a script at boot automatically]]&lt;br /&gt;
* [[How to run a systemd script at boot automatically]]&lt;br /&gt;
* [[Create patches using quilt]]&lt;br /&gt;
* [[Building Software from an External Source]]&lt;br /&gt;
* [[opkg command options]]&lt;br /&gt;
* [[Managing RDEPENDS into a recipe]]&lt;br /&gt;
* [[Extract the list of packages into a Yocto image]]&lt;br /&gt;
* [[Toaster setup and usage]]&lt;br /&gt;
* [[Python assignment operators]]&lt;br /&gt;
* [[Skip connectivity checks]]&lt;br /&gt;
* [[Set default root password]]&lt;br /&gt;
* [[Yocto package management]]&lt;br /&gt;
* [[Yocto build on a cluster with IceCC]]&lt;br /&gt;
* [[Add native gcc to the target image]]&lt;br /&gt;
* [[List IPK package depencencies]]&lt;br /&gt;
* [[Yocto Project what I wish I&#039;d known]]&lt;br /&gt;
* [[Using devtool to modify recipes in Yocto]]&lt;br /&gt;
* [[How to include uEnv.txt in Yocto image]]&lt;br /&gt;
* [[Add build information into a Yocto image]]&lt;br /&gt;
* [[Add a systemd service file into a Yocto image]]&lt;br /&gt;
* [[Yocto Project licenses for LIC_FILES_CHKSUM]]&lt;br /&gt;
* [[Set Proprietary license for a recipe]]&lt;br /&gt;
* [[Yocto sstate usage summary to the build]]&lt;br /&gt;
* [[Upgrade to Yocto honister 3.4]]&lt;br /&gt;
* [[Override syntax change from Yocto honister 3.4]]&lt;br /&gt;
* [[Modify the linux kernel with configuration fragments in Yocto]]&lt;br /&gt;
* [[Add a debug banner in a Yocto recipe]]&lt;br /&gt;
* [[How to trace a variable setting with bitbake-getvar]]&lt;br /&gt;
* [[How to detect the Yocto version using bitbake]]&lt;br /&gt;
* [[Support other languages and keyboards than English in Yocto]]&lt;br /&gt;
* [[List the files shipped by your recipe]]&lt;br /&gt;
* [[How to run CVE checks using the Yocto Project]]&lt;br /&gt;
* [[How to add binary files via a custom recipe]]&lt;br /&gt;
* [[How to configure network using systemd-networkd in Yocto]]&lt;br /&gt;
* [[Yocto Project override operators]]&lt;br /&gt;
* [[How to generate an initrd image with Yocto]]&lt;br /&gt;
* [[How to verify the metalayers SHA when using Yocto]]&lt;br /&gt;
* [[BitBake&#039;s passthrough environment variables]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Many other details are available in the [https://wiki.yoctoproject.org/wiki/Technical_FAQ Yocto Project wiki]&lt;br /&gt;
&lt;br /&gt;
== Linux kernel ==&lt;br /&gt;
* [[Kernel message logging with printk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== C/C++ userspace ==&lt;br /&gt;
* [[Manage the GPIO lines in C with libgpiod]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Microsoft .NET and Mono ==&lt;br /&gt;
* [[Embedded Linux .NET applications with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
* [[Install Qt 5 on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and SBC ==&lt;br /&gt;
* [[iMX6 definitive GPIO guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [[ARM cores list]]&lt;br /&gt;
* [[systemd vs sysvinit]]&lt;br /&gt;
* [http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ How to create and submit Linux kernel patch using GIT]&lt;br /&gt;
* [[Development with VMware]]&lt;br /&gt;
* [[How to Shrink a VirtualBox Virtual Machine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
* [https://koansoftware.com/company/ Who we are]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KoanSoftware(R) and KaeilOS(R) are registered trademarks of KOAN sas - Bergamo, ITALY &lt;br /&gt;
&lt;br /&gt;
All contents of this website are released under the [http://creativecommons.org/licenses/by-sa/3.0/deed.en_US Creative Commons Attribution-ShareAlike 3.0 Unported License]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=How_to_verify_the_metalayers_SHA_when_using_Yocto&amp;diff=413</id>
		<title>How to verify the metalayers SHA when using Yocto</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=How_to_verify_the_metalayers_SHA_when_using_Yocto&amp;diff=413"/>
		<updated>2025-11-19T11:12:42Z</updated>

		<summary type="html">&lt;p&gt;Koan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to verify the metalayers SHA when using Yocto ==&lt;br /&gt;
&lt;br /&gt;
When working with &#039;&#039;&#039;Yocto Project&#039;&#039;&#039;, maintaining a reliable and reproducible build environment is essential. &lt;br /&gt;
&lt;br /&gt;
One of the simplest yet most important steps in ensuring this integrity is verifying the &#039;&#039;&#039;SHA&#039;&#039;&#039; of the &#039;&#039;&#039;metalayers&#039;&#039;&#039; you are using during the build.&lt;br /&gt;
&lt;br /&gt;
Whether you&#039;re synchronizing your project with upstream layers, checking for unexpected changes, or documenting the exact state of your build environment, validating the commit hashes helps guarantee consistency and traceability. &lt;br /&gt;
&lt;br /&gt;
Below you can find a command that can help you to point out the layers list and the respective SHA verification without starting a &#039;&#039;&#039;bitbake&#039;&#039;&#039; build.&lt;br /&gt;
&lt;br /&gt;
The goal of this command is to avoid to touch an existing build.&lt;br /&gt;
&lt;br /&gt;
  bitbake --dry-run os-release&lt;br /&gt;
    &lt;br /&gt;
    Build Configuration:&lt;br /&gt;
    BB_VERSION           = &amp;quot;2.8.1&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;
    TARGET_SYS           = &amp;quot;arm-poky-linux-gnueabi&amp;quot;&lt;br /&gt;
    MACHINE              = &amp;quot;beaglebone&amp;quot;&lt;br /&gt;
    DISTRO               = &amp;quot;poky&amp;quot;&lt;br /&gt;
    DISTRO_VERSION       = &amp;quot;5.0.14&amp;quot;&lt;br /&gt;
    TUNE_FEATURES        = &amp;quot;arm armv7a vfp thumb neon callconvention-hard&amp;quot;&lt;br /&gt;
    TARGET_FPU           = &amp;quot;hard&amp;quot;&lt;br /&gt;
    meta                 &lt;br /&gt;
    meta-poky            &lt;br /&gt;
    meta-yocto-bsp       = &amp;quot;scarthgap:7e8674996b0164b07e56bc066d0fba790e627061&amp;quot;&lt;br /&gt;
    meta-oe              = &amp;quot;scarthgap:f1f248262d662315159ee96c604f97415d1dbe6a&amp;quot;&lt;br /&gt;
    meta-arm-toolchain   &lt;br /&gt;
    meta-arm             = &amp;quot;scarthgap:a81c19915b5b9e71ed394032e9a50fd06919e1cd&amp;quot;&lt;br /&gt;
    meta-ti-bsp          &lt;br /&gt;
    meta-beagle          = &amp;quot;scarthgap:f483464c72055cdcb81853e06afc89719e73073f&amp;quot;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=How_to_verify_the_metalayers_SHA_when_using_Yocto&amp;diff=412</id>
		<title>How to verify the metalayers SHA when using Yocto</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=How_to_verify_the_metalayers_SHA_when_using_Yocto&amp;diff=412"/>
		<updated>2025-11-19T11:11:15Z</updated>

		<summary type="html">&lt;p&gt;Koan: Created page with &amp;quot;== How to verify the metalayers SHA when using Yocto ==  When working with &amp;#039;&amp;#039;&amp;#039;Yocto Project&amp;#039;&amp;#039;&amp;#039;, maintaining a reliable and reproducible build environment is essential.   One of the simplest yet most important steps in ensuring this integrity is verifying the &amp;#039;&amp;#039;&amp;#039;SHA&amp;#039;&amp;#039;&amp;#039; of the &amp;#039;&amp;#039;&amp;#039;metalayers&amp;#039;&amp;#039;&amp;#039; you are using during the build.  Whether you&amp;#039;re synchronizing your project with upstream layers, checking for unexpected changes, or documenting the exact state of your build environ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to verify the metalayers SHA when using Yocto ==&lt;br /&gt;
&lt;br /&gt;
When working with &#039;&#039;&#039;Yocto Project&#039;&#039;&#039;, maintaining a reliable and reproducible build environment is essential. &lt;br /&gt;
&lt;br /&gt;
One of the simplest yet most important steps in ensuring this integrity is verifying the &#039;&#039;&#039;SHA&#039;&#039;&#039; of the &#039;&#039;&#039;metalayers&#039;&#039;&#039; you are using during the build.&lt;br /&gt;
&lt;br /&gt;
Whether you&#039;re synchronizing your project with upstream layers, checking for unexpected changes, or documenting the exact state of your build environment, validating the commit hashes helps guarantee consistency and traceability. &lt;br /&gt;
&lt;br /&gt;
Below you can find a command that can help you to point out the layers list and the respective SHA verification without starting a &#039;&#039;&#039;bitbake&#039;&#039;&#039; build.&lt;br /&gt;
&lt;br /&gt;
The goal of this command is to avoid to touch an existing build.&lt;br /&gt;
&lt;br /&gt;
  bitbake --dry-run os-release&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=411</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=411"/>
		<updated>2025-11-19T11:04:23Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Yocto Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome on [https://koansoftware.com Koan Software] official wiki&lt;br /&gt;
&lt;br /&gt;
== KOAN Embedded Software Engineering == &lt;br /&gt;
[https://koansoftware.com KOAN] is an Italian software house, specialized in embedded and real time Linux software solutions on RISC platforms of the ARM family (Raspberry, Atmel, Freescale, NXP). Founded on 1996 from diversified experiences, is a supplier of embedded software systems for industrial automation, telecommunications, automotive, mechatronics and aerospace.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is this wiki? == &lt;br /&gt;
This is a collection of useful notes about Yocto Project and OpenEmbedded, GNU/Linux distributions aimed for embedded devices developed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem solving - Howto ==&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Setup NFS root filesystem]]&lt;br /&gt;
* [[Setup an external toolchain with Yocto]]&lt;br /&gt;
* [[Fixing Perl Locale Errors in a Clean Ubuntu Install]]&lt;br /&gt;
* [[Using VMware Player to run Linux training]]&lt;br /&gt;
* [[Issues running python on Linux]]&lt;br /&gt;
* [[Error Initialize GIT git init --initial-branch=main]]&lt;br /&gt;
* [[repo issue &amp;quot;def print(self, *args, **kwargs):&amp;quot;]]&lt;br /&gt;
* [[Replacement for command ldd on Linux]]&lt;br /&gt;
* [[Optimal swap size for building with Yocto Project]]&lt;br /&gt;
* [[Linux Network Managers and Configuration Files]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Core ==&lt;br /&gt;
* [[Submit patches to Openembedded]] &lt;br /&gt;
* [http://openembedded.org/wiki/Commit_Patch_Message_Guidelines Commit Patch Message Guidelines]&lt;br /&gt;
* [[OE-Core Standalone Setup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Debugging ==&lt;br /&gt;
* [[Openembedded debugging]]&lt;br /&gt;
* [[Packages information list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto Project ==&lt;br /&gt;
* [[Best hardware to build Yocto Project]] &lt;br /&gt;
* [[Yocto Project my own quick start]] &lt;br /&gt;
* [[Yocto versus Poky versus Angstrom]]&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html Yocto Project reference Manual]&lt;br /&gt;
* [http://git.yoctoproject.org/ Yocto source Repositories]&lt;br /&gt;
* [http://layers.openembedded.org OpenEmbedded layers index]&lt;br /&gt;
* [https://wiki.yoctoproject.org/wiki/Releases Yocto version releases]&lt;br /&gt;
* [http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Migrating metadata to OE-Core]&lt;br /&gt;
* [[OE/Yocto prebuilt toolchains]]&lt;br /&gt;
* [[Howto build a kernel module out of the kernel tree]]&lt;br /&gt;
* [[Howto speed up Yocto build]]&lt;br /&gt;
* [[bitbake options]]&lt;br /&gt;
* [[Directories and installation variables]]&lt;br /&gt;
* [[How to add libstdc++ to a Yocto (Poky) image]]&lt;br /&gt;
* [[How to run a script at boot automatically]]&lt;br /&gt;
* [[How to run a systemd script at boot automatically]]&lt;br /&gt;
* [[Create patches using quilt]]&lt;br /&gt;
* [[Building Software from an External Source]]&lt;br /&gt;
* [[opkg command options]]&lt;br /&gt;
* [[Managing RDEPENDS into a recipe]]&lt;br /&gt;
* [[Extract the list of packages into a Yocto image]]&lt;br /&gt;
* [[Toaster setup and usage]]&lt;br /&gt;
* [[Python assignment operators]]&lt;br /&gt;
* [[Skip connectivity checks]]&lt;br /&gt;
* [[Set default root password]]&lt;br /&gt;
* [[Yocto package management]]&lt;br /&gt;
* [[Yocto build on a cluster with IceCC]]&lt;br /&gt;
* [[Add native gcc to the target image]]&lt;br /&gt;
* [[List IPK package depencencies]]&lt;br /&gt;
* [[Yocto Project what I wish I&#039;d known]]&lt;br /&gt;
* [[Using devtool to modify recipes in Yocto]]&lt;br /&gt;
* [[How to include uEnv.txt in Yocto image]]&lt;br /&gt;
* [[Add build information into a Yocto image]]&lt;br /&gt;
* [[Add a systemd service file into a Yocto image]]&lt;br /&gt;
* [[Yocto Project licenses for LIC_FILES_CHKSUM]]&lt;br /&gt;
* [[Set Proprietary license for a recipe]]&lt;br /&gt;
* [[Yocto sstate usage summary to the build]]&lt;br /&gt;
* [[Upgrade to Yocto honister 3.4]]&lt;br /&gt;
* [[Override syntax change from Yocto honister 3.4]]&lt;br /&gt;
* [[Modify the linux kernel with configuration fragments in Yocto]]&lt;br /&gt;
* [[Add a debug banner in a Yocto recipe]]&lt;br /&gt;
* [[How to trace a variable setting with bitbake-getvar]]&lt;br /&gt;
* [[How to detect the Yocto version using bitbake]]&lt;br /&gt;
* [[Support other languages and keyboards than English in Yocto]]&lt;br /&gt;
* [[List the files shipped by your recipe]]&lt;br /&gt;
* [[How to run CVE checks using the Yocto Project]]&lt;br /&gt;
* [[How to add binary files via a custom recipe]]&lt;br /&gt;
* [[How to configure network using systemd-networkd in Yocto]]&lt;br /&gt;
* [[Yocto Project override operators]]&lt;br /&gt;
* [[How to generate an initrd image with Yocto]]&lt;br /&gt;
* [[How to verify the metalayers SHA when using Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Many other details are available in the [https://wiki.yoctoproject.org/wiki/Technical_FAQ Yocto Project wiki]&lt;br /&gt;
&lt;br /&gt;
== Linux kernel ==&lt;br /&gt;
* [[Kernel message logging with printk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== C/C++ userspace ==&lt;br /&gt;
* [[Manage the GPIO lines in C with libgpiod]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Microsoft .NET and Mono ==&lt;br /&gt;
* [[Embedded Linux .NET applications with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
* [[Install Qt 5 on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and SBC ==&lt;br /&gt;
* [[iMX6 definitive GPIO guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [[ARM cores list]]&lt;br /&gt;
* [[systemd vs sysvinit]]&lt;br /&gt;
* [http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ How to create and submit Linux kernel patch using GIT]&lt;br /&gt;
* [[Development with VMware]]&lt;br /&gt;
* [[How to Shrink a VirtualBox Virtual Machine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
* [https://koansoftware.com/company/ Who we are]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KoanSoftware(R) and KaeilOS(R) are registered trademarks of KOAN sas - Bergamo, ITALY &lt;br /&gt;
&lt;br /&gt;
All contents of this website are released under the [http://creativecommons.org/licenses/by-sa/3.0/deed.en_US Creative Commons Attribution-ShareAlike 3.0 Unported License]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Linux_Network_Managers_and_Configuration_Files&amp;diff=400</id>
		<title>Linux Network Managers and Configuration Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Linux_Network_Managers_and_Configuration_Files&amp;diff=400"/>
		<updated>2025-06-21T13:33:30Z</updated>

		<summary type="html">&lt;p&gt;Koan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Linux Network Managers and Configuration Files =&lt;br /&gt;
&lt;br /&gt;
Linux supports various network management systems, each designed for different use cases such as desktop environments, servers, or embedded systems. Below is a summary of the most commonly used network managers along with their associated configuration files.&lt;br /&gt;
&lt;br /&gt;
== 1. NetworkManager ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NetworkManager&#039;&#039;&#039; is a dynamic network control and configuration daemon that attempts to keep network devices and connections up and active when they are available. It is widely used in desktop Linux distributions such as Ubuntu, Fedora, and others.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: NetworkManager&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: nmcli, nmtui&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration Files&#039;&#039;&#039;:&lt;br /&gt;
** /etc/NetworkManager/NetworkManager.conf – Main configuration file.&lt;br /&gt;
** /etc/NetworkManager/system-connections/ – Directory containing individual connection profiles.&lt;br /&gt;
** /var/lib/NetworkManager/ – Runtime data.&lt;br /&gt;
&lt;br /&gt;
=== Example Connection File ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;/etc/NetworkManager/system-connections/wired-connection.nmconnection&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 [connection]&lt;br /&gt;
 id=wired-connection&lt;br /&gt;
 type=ethernet&lt;br /&gt;
 interface-name=enp0s3&lt;br /&gt;
 &lt;br /&gt;
 [ipv4]&lt;br /&gt;
 method=auto&lt;br /&gt;
&lt;br /&gt;
== 2. systemd-networkd ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;systemd-networkd&#039;&#039;&#039; is a system service that manages networks. It detects and configures network devices as they appear and can also create virtual network devices.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: systemd-networkd&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: networkctl, systemctl&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration Files&#039;&#039;&#039;:&lt;br /&gt;
** /etc/systemd/network/*.network – Match and configure physical interfaces.&lt;br /&gt;
** /etc/systemd/network/*.netdev – Configuration for virtual devices.&lt;br /&gt;
&lt;br /&gt;
=== Example Network File ===&lt;br /&gt;
&#039;&#039;&#039;/etc/systemd/network/20-wired.network&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 [Match]&lt;br /&gt;
 Name=enp0s3&lt;br /&gt;
 &lt;br /&gt;
 [Network]&lt;br /&gt;
 DHCP=yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 3. ifupdown (traditional Debian tool) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ifupdown&#039;&#039;&#039; is the classic network configuration tool used in older Debian and Ubuntu systems. It is gradually being replaced by newer systems like NetworkManager or systemd-networkd.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: No dedicated service (scripts run via ifup/ifdown)&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: ifup, ifdown&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration File&#039;&#039;&#039;:&lt;br /&gt;
** /etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
=== Example Interfaces File ===&lt;br /&gt;
&#039;&#039;&#039;/etc/network/interfaces&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 auto lo&lt;br /&gt;
 iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
 auto enp0s3&lt;br /&gt;
 iface enp0s3 inet dhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4. netplan ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Netplan&#039;&#039;&#039; is a utility for configuring networking on modern Ubuntu systems (17.10 and later). It abstracts configuration and delegates to either NetworkManager or systemd-networkd.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: Depends on backend (NetworkManager or systemd-networkd)&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: netplan apply, netplan try&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration Files&#039;&#039;&#039;:&lt;br /&gt;
** /etc/netplan/*.yaml&lt;br /&gt;
&lt;br /&gt;
=== Example Netplan YAML File ===&lt;br /&gt;
&#039;&#039;&#039;/etc/netplan/01-netcfg.yaml&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 network:&lt;br /&gt;
   version: 2&lt;br /&gt;
   ethernets:&lt;br /&gt;
     enp0s3:&lt;br /&gt;
       dhcp4: true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 5. Wicd ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wicd&#039;&#039;&#039; is a network connection manager that aims to provide a simple interface to connect to networks. It is now &#039;&#039;&#039;mostly obsolete&#039;&#039;&#039; but may still be found on lightweight systems.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: wicd&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: wicd-curses, wicd-cli&lt;br /&gt;
* &#039;&#039;&#039;Main Coniguration Files&#039;&#039;&#039;:&lt;br /&gt;
** /etc/wicd/ – Configuration directory&lt;br /&gt;
** /etc/wicd/wireless-settings.conf – Wireless-specific configuration&lt;br /&gt;
** /etc/wicd/wired-settings.conf – Wired-specific configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 6. ConnMan (Connection Manager) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ConnMan&#039;&#039;&#039; is a daemon for managing internet connections within embedded devices. It is lightweight and often used in systems with limited resources.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: connmand&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: connmanctl&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration Files&#039;&#039;&#039;:&lt;br /&gt;
** /etc/connman/main.conf – General configuration&lt;br /&gt;
** /var/lib/connman/ – Profiles and saved settings&lt;br /&gt;
&lt;br /&gt;
=== Example ConnMan Configuration ===&lt;br /&gt;
&#039;&#039;&#039;/etc/connman/main.conf&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 [General]&lt;br /&gt;
 PreferredTechnologies=ethernet,wifi&lt;br /&gt;
 SingleConnectedTechnology=true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Summary Table =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Network Manager !! Main Config File(s) !! CLI Tools !! Typical Use&lt;br /&gt;
|-&lt;br /&gt;
| NetworkManager || /etc/NetworkManager/ || nmcli, nmtui || Desktop&lt;br /&gt;
|-&lt;br /&gt;
| systemd-networkd || /etc/systemd/network/ || networkctl || Server, Embedded&lt;br /&gt;
|-&lt;br /&gt;
| ifupdown || /etc/network/interfaces || ifup, ifdown || Legacy Debian/Ubuntu&lt;br /&gt;
|-&lt;br /&gt;
| netplan || /etc/netplan/*.yaml || netplan || Ubuntu (modern)&lt;br /&gt;
|-&lt;br /&gt;
| Wicd || /etc/wicd/ || wicd-curses, wicd-cli || Lightweight Desktop&lt;br /&gt;
|-&lt;br /&gt;
| ConnMan || /etc/connman/ || connmanctl || Embedded Systems&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+--------------------+&lt;br /&gt;
|   User Interface   |&lt;br /&gt;
|--------------------|&lt;br /&gt;
| nmcli / nmtui       &amp;lt;-- NetworkManager&lt;br /&gt;
| networkctl          &amp;lt;-- systemd-networkd&lt;br /&gt;
| netplan apply       &amp;lt;-- Netplan&lt;br /&gt;
+--------------------+&lt;br /&gt;
&lt;br /&gt;
            ↓&lt;br /&gt;
&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
|   Configuration Files       |&lt;br /&gt;
|-----------------------------|&lt;br /&gt;
| /etc/netplan/*.yaml         &amp;lt;-- Netplan&lt;br /&gt;
| /etc/NetworkManager/*.conf  &amp;lt;-- NetworkManager&lt;br /&gt;
| /etc/systemd/network/*.network  &amp;lt;-- systemd-networkd&lt;br /&gt;
| /etc/network/interfaces     &amp;lt;-- ifupdown&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
&lt;br /&gt;
            ↓&lt;br /&gt;
&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
|  Network Managers (Daemons) |&lt;br /&gt;
|-----------------------------|&lt;br /&gt;
| NetworkManager.service&lt;br /&gt;
| systemd-networkd.service&lt;br /&gt;
| ifupdown (manual)&lt;br /&gt;
| connman.service&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
&lt;br /&gt;
            ↓&lt;br /&gt;
&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
|       Kernel/Drivers        |&lt;br /&gt;
|-----------------------------|&lt;br /&gt;
| Interface mgmt, DHCP, etc.  |&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=399</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=399"/>
		<updated>2025-06-21T13:26:13Z</updated>

		<summary type="html">&lt;p&gt;Koan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome on [https://koansoftware.com Koan Software] official wiki&lt;br /&gt;
&lt;br /&gt;
== KOAN Embedded Software Engineering == &lt;br /&gt;
&lt;br /&gt;
[https://koansoftware.com KOAN] is an Italian software house, specialized in embedded and real time Linux software solutions on RISC platforms of the ARM family (Raspberry, Atmel, Freescale, NXP). Founded on 1996 from diversified experiences, is a supplier of embedded software systems for industrial automation, telecommunications, automotive, mechatronics and aerospace.&lt;br /&gt;
&lt;br /&gt;
== What is this wiki? == &lt;br /&gt;
This is a collection of useful notes about Yocto Project and OpenEmbedded, GNU/Linux distributions aimed for embedded devices developed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem solving - Howto ==&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Setup NFS root filesystem]]&lt;br /&gt;
* [[Setup an external toolchain with Yocto]]&lt;br /&gt;
* [[Fixing Perl Locale Errors in a Clean Ubuntu Install]]&lt;br /&gt;
* [[Using VMware Player to run Linux training]]&lt;br /&gt;
* [[Issues running python on Linux]]&lt;br /&gt;
* [[Error Initialize GIT git init --initial-branch=main]]&lt;br /&gt;
* [[repo issue &amp;quot;def print(self, *args, **kwargs):&amp;quot;]]&lt;br /&gt;
* [[Replacement for command ldd on Linux]]&lt;br /&gt;
* [[Optimal swap size for building with Yocto Project]]&lt;br /&gt;
* [[Linux Network Managers and Configuration Files]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Core ==&lt;br /&gt;
* [[Submit patches to Openembedded]] &lt;br /&gt;
* [http://openembedded.org/wiki/Commit_Patch_Message_Guidelines Commit Patch Message Guidelines]&lt;br /&gt;
* [[OE-Core Standalone Setup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Debugging ==&lt;br /&gt;
* [[Openembedded debugging]]&lt;br /&gt;
* [[Packages information list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto Project ==&lt;br /&gt;
* [[Best hardware to build Yocto Project]] &lt;br /&gt;
* [[Yocto Project my own quick start]] &lt;br /&gt;
* [[Yocto versus Poky versus Angstrom]]&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html Yocto Project reference Manual]&lt;br /&gt;
* [http://git.yoctoproject.org/ Yocto source Repositories]&lt;br /&gt;
* [http://layers.openembedded.org OpenEmbedded layers index]&lt;br /&gt;
* [https://wiki.yoctoproject.org/wiki/Releases Yocto version releases]&lt;br /&gt;
* [http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Migrating metadata to OE-Core]&lt;br /&gt;
* [[OE/Yocto prebuilt toolchains]]&lt;br /&gt;
* [[Howto build a kernel module out of the kernel tree]]&lt;br /&gt;
* [[Howto speed up Yocto build]]&lt;br /&gt;
* [[bitbake options]]&lt;br /&gt;
* [[Directories and installation variables]]&lt;br /&gt;
* [[How to add libstdc++ to a Yocto (Poky) image]]&lt;br /&gt;
* [[How to run a script at boot automatically]]&lt;br /&gt;
* [[How to run a systemd script at boot automatically]]&lt;br /&gt;
* [[Create patches using quilt]]&lt;br /&gt;
* [[Building Software from an External Source]]&lt;br /&gt;
* [[opkg command options]]&lt;br /&gt;
* [[Managing RDEPENDS into a recipe]]&lt;br /&gt;
* [[Extract the list of packages into a Yocto image]]&lt;br /&gt;
* [[Toaster setup and usage]]&lt;br /&gt;
* [[Python assignment operators]]&lt;br /&gt;
* [[Skip connectivity checks]]&lt;br /&gt;
* [[Set default root password]]&lt;br /&gt;
* [[Yocto package management]]&lt;br /&gt;
* [[Yocto build on a cluster with IceCC]]&lt;br /&gt;
* [[Add native gcc to the target image]]&lt;br /&gt;
* [[List IPK package depencencies]]&lt;br /&gt;
* [[Yocto Project what I wish I&#039;d known]]&lt;br /&gt;
* [[Using devtool to modify recipes in Yocto]]&lt;br /&gt;
* [[How to include uEnv.txt in Yocto image]]&lt;br /&gt;
* [[Add build information into a Yocto image]]&lt;br /&gt;
* [[Add a systemd service file into a Yocto image]]&lt;br /&gt;
* [[Yocto Project licenses for LIC_FILES_CHKSUM]]&lt;br /&gt;
* [[Set Proprietary license for a recipe]]&lt;br /&gt;
* [[Yocto sstate usage summary to the build]]&lt;br /&gt;
* [[Upgrade to Yocto honister 3.4]]&lt;br /&gt;
* [[Override syntax change from Yocto honister 3.4]]&lt;br /&gt;
* [[Modify the linux kernel with configuration fragments in Yocto]]&lt;br /&gt;
* [[Add a debug banner in a Yocto recipe]]&lt;br /&gt;
* [[How to trace a variable setting with bitbake-getvar]]&lt;br /&gt;
* [[How to detect the Yocto version using bitbake]]&lt;br /&gt;
* [[Support other languages and keyboards than English in Yocto]]&lt;br /&gt;
* [[List the files shipped by your recipe]]&lt;br /&gt;
* [[How to run CVE checks using the Yocto Project]]&lt;br /&gt;
* [[How to add binary files via a custom recipe]]&lt;br /&gt;
* [[How to configure network using systemd-networkd in Yocto]]&lt;br /&gt;
* [[Yocto Project override operators]]&lt;br /&gt;
* [[How to generate an initrd image with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Many other details are available in the [https://wiki.yoctoproject.org/wiki/Technical_FAQ Yocto Project wiki]&lt;br /&gt;
&lt;br /&gt;
== Linux kernel ==&lt;br /&gt;
* [[Kernel message logging with printk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== C/C++ userspace ==&lt;br /&gt;
* [[Manage the GPIO lines in C with libgpiod]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Microsoft .NET and Mono ==&lt;br /&gt;
* [[Embedded Linux .NET applications with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
* [[Install Qt 5 on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and SBC ==&lt;br /&gt;
* [[iMX6 definitive GPIO guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [[ARM cores list]]&lt;br /&gt;
* [[systemd vs sysvinit]]&lt;br /&gt;
* [http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ How to create and submit Linux kernel patch using GIT]&lt;br /&gt;
* [[Development with VMware]]&lt;br /&gt;
* [[How to Shrink a VirtualBox Virtual Machine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
* [https://koansoftware.com/company/ Who we are]&lt;br /&gt;
&lt;br /&gt;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KoanSoftware(R) and KaeilOS(R) are registered trademarks of KOAN sas - Bergamo, ITALY &lt;br /&gt;
&lt;br /&gt;
All contents of this website are released under the [http://creativecommons.org/licenses/by-sa/3.0/deed.en_US Creative Commons Attribution-ShareAlike 3.0 Unported License]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Linux_Network_Managers_and_Configuration_Files&amp;diff=398</id>
		<title>Linux Network Managers and Configuration Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Linux_Network_Managers_and_Configuration_Files&amp;diff=398"/>
		<updated>2025-06-20T06:28:34Z</updated>

		<summary type="html">&lt;p&gt;Koan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Linux Network Managers and Configuration Files =&lt;br /&gt;
&lt;br /&gt;
Linux supports various network management systems, each designed for different use cases such as desktop environments, servers, or embedded systems. Below is a summary of the most commonly used network managers along with their associated configuration files.&lt;br /&gt;
&lt;br /&gt;
== 1. NetworkManager ==&lt;br /&gt;
&lt;br /&gt;
NetworkManager is a dynamic network control and configuration daemon that attempts to keep network devices and connections up and active when they are available. It is widely used in desktop Linux distributions such as Ubuntu, Fedora, and others.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: `NetworkManager`&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: `nmcli`, `nmtui`&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration Files&#039;&#039;&#039;:&lt;br /&gt;
** `/etc/NetworkManager/NetworkManager.conf` – Main configuration file.&lt;br /&gt;
** `/etc/NetworkManager/system-connections/` – Directory containing individual connection profiles.&lt;br /&gt;
** `/var/lib/NetworkManager/` – Runtime data.&lt;br /&gt;
&lt;br /&gt;
=== Example Connection File ===&lt;br /&gt;
`/etc/NetworkManager/system-connections/wired-connection.nmconnection`&lt;br /&gt;
&lt;br /&gt;
 [connection]&lt;br /&gt;
 id=wired-connection&lt;br /&gt;
 type=ethernet&lt;br /&gt;
 interface-name=enp0s3&lt;br /&gt;
 &lt;br /&gt;
 [ipv4]&lt;br /&gt;
 method=auto&lt;br /&gt;
&lt;br /&gt;
== 2. systemd-networkd ==&lt;br /&gt;
&lt;br /&gt;
`systemd-networkd` is a system service that manages networks. It detects and configures network devices as they appear and can also create virtual network devices.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: `systemd-networkd`&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: `networkctl`, `systemctl`&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration Files&#039;&#039;&#039;:&lt;br /&gt;
** `/etc/systemd/network/*.network` – Match and configure physical interfaces.&lt;br /&gt;
** `/etc/systemd/network/*.netdev` – Configuration for virtual devices.&lt;br /&gt;
&lt;br /&gt;
=== Example Network File ===&lt;br /&gt;
`/etc/systemd/network/20-wired.network`&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
Name=enp0s3&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
DHCP=yes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. ifupdown (traditional Debian tool) ==&lt;br /&gt;
&lt;br /&gt;
`ifupdown` is the classic network configuration tool used in older Debian and Ubuntu systems. It is gradually being replaced by newer systems like NetworkManager or `systemd-networkd`.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: No dedicated service (scripts run via `ifup`/`ifdown`)&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: `ifup`, `ifdown`&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration File&#039;&#039;&#039;:&lt;br /&gt;
** `/etc/network/interfaces`&lt;br /&gt;
&lt;br /&gt;
=== Example Interfaces File ===&lt;br /&gt;
`/etc/network/interfaces`&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto enp0s3&lt;br /&gt;
iface enp0s3 inet dhcp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. netplan ==&lt;br /&gt;
&lt;br /&gt;
Netplan is a utility for configuring networking on modern Ubuntu systems (17.10 and later). It abstracts configuration and delegates to either NetworkManager or `systemd-networkd`.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: Depends on backend (NetworkManager or systemd-networkd)&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: `netplan apply`, `netplan try`&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration Files&#039;&#039;&#039;:&lt;br /&gt;
** `/etc/netplan/*.yaml`&lt;br /&gt;
&lt;br /&gt;
=== Example Netplan YAML File ===&lt;br /&gt;
`/etc/netplan/01-netcfg.yaml`&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
network:&lt;br /&gt;
  version: 2&lt;br /&gt;
  ethernets:&lt;br /&gt;
    enp0s3:&lt;br /&gt;
      dhcp4: true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. Wicd ==&lt;br /&gt;
&lt;br /&gt;
Wicd is a network connection manager that aims to provide a simple interface to connect to networks. It is now mostly obsolete but may still be found on lightweight systems.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: `wicd`&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: `wicd-curses`, `wicd-cli`&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration Files&#039;&#039;&#039;:&lt;br /&gt;
** `/etc/wicd/` – Configuration directory&lt;br /&gt;
** `/etc/wicd/wireless-settings.conf` – Wireless-specific configuration&lt;br /&gt;
** `/etc/wicd/wired-settings.conf` – Wired-specific configuration&lt;br /&gt;
&lt;br /&gt;
== 6. ConnMan (Connection Manager) ==&lt;br /&gt;
&lt;br /&gt;
ConnMan is a daemon for managing internet connections within embedded devices. It is lightweight and often used in systems with limited resources.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: `connmand`&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: `connmanctl`&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration Files&#039;&#039;&#039;:&lt;br /&gt;
** `/etc/connman/main.conf` – General configuration&lt;br /&gt;
** `/var/lib/connman/` – Profiles and saved settings&lt;br /&gt;
&lt;br /&gt;
=== Example ConnMan Configuration ===&lt;br /&gt;
`/etc/connman/main.conf`&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[General]&lt;br /&gt;
PreferredTechnologies=ethernet,wifi&lt;br /&gt;
SingleConnectedTechnology=true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Summary Table =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Network Manager !! Main Config File(s) !! CLI Tools !! Typical Use&lt;br /&gt;
|-&lt;br /&gt;
| NetworkManager || /etc/NetworkManager/ || nmcli, nmtui || Desktop&lt;br /&gt;
|-&lt;br /&gt;
| systemd-networkd || /etc/systemd/network/ || networkctl || Server, Embedded&lt;br /&gt;
|-&lt;br /&gt;
| ifupdown || /etc/network/interfaces || ifup, ifdown || Legacy Debian/Ubuntu&lt;br /&gt;
|-&lt;br /&gt;
| netplan || /etc/netplan/*.yaml || netplan || Ubuntu (modern)&lt;br /&gt;
|-&lt;br /&gt;
| Wicd || /etc/wicd/ || wicd-curses, wicd-cli || Lightweight Desktop&lt;br /&gt;
|-&lt;br /&gt;
| ConnMan || /etc/connman/ || connmanctl || Embedded Systems&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+--------------------+&lt;br /&gt;
|   User Interface   |&lt;br /&gt;
|--------------------|&lt;br /&gt;
| nmcli / nmtui       &amp;lt;-- NetworkManager&lt;br /&gt;
| networkctl          &amp;lt;-- systemd-networkd&lt;br /&gt;
| netplan apply       &amp;lt;-- Netplan&lt;br /&gt;
+--------------------+&lt;br /&gt;
&lt;br /&gt;
            ↓&lt;br /&gt;
&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
|   Configuration Files       |&lt;br /&gt;
|-----------------------------|&lt;br /&gt;
| /etc/netplan/*.yaml         &amp;lt;-- Netplan&lt;br /&gt;
| /etc/NetworkManager/*.conf  &amp;lt;-- NetworkManager&lt;br /&gt;
| /etc/systemd/network/*.network  &amp;lt;-- systemd-networkd&lt;br /&gt;
| /etc/network/interfaces     &amp;lt;-- ifupdown&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
&lt;br /&gt;
            ↓&lt;br /&gt;
&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
|  Network Managers (Daemons) |&lt;br /&gt;
|-----------------------------|&lt;br /&gt;
| NetworkManager.service&lt;br /&gt;
| systemd-networkd.service&lt;br /&gt;
| ifupdown (manual)&lt;br /&gt;
| connman.service&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
&lt;br /&gt;
            ↓&lt;br /&gt;
&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
|       Kernel/Drivers        |&lt;br /&gt;
|-----------------------------|&lt;br /&gt;
| Interface mgmt, DHCP, etc.  |&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Linux_Network_Managers_and_Configuration_Files&amp;diff=397</id>
		<title>Linux Network Managers and Configuration Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Linux_Network_Managers_and_Configuration_Files&amp;diff=397"/>
		<updated>2025-06-20T06:26:27Z</updated>

		<summary type="html">&lt;p&gt;Koan: Created page with &amp;quot;= Linux Network Managers and Configuration Files =  Linux supports various network management systems, each designed for different use cases such as desktop environments, serv...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Linux Network Managers and Configuration Files =&lt;br /&gt;
&lt;br /&gt;
Linux supports various network management systems, each designed for different use cases such as desktop environments, servers, or embedded systems. Below is a summary of the most commonly used network managers along with their associated configuration files.&lt;br /&gt;
&lt;br /&gt;
== 1. NetworkManager ==&lt;br /&gt;
&lt;br /&gt;
NetworkManager is a dynamic network control and configuration daemon that attempts to keep network devices and connections up and active when they are available. It is widely used in desktop Linux distributions such as Ubuntu, Fedora, and others.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: `NetworkManager`&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: `nmcli`, `nmtui`&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration Files&#039;&#039;&#039;:&lt;br /&gt;
** `/etc/NetworkManager/NetworkManager.conf` – Main configuration file.&lt;br /&gt;
** `/etc/NetworkManager/system-connections/` – Directory containing individual connection profiles.&lt;br /&gt;
** `/var/lib/NetworkManager/` – Runtime data.&lt;br /&gt;
&lt;br /&gt;
=== Example Connection File ===&lt;br /&gt;
`/etc/NetworkManager/system-connections/wired-connection.nmconnection`&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[connection]&lt;br /&gt;
id=wired-connection&lt;br /&gt;
type=ethernet&lt;br /&gt;
interface-name=enp0s3&lt;br /&gt;
&lt;br /&gt;
[ipv4]&lt;br /&gt;
method=auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. systemd-networkd ==&lt;br /&gt;
&lt;br /&gt;
`systemd-networkd` is a system service that manages networks. It detects and configures network devices as they appear and can also create virtual network devices.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: `systemd-networkd`&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: `networkctl`, `systemctl`&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration Files&#039;&#039;&#039;:&lt;br /&gt;
** `/etc/systemd/network/*.network` – Match and configure physical interfaces.&lt;br /&gt;
** `/etc/systemd/network/*.netdev` – Configuration for virtual devices.&lt;br /&gt;
&lt;br /&gt;
=== Example Network File ===&lt;br /&gt;
`/etc/systemd/network/20-wired.network`&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
Name=enp0s3&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
DHCP=yes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. ifupdown (traditional Debian tool) ==&lt;br /&gt;
&lt;br /&gt;
`ifupdown` is the classic network configuration tool used in older Debian and Ubuntu systems. It is gradually being replaced by newer systems like NetworkManager or `systemd-networkd`.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: No dedicated service (scripts run via `ifup`/`ifdown`)&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: `ifup`, `ifdown`&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration File&#039;&#039;&#039;:&lt;br /&gt;
** `/etc/network/interfaces`&lt;br /&gt;
&lt;br /&gt;
=== Example Interfaces File ===&lt;br /&gt;
`/etc/network/interfaces`&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto enp0s3&lt;br /&gt;
iface enp0s3 inet dhcp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. netplan ==&lt;br /&gt;
&lt;br /&gt;
Netplan is a utility for configuring networking on modern Ubuntu systems (17.10 and later). It abstracts configuration and delegates to either NetworkManager or `systemd-networkd`.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: Depends on backend (NetworkManager or systemd-networkd)&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: `netplan apply`, `netplan try`&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration Files&#039;&#039;&#039;:&lt;br /&gt;
** `/etc/netplan/*.yaml`&lt;br /&gt;
&lt;br /&gt;
=== Example Netplan YAML File ===&lt;br /&gt;
`/etc/netplan/01-netcfg.yaml`&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
network:&lt;br /&gt;
  version: 2&lt;br /&gt;
  ethernets:&lt;br /&gt;
    enp0s3:&lt;br /&gt;
      dhcp4: true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. Wicd ==&lt;br /&gt;
&lt;br /&gt;
Wicd is a network connection manager that aims to provide a simple interface to connect to networks. It is now mostly obsolete but may still be found on lightweight systems.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: `wicd`&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: `wicd-curses`, `wicd-cli`&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration Files&#039;&#039;&#039;:&lt;br /&gt;
** `/etc/wicd/` – Configuration directory&lt;br /&gt;
** `/etc/wicd/wireless-settings.conf` – Wireless-specific configuration&lt;br /&gt;
** `/etc/wicd/wired-settings.conf` – Wired-specific configuration&lt;br /&gt;
&lt;br /&gt;
== 6. ConnMan (Connection Manager) ==&lt;br /&gt;
&lt;br /&gt;
ConnMan is a daemon for managing internet connections within embedded devices. It is lightweight and often used in systems with limited resources.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Service&#039;&#039;&#039;: `connmand`&lt;br /&gt;
* &#039;&#039;&#039;CLI Tools&#039;&#039;&#039;: `connmanctl`&lt;br /&gt;
* &#039;&#039;&#039;Main Configuration Files&#039;&#039;&#039;:&lt;br /&gt;
** `/etc/connman/main.conf` – General configuration&lt;br /&gt;
** `/var/lib/connman/` – Profiles and saved settings&lt;br /&gt;
&lt;br /&gt;
=== Example ConnMan Configuration ===&lt;br /&gt;
`/etc/connman/main.conf`&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[General]&lt;br /&gt;
PreferredTechnologies=ethernet,wifi&lt;br /&gt;
SingleConnectedTechnology=true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Summary Table =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Network Manager !! Main Config File(s) !! CLI Tools !! Typical Use&lt;br /&gt;
|-&lt;br /&gt;
| NetworkManager || /etc/NetworkManager/ || nmcli, nmtui || Desktop&lt;br /&gt;
|-&lt;br /&gt;
| systemd-networkd || /etc/systemd/network/ || networkctl || Server, Embedded&lt;br /&gt;
|-&lt;br /&gt;
| ifupdown || /etc/network/interfaces || ifup, ifdown || Legacy Debian/Ubuntu&lt;br /&gt;
|-&lt;br /&gt;
| netplan || /etc/netplan/*.yaml || netplan || Ubuntu (modern)&lt;br /&gt;
|-&lt;br /&gt;
| Wicd || /etc/wicd/ || wicd-curses, wicd-cli || Lightweight Desktop&lt;br /&gt;
|-&lt;br /&gt;
| ConnMan || /etc/connman/ || connmanctl || Embedded Systems&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+--------------------+&lt;br /&gt;
|   User Interface   |&lt;br /&gt;
|--------------------|&lt;br /&gt;
| nmcli / nmtui       &amp;lt;-- NetworkManager&lt;br /&gt;
| networkctl          &amp;lt;-- systemd-networkd&lt;br /&gt;
| netplan apply       &amp;lt;-- Netplan&lt;br /&gt;
+--------------------+&lt;br /&gt;
&lt;br /&gt;
            ↓&lt;br /&gt;
&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
|   Configuration Files       |&lt;br /&gt;
|-----------------------------|&lt;br /&gt;
| /etc/netplan/*.yaml         &amp;lt;-- Netplan&lt;br /&gt;
| /etc/NetworkManager/*.conf  &amp;lt;-- NetworkManager&lt;br /&gt;
| /etc/systemd/network/*.network  &amp;lt;-- systemd-networkd&lt;br /&gt;
| /etc/network/interfaces     &amp;lt;-- ifupdown&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
&lt;br /&gt;
            ↓&lt;br /&gt;
&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
|  Network Managers (Daemons) |&lt;br /&gt;
|-----------------------------|&lt;br /&gt;
| NetworkManager.service&lt;br /&gt;
| systemd-networkd.service&lt;br /&gt;
| ifupdown (manual)&lt;br /&gt;
| connman.service&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
&lt;br /&gt;
            ↓&lt;br /&gt;
&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
|       Kernel/Drivers        |&lt;br /&gt;
|-----------------------------|&lt;br /&gt;
| Interface mgmt, DHCP, etc.  |&lt;br /&gt;
+-----------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=396</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=396"/>
		<updated>2025-06-20T06:23:40Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Problem solving - Howto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome on [https://koansoftware.com Koan Software] official wiki&lt;br /&gt;
&lt;br /&gt;
== KOAN Embedded Software Engineering == &lt;br /&gt;
&lt;br /&gt;
[https://koansoftware.com KOAN] is an Italian software house, specialized in embedded and real time Linux software solutions on RISC platforms of the ARM family (Raspberry, Atmel, Freescale, NXP). Founded on 1996 from diversified experiences, is a supplier of embedded software systems for industrial automation, telecommunications, automotive, mechatronics and aerospace.&lt;br /&gt;
&lt;br /&gt;
== What is this wiki? == &lt;br /&gt;
This is a collection of useful notes about Yocto Project and OpenEmbedded, GNU/Linux distributions aimed for embedded devices developed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem solving - Howto ==&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Setup NFS root filesystem]]&lt;br /&gt;
* [[Setup an external toolchain with Yocto]]&lt;br /&gt;
* [[Fixing Perl Locale Errors in a Clean Ubuntu Install]]&lt;br /&gt;
* [[Using VMware Player to run Linux training]]&lt;br /&gt;
* [[Issues running python on Linux]]&lt;br /&gt;
* [[Error Initialize GIT git init --initial-branch=main]]&lt;br /&gt;
* [[repo issue &amp;quot;def print(self, *args, **kwargs):&amp;quot;]]&lt;br /&gt;
* [[Replacement for command ldd on Linux]]&lt;br /&gt;
* [[Optimal swap size for building with Yocto Project]]&lt;br /&gt;
* [[Linux Network Managers and Configuration Files]]&lt;br /&gt;
&lt;br /&gt;
== Openembedded Core ==&lt;br /&gt;
* [[Submit patches to Openembedded]] &lt;br /&gt;
* [http://openembedded.org/wiki/Commit_Patch_Message_Guidelines Commit Patch Message Guidelines]&lt;br /&gt;
* [[OE-Core Standalone Setup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Debugging ==&lt;br /&gt;
* [[Openembedded debugging]]&lt;br /&gt;
* [[Packages information list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto Project ==&lt;br /&gt;
* [[Best hardware to build Yocto Project]] &lt;br /&gt;
* [[Yocto Project my own quick start]] &lt;br /&gt;
* [[Yocto versus Poky versus Angstrom]]&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html Yocto Project reference Manual]&lt;br /&gt;
* [http://git.yoctoproject.org/ Yocto source Repositories]&lt;br /&gt;
* [http://layers.openembedded.org OpenEmbedded layers index]&lt;br /&gt;
* [https://wiki.yoctoproject.org/wiki/Releases Yocto version releases]&lt;br /&gt;
* [http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Migrating metadata to OE-Core]&lt;br /&gt;
* [[OE/Yocto prebuilt toolchains]]&lt;br /&gt;
* [[Howto build a kernel module out of the kernel tree]]&lt;br /&gt;
* [[Howto speed up Yocto build]]&lt;br /&gt;
* [[bitbake options]]&lt;br /&gt;
* [[Directories and installation variables]]&lt;br /&gt;
* [[How to add libstdc++ to a Yocto (Poky) image]]&lt;br /&gt;
* [[How to run a script at boot automatically]]&lt;br /&gt;
* [[How to run a systemd script at boot automatically]]&lt;br /&gt;
* [[Create patches using quilt]]&lt;br /&gt;
* [[Building Software from an External Source]]&lt;br /&gt;
* [[opkg command options]]&lt;br /&gt;
* [[Managing RDEPENDS into a recipe]]&lt;br /&gt;
* [[Extract the list of packages into a Yocto image]]&lt;br /&gt;
* [[Toaster setup and usage]]&lt;br /&gt;
* [[Python assignment operators]]&lt;br /&gt;
* [[Skip connectivity checks]]&lt;br /&gt;
* [[Set default root password]]&lt;br /&gt;
* [[Yocto package management]]&lt;br /&gt;
* [[Yocto build on a cluster with IceCC]]&lt;br /&gt;
* [[Add native gcc to the target image]]&lt;br /&gt;
* [[List IPK package depencencies]]&lt;br /&gt;
* [[Yocto Project what I wish I&#039;d known]]&lt;br /&gt;
* [[Using devtool to modify recipes in Yocto]]&lt;br /&gt;
* [[How to include uEnv.txt in Yocto image]]&lt;br /&gt;
* [[Add build information into a Yocto image]]&lt;br /&gt;
* [[Add a systemd service file into a Yocto image]]&lt;br /&gt;
* [[Yocto Project licenses for LIC_FILES_CHKSUM]]&lt;br /&gt;
* [[Set Proprietary license for a recipe]]&lt;br /&gt;
* [[Yocto sstate usage summary to the build]]&lt;br /&gt;
* [[Upgrade to Yocto honister 3.4]]&lt;br /&gt;
* [[Override syntax change from Yocto honister 3.4]]&lt;br /&gt;
* [[Modify the linux kernel with configuration fragments in Yocto]]&lt;br /&gt;
* [[Add a debug banner in a Yocto recipe]]&lt;br /&gt;
* [[How to trace a variable setting with bitbake-getvar]]&lt;br /&gt;
* [[How to detect the Yocto version using bitbake]]&lt;br /&gt;
* [[Support other languages and keyboards than English in Yocto]]&lt;br /&gt;
* [[List the files shipped by your recipe]]&lt;br /&gt;
* [[How to run CVE checks using the Yocto Project]]&lt;br /&gt;
* [[How to add binary files via a custom recipe]]&lt;br /&gt;
* [[How to configure network using systemd-networkd in Yocto]]&lt;br /&gt;
* [[Yocto Project override operators]]&lt;br /&gt;
* [[How to generate an initrd image with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Many other details are available in the [https://wiki.yoctoproject.org/wiki/Technical_FAQ Yocto Project wiki]&lt;br /&gt;
&lt;br /&gt;
== Linux kernel ==&lt;br /&gt;
* [[Kernel message logging with printk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== C/C++ userspace ==&lt;br /&gt;
* [[Manage the GPIO lines in C with libgpiod]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Microsoft .NET and Mono ==&lt;br /&gt;
* [[Embedded Linux .NET applications with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
* [[Install Qt 5 on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and SBC ==&lt;br /&gt;
* [[iMX6 definitive GPIO guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [[ARM cores list]]&lt;br /&gt;
* [[systemd vs sysvinit]]&lt;br /&gt;
* [http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ How to create and submit Linux kernel patch using GIT]&lt;br /&gt;
* [[Development with VMware]]&lt;br /&gt;
* [[How to Shrink a VirtualBox Virtual Machine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
* [https://koansoftware.com/company/ Who we are]&lt;br /&gt;
&lt;br /&gt;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KoanSoftware(R) and KaeilOS(R) are registered trademarks of KOAN sas - Bergamo, ITALY &lt;br /&gt;
&lt;br /&gt;
All contents of this website are released under the [http://creativecommons.org/licenses/by-sa/3.0/deed.en_US Creative Commons Attribution-ShareAlike 3.0 Unported License]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=How_to_generate_an_initrd_image_with_Yocto&amp;diff=395</id>
		<title>How to generate an initrd image with Yocto</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=How_to_generate_an_initrd_image_with_Yocto&amp;diff=395"/>
		<updated>2025-05-05T15:20:16Z</updated>

		<summary type="html">&lt;p&gt;Koan: Created page with &amp;quot;== How to generate an initramf image with Yocto ==   To build an &amp;#039;&amp;#039;&amp;#039;initramfs&amp;#039;&amp;#039;&amp;#039;, you only need to specify the &amp;#039;&amp;#039;&amp;#039;initramfs&amp;#039;&amp;#039;&amp;#039; image name (e.g., INITRAMFS_IMAGE) and its type...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to generate an initramf image with Yocto ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To build an &#039;&#039;&#039;initramfs&#039;&#039;&#039;, you only need to specify the &#039;&#039;&#039;initramfs&#039;&#039;&#039; image name (e.g., INITRAMFS_IMAGE) and its type (e.g., INITRAMFS_FSTYPES). &lt;br /&gt;
&lt;br /&gt;
  INITRAMFS_IMAGE = &amp;quot;core-image-tiny-initramfs&amp;quot;&lt;br /&gt;
  INITRAMFS_FSTYPES = &amp;quot;cpio.gz&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Moreover, the kernel requires these features to load and uncompress the initramfs: &lt;br /&gt;
&lt;br /&gt;
  CONFIG_BLK_DEV_INITRD=y&lt;br /&gt;
  CONFIG_INITRAMFS_SOURCE=&amp;quot;&amp;quot;&lt;br /&gt;
  CONFIG_RD_GZIP=y&lt;br /&gt;
  CONFIG_DECOMPRESS_GZIP=y&lt;br /&gt;
&lt;br /&gt;
In addition if you want the initramfs to be packaged into the kernel binary instead of being a separate binary (or a different image node of a kernel fitimage) use this setting:&lt;br /&gt;
&lt;br /&gt;
  INITRAMFS_IMAGE_BUNDLE = &amp;quot;1&amp;quot;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=394</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=394"/>
		<updated>2025-05-05T15:16:31Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Yocto Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome on [https://koansoftware.com Koan Software] official wiki&lt;br /&gt;
&lt;br /&gt;
== KOAN Embedded Software Engineering == &lt;br /&gt;
&lt;br /&gt;
[https://koansoftware.com KOAN] is an Italian software house, specialized in embedded and real time Linux software solutions on RISC platforms of the ARM family (Raspberry, Atmel, Freescale, NXP). Founded on 1996 from diversified experiences, is a supplier of embedded software systems for industrial automation, telecommunications, automotive, mechatronics and aerospace.&lt;br /&gt;
&lt;br /&gt;
== What is this wiki? == &lt;br /&gt;
This is a collection of useful notes about Yocto Project and OpenEmbedded, GNU/Linux distributions aimed for embedded devices developed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem solving - Howto ==&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Setup NFS root filesystem]]&lt;br /&gt;
* [[Setup an external toolchain with Yocto]]&lt;br /&gt;
* [[Fixing Perl Locale Errors in a Clean Ubuntu Install]]&lt;br /&gt;
* [[Using VMware Player to run Linux training]]&lt;br /&gt;
* [[Issues running python on Linux]]&lt;br /&gt;
* [[Error Initialize GIT git init --initial-branch=main]]&lt;br /&gt;
* [[repo issue &amp;quot;def print(self, *args, **kwargs):&amp;quot;]]&lt;br /&gt;
* [[Replacement for command ldd on Linux]]&lt;br /&gt;
* [[Optimal swap size for building with Yocto Project]]&lt;br /&gt;
&lt;br /&gt;
== Openembedded Core ==&lt;br /&gt;
* [[Submit patches to Openembedded]] &lt;br /&gt;
* [http://openembedded.org/wiki/Commit_Patch_Message_Guidelines Commit Patch Message Guidelines]&lt;br /&gt;
* [[OE-Core Standalone Setup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Debugging ==&lt;br /&gt;
* [[Openembedded debugging]]&lt;br /&gt;
* [[Packages information list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto Project ==&lt;br /&gt;
* [[Best hardware to build Yocto Project]] &lt;br /&gt;
* [[Yocto Project my own quick start]] &lt;br /&gt;
* [[Yocto versus Poky versus Angstrom]]&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html Yocto Project reference Manual]&lt;br /&gt;
* [http://git.yoctoproject.org/ Yocto source Repositories]&lt;br /&gt;
* [http://layers.openembedded.org OpenEmbedded layers index]&lt;br /&gt;
* [https://wiki.yoctoproject.org/wiki/Releases Yocto version releases]&lt;br /&gt;
* [http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Migrating metadata to OE-Core]&lt;br /&gt;
* [[OE/Yocto prebuilt toolchains]]&lt;br /&gt;
* [[Howto build a kernel module out of the kernel tree]]&lt;br /&gt;
* [[Howto speed up Yocto build]]&lt;br /&gt;
* [[bitbake options]]&lt;br /&gt;
* [[Directories and installation variables]]&lt;br /&gt;
* [[How to add libstdc++ to a Yocto (Poky) image]]&lt;br /&gt;
* [[How to run a script at boot automatically]]&lt;br /&gt;
* [[How to run a systemd script at boot automatically]]&lt;br /&gt;
* [[Create patches using quilt]]&lt;br /&gt;
* [[Building Software from an External Source]]&lt;br /&gt;
* [[opkg command options]]&lt;br /&gt;
* [[Managing RDEPENDS into a recipe]]&lt;br /&gt;
* [[Extract the list of packages into a Yocto image]]&lt;br /&gt;
* [[Toaster setup and usage]]&lt;br /&gt;
* [[Python assignment operators]]&lt;br /&gt;
* [[Skip connectivity checks]]&lt;br /&gt;
* [[Set default root password]]&lt;br /&gt;
* [[Yocto package management]]&lt;br /&gt;
* [[Yocto build on a cluster with IceCC]]&lt;br /&gt;
* [[Add native gcc to the target image]]&lt;br /&gt;
* [[List IPK package depencencies]]&lt;br /&gt;
* [[Yocto Project what I wish I&#039;d known]]&lt;br /&gt;
* [[Using devtool to modify recipes in Yocto]]&lt;br /&gt;
* [[How to include uEnv.txt in Yocto image]]&lt;br /&gt;
* [[Add build information into a Yocto image]]&lt;br /&gt;
* [[Add a systemd service file into a Yocto image]]&lt;br /&gt;
* [[Yocto Project licenses for LIC_FILES_CHKSUM]]&lt;br /&gt;
* [[Set Proprietary license for a recipe]]&lt;br /&gt;
* [[Yocto sstate usage summary to the build]]&lt;br /&gt;
* [[Upgrade to Yocto honister 3.4]]&lt;br /&gt;
* [[Override syntax change from Yocto honister 3.4]]&lt;br /&gt;
* [[Modify the linux kernel with configuration fragments in Yocto]]&lt;br /&gt;
* [[Add a debug banner in a Yocto recipe]]&lt;br /&gt;
* [[How to trace a variable setting with bitbake-getvar]]&lt;br /&gt;
* [[How to detect the Yocto version using bitbake]]&lt;br /&gt;
* [[Support other languages and keyboards than English in Yocto]]&lt;br /&gt;
* [[List the files shipped by your recipe]]&lt;br /&gt;
* [[How to run CVE checks using the Yocto Project]]&lt;br /&gt;
* [[How to add binary files via a custom recipe]]&lt;br /&gt;
* [[How to configure network using systemd-networkd in Yocto]]&lt;br /&gt;
* [[Yocto Project override operators]]&lt;br /&gt;
* [[How to generate an initrd image with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Many other details are available in the [https://wiki.yoctoproject.org/wiki/Technical_FAQ Yocto Project wiki]&lt;br /&gt;
&lt;br /&gt;
== Linux kernel ==&lt;br /&gt;
* [[Kernel message logging with printk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== C/C++ userspace ==&lt;br /&gt;
* [[Manage the GPIO lines in C with libgpiod]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Microsoft .NET and Mono ==&lt;br /&gt;
* [[Embedded Linux .NET applications with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
* [[Install Qt 5 on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and SBC ==&lt;br /&gt;
* [[iMX6 definitive GPIO guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [[ARM cores list]]&lt;br /&gt;
* [[systemd vs sysvinit]]&lt;br /&gt;
* [http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ How to create and submit Linux kernel patch using GIT]&lt;br /&gt;
* [[Development with VMware]]&lt;br /&gt;
* [[How to Shrink a VirtualBox Virtual Machine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
* [https://koansoftware.com/company/ Who we are]&lt;br /&gt;
&lt;br /&gt;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KoanSoftware(R) and KaeilOS(R) are registered trademarks of KOAN sas - Bergamo, ITALY &lt;br /&gt;
&lt;br /&gt;
All contents of this website are released under the [http://creativecommons.org/licenses/by-sa/3.0/deed.en_US Creative Commons Attribution-ShareAlike 3.0 Unported License]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Yocto_Project_override_operators&amp;diff=393</id>
		<title>Yocto Project override operators</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Yocto_Project_override_operators&amp;diff=393"/>
		<updated>2025-03-28T16:23:26Z</updated>

		<summary type="html">&lt;p&gt;Koan: Created page with &amp;quot;== Yocto Project override operators ==   Override operators in Yocto Project   VARIABLENAME:prepend = &amp;quot; value&amp;quot;  VARIABLENAME:append = &amp;quot; value&amp;quot;  VARIABLENAME:remove = &amp;quot; value&amp;quot;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Yocto Project override operators ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Override operators in Yocto Project&lt;br /&gt;
&lt;br /&gt;
 VARIABLENAME:prepend = &amp;quot; value&amp;quot;&lt;br /&gt;
 VARIABLENAME:append = &amp;quot; value&amp;quot;&lt;br /&gt;
 VARIABLENAME:remove = &amp;quot; value&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Although not recommended, worst case, you can also use the “forcevariable” override, which is the strongest override possible. Here is an example:&lt;br /&gt;
&lt;br /&gt;
 VARIABLENAME:forcevariable  = &amp;quot; value&amp;quot;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=392</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=392"/>
		<updated>2025-03-28T16:19:45Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Yocto Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome on [https://koansoftware.com Koan Software] official wiki&lt;br /&gt;
&lt;br /&gt;
== KOAN Embedded Software Engineering == &lt;br /&gt;
&lt;br /&gt;
[https://koansoftware.com KOAN] is an Italian software house, specialized in embedded and real time Linux software solutions on RISC platforms of the ARM family (Raspberry, Atmel, Freescale, NXP). Founded on 1996 from diversified experiences, is a supplier of embedded software systems for industrial automation, telecommunications, automotive, mechatronics and aerospace.&lt;br /&gt;
&lt;br /&gt;
== What is this wiki? == &lt;br /&gt;
This is a collection of useful notes about Yocto Project and OpenEmbedded, GNU/Linux distributions aimed for embedded devices developed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem solving - Howto ==&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Setup NFS root filesystem]]&lt;br /&gt;
* [[Setup an external toolchain with Yocto]]&lt;br /&gt;
* [[Fixing Perl Locale Errors in a Clean Ubuntu Install]]&lt;br /&gt;
* [[Using VMware Player to run Linux training]]&lt;br /&gt;
* [[Issues running python on Linux]]&lt;br /&gt;
* [[Error Initialize GIT git init --initial-branch=main]]&lt;br /&gt;
* [[repo issue &amp;quot;def print(self, *args, **kwargs):&amp;quot;]]&lt;br /&gt;
* [[Replacement for command ldd on Linux]]&lt;br /&gt;
* [[Optimal swap size for building with Yocto Project]]&lt;br /&gt;
&lt;br /&gt;
== Openembedded Core ==&lt;br /&gt;
* [[Submit patches to Openembedded]] &lt;br /&gt;
* [http://openembedded.org/wiki/Commit_Patch_Message_Guidelines Commit Patch Message Guidelines]&lt;br /&gt;
* [[OE-Core Standalone Setup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Debugging ==&lt;br /&gt;
* [[Openembedded debugging]]&lt;br /&gt;
* [[Packages information list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto Project ==&lt;br /&gt;
* [[Best hardware to build Yocto Project]] &lt;br /&gt;
* [[Yocto Project my own quick start]] &lt;br /&gt;
* [[Yocto versus Poky versus Angstrom]]&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html Yocto Project reference Manual]&lt;br /&gt;
* [http://git.yoctoproject.org/ Yocto source Repositories]&lt;br /&gt;
* [http://layers.openembedded.org OpenEmbedded layers index]&lt;br /&gt;
* [https://wiki.yoctoproject.org/wiki/Releases Yocto version releases]&lt;br /&gt;
* [http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Migrating metadata to OE-Core]&lt;br /&gt;
* [[OE/Yocto prebuilt toolchains]]&lt;br /&gt;
* [[Howto build a kernel module out of the kernel tree]]&lt;br /&gt;
* [[Howto speed up Yocto build]]&lt;br /&gt;
* [[bitbake options]]&lt;br /&gt;
* [[Directories and installation variables]]&lt;br /&gt;
* [[How to add libstdc++ to a Yocto (Poky) image]]&lt;br /&gt;
* [[How to run a script at boot automatically]]&lt;br /&gt;
* [[How to run a systemd script at boot automatically]]&lt;br /&gt;
* [[Create patches using quilt]]&lt;br /&gt;
* [[Building Software from an External Source]]&lt;br /&gt;
* [[opkg command options]]&lt;br /&gt;
* [[Managing RDEPENDS into a recipe]]&lt;br /&gt;
* [[Extract the list of packages into a Yocto image]]&lt;br /&gt;
* [[Toaster setup and usage]]&lt;br /&gt;
* [[Python assignment operators]]&lt;br /&gt;
* [[Skip connectivity checks]]&lt;br /&gt;
* [[Set default root password]]&lt;br /&gt;
* [[Yocto package management]]&lt;br /&gt;
* [[Yocto build on a cluster with IceCC]]&lt;br /&gt;
* [[Add native gcc to the target image]]&lt;br /&gt;
* [[List IPK package depencencies]]&lt;br /&gt;
* [[Yocto Project what I wish I&#039;d known]]&lt;br /&gt;
* [[Using devtool to modify recipes in Yocto]]&lt;br /&gt;
* [[How to include uEnv.txt in Yocto image]]&lt;br /&gt;
* [[Add build information into a Yocto image]]&lt;br /&gt;
* [[Add a systemd service file into a Yocto image]]&lt;br /&gt;
* [[Yocto Project licenses for LIC_FILES_CHKSUM]]&lt;br /&gt;
* [[Set Proprietary license for a recipe]]&lt;br /&gt;
* [[Yocto sstate usage summary to the build]]&lt;br /&gt;
* [[Upgrade to Yocto honister 3.4]]&lt;br /&gt;
* [[Override syntax change from Yocto honister 3.4]]&lt;br /&gt;
* [[Modify the linux kernel with configuration fragments in Yocto]]&lt;br /&gt;
* [[Add a debug banner in a Yocto recipe]]&lt;br /&gt;
* [[How to trace a variable setting with bitbake-getvar]]&lt;br /&gt;
* [[How to detect the Yocto version using bitbake]]&lt;br /&gt;
* [[Support other languages and keyboards than English in Yocto]]&lt;br /&gt;
* [[List the files shipped by your recipe]]&lt;br /&gt;
* [[How to run CVE checks using the Yocto Project]]&lt;br /&gt;
* [[How to add binary files via a custom recipe]]&lt;br /&gt;
* [[How to configure network using systemd-networkd in Yocto]]&lt;br /&gt;
* [[Yocto Project override operators]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Many other details are available in the [https://wiki.yoctoproject.org/wiki/Technical_FAQ Yocto Project wiki]&lt;br /&gt;
&lt;br /&gt;
== Linux kernel ==&lt;br /&gt;
* [[Kernel message logging with printk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== C/C++ userspace ==&lt;br /&gt;
* [[Manage the GPIO lines in C with libgpiod]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Microsoft .NET and Mono ==&lt;br /&gt;
* [[Embedded Linux .NET applications with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
* [[Install Qt 5 on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and SBC ==&lt;br /&gt;
* [[iMX6 definitive GPIO guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [[ARM cores list]]&lt;br /&gt;
* [[systemd vs sysvinit]]&lt;br /&gt;
* [http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ How to create and submit Linux kernel patch using GIT]&lt;br /&gt;
* [[Development with VMware]]&lt;br /&gt;
* [[How to Shrink a VirtualBox Virtual Machine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
* [https://koansoftware.com/company/ Who we are]&lt;br /&gt;
&lt;br /&gt;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KoanSoftware(R) and KaeilOS(R) are registered trademarks of KOAN sas - Bergamo, ITALY &lt;br /&gt;
&lt;br /&gt;
All contents of this website are released under the [http://creativecommons.org/licenses/by-sa/3.0/deed.en_US Creative Commons Attribution-ShareAlike 3.0 Unported License]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Optimal_swap_size_for_building_with_Yocto_Project&amp;diff=391</id>
		<title>Optimal swap size for building with Yocto Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Optimal_swap_size_for_building_with_Yocto_Project&amp;diff=391"/>
		<updated>2025-03-25T17:26:08Z</updated>

		<summary type="html">&lt;p&gt;Koan: Created page with &amp;quot;== Optimal swap size for building with Yocto Project ==  BitBake, the build engine used in the Yocto Project, is notorious for its appetite for system memory, especially when...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Optimal swap size for building with Yocto Project ==&lt;br /&gt;
&lt;br /&gt;
BitBake, the build engine used in the Yocto Project, is notorious for its appetite for system memory, especially when compiling large and complex software images. When your computer&#039;s RAM gets filled to capacity during a BitBake process, it can lead to frustrating build failures, system crashes, or agonizingly slow build times. This is where swap space comes in.&lt;br /&gt;
&lt;br /&gt;
Think of swap space as a reserve of extra memory on your hard drive. When your system&#039;s RAM is fully occupied, the operating system cleverly moves less frequently used data from RAM to this swap space. This frees up crucial RAM for BitBake to continue its work, preventing those dreaded out-of-memory errors that halt progress.&lt;br /&gt;
&lt;br /&gt;
While using swap space introduces a performance penalty, as hard drives are significantly slower than RAM, it provides a crucial safety net. It allows builds that would otherwise crash to complete successfully. Essentially, it trades a bit of speed for increased stability and reliability. This improvement is a practical way to address memory limitations and ensure that BitBake can handle even the most demanding build tasks, ultimately making the development process smoother and more predictable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is swap and why resize it ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended swap sizes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* System RAM : 8GB to 64GB &lt;br /&gt;
* Swap size  : At least 4GB&lt;br /&gt;
* Swap suggested : 1.5x RAM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prerequisites&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Before modifying your swap configuration, ensure you have:&lt;br /&gt;
&lt;br /&gt;
* Root or sudo privileges: All commands in this guide require elevated permissions&lt;br /&gt;
* Sufficient free disk space: Verify available space with df -h&lt;br /&gt;
* Backup of critical data: System-level changes always carry some risk&lt;br /&gt;
* Understanding of current swap usage: Check with these commands:&lt;br /&gt;
&lt;br /&gt;
    # Show current swap files/partitions and their sizes&lt;br /&gt;
    sudo swapon --show&lt;br /&gt;
    &lt;br /&gt;
    # View memory and swap usage&lt;br /&gt;
    free -h&lt;br /&gt;
    &lt;br /&gt;
    # Check if swap is being actively used&lt;br /&gt;
    vmstat 1 5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step-by-Step process to resize swap ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Turn off all running swap processes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    sudo swapoff -a&lt;br /&gt;
&lt;br /&gt;
This command disables all swap spaces defined in /etc/fstab and currently active. It may take some time to complete as the system moves data from swap back to RAM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Resize the swap file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For this example, we&#039;ll create a 16GB swap file (adjust the size to your needs):&lt;br /&gt;
&lt;br /&gt;
    # Remove the old swap file if it exists&lt;br /&gt;
    sudo rm /swapfile&lt;br /&gt;
    &lt;br /&gt;
    # Create a new swap file with desired size (4G in this example)&lt;br /&gt;
    sudo fallocate -l 16GB /swapfile&lt;br /&gt;
    &lt;br /&gt;
    ### Alternative method if fallocate fails:&lt;br /&gt;
    ### sudo dd if=/dev/zero of=/swapfile bs=1G count=16&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Set proper permissions and ownership&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Swap files should be readable and writable only by root for security:&lt;br /&gt;
&lt;br /&gt;
    # Set correct permissions (only root can read/write)&lt;br /&gt;
    sudo chmod 600 /swapfile&lt;br /&gt;
    &lt;br /&gt;
    # Verify permissions&lt;br /&gt;
    ls -lh /swapfile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Set up the swap area&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    # Format the file as swap&lt;br /&gt;
    sudo mkswap /swapfile&lt;br /&gt;
&lt;br /&gt;
You should see output confirming the swap file creation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Activate the swap file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    # Enable the swap file&lt;br /&gt;
    sudo swapon /swapfile&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Verify the swap is active&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    sudo swapon --show&lt;br /&gt;
    free -h&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=390</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=390"/>
		<updated>2025-03-25T17:16:38Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Problem solving - Howto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome on [https://koansoftware.com Koan Software] official wiki&lt;br /&gt;
&lt;br /&gt;
== KOAN Embedded Software Engineering == &lt;br /&gt;
&lt;br /&gt;
[https://koansoftware.com KOAN] is an Italian software house, specialized in embedded and real time Linux software solutions on RISC platforms of the ARM family (Raspberry, Atmel, Freescale, NXP). Founded on 1996 from diversified experiences, is a supplier of embedded software systems for industrial automation, telecommunications, automotive, mechatronics and aerospace.&lt;br /&gt;
&lt;br /&gt;
== What is this wiki? == &lt;br /&gt;
This is a collection of useful notes about Yocto Project and OpenEmbedded, GNU/Linux distributions aimed for embedded devices developed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem solving - Howto ==&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Setup NFS root filesystem]]&lt;br /&gt;
* [[Setup an external toolchain with Yocto]]&lt;br /&gt;
* [[Fixing Perl Locale Errors in a Clean Ubuntu Install]]&lt;br /&gt;
* [[Using VMware Player to run Linux training]]&lt;br /&gt;
* [[Issues running python on Linux]]&lt;br /&gt;
* [[Error Initialize GIT git init --initial-branch=main]]&lt;br /&gt;
* [[repo issue &amp;quot;def print(self, *args, **kwargs):&amp;quot;]]&lt;br /&gt;
* [[Replacement for command ldd on Linux]]&lt;br /&gt;
* [[Optimal swap size for building with Yocto Project]]&lt;br /&gt;
&lt;br /&gt;
== Openembedded Core ==&lt;br /&gt;
* [[Submit patches to Openembedded]] &lt;br /&gt;
* [http://openembedded.org/wiki/Commit_Patch_Message_Guidelines Commit Patch Message Guidelines]&lt;br /&gt;
* [[OE-Core Standalone Setup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Debugging ==&lt;br /&gt;
* [[Openembedded debugging]]&lt;br /&gt;
* [[Packages information list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto Project ==&lt;br /&gt;
* [[Best hardware to build Yocto Project]] &lt;br /&gt;
* [[Yocto Project my own quick start]] &lt;br /&gt;
* [[Yocto versus Poky versus Angstrom]]&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html Yocto Project reference Manual]&lt;br /&gt;
* [http://git.yoctoproject.org/ Yocto source Repositories]&lt;br /&gt;
* [http://layers.openembedded.org OpenEmbedded layers index]&lt;br /&gt;
* [https://wiki.yoctoproject.org/wiki/Releases Yocto version releases]&lt;br /&gt;
* [http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Migrating metadata to OE-Core]&lt;br /&gt;
* [[OE/Yocto prebuilt toolchains]]&lt;br /&gt;
* [[Howto build a kernel module out of the kernel tree]]&lt;br /&gt;
* [[Howto speed up Yocto build]]&lt;br /&gt;
* [[bitbake options]]&lt;br /&gt;
* [[Directories and installation variables]]&lt;br /&gt;
* [[How to add libstdc++ to a Yocto (Poky) image]]&lt;br /&gt;
* [[How to run a script at boot automatically]]&lt;br /&gt;
* [[How to run a systemd script at boot automatically]]&lt;br /&gt;
* [[Create patches using quilt]]&lt;br /&gt;
* [[Building Software from an External Source]]&lt;br /&gt;
* [[opkg command options]]&lt;br /&gt;
* [[Managing RDEPENDS into a recipe]]&lt;br /&gt;
* [[Extract the list of packages into a Yocto image]]&lt;br /&gt;
* [[Toaster setup and usage]]&lt;br /&gt;
* [[Python assignment operators]]&lt;br /&gt;
* [[Skip connectivity checks]]&lt;br /&gt;
* [[Set default root password]]&lt;br /&gt;
* [[Yocto package management]]&lt;br /&gt;
* [[Yocto build on a cluster with IceCC]]&lt;br /&gt;
* [[Add native gcc to the target image]]&lt;br /&gt;
* [[List IPK package depencencies]]&lt;br /&gt;
* [[Yocto Project what I wish I&#039;d known]]&lt;br /&gt;
* [[Using devtool to modify recipes in Yocto]]&lt;br /&gt;
* [[How to include uEnv.txt in Yocto image]]&lt;br /&gt;
* [[Add build information into a Yocto image]]&lt;br /&gt;
* [[Add a systemd service file into a Yocto image]]&lt;br /&gt;
* [[Yocto Project licenses for LIC_FILES_CHKSUM]]&lt;br /&gt;
* [[Set Proprietary license for a recipe]]&lt;br /&gt;
* [[Yocto sstate usage summary to the build]]&lt;br /&gt;
* [[Upgrade to Yocto honister 3.4]]&lt;br /&gt;
* [[Override syntax change from Yocto honister 3.4]]&lt;br /&gt;
* [[Modify the linux kernel with configuration fragments in Yocto]]&lt;br /&gt;
* [[Add a debug banner in a Yocto recipe]]&lt;br /&gt;
* [[How to trace a variable setting with bitbake-getvar]]&lt;br /&gt;
* [[How to detect the Yocto version using bitbake]]&lt;br /&gt;
* [[Support other languages and keyboards than English in Yocto]]&lt;br /&gt;
* [[List the files shipped by your recipe]]&lt;br /&gt;
* [[How to run CVE checks using the Yocto Project]]&lt;br /&gt;
* [[How to add binary files via a custom recipe]]&lt;br /&gt;
* [[How to configure network using systemd-networkd in Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Many other details are available in the [https://wiki.yoctoproject.org/wiki/Technical_FAQ Yocto Project wiki]&lt;br /&gt;
&lt;br /&gt;
== Linux kernel ==&lt;br /&gt;
* [[Kernel message logging with printk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== C/C++ userspace ==&lt;br /&gt;
* [[Manage the GPIO lines in C with libgpiod]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Microsoft .NET and Mono ==&lt;br /&gt;
* [[Embedded Linux .NET applications with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
* [[Install Qt 5 on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and SBC ==&lt;br /&gt;
* [[iMX6 definitive GPIO guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [[ARM cores list]]&lt;br /&gt;
* [[systemd vs sysvinit]]&lt;br /&gt;
* [http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ How to create and submit Linux kernel patch using GIT]&lt;br /&gt;
* [[Development with VMware]]&lt;br /&gt;
* [[How to Shrink a VirtualBox Virtual Machine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
* [https://koansoftware.com/company/ Who we are]&lt;br /&gt;
&lt;br /&gt;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KoanSoftware(R) and KaeilOS(R) are registered trademarks of KOAN sas - Bergamo, ITALY &lt;br /&gt;
&lt;br /&gt;
All contents of this website are released under the [http://creativecommons.org/licenses/by-sa/3.0/deed.en_US Creative Commons Attribution-ShareAlike 3.0 Unported License]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=How_to_configure_network_using_systemd-networkd_in_Yocto&amp;diff=389</id>
		<title>How to configure network using systemd-networkd in Yocto</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=How_to_configure_network_using_systemd-networkd_in_Yocto&amp;diff=389"/>
		<updated>2025-03-16T15:53:13Z</updated>

		<summary type="html">&lt;p&gt;Koan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to configure network using systemd-networkd in Yocto ==&lt;br /&gt;
&lt;br /&gt;
When using &#039;&#039;&#039;Yocto Project&#039;&#039;&#039; it sometimes may be necessary to setup a &#039;&#039;&#039;static IP address&#039;&#039;&#039; via a custom recipe.&lt;br /&gt;
&lt;br /&gt;
When the network manager is &#039;&#039;&#039;systemd-networkd&#039;&#039;&#039; the file usually responsible for that is &#039;&#039;&#039;/lib/systemd/network/80-wired.network&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Simply change it from the original&lt;br /&gt;
&lt;br /&gt;
    # cat /lib/systemd/network/80-wired.network&lt;br /&gt;
    &lt;br /&gt;
    [Match]&lt;br /&gt;
    Type=ether&lt;br /&gt;
    Name=!veth*&lt;br /&gt;
    KernelCommandLine=!nfsroot&lt;br /&gt;
    KernelCommandLine=!ip&lt;br /&gt;
    &lt;br /&gt;
    [Network]&lt;br /&gt;
    DHCP=yes&lt;br /&gt;
    &lt;br /&gt;
    [DHCP]&lt;br /&gt;
    UseMTU=yes&lt;br /&gt;
    RouteMetric=10&lt;br /&gt;
    ClientIdentifier=mac&lt;br /&gt;
&lt;br /&gt;
To the following&lt;br /&gt;
&lt;br /&gt;
    # cat /lib/systemd/network/80-wired.network&lt;br /&gt;
    &lt;br /&gt;
    [Match]&lt;br /&gt;
    Type=ether&lt;br /&gt;
    Name=eth0&lt;br /&gt;
    KernelCommandLine=!nfsroot&lt;br /&gt;
    KernelCommandLine=!ip&lt;br /&gt;
    &lt;br /&gt;
    [Network]&lt;br /&gt;
    Address=192.168.0.184/24&lt;br /&gt;
    Gateway=192.168.0.1&lt;br /&gt;
    DNS=1.1.1.1&lt;br /&gt;
    &lt;br /&gt;
    [DHCP]&lt;br /&gt;
    UseMTU=yes&lt;br /&gt;
    RouteMetric=10&lt;br /&gt;
    ClientIdentifier=mac&lt;br /&gt;
&lt;br /&gt;
Below is an example of a possible solution&lt;br /&gt;
&lt;br /&gt;
Create a &#039;&#039;&#039;.bbappend&#039;&#039;&#039; recipe to manage that and replace the existing &#039;&#039;&#039;wired.network&#039;&#039;&#039; file with your custom one&lt;br /&gt;
&lt;br /&gt;
  meta-custom/&lt;br /&gt;
   └─ recipes-core/&lt;br /&gt;
      └── systemd-conf&lt;br /&gt;
          ├── systemd-conf&lt;br /&gt;
          │   └── wired.network&lt;br /&gt;
          └── systemd-conf_%.bbappend&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The recipe systemd-conf_%.bbappend&lt;br /&gt;
&lt;br /&gt;
    # recipes-core/systemd-conf/systemd-conf_%.bbappend &lt;br /&gt;
    &lt;br /&gt;
    FILESEXTRAPATHS:prepend := &amp;quot;${THISDIR}/${PN}:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The network file&lt;br /&gt;
&lt;br /&gt;
     # wired.network &lt;br /&gt;
    &lt;br /&gt;
    [Match]&lt;br /&gt;
    Type=ether&lt;br /&gt;
    Name=eth0&lt;br /&gt;
    KernelCommandLine=!nfsroot&lt;br /&gt;
    KernelCommandLine=!ip&lt;br /&gt;
    &lt;br /&gt;
    [Network]&lt;br /&gt;
    Address=192.168.0.184/24&lt;br /&gt;
    Gateway=192.168.0.1&lt;br /&gt;
    DNS=1.1.1.1&lt;br /&gt;
        &lt;br /&gt;
    [DHCP]&lt;br /&gt;
    UseMTU=yes&lt;br /&gt;
    RouteMetric=10&lt;br /&gt;
    ClientIdentifier=mac&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=How_to_configure_network_using_systemd-networkd_in_Yocto&amp;diff=388</id>
		<title>How to configure network using systemd-networkd in Yocto</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=How_to_configure_network_using_systemd-networkd_in_Yocto&amp;diff=388"/>
		<updated>2025-03-15T14:00:05Z</updated>

		<summary type="html">&lt;p&gt;Koan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to configure network using systemd-networkd in Yocto ==&lt;br /&gt;
&lt;br /&gt;
When using &#039;&#039;&#039;Yocto Project&#039;&#039;&#039; it sometimes may be necessary to setup a &#039;&#039;&#039;static IP address&#039;&#039;&#039; via a custom recipe.&lt;br /&gt;
&lt;br /&gt;
When the network manager is &#039;&#039;&#039;systemd-networkd&#039;&#039;&#039; the file usually responsible for that is &#039;&#039;&#039;/lib/systemd/network/80-wired.network&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Simply change it from the original&lt;br /&gt;
&lt;br /&gt;
    # cat /lib/systemd/network/80-wired.network&lt;br /&gt;
    &lt;br /&gt;
    [Match]&lt;br /&gt;
    Type=ether&lt;br /&gt;
    Name=!veth*&lt;br /&gt;
    KernelCommandLine=!nfsroot&lt;br /&gt;
    KernelCommandLine=!ip&lt;br /&gt;
    &lt;br /&gt;
    [Network]&lt;br /&gt;
    DHCP=yes&lt;br /&gt;
    &lt;br /&gt;
    [DHCP]&lt;br /&gt;
    UseMTU=yes&lt;br /&gt;
    RouteMetric=10&lt;br /&gt;
    ClientIdentifier=mac&lt;br /&gt;
&lt;br /&gt;
To the following&lt;br /&gt;
&lt;br /&gt;
    # cat /lib/systemd/network/80-wired.network&lt;br /&gt;
    &lt;br /&gt;
    [Match]&lt;br /&gt;
    Type=ether&lt;br /&gt;
    Name=!veth*&lt;br /&gt;
    KernelCommandLine=!nfsroot&lt;br /&gt;
    KernelCommandLine=!ip&lt;br /&gt;
    &lt;br /&gt;
    [Network]&lt;br /&gt;
    Address=192.168.0.184/24&lt;br /&gt;
    Gateway=192.168.0.1&lt;br /&gt;
    DNS=1.1.1.1&lt;br /&gt;
    &lt;br /&gt;
    [DHCP]&lt;br /&gt;
    UseMTU=yes&lt;br /&gt;
    RouteMetric=10&lt;br /&gt;
    ClientIdentifier=mac&lt;br /&gt;
&lt;br /&gt;
Below is an example of a possible solution&lt;br /&gt;
&lt;br /&gt;
Create a &#039;&#039;&#039;.bbappend&#039;&#039;&#039; recipe to manage that and replace the existing &#039;&#039;&#039;wired.network&#039;&#039;&#039; file with your custom one&lt;br /&gt;
&lt;br /&gt;
  meta-custom/&lt;br /&gt;
   └─ recipes-core/&lt;br /&gt;
      └── systemd-conf&lt;br /&gt;
          ├── systemd-conf&lt;br /&gt;
          │   └── wired.network&lt;br /&gt;
          └── systemd-conf_%.bbappend&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The recipe systemd-conf_%.bbappend&lt;br /&gt;
&lt;br /&gt;
    # recipes-core/systemd-conf/systemd-conf_%.bbappend &lt;br /&gt;
    &lt;br /&gt;
    FILESEXTRAPATHS:prepend := &amp;quot;${THISDIR}/${PN}:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The network file&lt;br /&gt;
&lt;br /&gt;
     # wired.network &lt;br /&gt;
    &lt;br /&gt;
    [Match]&lt;br /&gt;
    Type=ether&lt;br /&gt;
    Name=!veth*&lt;br /&gt;
    KernelCommandLine=!nfsroot&lt;br /&gt;
    KernelCommandLine=!ip&lt;br /&gt;
    &lt;br /&gt;
    [Network]&lt;br /&gt;
    Address=192.168.0.184/24&lt;br /&gt;
    Gateway=192.168.0.1&lt;br /&gt;
    DNS=1.1.1.1&lt;br /&gt;
        &lt;br /&gt;
    [DHCP]&lt;br /&gt;
    UseMTU=yes&lt;br /&gt;
    RouteMetric=10&lt;br /&gt;
    ClientIdentifier=mac&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=How_to_configure_network_using_systemd-networkd_in_Yocto&amp;diff=387</id>
		<title>How to configure network using systemd-networkd in Yocto</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=How_to_configure_network_using_systemd-networkd_in_Yocto&amp;diff=387"/>
		<updated>2025-03-15T13:49:40Z</updated>

		<summary type="html">&lt;p&gt;Koan: Created page with &amp;quot;== How to configure network using systemd-networkd in Yocto ==  When using &amp;#039;&amp;#039;&amp;#039;Yocto Project&amp;#039;&amp;#039;&amp;#039; it sometimes may be necessary to setup a &amp;#039;&amp;#039;&amp;#039;static IP address&amp;#039;&amp;#039;&amp;#039; via a custom re...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to configure network using systemd-networkd in Yocto ==&lt;br /&gt;
&lt;br /&gt;
When using &#039;&#039;&#039;Yocto Project&#039;&#039;&#039; it sometimes may be necessary to setup a &#039;&#039;&#039;static IP address&#039;&#039;&#039; via a custom recipe.&lt;br /&gt;
&lt;br /&gt;
When the network manager is &#039;&#039;&#039;systemd-networkd&#039;&#039;&#039; the file usually responsible for that is &#039;&#039;&#039;/lib/systemd/network/80-wired.network&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Simply change it from the original&lt;br /&gt;
&lt;br /&gt;
    # cat /lib/systemd/network/80-wired.network&lt;br /&gt;
    &lt;br /&gt;
    [Match]&lt;br /&gt;
    Type=ether&lt;br /&gt;
    Name=!veth*&lt;br /&gt;
    KernelCommandLine=!nfsroot&lt;br /&gt;
    KernelCommandLine=!ip&lt;br /&gt;
    &lt;br /&gt;
    [Network]&lt;br /&gt;
    DHCP=yes&lt;br /&gt;
    &lt;br /&gt;
    [DHCP]&lt;br /&gt;
    UseMTU=yes&lt;br /&gt;
    RouteMetric=10&lt;br /&gt;
    ClientIdentifier=mac&lt;br /&gt;
&lt;br /&gt;
To the following&lt;br /&gt;
&lt;br /&gt;
    # cat /lib/systemd/network/80-wired.network&lt;br /&gt;
    &lt;br /&gt;
    [Match]&lt;br /&gt;
    Type=ether&lt;br /&gt;
    Name=!veth*&lt;br /&gt;
    KernelCommandLine=!nfsroot&lt;br /&gt;
    KernelCommandLine=!ip&lt;br /&gt;
    &lt;br /&gt;
    [Network]&lt;br /&gt;
    Address=192.168.0.184/24&lt;br /&gt;
    Gateway=192.168.0.1&lt;br /&gt;
    DNS=1.1.1.1&lt;br /&gt;
    &lt;br /&gt;
    [DHCP]&lt;br /&gt;
    UseMTU=yes&lt;br /&gt;
    RouteMetric=10&lt;br /&gt;
    ClientIdentifier=mac&lt;br /&gt;
&lt;br /&gt;
Below is an example of a recipe to manage that&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=386</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=386"/>
		<updated>2025-03-15T13:45:55Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Yocto Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome on [https://koansoftware.com Koan Software] official wiki&lt;br /&gt;
&lt;br /&gt;
== KOAN Embedded Software Engineering == &lt;br /&gt;
&lt;br /&gt;
[https://koansoftware.com KOAN] is an Italian software house, specialized in embedded and real time Linux software solutions on RISC platforms of the ARM family (Raspberry, Atmel, Freescale, NXP). Founded on 1996 from diversified experiences, is a supplier of embedded software systems for industrial automation, telecommunications, automotive, mechatronics and aerospace.&lt;br /&gt;
&lt;br /&gt;
== What is this wiki? == &lt;br /&gt;
This is a collection of useful notes about Yocto Project and OpenEmbedded, GNU/Linux distributions aimed for embedded devices developed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem solving - Howto ==&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Setup NFS root filesystem]]&lt;br /&gt;
* [[Setup an external toolchain with Yocto]]&lt;br /&gt;
* [[Fixing Perl Locale Errors in a Clean Ubuntu Install]]&lt;br /&gt;
* [[Using VMware Player to run Linux training]]&lt;br /&gt;
* [[Issues running python on Linux]]&lt;br /&gt;
* [[Error Initialize GIT git init --initial-branch=main]]&lt;br /&gt;
* [[repo issue &amp;quot;def print(self, *args, **kwargs):&amp;quot;]]&lt;br /&gt;
* [[Replacement for command ldd on Linux]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Core ==&lt;br /&gt;
* [[Submit patches to Openembedded]] &lt;br /&gt;
* [http://openembedded.org/wiki/Commit_Patch_Message_Guidelines Commit Patch Message Guidelines]&lt;br /&gt;
* [[OE-Core Standalone Setup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Debugging ==&lt;br /&gt;
* [[Openembedded debugging]]&lt;br /&gt;
* [[Packages information list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto Project ==&lt;br /&gt;
* [[Best hardware to build Yocto Project]] &lt;br /&gt;
* [[Yocto Project my own quick start]] &lt;br /&gt;
* [[Yocto versus Poky versus Angstrom]]&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html Yocto Project reference Manual]&lt;br /&gt;
* [http://git.yoctoproject.org/ Yocto source Repositories]&lt;br /&gt;
* [http://layers.openembedded.org OpenEmbedded layers index]&lt;br /&gt;
* [https://wiki.yoctoproject.org/wiki/Releases Yocto version releases]&lt;br /&gt;
* [http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Migrating metadata to OE-Core]&lt;br /&gt;
* [[OE/Yocto prebuilt toolchains]]&lt;br /&gt;
* [[Howto build a kernel module out of the kernel tree]]&lt;br /&gt;
* [[Howto speed up Yocto build]]&lt;br /&gt;
* [[bitbake options]]&lt;br /&gt;
* [[Directories and installation variables]]&lt;br /&gt;
* [[How to add libstdc++ to a Yocto (Poky) image]]&lt;br /&gt;
* [[How to run a script at boot automatically]]&lt;br /&gt;
* [[How to run a systemd script at boot automatically]]&lt;br /&gt;
* [[Create patches using quilt]]&lt;br /&gt;
* [[Building Software from an External Source]]&lt;br /&gt;
* [[opkg command options]]&lt;br /&gt;
* [[Managing RDEPENDS into a recipe]]&lt;br /&gt;
* [[Extract the list of packages into a Yocto image]]&lt;br /&gt;
* [[Toaster setup and usage]]&lt;br /&gt;
* [[Python assignment operators]]&lt;br /&gt;
* [[Skip connectivity checks]]&lt;br /&gt;
* [[Set default root password]]&lt;br /&gt;
* [[Yocto package management]]&lt;br /&gt;
* [[Yocto build on a cluster with IceCC]]&lt;br /&gt;
* [[Add native gcc to the target image]]&lt;br /&gt;
* [[List IPK package depencencies]]&lt;br /&gt;
* [[Yocto Project what I wish I&#039;d known]]&lt;br /&gt;
* [[Using devtool to modify recipes in Yocto]]&lt;br /&gt;
* [[How to include uEnv.txt in Yocto image]]&lt;br /&gt;
* [[Add build information into a Yocto image]]&lt;br /&gt;
* [[Add a systemd service file into a Yocto image]]&lt;br /&gt;
* [[Yocto Project licenses for LIC_FILES_CHKSUM]]&lt;br /&gt;
* [[Set Proprietary license for a recipe]]&lt;br /&gt;
* [[Yocto sstate usage summary to the build]]&lt;br /&gt;
* [[Upgrade to Yocto honister 3.4]]&lt;br /&gt;
* [[Override syntax change from Yocto honister 3.4]]&lt;br /&gt;
* [[Modify the linux kernel with configuration fragments in Yocto]]&lt;br /&gt;
* [[Add a debug banner in a Yocto recipe]]&lt;br /&gt;
* [[How to trace a variable setting with bitbake-getvar]]&lt;br /&gt;
* [[How to detect the Yocto version using bitbake]]&lt;br /&gt;
* [[Support other languages and keyboards than English in Yocto]]&lt;br /&gt;
* [[List the files shipped by your recipe]]&lt;br /&gt;
* [[How to run CVE checks using the Yocto Project]]&lt;br /&gt;
* [[How to add binary files via a custom recipe]]&lt;br /&gt;
* [[How to configure network using systemd-networkd in Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Many other details are available in the [https://wiki.yoctoproject.org/wiki/Technical_FAQ Yocto Project wiki]&lt;br /&gt;
&lt;br /&gt;
== Linux kernel ==&lt;br /&gt;
* [[Kernel message logging with printk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== C/C++ userspace ==&lt;br /&gt;
* [[Manage the GPIO lines in C with libgpiod]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Microsoft .NET and Mono ==&lt;br /&gt;
* [[Embedded Linux .NET applications with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
* [[Install Qt 5 on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and SBC ==&lt;br /&gt;
* [[iMX6 definitive GPIO guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [[ARM cores list]]&lt;br /&gt;
* [[systemd vs sysvinit]]&lt;br /&gt;
* [http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ How to create and submit Linux kernel patch using GIT]&lt;br /&gt;
* [[Development with VMware]]&lt;br /&gt;
* [[How to Shrink a VirtualBox Virtual Machine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
* [https://koansoftware.com/company/ Who we are]&lt;br /&gt;
&lt;br /&gt;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KoanSoftware(R) and KaeilOS(R) are registered trademarks of KOAN sas - Bergamo, ITALY &lt;br /&gt;
&lt;br /&gt;
All contents of this website are released under the [http://creativecommons.org/licenses/by-sa/3.0/deed.en_US Creative Commons Attribution-ShareAlike 3.0 Unported License]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Replacement_for_command_ldd_on_Linux&amp;diff=385</id>
		<title>Replacement for command ldd on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Replacement_for_command_ldd_on_Linux&amp;diff=385"/>
		<updated>2025-02-28T10:32:25Z</updated>

		<summary type="html">&lt;p&gt;Koan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Replacement for command ldd on Linux ==&lt;br /&gt;
&lt;br /&gt;
Are you looking to install the &#039;&#039;&#039;ldd&#039;&#039;&#039; command on your Linux system but it isn&#039;t available?&lt;br /&gt;
&lt;br /&gt;
This is typical when you are using Yocto Project on the target board.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alternative Method to Check Library Dependencies in Linux&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
While the &#039;&#039;&#039;ldd&#039;&#039;&#039; command is a powerful tool for examining library dependencies, there are alternative methods that can provide similar information. &lt;br /&gt;
One such method is using the objdump command.&lt;br /&gt;
&lt;br /&gt;
 # LD_TRACE_LOADED_OBJECTS=1 /lib/ld-linux-armhf.so.3  /usr/bin/gpg&lt;br /&gt;
    &lt;br /&gt;
    linux-vdso.so.1 (0xbef3e000)&lt;br /&gt;
    libz.so.1 =&amp;gt; /lib/libz.so.1 (0xb6f70000)&lt;br /&gt;
    libbz2.so.1 =&amp;gt; /usr/lib/libbz2.so.1 (0xb6f50000)&lt;br /&gt;
    libgcrypt.so.20 =&amp;gt; /usr/lib/libgcrypt.so.20 (0xb6ea0000)&lt;br /&gt;
    libreadline.so.8 =&amp;gt; /usr/lib/libreadline.so.8 (0xb6e50000)&lt;br /&gt;
    libassuan.so.0 =&amp;gt; /usr/lib/libassuan.so.0 (0xb6e30000)&lt;br /&gt;
    libnpth.so.0 =&amp;gt; /usr/lib/libnpth.so.0 (0xb6e10000)&lt;br /&gt;
    libgpg-error.so.0 =&amp;gt; /usr/lib/libgpg-error.so.0 (0xb6de0000)&lt;br /&gt;
    libc.so.6 =&amp;gt; /lib/libc.so.6 (0xb6cc0000)&lt;br /&gt;
    libcap.so.2 =&amp;gt; /lib/libcap.so.2 (0xb6ca0000)&lt;br /&gt;
    libtinfo.so.5 =&amp;gt; /lib/libtinfo.so.5 (0xb6c70000)&lt;br /&gt;
    /lib/ld-linux-armhf.so.3 (0xb6f98000)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 root@intel-corei7-64:~# LD_TRACE_LOADED_OBJECTS=1 /lib/ld-linux-x86-64.so.2 /usr/bin/aplay&lt;br /&gt;
   &lt;br /&gt;
    linux-vdso.so.1 (0x00007ffc005c6000)&lt;br /&gt;
    libasound.so.2 =&amp;gt; /usr/lib/libasound.so.2 (0x00007f0a498fe000)&lt;br /&gt;
    libc.so.6 =&amp;gt; /lib/libc.so.6 (0x00007f0a496fe000)&lt;br /&gt;
    libm.so.6 =&amp;gt; /lib/libm.so.6 (0x00007f0a49620000)&lt;br /&gt;
    libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0x00007f0a4961b000)&lt;br /&gt;
    librt.so.1 =&amp;gt; /lib/librt.so.1 (0x00007f0a49616000)&lt;br /&gt;
    /lib/ld-linux-x86-64.so.2 (0x00007f0a49a23000)&lt;br /&gt;
&lt;br /&gt;
or using the cross compiler &#039;&#039;&#039;objdump&#039;&#039;&#039; command&lt;br /&gt;
&lt;br /&gt;
 root@intel-corei7-64:~# aarch64-poky-linux-objdump -x nInvaders | grep NEEDED&lt;br /&gt;
    &lt;br /&gt;
    NEEDED               libncurses.so.5&lt;br /&gt;
    NEEDED               libtinfo.so.5&lt;br /&gt;
    NEEDED               libc.so.6&lt;br /&gt;
    NEEDED               ld-linux-aarch64.so.1&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Replacement_for_command_ldd_on_Linux&amp;diff=384</id>
		<title>Replacement for command ldd on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Replacement_for_command_ldd_on_Linux&amp;diff=384"/>
		<updated>2025-02-28T10:32:14Z</updated>

		<summary type="html">&lt;p&gt;Koan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Replacement for command ldd on Linux ==&lt;br /&gt;
&lt;br /&gt;
Are you looking to install the &#039;&#039;&#039;ldd&#039;&#039;&#039; command on your Linux system but it isn&#039;t available?&lt;br /&gt;
&lt;br /&gt;
This is typical when you are using Yocto Project on the target board.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alternative Method to Check Library Dependencies in Linux&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
While the &#039;&#039;&#039;ldd&#039;&#039;&#039; command is a powerful tool for examining library dependencies, there are alternative methods that can provide similar information. &lt;br /&gt;
One such method is using the objdump command.&lt;br /&gt;
&lt;br /&gt;
 # LD_TRACE_LOADED_OBJECTS=1 /lib/ld-linux-armhf.so.3  /usr/bin/gpg&lt;br /&gt;
    &lt;br /&gt;
    linux-vdso.so.1 (0xbef3e000)&lt;br /&gt;
    libz.so.1 =&amp;gt; /lib/libz.so.1 (0xb6f70000)&lt;br /&gt;
    libbz2.so.1 =&amp;gt; /usr/lib/libbz2.so.1 (0xb6f50000)&lt;br /&gt;
    libgcrypt.so.20 =&amp;gt; /usr/lib/libgcrypt.so.20 (0xb6ea0000)&lt;br /&gt;
    libreadline.so.8 =&amp;gt; /usr/lib/libreadline.so.8 (0xb6e50000)&lt;br /&gt;
    libassuan.so.0 =&amp;gt; /usr/lib/libassuan.so.0 (0xb6e30000)&lt;br /&gt;
    libnpth.so.0 =&amp;gt; /usr/lib/libnpth.so.0 (0xb6e10000)&lt;br /&gt;
    libgpg-error.so.0 =&amp;gt; /usr/lib/libgpg-error.so.0 (0xb6de0000)&lt;br /&gt;
    libc.so.6 =&amp;gt; /lib/libc.so.6 (0xb6cc0000)&lt;br /&gt;
    libcap.so.2 =&amp;gt; /lib/libcap.so.2 (0xb6ca0000)&lt;br /&gt;
    libtinfo.so.5 =&amp;gt; /lib/libtinfo.so.5 (0xb6c70000)&lt;br /&gt;
    /lib/ld-linux-armhf.so.3 (0xb6f98000)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 root@intel-corei7-64:~# LD_TRACE_LOADED_OBJECTS=1 /lib/ld-linux-x86-64.so.2 /usr/bin/aplay&lt;br /&gt;
   &lt;br /&gt;
    linux-vdso.so.1 (0x00007ffc005c6000)&lt;br /&gt;
    libasound.so.2 =&amp;gt; /usr/lib/libasound.so.2 (0x00007f0a498fe000)&lt;br /&gt;
    libc.so.6 =&amp;gt; /lib/libc.so.6 (0x00007f0a496fe000)&lt;br /&gt;
    libm.so.6 =&amp;gt; /lib/libm.so.6 (0x00007f0a49620000)&lt;br /&gt;
    libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0x00007f0a4961b000)&lt;br /&gt;
    librt.so.1 =&amp;gt; /lib/librt.so.1 (0x00007f0a49616000)&lt;br /&gt;
    /lib/ld-linux-x86-64.so.2 (0x00007f0a49a23000)&lt;br /&gt;
&lt;br /&gt;
or using the cross compiler &#039;&#039;&#039;objdump&#039;&#039;&#039; command&lt;br /&gt;
&lt;br /&gt;
 root@intel-corei7-64:~# aarch64-poky-linux-objdump -x nInvaders | grep NEEDED&lt;br /&gt;
&lt;br /&gt;
    NEEDED               libncurses.so.5&lt;br /&gt;
    NEEDED               libtinfo.so.5&lt;br /&gt;
    NEEDED               libc.so.6&lt;br /&gt;
    NEEDED               ld-linux-aarch64.so.1&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Best_hardware_to_build_Yocto_Project&amp;diff=383</id>
		<title>Best hardware to build Yocto Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Best_hardware_to_build_Yocto_Project&amp;diff=383"/>
		<updated>2025-02-27T14:17:18Z</updated>

		<summary type="html">&lt;p&gt;Koan: Created page with &amp;quot;Best hardware to build Yocto Project  * CPU Ryzen 9950X with * 64 GB DDR5 RAM and  * 2 TB Samsung 990PRO PCI-e 4.0 disk  * Ubuntu 24.04 (native or Dockerfile)  The overhead of...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Best hardware to build Yocto Project&lt;br /&gt;
&lt;br /&gt;
* CPU Ryzen 9950X with&lt;br /&gt;
* 64 GB DDR5 RAM and &lt;br /&gt;
* 2 TB Samsung 990PRO PCI-e 4.0 disk &lt;br /&gt;
* Ubuntu 24.04 (native or Dockerfile)&lt;br /&gt;
&lt;br /&gt;
The overhead of doing the build in a Docker vs. native is only 1% and while the average build time with native Ubuntu 24.04 was 18 minutes 52 seconds it is only 19 minutes and 5 seconds (delta of 13 seconds) with the Docker container.&lt;br /&gt;
&lt;br /&gt;
NOTE: These details are dated FEB.2025 and may need an update later&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=382</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=382"/>
		<updated>2025-02-27T14:12:53Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Yocto Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome on [https://koansoftware.com Koan Software] official wiki&lt;br /&gt;
&lt;br /&gt;
== KOAN Embedded Software Engineering == &lt;br /&gt;
&lt;br /&gt;
[https://koansoftware.com KOAN] is an Italian software house, specialized in embedded and real time Linux software solutions on RISC platforms of the ARM family (Raspberry, Atmel, Freescale, NXP). Founded on 1996 from diversified experiences, is a supplier of embedded software systems for industrial automation, telecommunications, automotive, mechatronics and aerospace.&lt;br /&gt;
&lt;br /&gt;
== What is this wiki? == &lt;br /&gt;
This is a collection of useful notes about Yocto Project and OpenEmbedded, GNU/Linux distributions aimed for embedded devices developed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem solving - Howto ==&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Setup NFS root filesystem]]&lt;br /&gt;
* [[Setup an external toolchain with Yocto]]&lt;br /&gt;
* [[Fixing Perl Locale Errors in a Clean Ubuntu Install]]&lt;br /&gt;
* [[Using VMware Player to run Linux training]]&lt;br /&gt;
* [[Issues running python on Linux]]&lt;br /&gt;
* [[Error Initialize GIT git init --initial-branch=main]]&lt;br /&gt;
* [[repo issue &amp;quot;def print(self, *args, **kwargs):&amp;quot;]]&lt;br /&gt;
* [[Replacement for command ldd on Linux]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Core ==&lt;br /&gt;
* [[Submit patches to Openembedded]] &lt;br /&gt;
* [http://openembedded.org/wiki/Commit_Patch_Message_Guidelines Commit Patch Message Guidelines]&lt;br /&gt;
* [[OE-Core Standalone Setup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Debugging ==&lt;br /&gt;
* [[Openembedded debugging]]&lt;br /&gt;
* [[Packages information list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto Project ==&lt;br /&gt;
* [[Best hardware to build Yocto Project]] &lt;br /&gt;
* [[Yocto Project my own quick start]] &lt;br /&gt;
* [[Yocto versus Poky versus Angstrom]]&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html Yocto Project reference Manual]&lt;br /&gt;
* [http://git.yoctoproject.org/ Yocto source Repositories]&lt;br /&gt;
* [http://layers.openembedded.org OpenEmbedded layers index]&lt;br /&gt;
* [https://wiki.yoctoproject.org/wiki/Releases Yocto version releases]&lt;br /&gt;
* [http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Migrating metadata to OE-Core]&lt;br /&gt;
* [[OE/Yocto prebuilt toolchains]]&lt;br /&gt;
* [[Howto build a kernel module out of the kernel tree]]&lt;br /&gt;
* [[Howto speed up Yocto build]]&lt;br /&gt;
* [[bitbake options]]&lt;br /&gt;
* [[Directories and installation variables]]&lt;br /&gt;
* [[How to add libstdc++ to a Yocto (Poky) image]]&lt;br /&gt;
* [[How to run a script at boot automatically]]&lt;br /&gt;
* [[How to run a systemd script at boot automatically]]&lt;br /&gt;
* [[Create patches using quilt]]&lt;br /&gt;
* [[Building Software from an External Source]]&lt;br /&gt;
* [[opkg command options]]&lt;br /&gt;
* [[Managing RDEPENDS into a recipe]]&lt;br /&gt;
* [[Extract the list of packages into a Yocto image]]&lt;br /&gt;
* [[Toaster setup and usage]]&lt;br /&gt;
* [[Python assignment operators]]&lt;br /&gt;
* [[Skip connectivity checks]]&lt;br /&gt;
* [[Set default root password]]&lt;br /&gt;
* [[Yocto package management]]&lt;br /&gt;
* [[Yocto build on a cluster with IceCC]]&lt;br /&gt;
* [[Add native gcc to the target image]]&lt;br /&gt;
* [[List IPK package depencencies]]&lt;br /&gt;
* [[Yocto Project what I wish I&#039;d known]]&lt;br /&gt;
* [[Using devtool to modify recipes in Yocto]]&lt;br /&gt;
* [[How to include uEnv.txt in Yocto image]]&lt;br /&gt;
* [[Add build information into a Yocto image]]&lt;br /&gt;
* [[Add a systemd service file into a Yocto image]]&lt;br /&gt;
* [[Yocto Project licenses for LIC_FILES_CHKSUM]]&lt;br /&gt;
* [[Set Proprietary license for a recipe]]&lt;br /&gt;
* [[Yocto sstate usage summary to the build]]&lt;br /&gt;
* [[Upgrade to Yocto honister 3.4]]&lt;br /&gt;
* [[Override syntax change from Yocto honister 3.4]]&lt;br /&gt;
* [[Modify the linux kernel with configuration fragments in Yocto]]&lt;br /&gt;
* [[Add a debug banner in a Yocto recipe]]&lt;br /&gt;
* [[How to trace a variable setting with bitbake-getvar]]&lt;br /&gt;
* [[How to detect the Yocto version using bitbake]]&lt;br /&gt;
* [[Support other languages and keyboards than English in Yocto]]&lt;br /&gt;
* [[List the files shipped by your recipe]]&lt;br /&gt;
* [[How to run CVE checks using the Yocto Project]]&lt;br /&gt;
* [[How to add binary files via a custom recipe]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Many other details are available in the [https://wiki.yoctoproject.org/wiki/Technical_FAQ Yocto Project wiki]&lt;br /&gt;
&lt;br /&gt;
== Linux kernel ==&lt;br /&gt;
* [[Kernel message logging with printk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== C/C++ userspace ==&lt;br /&gt;
* [[Manage the GPIO lines in C with libgpiod]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Microsoft .NET and Mono ==&lt;br /&gt;
* [[Embedded Linux .NET applications with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
* [[Install Qt 5 on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and SBC ==&lt;br /&gt;
* [[iMX6 definitive GPIO guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [[ARM cores list]]&lt;br /&gt;
* [[systemd vs sysvinit]]&lt;br /&gt;
* [http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ How to create and submit Linux kernel patch using GIT]&lt;br /&gt;
* [[Development with VMware]]&lt;br /&gt;
* [[How to Shrink a VirtualBox Virtual Machine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
* [https://koansoftware.com/company/ Who we are]&lt;br /&gt;
&lt;br /&gt;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KoanSoftware(R) and KaeilOS(R) are registered trademarks of KOAN sas - Bergamo, ITALY &lt;br /&gt;
&lt;br /&gt;
All contents of this website are released under the [http://creativecommons.org/licenses/by-sa/3.0/deed.en_US Creative Commons Attribution-ShareAlike 3.0 Unported License]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=How_to_run_CVE_checks_using_the_Yocto_Project&amp;diff=381</id>
		<title>How to run CVE checks using the Yocto Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=How_to_run_CVE_checks_using_the_Yocto_Project&amp;diff=381"/>
		<updated>2024-12-11T17:25:14Z</updated>

		<summary type="html">&lt;p&gt;Koan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to run CVE checks using the Yocto Project ==&lt;br /&gt;
&lt;br /&gt;
Enable CVE check&lt;br /&gt;
&lt;br /&gt;
The Yocto Project provides a &#039;&#039;&#039;cve-check&#039;&#039;&#039; class which can be enabled to perform scans on packages for public CVE’s. &lt;br /&gt;
&lt;br /&gt;
It is possible to enable this feature to run a scan of packages but also on images.&lt;br /&gt;
&lt;br /&gt;
To enable the CVE check you can add the following to e.g local.conf:&lt;br /&gt;
&lt;br /&gt;
  INHERIT += &amp;quot;cve-check&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then run&lt;br /&gt;
&lt;br /&gt;
 bitbake core-image-minimal&lt;br /&gt;
&lt;br /&gt;
Or &lt;br /&gt;
&lt;br /&gt;
 bitbake --runall cve_check core-image-minimal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will get to the output a list of unpatched CVE’s where found and several log files&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Complete CVE report&#039;&#039;&#039; summary created at: .../&#039;&#039;&#039;build/tmp/log/cve/cve-summary&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Complete CVE JSON report&#039;&#039;&#039; summary created at: .../&#039;&#039;&#039;build/tmp/log/cve/cve-summary.json&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It is also possible to check the CVE status of individual packages as follows:&lt;br /&gt;
&lt;br /&gt;
 bitbake -c cve_check flex libarchive&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Add_build_information_into_a_Yocto_image&amp;diff=380</id>
		<title>Add build information into a Yocto image</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Add_build_information_into_a_Yocto_image&amp;diff=380"/>
		<updated>2024-12-10T17:22:11Z</updated>

		<summary type="html">&lt;p&gt;Koan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Creating Add build information into a Yocto image ==&lt;br /&gt;
&lt;br /&gt;
Importing variables into the device with &#039;&#039;&#039;buildinfo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There is a little known image feature in Yocto called buildinfo that will help us get the required information. &lt;br /&gt;
&lt;br /&gt;
Buildinfo is available in Yocto 1.8 and later versions. This image feature will write a set of OpenEmbedded variables to a file /etc/build in the image, which in turn gets &#039;&#039;&#039;written to the target device&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To enable buildinfo, open conf/local.conf and append &lt;br /&gt;
&lt;br /&gt;
 INHERIT += &amp;quot;image-buildinfo&amp;quot;&lt;br /&gt;
 IMAGE_BUILDINFO_VARS:append = &amp;quot; DATETIME DISTRO_NAME IMAGE_BASENAME MACHINE TUNE_PKGARCH&amp;quot; &lt;br /&gt;
 IMAGE_BUILDINFO_VARS:append = &amp;quot; MACHINE_FEATURES DISTRO_FEATURES COMMON_FEATURES IMAGE_FEATURES&amp;quot;&lt;br /&gt;
 IMAGE_BUILDINFO_VARS:append = &amp;quot; TUNE_FEATURES TARGET_FPU&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then build the desired image, e.g. with bitbake -k core-image-minimal.&lt;br /&gt;
And run the image, e.g. with runqemu qemuarm nographic, and look at the file generated in /etc/build.&lt;br /&gt;
&lt;br /&gt;
A sample resulting file &#039;&#039;&#039;/etc/build&#039;&#039;&#039; or &#039;&#039;&#039;/etc/buildinfo&#039;&#039;&#039; (depending on the Yocto vesion) is shown below.&lt;br /&gt;
&lt;br /&gt;
 -----------------------&lt;br /&gt;
 Build Configuration:  |&lt;br /&gt;
 -----------------------&lt;br /&gt;
 DISTRO = poky&lt;br /&gt;
 DISTRO_VERSION = 4.0.19&lt;br /&gt;
 DATETIME = 20240626102217&lt;br /&gt;
 DISTRO_NAME = Poky (Yocto Project Reference Distro)&lt;br /&gt;
 IMAGE_BASENAME = core-image-minimal&lt;br /&gt;
 MACHINE = qemuarm&lt;br /&gt;
 TUNE_PKGARCH = cortexa15t2hf-neon&lt;br /&gt;
 MACHINE_FEATURES = alsa bluetooth usbgadget screen vfat rtc qemu-usermode&lt;br /&gt;
 DISTRO_FEATURES = acl alsa argp bluetooth debuginfod ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11 vfat seccomp largefile opengl ptest multiarch wayland vulkan pulseaudio sysvinit gobject-introspection-data ldconfig&lt;br /&gt;
 COMMON_FEATURES = &lt;br /&gt;
 IMAGE_FEATURES = debug-tweaks package-management ssh-server-openssh&lt;br /&gt;
 TUNE_FEATURES = arm vfp cortexa15 neon thumb callconvention-hard&lt;br /&gt;
 TARGET_FPU = hard&lt;br /&gt;
 -----------------------&lt;br /&gt;
 Layer Revisions:      |&lt;br /&gt;
 -----------------------&lt;br /&gt;
 meta              = kirkstone:e139e9d0ce343ba77a09601a976c92acd562c9df &lt;br /&gt;
 meta-poky         = kirkstone:e139e9d0ce343ba77a09601a976c92acd562c9df &lt;br /&gt;
 meta-yocto-bsp    = kirkstone:e139e9d0ce343ba77a09601a976c92acd562c9df &lt;br /&gt;
 meta-oe           = kirkstone:0560b848996a0feb410a8cd8ca07c60fe2f3b5bc &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Buildhistory&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To enable buildhistory, open conf/local.conf and append&lt;br /&gt;
&lt;br /&gt;
 INHERIT += &amp;quot;buildhistory&amp;quot;&lt;br /&gt;
 BUILDHISTORY_COMMIT = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The same details are registered on the HOST for every build when you enable &#039;&#039;&#039;buildhistory&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 commit 3c194a01ee722b94f474c7911ccb926ee2858639 (HEAD -&amp;gt; master)&lt;br /&gt;
 Author: buildhistory &amp;lt;buildhistory@poky&amp;gt;&lt;br /&gt;
 Date:   Wed Jun 26 10:22:52 2024 +0000&lt;br /&gt;
 &lt;br /&gt;
    Build 20240626102217 of poky 4.0.19 for machine qemuarm on koanserver&lt;br /&gt;
    &lt;br /&gt;
    cmd: bitbake core-image-minimal&lt;br /&gt;
    &lt;br /&gt;
    result: succeeded&lt;br /&gt;
    &lt;br /&gt;
    metadata revisions:&lt;br /&gt;
    meta              = kirkstone:e139e9d0ce343ba77a09601a976c92acd562c9df&lt;br /&gt;
    meta-poky         = kirkstone:e139e9d0ce343ba77a09601a976c92acd562c9df&lt;br /&gt;
    meta-yocto-bsp    = kirkstone:e139e9d0ce343ba77a09601a976c92acd562c9df&lt;br /&gt;
    meta-oe           = kirkstone:0560b848996a0feb410a8cd8ca07c60fe2f3b5bc&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Add_build_information_into_a_Yocto_image&amp;diff=379</id>
		<title>Add build information into a Yocto image</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Add_build_information_into_a_Yocto_image&amp;diff=379"/>
		<updated>2024-12-10T17:22:01Z</updated>

		<summary type="html">&lt;p&gt;Koan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Creating Add build information into a Yocto image ==&lt;br /&gt;
&lt;br /&gt;
Importing variables into the device with &#039;&#039;&#039;buildinfo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There is a little known image feature in Yocto called buildinfo that will help us get the required information. &lt;br /&gt;
&lt;br /&gt;
Buildinfo is available in Yocto 1.8 and later versions. This image feature will write a set of OpenEmbedded variables to a file /etc/build in the image, which in turn gets &#039;&#039;&#039;written to the target device&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
To enable buildinfo, open conf/local.conf and append &lt;br /&gt;
&lt;br /&gt;
 INHERIT += &amp;quot;image-buildinfo&amp;quot;&lt;br /&gt;
 IMAGE_BUILDINFO_VARS:append = &amp;quot; DATETIME DISTRO_NAME IMAGE_BASENAME MACHINE TUNE_PKGARCH&amp;quot; &lt;br /&gt;
 IMAGE_BUILDINFO_VARS:append = &amp;quot; MACHINE_FEATURES DISTRO_FEATURES COMMON_FEATURES IMAGE_FEATURES&amp;quot;&lt;br /&gt;
 IMAGE_BUILDINFO_VARS:append = &amp;quot; TUNE_FEATURES TARGET_FPU&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then build the desired image, e.g. with bitbake -k core-image-minimal.&lt;br /&gt;
And run the image, e.g. with runqemu qemuarm nographic, and look at the file generated in /etc/build.&lt;br /&gt;
&lt;br /&gt;
A sample resulting file &#039;&#039;&#039;/etc/build&#039;&#039;&#039; or &#039;&#039;&#039;/etc/build&#039;&#039;&#039; (depending on the Yocto vesion) is shown below.&lt;br /&gt;
&lt;br /&gt;
 -----------------------&lt;br /&gt;
 Build Configuration:  |&lt;br /&gt;
 -----------------------&lt;br /&gt;
 DISTRO = poky&lt;br /&gt;
 DISTRO_VERSION = 4.0.19&lt;br /&gt;
 DATETIME = 20240626102217&lt;br /&gt;
 DISTRO_NAME = Poky (Yocto Project Reference Distro)&lt;br /&gt;
 IMAGE_BASENAME = core-image-minimal&lt;br /&gt;
 MACHINE = qemuarm&lt;br /&gt;
 TUNE_PKGARCH = cortexa15t2hf-neon&lt;br /&gt;
 MACHINE_FEATURES = alsa bluetooth usbgadget screen vfat rtc qemu-usermode&lt;br /&gt;
 DISTRO_FEATURES = acl alsa argp bluetooth debuginfod ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11 vfat seccomp largefile opengl ptest multiarch wayland vulkan pulseaudio sysvinit gobject-introspection-data ldconfig&lt;br /&gt;
 COMMON_FEATURES = &lt;br /&gt;
 IMAGE_FEATURES = debug-tweaks package-management ssh-server-openssh&lt;br /&gt;
 TUNE_FEATURES = arm vfp cortexa15 neon thumb callconvention-hard&lt;br /&gt;
 TARGET_FPU = hard&lt;br /&gt;
 -----------------------&lt;br /&gt;
 Layer Revisions:      |&lt;br /&gt;
 -----------------------&lt;br /&gt;
 meta              = kirkstone:e139e9d0ce343ba77a09601a976c92acd562c9df &lt;br /&gt;
 meta-poky         = kirkstone:e139e9d0ce343ba77a09601a976c92acd562c9df &lt;br /&gt;
 meta-yocto-bsp    = kirkstone:e139e9d0ce343ba77a09601a976c92acd562c9df &lt;br /&gt;
 meta-oe           = kirkstone:0560b848996a0feb410a8cd8ca07c60fe2f3b5bc &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Buildhistory&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To enable buildhistory, open conf/local.conf and append&lt;br /&gt;
&lt;br /&gt;
 INHERIT += &amp;quot;buildhistory&amp;quot;&lt;br /&gt;
 BUILDHISTORY_COMMIT = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The same details are registered on the HOST for every build when you enable &#039;&#039;&#039;buildhistory&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 commit 3c194a01ee722b94f474c7911ccb926ee2858639 (HEAD -&amp;gt; master)&lt;br /&gt;
 Author: buildhistory &amp;lt;buildhistory@poky&amp;gt;&lt;br /&gt;
 Date:   Wed Jun 26 10:22:52 2024 +0000&lt;br /&gt;
 &lt;br /&gt;
    Build 20240626102217 of poky 4.0.19 for machine qemuarm on koanserver&lt;br /&gt;
    &lt;br /&gt;
    cmd: bitbake core-image-minimal&lt;br /&gt;
    &lt;br /&gt;
    result: succeeded&lt;br /&gt;
    &lt;br /&gt;
    metadata revisions:&lt;br /&gt;
    meta              = kirkstone:e139e9d0ce343ba77a09601a976c92acd562c9df&lt;br /&gt;
    meta-poky         = kirkstone:e139e9d0ce343ba77a09601a976c92acd562c9df&lt;br /&gt;
    meta-yocto-bsp    = kirkstone:e139e9d0ce343ba77a09601a976c92acd562c9df&lt;br /&gt;
    meta-oe           = kirkstone:0560b848996a0feb410a8cd8ca07c60fe2f3b5bc&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=How_to_add_binary_files_via_a_custom_recipe&amp;diff=378</id>
		<title>How to add binary files via a custom recipe</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=How_to_add_binary_files_via_a_custom_recipe&amp;diff=378"/>
		<updated>2024-12-04T08:32:45Z</updated>

		<summary type="html">&lt;p&gt;Koan: Created page with &amp;quot;== How to add binary files via a custom recipe ==  When using Yocto Project it sometimes may be necessary to insert binary files via a custom recipe.  Below is an example of a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to add binary files via a custom recipe ==&lt;br /&gt;
&lt;br /&gt;
When using Yocto Project it sometimes may be necessary to insert binary files via a custom recipe.&lt;br /&gt;
&lt;br /&gt;
Below is an example of a recipe to manage that&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
 # binary_0.1.bb&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 DESCRIPTION = &amp;quot;Install custom files to /root directory&amp;quot;&lt;br /&gt;
 LICENSE = &amp;quot;CLOSED&amp;quot;&lt;br /&gt;
 LIC_FILES_CHKSUM = &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SRC_URI = &amp;quot;file://my-binary \&lt;br /&gt;
 	   file://my-config-file&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 do_install() {&lt;br /&gt;
     # Create the /root directory in the target filesystem&lt;br /&gt;
     install -d ${D}${sysconfdir}/root&lt;br /&gt;
 &lt;br /&gt;
     # Install your binary and config file&lt;br /&gt;
     install -m 0755 ${WORKDIR}/my-binary ${D}/root/my-binary&lt;br /&gt;
     install -m 0644 ${WORKDIR}/my-config-file ${D}/root/my-config-file&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 FILES:${PN} = &amp;quot;/root&amp;quot;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=377</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=377"/>
		<updated>2024-12-04T08:25:49Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Yocto Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome on [https://koansoftware.com Koan Software] official wiki&lt;br /&gt;
&lt;br /&gt;
== KOAN Embedded Software Engineering == &lt;br /&gt;
&lt;br /&gt;
[https://koansoftware.com KOAN] is an Italian software house, specialized in embedded and real time Linux software solutions on RISC platforms of the ARM family (Raspberry, Atmel, Freescale, NXP). Founded on 1996 from diversified experiences, is a supplier of embedded software systems for industrial automation, telecommunications, automotive, mechatronics and aerospace.&lt;br /&gt;
&lt;br /&gt;
== What is this wiki? == &lt;br /&gt;
This is a collection of useful notes about Yocto Project and OpenEmbedded, GNU/Linux distributions aimed for embedded devices developed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem solving - Howto ==&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Setup NFS root filesystem]]&lt;br /&gt;
* [[Setup an external toolchain with Yocto]]&lt;br /&gt;
* [[Fixing Perl Locale Errors in a Clean Ubuntu Install]]&lt;br /&gt;
* [[Using VMware Player to run Linux training]]&lt;br /&gt;
* [[Issues running python on Linux]]&lt;br /&gt;
* [[Error Initialize GIT git init --initial-branch=main]]&lt;br /&gt;
* [[repo issue &amp;quot;def print(self, *args, **kwargs):&amp;quot;]]&lt;br /&gt;
* [[Replacement for command ldd on Linux]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Core ==&lt;br /&gt;
* [[Submit patches to Openembedded]] &lt;br /&gt;
* [http://openembedded.org/wiki/Commit_Patch_Message_Guidelines Commit Patch Message Guidelines]&lt;br /&gt;
* [[OE-Core Standalone Setup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Debugging ==&lt;br /&gt;
* [[Openembedded debugging]]&lt;br /&gt;
* [[Packages information list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto Project ==&lt;br /&gt;
* [[Yocto Project my own quick start]] &lt;br /&gt;
* [[Yocto versus Poky versus Angstrom]]&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html Yocto Project reference Manual]&lt;br /&gt;
* [http://git.yoctoproject.org/ Yocto source Repositories]&lt;br /&gt;
* [http://layers.openembedded.org OpenEmbedded layers index]&lt;br /&gt;
* [https://wiki.yoctoproject.org/wiki/Releases Yocto version releases]&lt;br /&gt;
* [http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Migrating metadata to OE-Core]&lt;br /&gt;
* [[OE/Yocto prebuilt toolchains]]&lt;br /&gt;
* [[Howto build a kernel module out of the kernel tree]]&lt;br /&gt;
* [[Howto speed up Yocto build]]&lt;br /&gt;
* [[bitbake options]]&lt;br /&gt;
* [[Directories and installation variables]]&lt;br /&gt;
* [[How to add libstdc++ to a Yocto (Poky) image]]&lt;br /&gt;
* [[How to run a script at boot automatically]]&lt;br /&gt;
* [[How to run a systemd script at boot automatically]]&lt;br /&gt;
* [[Create patches using quilt]]&lt;br /&gt;
* [[Building Software from an External Source]]&lt;br /&gt;
* [[opkg command options]]&lt;br /&gt;
* [[Managing RDEPENDS into a recipe]]&lt;br /&gt;
* [[Extract the list of packages into a Yocto image]]&lt;br /&gt;
* [[Toaster setup and usage]]&lt;br /&gt;
* [[Python assignment operators]]&lt;br /&gt;
* [[Skip connectivity checks]]&lt;br /&gt;
* [[Set default root password]]&lt;br /&gt;
* [[Yocto package management]]&lt;br /&gt;
* [[Yocto build on a cluster with IceCC]]&lt;br /&gt;
* [[Add native gcc to the target image]]&lt;br /&gt;
* [[List IPK package depencencies]]&lt;br /&gt;
* [[Yocto Project what I wish I&#039;d known]]&lt;br /&gt;
* [[Using devtool to modify recipes in Yocto]]&lt;br /&gt;
* [[How to include uEnv.txt in Yocto image]]&lt;br /&gt;
* [[Add build information into a Yocto image]]&lt;br /&gt;
* [[Add a systemd service file into a Yocto image]]&lt;br /&gt;
* [[Yocto Project licenses for LIC_FILES_CHKSUM]]&lt;br /&gt;
* [[Set Proprietary license for a recipe]]&lt;br /&gt;
* [[Yocto sstate usage summary to the build]]&lt;br /&gt;
* [[Upgrade to Yocto honister 3.4]]&lt;br /&gt;
* [[Override syntax change from Yocto honister 3.4]]&lt;br /&gt;
* [[Modify the linux kernel with configuration fragments in Yocto]]&lt;br /&gt;
* [[Add a debug banner in a Yocto recipe]]&lt;br /&gt;
* [[How to trace a variable setting with bitbake-getvar]]&lt;br /&gt;
* [[How to detect the Yocto version using bitbake]]&lt;br /&gt;
* [[Support other languages and keyboards than English in Yocto]]&lt;br /&gt;
* [[List the files shipped by your recipe]]&lt;br /&gt;
* [[How to run CVE checks using the Yocto Project]]&lt;br /&gt;
* [[How to add binary files via a custom recipe]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Many other details are available in the [https://wiki.yoctoproject.org/wiki/Technical_FAQ Yocto Project wiki]&lt;br /&gt;
&lt;br /&gt;
== Linux kernel ==&lt;br /&gt;
* [[Kernel message logging with printk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== C/C++ userspace ==&lt;br /&gt;
* [[Manage the GPIO lines in C with libgpiod]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Microsoft .NET and Mono ==&lt;br /&gt;
* [[Embedded Linux .NET applications with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
* [[Install Qt 5 on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and SBC ==&lt;br /&gt;
* [[iMX6 definitive GPIO guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [[ARM cores list]]&lt;br /&gt;
* [[systemd vs sysvinit]]&lt;br /&gt;
* [http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ How to create and submit Linux kernel patch using GIT]&lt;br /&gt;
* [[Development with VMware]]&lt;br /&gt;
* [[How to Shrink a VirtualBox Virtual Machine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
* [https://koansoftware.com/company/ Who we are]&lt;br /&gt;
&lt;br /&gt;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KoanSoftware(R) and KaeilOS(R) are registered trademarks of KOAN sas - Bergamo, ITALY &lt;br /&gt;
&lt;br /&gt;
All contents of this website are released under the [http://creativecommons.org/licenses/by-sa/3.0/deed.en_US Creative Commons Attribution-ShareAlike 3.0 Unported License]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Yocto_Project_my_own_quick_start&amp;diff=376</id>
		<title>Yocto Project my own quick start</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Yocto_Project_my_own_quick_start&amp;diff=376"/>
		<updated>2024-10-17T14:42:16Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Edit the configuration files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is an excerpt from [http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Yocto Project Quick Start Copyright © 2010-2020 Linux Foundation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The required packages ==&lt;br /&gt;
&lt;br /&gt;
Packages and package installation vary depending on your development system. In general, you need to have root access and then install the required packages. The next few sections show you how to get set up with the right packages for Ubuntu.&lt;br /&gt;
&lt;br /&gt;
If you have different distributions, please refer to the [https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html Yocto Project Documentation]&lt;br /&gt;
&lt;br /&gt;
You must install essential host packages on your build host. &lt;br /&gt;
The following command installs the host packages based on an Ubuntu distribution:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath \&lt;br /&gt;
 socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping \&lt;br /&gt;
 python3-git python3-jinja2 python3-subunit zstd liblz4-tool file locales libacl1&lt;br /&gt;
 &lt;br /&gt;
 $ sudo locale-gen en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
== Development Code - branch 5.0 &#039;scarthgap&#039; LTS ==&lt;br /&gt;
&lt;br /&gt;
Yocto Project code can be found in the Yocto Project Source Repositories.&lt;br /&gt;
To check out current development code using git:&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/yocto&lt;br /&gt;
 $ git clone git://git.yoctoproject.org/poky -b scarthgap&lt;br /&gt;
&lt;br /&gt;
 poky/&lt;br /&gt;
 ├── bitbake&lt;br /&gt;
 ├── contrib&lt;br /&gt;
 ├── documentation&lt;br /&gt;
 ├── LICENSE&lt;br /&gt;
 ├── LICENSE.GPL-2.0-only&lt;br /&gt;
 ├── LICENSE.MIT&lt;br /&gt;
 ├── MAINTAINERS.md&lt;br /&gt;
 ├── MEMORIAM&lt;br /&gt;
 ├── meta&lt;br /&gt;
 ├── meta-poky&lt;br /&gt;
 ├── meta-selftest&lt;br /&gt;
 ├── meta-skeleton&lt;br /&gt;
 ├── meta-yocto-bsp&lt;br /&gt;
 ├── oe-init-build-env&lt;br /&gt;
 ├── README.hardware.md -&amp;gt; meta-yocto-bsp/README.hardware.md&lt;br /&gt;
 ├── README.md -&amp;gt; README.poky.md&lt;br /&gt;
 ├── README.OE-Core.md&lt;br /&gt;
 ├── README.poky.md -&amp;gt; meta-poky/README.poky.md&lt;br /&gt;
 ├── README.qemu.md&lt;br /&gt;
 ├── scripts&lt;br /&gt;
 └── SECURITY.md&lt;br /&gt;
&lt;br /&gt;
In addition you can install an optional but frequently essential metalayer&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/yocto/poky&lt;br /&gt;
 $ git clone git://git.openembedded.org/meta-openembedded -b scarthgap&lt;br /&gt;
&lt;br /&gt;
== Initializing the Build Environment ==&lt;br /&gt;
&lt;br /&gt;
From the parent directory your Source Directory, initialize your environment and provide a meaningful Build Directory name:&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/yocto/poky&lt;br /&gt;
 $ source oe-init-build-env&lt;br /&gt;
&lt;br /&gt;
At this point, the &#039;&#039;&#039;build&#039;&#039;&#039; directory has been created for you and it is now your current working directory. &lt;br /&gt;
This is the default tree you should have to build.&lt;br /&gt;
&lt;br /&gt;
 poky/&lt;br /&gt;
 ├── bitbake&lt;br /&gt;
 ├── build          &amp;lt;----- run bitbake inside here&lt;br /&gt;
 ├── contrib&lt;br /&gt;
 ├── documentation&lt;br /&gt;
 ├── LICENSE&lt;br /&gt;
 ├── LICENSE.GPL-2.0-only&lt;br /&gt;
 ├── LICENSE.MIT&lt;br /&gt;
 ├── meta&lt;br /&gt;
 ├── meta-poky&lt;br /&gt;
 ├── meta-selftest&lt;br /&gt;
 ├── meta-skeleton&lt;br /&gt;
 ├── meta-yocto-bsp&lt;br /&gt;
 ├── oe-init-build-env&lt;br /&gt;
 ├── README.hardware -&amp;gt; meta-yocto-bsp/README.hardware&lt;br /&gt;
 ├── README.OE-Core&lt;br /&gt;
 ├── README.poky -&amp;gt; meta-poky/README.poky&lt;br /&gt;
 ├── README.qemu&lt;br /&gt;
 └── scripts&lt;br /&gt;
&lt;br /&gt;
== Edit the configuration files ==&lt;br /&gt;
&lt;br /&gt;
Add meta-openembedded/meta-oe to the bblayers.conf&lt;br /&gt;
&lt;br /&gt;
 bitbake-layers add-layer ../meta-openembedded/meta-oe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remember also to edit the file $HOME/yocto/poky/build/conf/local.conf&lt;br /&gt;
and check the following variables:&lt;br /&gt;
&lt;br /&gt;
 MACHINE ?= &amp;quot;qemuarm&amp;quot;&lt;br /&gt;
 DISTRO ?= &amp;quot;poky&amp;quot;&lt;br /&gt;
 PACKAGE_CLASSES ?= &amp;quot;package_ipk&amp;quot;&lt;br /&gt;
 INHERIT += &amp;quot;rm_work&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Building the Image ==&lt;br /&gt;
&lt;br /&gt;
At this point, you need to select an image to build. &lt;br /&gt;
If this is your first build using the Yocto Project, you should try the smallest and simplest image:&lt;br /&gt;
&lt;br /&gt;
 $ bitbake core-image-minimal  &lt;br /&gt;
&lt;br /&gt;
Now you just wait for the build to finish.&lt;br /&gt;
&lt;br /&gt;
== Starting the QEMU Emulator ==&lt;br /&gt;
&lt;br /&gt;
Before you start the QEMU emulator, be sure you have already to set up the emulation environment. &lt;br /&gt;
&lt;br /&gt;
The following command setup the emulation environment and launch QEMU.&lt;br /&gt;
&lt;br /&gt;
 $ runqemu qemuarm&lt;br /&gt;
&lt;br /&gt;
Or if you prefer, open a new shell terminal, setup the environment again and run&lt;br /&gt;
&lt;br /&gt;
 $ runqemu qemuarm nographic&lt;br /&gt;
&lt;br /&gt;
== Building cross-compiler ==&lt;br /&gt;
&lt;br /&gt;
If you want you can create a re-distribuible cross-compiler targeted at your MACHINE.&lt;br /&gt;
&lt;br /&gt;
 $ bitbake meta-toolchain&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Directories_and_installation_variables&amp;diff=375</id>
		<title>Directories and installation variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Directories_and_installation_variables&amp;diff=375"/>
		<updated>2024-10-14T07:15:09Z</updated>

		<summary type="html">&lt;p&gt;Koan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Yocto Project Openembedded directories installation variables ==&lt;br /&gt;
&lt;br /&gt;
The following table provides a list of the variables that are used to control the directories into which files are installed.&lt;br /&gt;
&lt;br /&gt;
These variables can be used directly by the recipe to refer to paths that will be used after the package is installed.&lt;br /&gt;
&lt;br /&gt;
 Variable name           Definition                 Typical value&lt;br /&gt;
 ---------------------   ------------------------   --------------------&lt;br /&gt;
 prefix                  /usr                       /usr&lt;br /&gt;
 base_prefix             (empty)                    (empty)&lt;br /&gt;
 exec_prefix             ${base_prefix}             (empty)&lt;br /&gt;
 base_bindir             ${base_prefix}/bin         /bin&lt;br /&gt;
 base_sbindir            ${base_prefix}/sbin        /sbin&lt;br /&gt;
 base_libdir             ${base_prefix}/lib         /lib&lt;br /&gt;
 datadir                 ${prefix}/share            /usr/share&lt;br /&gt;
 sysconfdir              /etc                       /etc&lt;br /&gt;
 localstatedir           /var                       /var&lt;br /&gt;
 infodir                 ${datadir}/info            /usr/share/info&lt;br /&gt;
 mandir                  ${datadir}/man             /usr/share/man&lt;br /&gt;
 docdir                  ${datadir}/doc             /usr/share/doc&lt;br /&gt;
 servicedir              /srv                       /srv&lt;br /&gt;
 bindir                  ${exec_prefix}/bin         /usr/bin&lt;br /&gt;
 sbindir                 ${exec_prefix}/sbin        /usr/sbin&lt;br /&gt;
 libexecdir              ${exec_prefix}/libexec     /usr/libexec&lt;br /&gt;
 libdir                  ${exec_prefix}/lib         /usr/lib&lt;br /&gt;
 includedir              ${exec_prefix}/include     /usr/include&lt;br /&gt;
 palmtopdir              ${libdir}/opie             /usr/lib/opie&lt;br /&gt;
 palmqtdir               ${palmtopdir}              /usr/lib/opie&lt;br /&gt;
 systemd_unitdir         ${systemd_unitdir}         /usr/lib/systemd&lt;br /&gt;
 systemd_system_unitdir  ${systemd_system_unitdir}  /usr/lib/systemd/system&lt;br /&gt;
 systemd_user_unitdir    ${systemd_user_unitdir}    /usr/lib/systemd/user&lt;br /&gt;
&lt;br /&gt;
When specifying paths as part of the FILES variable, it is good practice to use appropriate path variables. &lt;br /&gt;
&lt;br /&gt;
For example, use ${sysconfdir} rather than /etc, or ${bindir} rather than /usr/bin. &lt;br /&gt;
&lt;br /&gt;
You can find a list of these variables at the top of the meta/conf/bitbake.conf file in the Source Directory. &lt;br /&gt;
&lt;br /&gt;
You will also find the default values of the various FILES:* variables in this file.&lt;br /&gt;
https://git.yoctoproject.org/cgit.cgi/poky/plain/meta/conf/bitbake.conf&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Yocto_Project_my_own_quick_start&amp;diff=374</id>
		<title>Yocto Project my own quick start</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Yocto_Project_my_own_quick_start&amp;diff=374"/>
		<updated>2024-10-05T15:10:47Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Development Code - branch 5.0 &amp;#039;scarthgap&amp;#039; LTS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is an excerpt from [http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Yocto Project Quick Start Copyright © 2010-2020 Linux Foundation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The required packages ==&lt;br /&gt;
&lt;br /&gt;
Packages and package installation vary depending on your development system. In general, you need to have root access and then install the required packages. The next few sections show you how to get set up with the right packages for Ubuntu.&lt;br /&gt;
&lt;br /&gt;
If you have different distributions, please refer to the [https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html Yocto Project Documentation]&lt;br /&gt;
&lt;br /&gt;
You must install essential host packages on your build host. &lt;br /&gt;
The following command installs the host packages based on an Ubuntu distribution:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath \&lt;br /&gt;
 socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping \&lt;br /&gt;
 python3-git python3-jinja2 python3-subunit zstd liblz4-tool file locales libacl1&lt;br /&gt;
 &lt;br /&gt;
 $ sudo locale-gen en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
== Development Code - branch 5.0 &#039;scarthgap&#039; LTS ==&lt;br /&gt;
&lt;br /&gt;
Yocto Project code can be found in the Yocto Project Source Repositories.&lt;br /&gt;
To check out current development code using git:&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/yocto&lt;br /&gt;
 $ git clone git://git.yoctoproject.org/poky -b scarthgap&lt;br /&gt;
&lt;br /&gt;
 poky/&lt;br /&gt;
 ├── bitbake&lt;br /&gt;
 ├── contrib&lt;br /&gt;
 ├── documentation&lt;br /&gt;
 ├── LICENSE&lt;br /&gt;
 ├── LICENSE.GPL-2.0-only&lt;br /&gt;
 ├── LICENSE.MIT&lt;br /&gt;
 ├── MAINTAINERS.md&lt;br /&gt;
 ├── MEMORIAM&lt;br /&gt;
 ├── meta&lt;br /&gt;
 ├── meta-poky&lt;br /&gt;
 ├── meta-selftest&lt;br /&gt;
 ├── meta-skeleton&lt;br /&gt;
 ├── meta-yocto-bsp&lt;br /&gt;
 ├── oe-init-build-env&lt;br /&gt;
 ├── README.hardware.md -&amp;gt; meta-yocto-bsp/README.hardware.md&lt;br /&gt;
 ├── README.md -&amp;gt; README.poky.md&lt;br /&gt;
 ├── README.OE-Core.md&lt;br /&gt;
 ├── README.poky.md -&amp;gt; meta-poky/README.poky.md&lt;br /&gt;
 ├── README.qemu.md&lt;br /&gt;
 ├── scripts&lt;br /&gt;
 └── SECURITY.md&lt;br /&gt;
&lt;br /&gt;
In addition you can install an optional but frequently essential metalayer&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/yocto/poky&lt;br /&gt;
 $ git clone git://git.openembedded.org/meta-openembedded -b scarthgap&lt;br /&gt;
&lt;br /&gt;
== Initializing the Build Environment ==&lt;br /&gt;
&lt;br /&gt;
From the parent directory your Source Directory, initialize your environment and provide a meaningful Build Directory name:&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/yocto/poky&lt;br /&gt;
 $ source oe-init-build-env&lt;br /&gt;
&lt;br /&gt;
At this point, the &#039;&#039;&#039;build&#039;&#039;&#039; directory has been created for you and it is now your current working directory. &lt;br /&gt;
This is the default tree you should have to build.&lt;br /&gt;
&lt;br /&gt;
 poky/&lt;br /&gt;
 ├── bitbake&lt;br /&gt;
 ├── build          &amp;lt;----- run bitbake inside here&lt;br /&gt;
 ├── contrib&lt;br /&gt;
 ├── documentation&lt;br /&gt;
 ├── LICENSE&lt;br /&gt;
 ├── LICENSE.GPL-2.0-only&lt;br /&gt;
 ├── LICENSE.MIT&lt;br /&gt;
 ├── meta&lt;br /&gt;
 ├── meta-poky&lt;br /&gt;
 ├── meta-selftest&lt;br /&gt;
 ├── meta-skeleton&lt;br /&gt;
 ├── meta-yocto-bsp&lt;br /&gt;
 ├── oe-init-build-env&lt;br /&gt;
 ├── README.hardware -&amp;gt; meta-yocto-bsp/README.hardware&lt;br /&gt;
 ├── README.OE-Core&lt;br /&gt;
 ├── README.poky -&amp;gt; meta-poky/README.poky&lt;br /&gt;
 ├── README.qemu&lt;br /&gt;
 └── scripts&lt;br /&gt;
&lt;br /&gt;
== Edit the configuration files ==&lt;br /&gt;
&lt;br /&gt;
Edit $HOME/yocto/poky/build/conf/bblayers.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf&lt;br /&gt;
 # changes incompatibly&lt;br /&gt;
 POKY_BBLAYERS_CONF_VERSION = &amp;quot;2&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 BBPATH = &amp;quot;${TOPDIR}&amp;quot;&lt;br /&gt;
 BBFILES ?= &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 BBLAYERS ?= &amp;quot; \&lt;br /&gt;
  /home/koan/yocto/poky/meta \&lt;br /&gt;
  /home/koan/yocto/poky/meta-poky \&lt;br /&gt;
  /home/koan/yocto/poky/meta-yocto-bsp \&lt;br /&gt;
  /home/koan/yocto/poky/meta-openembedded/meta-oe \&lt;br /&gt;
  &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Remember also to edit the file $HOME/yocto/poky/build/conf/local.conf&lt;br /&gt;
and check the following variables:&lt;br /&gt;
&lt;br /&gt;
 MACHINE ?= &amp;quot;qemuarm&amp;quot;&lt;br /&gt;
 DISTRO ?= &amp;quot;poky&amp;quot;&lt;br /&gt;
 PACKAGE_CLASSES ?= &amp;quot;package_ipk&amp;quot;&lt;br /&gt;
 INHERIT += &amp;quot;rm_work&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Building the Image ==&lt;br /&gt;
&lt;br /&gt;
At this point, you need to select an image to build. &lt;br /&gt;
If this is your first build using the Yocto Project, you should try the smallest and simplest image:&lt;br /&gt;
&lt;br /&gt;
 $ bitbake core-image-minimal  &lt;br /&gt;
&lt;br /&gt;
Now you just wait for the build to finish.&lt;br /&gt;
&lt;br /&gt;
== Starting the QEMU Emulator ==&lt;br /&gt;
&lt;br /&gt;
Before you start the QEMU emulator, be sure you have already to set up the emulation environment. &lt;br /&gt;
&lt;br /&gt;
The following command setup the emulation environment and launch QEMU.&lt;br /&gt;
&lt;br /&gt;
 $ runqemu qemuarm&lt;br /&gt;
&lt;br /&gt;
Or if you prefer, open a new shell terminal, setup the environment again and run&lt;br /&gt;
&lt;br /&gt;
 $ runqemu qemuarm nographic&lt;br /&gt;
&lt;br /&gt;
== Building cross-compiler ==&lt;br /&gt;
&lt;br /&gt;
If you want you can create a re-distribuible cross-compiler targeted at your MACHINE.&lt;br /&gt;
&lt;br /&gt;
 $ bitbake meta-toolchain&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Yocto_Project_my_own_quick_start&amp;diff=373</id>
		<title>Yocto Project my own quick start</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Yocto_Project_my_own_quick_start&amp;diff=373"/>
		<updated>2024-10-05T15:07:56Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* The required packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is an excerpt from [http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Yocto Project Quick Start Copyright © 2010-2020 Linux Foundation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The required packages ==&lt;br /&gt;
&lt;br /&gt;
Packages and package installation vary depending on your development system. In general, you need to have root access and then install the required packages. The next few sections show you how to get set up with the right packages for Ubuntu.&lt;br /&gt;
&lt;br /&gt;
If you have different distributions, please refer to the [https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html Yocto Project Documentation]&lt;br /&gt;
&lt;br /&gt;
You must install essential host packages on your build host. &lt;br /&gt;
The following command installs the host packages based on an Ubuntu distribution:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath \&lt;br /&gt;
 socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping \&lt;br /&gt;
 python3-git python3-jinja2 python3-subunit zstd liblz4-tool file locales libacl1&lt;br /&gt;
 &lt;br /&gt;
 $ sudo locale-gen en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
== Development Code - branch 5.0 &#039;scarthgap&#039; LTS ==&lt;br /&gt;
&lt;br /&gt;
Yocto Project code can be found in the Yocto Project Source Repositories.&lt;br /&gt;
To check out current development code using git:&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/yocto&lt;br /&gt;
 $ git clone git://git.yoctoproject.org/poky -b scarthgap&lt;br /&gt;
&lt;br /&gt;
 poky/&lt;br /&gt;
 ├── bitbake&lt;br /&gt;
 ├── contrib&lt;br /&gt;
 ├── documentation&lt;br /&gt;
 ├── LICENSE&lt;br /&gt;
 ├── LICENSE.GPL-2.0-only&lt;br /&gt;
 ├── LICENSE.MIT&lt;br /&gt;
 ├── meta&lt;br /&gt;
 ├── meta-poky&lt;br /&gt;
 ├── meta-selftest&lt;br /&gt;
 ├── meta-skeleton&lt;br /&gt;
 ├── meta-yocto-bsp&lt;br /&gt;
 ├── oe-init-build-env&lt;br /&gt;
 ├── README.hardware -&amp;gt; meta-yocto-bsp/README.hardware&lt;br /&gt;
 ├── README.OE-Core&lt;br /&gt;
 ├── README.poky -&amp;gt; meta-poky/README.poky&lt;br /&gt;
 ├── README.qemu&lt;br /&gt;
 └── scripts&lt;br /&gt;
&lt;br /&gt;
In addition you can install an optional but frequently essential metalayer&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/yocto/poky&lt;br /&gt;
 $ git clone git://git.openembedded.org/meta-openembedded -b scarthgap&lt;br /&gt;
&lt;br /&gt;
== Initializing the Build Environment ==&lt;br /&gt;
&lt;br /&gt;
From the parent directory your Source Directory, initialize your environment and provide a meaningful Build Directory name:&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/yocto/poky&lt;br /&gt;
 $ source oe-init-build-env&lt;br /&gt;
&lt;br /&gt;
At this point, the &#039;&#039;&#039;build&#039;&#039;&#039; directory has been created for you and it is now your current working directory. &lt;br /&gt;
This is the default tree you should have to build.&lt;br /&gt;
&lt;br /&gt;
 poky/&lt;br /&gt;
 ├── bitbake&lt;br /&gt;
 ├── build          &amp;lt;----- run bitbake inside here&lt;br /&gt;
 ├── contrib&lt;br /&gt;
 ├── documentation&lt;br /&gt;
 ├── LICENSE&lt;br /&gt;
 ├── LICENSE.GPL-2.0-only&lt;br /&gt;
 ├── LICENSE.MIT&lt;br /&gt;
 ├── meta&lt;br /&gt;
 ├── meta-poky&lt;br /&gt;
 ├── meta-selftest&lt;br /&gt;
 ├── meta-skeleton&lt;br /&gt;
 ├── meta-yocto-bsp&lt;br /&gt;
 ├── oe-init-build-env&lt;br /&gt;
 ├── README.hardware -&amp;gt; meta-yocto-bsp/README.hardware&lt;br /&gt;
 ├── README.OE-Core&lt;br /&gt;
 ├── README.poky -&amp;gt; meta-poky/README.poky&lt;br /&gt;
 ├── README.qemu&lt;br /&gt;
 └── scripts&lt;br /&gt;
&lt;br /&gt;
== Edit the configuration files ==&lt;br /&gt;
&lt;br /&gt;
Edit $HOME/yocto/poky/build/conf/bblayers.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf&lt;br /&gt;
 # changes incompatibly&lt;br /&gt;
 POKY_BBLAYERS_CONF_VERSION = &amp;quot;2&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 BBPATH = &amp;quot;${TOPDIR}&amp;quot;&lt;br /&gt;
 BBFILES ?= &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 BBLAYERS ?= &amp;quot; \&lt;br /&gt;
  /home/koan/yocto/poky/meta \&lt;br /&gt;
  /home/koan/yocto/poky/meta-poky \&lt;br /&gt;
  /home/koan/yocto/poky/meta-yocto-bsp \&lt;br /&gt;
  /home/koan/yocto/poky/meta-openembedded/meta-oe \&lt;br /&gt;
  &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Remember also to edit the file $HOME/yocto/poky/build/conf/local.conf&lt;br /&gt;
and check the following variables:&lt;br /&gt;
&lt;br /&gt;
 MACHINE ?= &amp;quot;qemuarm&amp;quot;&lt;br /&gt;
 DISTRO ?= &amp;quot;poky&amp;quot;&lt;br /&gt;
 PACKAGE_CLASSES ?= &amp;quot;package_ipk&amp;quot;&lt;br /&gt;
 INHERIT += &amp;quot;rm_work&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Building the Image ==&lt;br /&gt;
&lt;br /&gt;
At this point, you need to select an image to build. &lt;br /&gt;
If this is your first build using the Yocto Project, you should try the smallest and simplest image:&lt;br /&gt;
&lt;br /&gt;
 $ bitbake core-image-minimal  &lt;br /&gt;
&lt;br /&gt;
Now you just wait for the build to finish.&lt;br /&gt;
&lt;br /&gt;
== Starting the QEMU Emulator ==&lt;br /&gt;
&lt;br /&gt;
Before you start the QEMU emulator, be sure you have already to set up the emulation environment. &lt;br /&gt;
&lt;br /&gt;
The following command setup the emulation environment and launch QEMU.&lt;br /&gt;
&lt;br /&gt;
 $ runqemu qemuarm&lt;br /&gt;
&lt;br /&gt;
Or if you prefer, open a new shell terminal, setup the environment again and run&lt;br /&gt;
&lt;br /&gt;
 $ runqemu qemuarm nographic&lt;br /&gt;
&lt;br /&gt;
== Building cross-compiler ==&lt;br /&gt;
&lt;br /&gt;
If you want you can create a re-distribuible cross-compiler targeted at your MACHINE.&lt;br /&gt;
&lt;br /&gt;
 $ bitbake meta-toolchain&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Yocto_Project_my_own_quick_start&amp;diff=372</id>
		<title>Yocto Project my own quick start</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Yocto_Project_my_own_quick_start&amp;diff=372"/>
		<updated>2024-10-05T15:07:22Z</updated>

		<summary type="html">&lt;p&gt;Koan: branch 5.0 scarthgap&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is an excerpt from [http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Yocto Project Quick Start Copyright © 2010-2020 Linux Foundation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The required packages ==&lt;br /&gt;
&lt;br /&gt;
Packages and package installation vary depending on your development system. In general, you need to have root access and then install the required packages. The next few sections show you how to get set up with the right packages for Ubuntu.&lt;br /&gt;
&lt;br /&gt;
If you have different distributions, please refer to the [https://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Yocto Project Quick Start]&lt;br /&gt;
&lt;br /&gt;
You must install essential host packages on your build host. &lt;br /&gt;
The following command installs the host packages based on an Ubuntu distribution:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath \&lt;br /&gt;
 socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping \&lt;br /&gt;
 python3-git python3-jinja2 python3-subunit zstd liblz4-tool file locales libacl1&lt;br /&gt;
 &lt;br /&gt;
 $ sudo locale-gen en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
== Development Code - branch 5.0 &#039;scarthgap&#039; LTS ==&lt;br /&gt;
&lt;br /&gt;
Yocto Project code can be found in the Yocto Project Source Repositories.&lt;br /&gt;
To check out current development code using git:&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/yocto&lt;br /&gt;
 $ git clone git://git.yoctoproject.org/poky -b scarthgap&lt;br /&gt;
&lt;br /&gt;
 poky/&lt;br /&gt;
 ├── bitbake&lt;br /&gt;
 ├── contrib&lt;br /&gt;
 ├── documentation&lt;br /&gt;
 ├── LICENSE&lt;br /&gt;
 ├── LICENSE.GPL-2.0-only&lt;br /&gt;
 ├── LICENSE.MIT&lt;br /&gt;
 ├── meta&lt;br /&gt;
 ├── meta-poky&lt;br /&gt;
 ├── meta-selftest&lt;br /&gt;
 ├── meta-skeleton&lt;br /&gt;
 ├── meta-yocto-bsp&lt;br /&gt;
 ├── oe-init-build-env&lt;br /&gt;
 ├── README.hardware -&amp;gt; meta-yocto-bsp/README.hardware&lt;br /&gt;
 ├── README.OE-Core&lt;br /&gt;
 ├── README.poky -&amp;gt; meta-poky/README.poky&lt;br /&gt;
 ├── README.qemu&lt;br /&gt;
 └── scripts&lt;br /&gt;
&lt;br /&gt;
In addition you can install an optional but frequently essential metalayer&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/yocto/poky&lt;br /&gt;
 $ git clone git://git.openembedded.org/meta-openembedded -b scarthgap&lt;br /&gt;
&lt;br /&gt;
== Initializing the Build Environment ==&lt;br /&gt;
&lt;br /&gt;
From the parent directory your Source Directory, initialize your environment and provide a meaningful Build Directory name:&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/yocto/poky&lt;br /&gt;
 $ source oe-init-build-env&lt;br /&gt;
&lt;br /&gt;
At this point, the &#039;&#039;&#039;build&#039;&#039;&#039; directory has been created for you and it is now your current working directory. &lt;br /&gt;
This is the default tree you should have to build.&lt;br /&gt;
&lt;br /&gt;
 poky/&lt;br /&gt;
 ├── bitbake&lt;br /&gt;
 ├── build          &amp;lt;----- run bitbake inside here&lt;br /&gt;
 ├── contrib&lt;br /&gt;
 ├── documentation&lt;br /&gt;
 ├── LICENSE&lt;br /&gt;
 ├── LICENSE.GPL-2.0-only&lt;br /&gt;
 ├── LICENSE.MIT&lt;br /&gt;
 ├── meta&lt;br /&gt;
 ├── meta-poky&lt;br /&gt;
 ├── meta-selftest&lt;br /&gt;
 ├── meta-skeleton&lt;br /&gt;
 ├── meta-yocto-bsp&lt;br /&gt;
 ├── oe-init-build-env&lt;br /&gt;
 ├── README.hardware -&amp;gt; meta-yocto-bsp/README.hardware&lt;br /&gt;
 ├── README.OE-Core&lt;br /&gt;
 ├── README.poky -&amp;gt; meta-poky/README.poky&lt;br /&gt;
 ├── README.qemu&lt;br /&gt;
 └── scripts&lt;br /&gt;
&lt;br /&gt;
== Edit the configuration files ==&lt;br /&gt;
&lt;br /&gt;
Edit $HOME/yocto/poky/build/conf/bblayers.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf&lt;br /&gt;
 # changes incompatibly&lt;br /&gt;
 POKY_BBLAYERS_CONF_VERSION = &amp;quot;2&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 BBPATH = &amp;quot;${TOPDIR}&amp;quot;&lt;br /&gt;
 BBFILES ?= &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 BBLAYERS ?= &amp;quot; \&lt;br /&gt;
  /home/koan/yocto/poky/meta \&lt;br /&gt;
  /home/koan/yocto/poky/meta-poky \&lt;br /&gt;
  /home/koan/yocto/poky/meta-yocto-bsp \&lt;br /&gt;
  /home/koan/yocto/poky/meta-openembedded/meta-oe \&lt;br /&gt;
  &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Remember also to edit the file $HOME/yocto/poky/build/conf/local.conf&lt;br /&gt;
and check the following variables:&lt;br /&gt;
&lt;br /&gt;
 MACHINE ?= &amp;quot;qemuarm&amp;quot;&lt;br /&gt;
 DISTRO ?= &amp;quot;poky&amp;quot;&lt;br /&gt;
 PACKAGE_CLASSES ?= &amp;quot;package_ipk&amp;quot;&lt;br /&gt;
 INHERIT += &amp;quot;rm_work&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Building the Image ==&lt;br /&gt;
&lt;br /&gt;
At this point, you need to select an image to build. &lt;br /&gt;
If this is your first build using the Yocto Project, you should try the smallest and simplest image:&lt;br /&gt;
&lt;br /&gt;
 $ bitbake core-image-minimal  &lt;br /&gt;
&lt;br /&gt;
Now you just wait for the build to finish.&lt;br /&gt;
&lt;br /&gt;
== Starting the QEMU Emulator ==&lt;br /&gt;
&lt;br /&gt;
Before you start the QEMU emulator, be sure you have already to set up the emulation environment. &lt;br /&gt;
&lt;br /&gt;
The following command setup the emulation environment and launch QEMU.&lt;br /&gt;
&lt;br /&gt;
 $ runqemu qemuarm&lt;br /&gt;
&lt;br /&gt;
Or if you prefer, open a new shell terminal, setup the environment again and run&lt;br /&gt;
&lt;br /&gt;
 $ runqemu qemuarm nographic&lt;br /&gt;
&lt;br /&gt;
== Building cross-compiler ==&lt;br /&gt;
&lt;br /&gt;
If you want you can create a re-distribuible cross-compiler targeted at your MACHINE.&lt;br /&gt;
&lt;br /&gt;
 $ bitbake meta-toolchain&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Yocto_Project_my_own_quick_start&amp;diff=371</id>
		<title>Yocto Project my own quick start</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Yocto_Project_my_own_quick_start&amp;diff=371"/>
		<updated>2024-10-05T15:05:23Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* The required packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is an excerpt from [http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Yocto Project Quick Start Copyright © 2010-2020 Linux Foundation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The required packages ==&lt;br /&gt;
&lt;br /&gt;
Packages and package installation vary depending on your development system. In general, you need to have root access and then install the required packages. The next few sections show you how to get set up with the right packages for Ubuntu.&lt;br /&gt;
&lt;br /&gt;
If you have different distributions, please refer to the [https://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html Yocto Project Quick Start]&lt;br /&gt;
&lt;br /&gt;
You must install essential host packages on your build host. &lt;br /&gt;
The following command installs the host packages based on an Ubuntu distribution:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath \&lt;br /&gt;
 socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping \&lt;br /&gt;
 python3-git python3-jinja2 python3-subunit zstd liblz4-tool file locales libacl1&lt;br /&gt;
 &lt;br /&gt;
 $ sudo locale-gen en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
== Development Code - branch 3.1 &#039;dunfell&#039; LTS ==&lt;br /&gt;
&lt;br /&gt;
Yocto Project code can be found in the Yocto Project Source Repositories.&lt;br /&gt;
To check out current development code using git:&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/yocto&lt;br /&gt;
 $ git clone git://git.yoctoproject.org/poky -b dunfell&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/yocto/poky&lt;br /&gt;
 $ git clone git://git.openembedded.org/meta-openembedded -b dunfell&lt;br /&gt;
&lt;br /&gt;
 poky/&lt;br /&gt;
 ├── bitbake&lt;br /&gt;
 ├── contrib&lt;br /&gt;
 ├── documentation&lt;br /&gt;
 ├── LICENSE&lt;br /&gt;
 ├── LICENSE.GPL-2.0-only&lt;br /&gt;
 ├── LICENSE.MIT&lt;br /&gt;
 ├── meta&lt;br /&gt;
 ├── meta-poky&lt;br /&gt;
 ├── meta-selftest&lt;br /&gt;
 ├── meta-skeleton&lt;br /&gt;
 ├── meta-yocto-bsp&lt;br /&gt;
 ├── oe-init-build-env&lt;br /&gt;
 ├── README.hardware -&amp;gt; meta-yocto-bsp/README.hardware&lt;br /&gt;
 ├── README.OE-Core&lt;br /&gt;
 ├── README.poky -&amp;gt; meta-poky/README.poky&lt;br /&gt;
 ├── README.qemu&lt;br /&gt;
 └── scripts&lt;br /&gt;
&lt;br /&gt;
== Initializing the Build Environment ==&lt;br /&gt;
&lt;br /&gt;
From the parent directory your Source Directory, initialize your environment and provide a meaningful Build Directory name:&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/yocto/poky&lt;br /&gt;
 $ source oe-init-build-env&lt;br /&gt;
&lt;br /&gt;
At this point, the &#039;&#039;&#039;build&#039;&#039;&#039; directory has been created for you and it is now your current working directory. &lt;br /&gt;
This is the default tree you should have to build.&lt;br /&gt;
&lt;br /&gt;
 poky/&lt;br /&gt;
 ├── bitbake&lt;br /&gt;
 ├── build          &amp;lt;----- run bitbake inside here&lt;br /&gt;
 ├── contrib&lt;br /&gt;
 ├── documentation&lt;br /&gt;
 ├── LICENSE&lt;br /&gt;
 ├── LICENSE.GPL-2.0-only&lt;br /&gt;
 ├── LICENSE.MIT&lt;br /&gt;
 ├── meta&lt;br /&gt;
 ├── meta-poky&lt;br /&gt;
 ├── meta-selftest&lt;br /&gt;
 ├── meta-skeleton&lt;br /&gt;
 ├── meta-yocto-bsp&lt;br /&gt;
 ├── oe-init-build-env&lt;br /&gt;
 ├── README.hardware -&amp;gt; meta-yocto-bsp/README.hardware&lt;br /&gt;
 ├── README.OE-Core&lt;br /&gt;
 ├── README.poky -&amp;gt; meta-poky/README.poky&lt;br /&gt;
 ├── README.qemu&lt;br /&gt;
 └── scripts&lt;br /&gt;
&lt;br /&gt;
== Edit the configuration files ==&lt;br /&gt;
&lt;br /&gt;
Edit $HOME/yocto/poky/build/conf/bblayers.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf&lt;br /&gt;
 # changes incompatibly&lt;br /&gt;
 POKY_BBLAYERS_CONF_VERSION = &amp;quot;2&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 BBPATH = &amp;quot;${TOPDIR}&amp;quot;&lt;br /&gt;
 BBFILES ?= &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 BBLAYERS ?= &amp;quot; \&lt;br /&gt;
  /home/koan/yocto/poky/meta \&lt;br /&gt;
  /home/koan/yocto/poky/meta-poky \&lt;br /&gt;
  /home/koan/yocto/poky/meta-yocto-bsp \&lt;br /&gt;
  /home/koan/yocto/poky/meta-openembedded/meta-oe \&lt;br /&gt;
  &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Remember also to edit the file $HOME/yocto/poky/build/conf/local.conf&lt;br /&gt;
and check the following variables:&lt;br /&gt;
&lt;br /&gt;
 MACHINE ?= &amp;quot;qemuarm&amp;quot;&lt;br /&gt;
 DISTRO ?= &amp;quot;poky&amp;quot;&lt;br /&gt;
 PACKAGE_CLASSES ?= &amp;quot;package_ipk&amp;quot;&lt;br /&gt;
 INHERIT += &amp;quot;rm_work&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Building the Image ==&lt;br /&gt;
&lt;br /&gt;
At this point, you need to select an image to build. &lt;br /&gt;
If this is your first build using the Yocto Project, you should try the smallest and simplest image:&lt;br /&gt;
&lt;br /&gt;
 $ bitbake core-image-minimal  &lt;br /&gt;
&lt;br /&gt;
Now you just wait for the build to finish.&lt;br /&gt;
&lt;br /&gt;
== Starting the QEMU Emulator ==&lt;br /&gt;
&lt;br /&gt;
Before you start the QEMU emulator, be sure you have already to set up the emulation environment. &lt;br /&gt;
&lt;br /&gt;
The following command setup the emulation environment and launch QEMU.&lt;br /&gt;
&lt;br /&gt;
 $ runqemu qemuarm&lt;br /&gt;
&lt;br /&gt;
Or if you prefer, open a new shell terminal, setup the environment again and run&lt;br /&gt;
&lt;br /&gt;
 $ runqemu qemuarm nographic&lt;br /&gt;
&lt;br /&gt;
== Building cross-compiler ==&lt;br /&gt;
&lt;br /&gt;
If you want you can create a re-distribuible cross-compiler targeted at your MACHINE.&lt;br /&gt;
&lt;br /&gt;
 $ bitbake meta-toolchain&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Add_a_systemd_service_file_into_a_Yocto_image&amp;diff=370</id>
		<title>Add a systemd service file into a Yocto image</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Add_a_systemd_service_file_into_a_Yocto_image&amp;diff=370"/>
		<updated>2024-09-26T21:50:48Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Add a systemd service file into a Yocto image */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Add a systemd service file into a Yocto image ==&lt;br /&gt;
&lt;br /&gt;
During [https://koansoftware.com/training KOAN training] we use a [https://github.com/koansoftware/meta-training meta-training] layer to create an &#039;&#039;&#039;example.bb&#039;&#039;&#039; recipe building a &#039;&#039;&#039;helloworld&#039;&#039;&#039; executable.&lt;br /&gt;
&lt;br /&gt;
In this article we want to create a recipe to add a systemd service file that starts such &#039;&#039;&#039;helloworld&#039;&#039;&#039; executable.&lt;br /&gt;
&lt;br /&gt;
Read more details in [https://koansoftware.com/guide-to-use-systemd-with-yocto-project/ this post] published into [https://koansoftware.com/ KOAN website].&lt;br /&gt;
&lt;br /&gt;
== Enable systemd in the final image ==&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;&#039;systemd&#039;&#039;&#039; is not enabled by default in your Yocto Project final image you are very likely still using SystemV.&lt;br /&gt;
Add the following lines to the &#039;&#039;&#039;local.conf&#039;&#039;&#039; to enable &#039;&#039;&#039;systemd&#039;&#039;&#039; as default init manager.&lt;br /&gt;
&lt;br /&gt;
 DISTRO_FEATURES:append = &amp;quot; systemd&amp;quot;&lt;br /&gt;
 DISTRO_FEATURES_BACKFILL_CONSIDERED += &amp;quot;sysvinit&amp;quot;&lt;br /&gt;
 VIRTUAL-RUNTIME_init_manager = &amp;quot;systemd&amp;quot;&lt;br /&gt;
 VIRTUAL-RUNTIME_initscripts = &amp;quot;systemd-compat-units&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Create a recipe to add a systemd service file ==&lt;br /&gt;
&lt;br /&gt;
For the &#039;&#039;&#039;helloworld&#039;&#039;&#039; application, we don’t necessarily need a service file as this application does not provide services to other parts of this system. However, for example purposes, we will create an autostart script to run hello at boot time. The output from this invocation will be available in the systemd logs using the &#039;&#039;&#039;journalctl&#039;&#039;&#039; command. This service file can also be manually invoked at runtime.&lt;br /&gt;
&lt;br /&gt;
First, we will create the service file itself which is read and processed by systemd:&lt;br /&gt;
&lt;br /&gt;
 mkdir -p meta-training/recipes-example/systemd/files/&lt;br /&gt;
&lt;br /&gt;
Edit a new configuration file &lt;br /&gt;
 gedit meta-training/recipes-example/systemd/files/hello.service&lt;br /&gt;
&lt;br /&gt;
containing the following code&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=GNU Hello World startup script for KOAN training course&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=/usr/bin/hello&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
Now let’s add the recipe settings to integrate this into the systemd configuration for our build:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edit a new configuration file &lt;br /&gt;
 gedit meta-training/recipes-example/systemd/hellosystemd_1.00.bb&lt;br /&gt;
&lt;br /&gt;
containing the following code&lt;br /&gt;
&lt;br /&gt;
 LICENSE = &amp;quot;CLOSED&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 inherit systemd&lt;br /&gt;
 &lt;br /&gt;
 SYSTEMD_AUTO_ENABLE = &amp;quot;enable&amp;quot;&lt;br /&gt;
 SYSTEMD_SERVICE:${PN} = &amp;quot;hello.service&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 SRC_URI:append = &amp;quot; file://hello.service &amp;quot;&lt;br /&gt;
 FILES:${PN} += &amp;quot;${systemd_unitdir}/system/hello.service&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 do_install:append() {&lt;br /&gt;
   install -d ${D}/${systemd_unitdir}/system&lt;br /&gt;
   install -m 0644 ${WORKDIR}/hello.service ${D}/${systemd_unitdir}/system&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Add the recipe to the image editing local.conf&lt;br /&gt;
&lt;br /&gt;
 IMAGE_INSTALL:append = &amp;quot; hellosystemd&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now rebuild your image&lt;br /&gt;
&lt;br /&gt;
 bitbake core-image-minimal&lt;br /&gt;
&lt;br /&gt;
Boot and verify that the service started and the output is visible in the systemd logs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= UPDATE - Selecting an Initialization Manager =&lt;br /&gt;
&lt;br /&gt;
Instead of the previous settings you can use the following &#039;&#039;&#039;INIT_MANAGER&#039;&#039;&#039; variable to select your favorite &#039;&#039;&#039;init&#039;&#039;&#039; mechanism.&lt;br /&gt;
&lt;br /&gt;
By default, the Yocto Project uses &#039;&#039;&#039;SysVinit&#039;&#039;&#039; as the initialization manager. There is also support for &#039;&#039;&#039;systemd&#039;&#039;&#039;, which is a full replacement for init with parallel starting of services, reduced shell overhead, increased security and resource limits for services, and other features that are used by many distributions.&lt;br /&gt;
&lt;br /&gt;
In comparison to &#039;&#039;&#039;SysVinit&#039;&#039;&#039;, &#039;&#039;&#039;systemd&#039;&#039;&#039; treats components as units. Using units is a broader concept as compared to using a service. A unit includes several different types of entities. Service is one of the types of entities. The &#039;&#039;&#039;runlevel&#039;&#039;&#039; concept in &#039;&#039;&#039;SysVinit&#039;&#039;&#039; corresponds to the concept of a target in &#039;&#039;&#039;systemd&#039;&#039;&#039;, where target is also a type of supported unit.&lt;br /&gt;
&lt;br /&gt;
In systems with &#039;&#039;&#039;SysVinit&#039;&#039;&#039; services load sequentially (i.e. one by one) during init and parallelization is not supported. With &#039;&#039;&#039;systemd&#039;&#039;&#039;, services start in parallel. This method can have an impact on the startup performance of a given service, though &#039;&#039;&#039;systemd&#039;&#039;&#039; will also provide more services by default, therefore increasing the total system boot time. &#039;&#039;&#039;systemd&#039;&#039;&#039; also substantially increases system size because of its multiple components and the extra dependencies it pulls.&lt;br /&gt;
&lt;br /&gt;
== Using SysVinit with udev ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SysVinit&#039;&#039;&#039; with the udev device manager corresponds to the default setting in Poky. This corresponds to setting:&lt;br /&gt;
&lt;br /&gt;
 INIT_MANAGER = &amp;quot;sysvinit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Using systemd ==&lt;br /&gt;
&lt;br /&gt;
The last option is to use &#039;&#039;&#039;systemd&#039;&#039;&#039; together with the udev device manager. This is the most powerful and versatile solution, especially for more complex systems:&lt;br /&gt;
&lt;br /&gt;
 INIT_MANAGER = &amp;quot;systemd&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Controlling systemd from the target command line ==&lt;br /&gt;
&lt;br /&gt;
Here is a quick reference for controling &#039;&#039;&#039;systemd&#039;&#039;&#039; from the command line on the target. Instead of opening and sometimes modifying files, most interaction happens through the &#039;&#039;&#039;systemctl&#039;&#039;&#039; and &#039;&#039;&#039;journalctl&#039;&#039;&#039; commands:&lt;br /&gt;
&lt;br /&gt;
    systemctl status: show the status of all services&lt;br /&gt;
    systemctl status &amp;lt;service&amp;gt;: show the status of one service&lt;br /&gt;
    systemctl [start|stop] &amp;lt;service&amp;gt;: start or stop a service&lt;br /&gt;
    systemctl [enable|disable] &amp;lt;service&amp;gt;: enable or disable a service at boot time&lt;br /&gt;
    systemctl list-units: list all available units&lt;br /&gt;
    journalctl -a: show all logs for all services&lt;br /&gt;
    journalctl -f: show only the last log entries, and keep printing updates as they arrive&lt;br /&gt;
    journalctl -u: show only logs from a particular service&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-INIT_MANAGER&lt;br /&gt;
&lt;br /&gt;
https://docs.yoctoproject.org/dev/dev-manual/init-manager.html#init-manager&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Manage_the_GPIO_lines_in_C_with_libgpiod&amp;diff=369</id>
		<title>Manage the GPIO lines in C with libgpiod</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Manage_the_GPIO_lines_in_C_with_libgpiod&amp;diff=369"/>
		<updated>2024-09-12T09:07:49Z</updated>

		<summary type="html">&lt;p&gt;Koan: Created page with &amp;quot;== Manage the GPIO lines in C with libgpiod ==  Since linux 4.8 the GPIO sysfs interface is deprecated. User space should use the character device instead.   &amp;#039;&amp;#039;&amp;#039;libgpiod&amp;#039;&amp;#039;&amp;#039; en...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Manage the GPIO lines in C with libgpiod ==&lt;br /&gt;
&lt;br /&gt;
Since linux 4.8 the GPIO sysfs interface is deprecated. User space should use the character device instead. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;libgpiod&#039;&#039;&#039; encapsulates the ioctl calls and data structures behind a straightforward API.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Manage the GPIO using the C language ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- [https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/README libgpiod documentation]&lt;br /&gt;
&lt;br /&gt;
- [https://github.com/starnight/libgpiod-example libgpiod-example git repo]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  #include &amp;lt;gpiod.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  #ifndef	CONSUMER&lt;br /&gt;
  #define	CONSUMER	&amp;quot;Consumer&amp;quot;&lt;br /&gt;
  #endif&lt;br /&gt;
  &lt;br /&gt;
  int main(int argc, char **argv)&lt;br /&gt;
  {&lt;br /&gt;
    char *chipname = &amp;quot;gpiochip0&amp;quot;;&lt;br /&gt;
    unsigned int line_num = 23;	// GPIO Pin #23&lt;br /&gt;
    unsigned int val;&lt;br /&gt;
    struct gpiod_chip *chip;&lt;br /&gt;
    struct gpiod_line *line;&lt;br /&gt;
    int i, ret;&lt;br /&gt;
  &lt;br /&gt;
    chip = gpiod_chip_open_by_name(chipname);&lt;br /&gt;
    if (!chip) {&lt;br /&gt;
      perror(&amp;quot;Open chip failed\n&amp;quot;);&lt;br /&gt;
      goto end;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    line = gpiod_chip_get_line(chip, line_num);&lt;br /&gt;
    if (!line) {&lt;br /&gt;
      perror(&amp;quot;Get line failed\n&amp;quot;);&lt;br /&gt;
      goto close_chip;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    ret = gpiod_line_request_output(line, CONSUMER, 0);&lt;br /&gt;
    if (ret &amp;lt; 0) {&lt;br /&gt;
      perror(&amp;quot;Request line as output failed\n&amp;quot;);&lt;br /&gt;
      goto release_line;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    /* Blink 20 times */&lt;br /&gt;
    val = 0;&lt;br /&gt;
    for (i = 20; i &amp;gt; 0; i--) {&lt;br /&gt;
      ret = gpiod_line_set_value(line, val);&lt;br /&gt;
      if (ret &amp;lt; 0) {&lt;br /&gt;
        perror(&amp;quot;Set line output failed\n&amp;quot;);&lt;br /&gt;
        goto release_line;&lt;br /&gt;
      }&lt;br /&gt;
      printf(&amp;quot;Output %u on line #%u\n&amp;quot;, val, line_num);&lt;br /&gt;
      sleep(1);&lt;br /&gt;
      val = !val;&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  release_line:&lt;br /&gt;
    gpiod_line_release(line);&lt;br /&gt;
  close_chip:&lt;br /&gt;
    gpiod_chip_close(chip);&lt;br /&gt;
  end:&lt;br /&gt;
    return 0;&lt;br /&gt;
  }&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=368</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=368"/>
		<updated>2024-09-12T08:59:21Z</updated>

		<summary type="html">&lt;p&gt;Koan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome on [https://koansoftware.com Koan Software] official wiki&lt;br /&gt;
&lt;br /&gt;
== KOAN Embedded Software Engineering == &lt;br /&gt;
&lt;br /&gt;
[https://koansoftware.com KOAN] is an Italian software house, specialized in embedded and real time Linux software solutions on RISC platforms of the ARM family (Raspberry, Atmel, Freescale, NXP). Founded on 1996 from diversified experiences, is a supplier of embedded software systems for industrial automation, telecommunications, automotive, mechatronics and aerospace.&lt;br /&gt;
&lt;br /&gt;
== What is this wiki? == &lt;br /&gt;
This is a collection of useful notes about Yocto Project and OpenEmbedded, GNU/Linux distributions aimed for embedded devices developed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem solving - Howto ==&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Setup NFS root filesystem]]&lt;br /&gt;
* [[Setup an external toolchain with Yocto]]&lt;br /&gt;
* [[Fixing Perl Locale Errors in a Clean Ubuntu Install]]&lt;br /&gt;
* [[Using VMware Player to run Linux training]]&lt;br /&gt;
* [[Issues running python on Linux]]&lt;br /&gt;
* [[Error Initialize GIT git init --initial-branch=main]]&lt;br /&gt;
* [[repo issue &amp;quot;def print(self, *args, **kwargs):&amp;quot;]]&lt;br /&gt;
* [[Replacement for command ldd on Linux]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Core ==&lt;br /&gt;
* [[Submit patches to Openembedded]] &lt;br /&gt;
* [http://openembedded.org/wiki/Commit_Patch_Message_Guidelines Commit Patch Message Guidelines]&lt;br /&gt;
* [[OE-Core Standalone Setup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Debugging ==&lt;br /&gt;
* [[Openembedded debugging]]&lt;br /&gt;
* [[Packages information list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto Project ==&lt;br /&gt;
* [[Yocto Project my own quick start]] &lt;br /&gt;
* [[Yocto versus Poky versus Angstrom]]&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html Yocto Project reference Manual]&lt;br /&gt;
* [http://git.yoctoproject.org/ Yocto source Repositories]&lt;br /&gt;
* [http://layers.openembedded.org OpenEmbedded layers index]&lt;br /&gt;
* [https://wiki.yoctoproject.org/wiki/Releases Yocto version releases]&lt;br /&gt;
* [http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Migrating metadata to OE-Core]&lt;br /&gt;
* [[OE/Yocto prebuilt toolchains]]&lt;br /&gt;
* [[Howto build a kernel module out of the kernel tree]]&lt;br /&gt;
* [[Howto speed up Yocto build]]&lt;br /&gt;
* [[bitbake options]]&lt;br /&gt;
* [[Directories and installation variables]]&lt;br /&gt;
* [[How to add libstdc++ to a Yocto (Poky) image]]&lt;br /&gt;
* [[How to run a script at boot automatically]]&lt;br /&gt;
* [[How to run a systemd script at boot automatically]]&lt;br /&gt;
* [[Create patches using quilt]]&lt;br /&gt;
* [[Building Software from an External Source]]&lt;br /&gt;
* [[opkg command options]]&lt;br /&gt;
* [[Managing RDEPENDS into a recipe]]&lt;br /&gt;
* [[Extract the list of packages into a Yocto image]]&lt;br /&gt;
* [[Toaster setup and usage]]&lt;br /&gt;
* [[Python assignment operators]]&lt;br /&gt;
* [[Skip connectivity checks]]&lt;br /&gt;
* [[Set default root password]]&lt;br /&gt;
* [[Yocto package management]]&lt;br /&gt;
* [[Yocto build on a cluster with IceCC]]&lt;br /&gt;
* [[Add native gcc to the target image]]&lt;br /&gt;
* [[List IPK package depencencies]]&lt;br /&gt;
* [[Yocto Project what I wish I&#039;d known]]&lt;br /&gt;
* [[Using devtool to modify recipes in Yocto]]&lt;br /&gt;
* [[How to include uEnv.txt in Yocto image]]&lt;br /&gt;
* [[Add build information into a Yocto image]]&lt;br /&gt;
* [[Add a systemd service file into a Yocto image]]&lt;br /&gt;
* [[Yocto Project licenses for LIC_FILES_CHKSUM]]&lt;br /&gt;
* [[Set Proprietary license for a recipe]]&lt;br /&gt;
* [[Yocto sstate usage summary to the build]]&lt;br /&gt;
* [[Upgrade to Yocto honister 3.4]]&lt;br /&gt;
* [[Override syntax change from Yocto honister 3.4]]&lt;br /&gt;
* [[Modify the linux kernel with configuration fragments in Yocto]]&lt;br /&gt;
* [[Add a debug banner in a Yocto recipe]]&lt;br /&gt;
* [[How to trace a variable setting with bitbake-getvar]]&lt;br /&gt;
* [[How to detect the Yocto version using bitbake]]&lt;br /&gt;
* [[Support other languages and keyboards than English in Yocto]]&lt;br /&gt;
* [[List the files shipped by your recipe]]&lt;br /&gt;
* [[How to run CVE checks using the Yocto Project]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Many other details are available in the [https://wiki.yoctoproject.org/wiki/Technical_FAQ Yocto Project wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Linux kernel ==&lt;br /&gt;
* [[Kernel message logging with printk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== C/C++ userspace ==&lt;br /&gt;
* [[Manage the GPIO lines in C with libgpiod]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Microsoft .NET and Mono ==&lt;br /&gt;
* [[Embedded Linux .NET applications with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
* [[Install Qt 5 on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and SBC ==&lt;br /&gt;
* [[iMX6 definitive GPIO guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [[ARM cores list]]&lt;br /&gt;
* [[systemd vs sysvinit]]&lt;br /&gt;
* [http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ How to create and submit Linux kernel patch using GIT]&lt;br /&gt;
* [[Development with VMware]]&lt;br /&gt;
* [[How to Shrink a VirtualBox Virtual Machine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
* [https://koansoftware.com/company/ Who we are]&lt;br /&gt;
&lt;br /&gt;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KoanSoftware(R) and KaeilOS(R) are registered trademarks of KOAN sas - Bergamo, ITALY &lt;br /&gt;
&lt;br /&gt;
All contents of this website are released under the [http://creativecommons.org/licenses/by-sa/3.0/deed.en_US Creative Commons Attribution-ShareAlike 3.0 Unported License]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=367</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=367"/>
		<updated>2024-08-26T07:31:35Z</updated>

		<summary type="html">&lt;p&gt;Koan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome on [https://koansoftware.com Koan Software] official wiki&lt;br /&gt;
&lt;br /&gt;
== KOAN Embedded Software Engineering == &lt;br /&gt;
&lt;br /&gt;
[https://koansoftware.com KOAN] is an Italian software house, specialized in embedded and real time Linux software solutions on RISC platforms of the ARM family (Raspberry, Atmel, Freescale, NXP). Founded on 1996 from diversified experiences, is a supplier of embedded software systems for industrial automation, telecommunications, automotive, mechatronics and aerospace.&lt;br /&gt;
&lt;br /&gt;
== What is this wiki? == &lt;br /&gt;
This is a collection of useful notes about Yocto Project and OpenEmbedded, GNU/Linux distributions aimed for embedded devices developed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem solving - Howto ==&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Setup NFS root filesystem]]&lt;br /&gt;
* [[Setup an external toolchain with Yocto]]&lt;br /&gt;
* [[Fixing Perl Locale Errors in a Clean Ubuntu Install]]&lt;br /&gt;
* [[Using VMware Player to run Linux training]]&lt;br /&gt;
* [[Issues running python on Linux]]&lt;br /&gt;
* [[Error Initialize GIT git init --initial-branch=main]]&lt;br /&gt;
* [[repo issue &amp;quot;def print(self, *args, **kwargs):&amp;quot;]]&lt;br /&gt;
* [[Replacement for command ldd on Linux]]&lt;br /&gt;
&lt;br /&gt;
== Openembedded Core ==&lt;br /&gt;
* [[Submit patches to Openembedded]] &lt;br /&gt;
* [http://openembedded.org/wiki/Commit_Patch_Message_Guidelines Commit Patch Message Guidelines]&lt;br /&gt;
* [[OE-Core Standalone Setup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Debugging ==&lt;br /&gt;
* [[Openembedded debugging]]&lt;br /&gt;
* [[Packages information list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto Project ==&lt;br /&gt;
* [[Yocto Project my own quick start]] &lt;br /&gt;
* [[Yocto versus Poky versus Angstrom]]&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html Yocto Project reference Manual]&lt;br /&gt;
* [http://git.yoctoproject.org/ Yocto source Repositories]&lt;br /&gt;
* [http://layers.openembedded.org OpenEmbedded layers index]&lt;br /&gt;
* [https://wiki.yoctoproject.org/wiki/Releases Yocto version releases]&lt;br /&gt;
* [http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Migrating metadata to OE-Core]&lt;br /&gt;
* [[OE/Yocto prebuilt toolchains]]&lt;br /&gt;
* [[Howto build a kernel module out of the kernel tree]]&lt;br /&gt;
* [[Howto speed up Yocto build]]&lt;br /&gt;
* [[bitbake options]]&lt;br /&gt;
* [[Directories and installation variables]]&lt;br /&gt;
* [[How to add libstdc++ to a Yocto (Poky) image]]&lt;br /&gt;
* [[How to run a script at boot automatically]]&lt;br /&gt;
* [[How to run a systemd script at boot automatically]]&lt;br /&gt;
* [[Create patches using quilt]]&lt;br /&gt;
* [[Building Software from an External Source]]&lt;br /&gt;
* [[opkg command options]]&lt;br /&gt;
* [[Managing RDEPENDS into a recipe]]&lt;br /&gt;
* [[Extract the list of packages into a Yocto image]]&lt;br /&gt;
* [[Toaster setup and usage]]&lt;br /&gt;
* [[Python assignment operators]]&lt;br /&gt;
* [[Skip connectivity checks]]&lt;br /&gt;
* [[Set default root password]]&lt;br /&gt;
* [[Yocto package management]]&lt;br /&gt;
* [[Yocto build on a cluster with IceCC]]&lt;br /&gt;
* [[Add native gcc to the target image]]&lt;br /&gt;
* [[List IPK package depencencies]]&lt;br /&gt;
* [[Yocto Project what I wish I&#039;d known]]&lt;br /&gt;
* [[Using devtool to modify recipes in Yocto]]&lt;br /&gt;
* [[How to include uEnv.txt in Yocto image]]&lt;br /&gt;
* [[Add build information into a Yocto image]]&lt;br /&gt;
* [[Add a systemd service file into a Yocto image]]&lt;br /&gt;
* [[Yocto Project licenses for LIC_FILES_CHKSUM]]&lt;br /&gt;
* [[Set Proprietary license for a recipe]]&lt;br /&gt;
* [[Yocto sstate usage summary to the build]]&lt;br /&gt;
* [[Upgrade to Yocto honister 3.4]]&lt;br /&gt;
* [[Override syntax change from Yocto honister 3.4]]&lt;br /&gt;
* [[Modify the linux kernel with configuration fragments in Yocto]]&lt;br /&gt;
* [[Add a debug banner in a Yocto recipe]]&lt;br /&gt;
* [[How to trace a variable setting with bitbake-getvar]]&lt;br /&gt;
* [[How to detect the Yocto version using bitbake]]&lt;br /&gt;
* [[Support other languages and keyboards than English in Yocto]]&lt;br /&gt;
* [[List the files shipped by your recipe]]&lt;br /&gt;
* [[How to run CVE checks using the Yocto Project]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Many other details are available in the [https://wiki.yoctoproject.org/wiki/Technical_FAQ Yocto Project wiki]&lt;br /&gt;
&lt;br /&gt;
== Linux kernel ==&lt;br /&gt;
* [[Kernel message logging with printk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Microsoft .NET and Mono ==&lt;br /&gt;
* [[Embedded Linux .NET applications with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
* [[Install Qt 5 on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and SBC ==&lt;br /&gt;
* [[iMX6 definitive GPIO guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [[ARM cores list]]&lt;br /&gt;
* [[systemd vs sysvinit]]&lt;br /&gt;
* [http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ How to create and submit Linux kernel patch using GIT]&lt;br /&gt;
* [[Development with VMware]]&lt;br /&gt;
* [[How to Shrink a VirtualBox Virtual Machine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
* [https://koansoftware.com/company/ Who we are]&lt;br /&gt;
&lt;br /&gt;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KoanSoftware(R) and KaeilOS(R) are registered trademarks of KOAN sas - Bergamo, ITALY &lt;br /&gt;
&lt;br /&gt;
All contents of this website are released under the [http://creativecommons.org/licenses/by-sa/3.0/deed.en_US Creative Commons Attribution-ShareAlike 3.0 Unported License]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=File:Koan-header.jpg&amp;diff=366</id>
		<title>File:Koan-header.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=File:Koan-header.jpg&amp;diff=366"/>
		<updated>2024-08-26T07:12:58Z</updated>

		<summary type="html">&lt;p&gt;Koan: KOAN embedded software engineering&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;KOAN embedded software engineering&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=File:Koan-header.png&amp;diff=365</id>
		<title>File:Koan-header.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=File:Koan-header.png&amp;diff=365"/>
		<updated>2024-08-26T07:10:49Z</updated>

		<summary type="html">&lt;p&gt;Koan: KOAN embedded software engineering&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;KOAN embedded software engineering&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=MediaWiki:Sidebar&amp;diff=364</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=MediaWiki:Sidebar&amp;diff=364"/>
		<updated>2024-08-26T06:56:47Z</updated>

		<summary type="html">&lt;p&gt;Koan: Added link to KOAN website&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** https://www.koansoftware.com|KOAN website&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=How_to_run_CVE_checks_using_the_Yocto_Project&amp;diff=363</id>
		<title>How to run CVE checks using the Yocto Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=How_to_run_CVE_checks_using_the_Yocto_Project&amp;diff=363"/>
		<updated>2024-07-18T15:11:00Z</updated>

		<summary type="html">&lt;p&gt;Koan: Created page with &amp;quot;== How to run CVE checks using the Yocto Project ==  Enable CVE check  The Yocto Project provides a &amp;#039;&amp;#039;&amp;#039;cve-check&amp;#039;&amp;#039;&amp;#039; class which can be enabled to perform scans on packages for...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to run CVE checks using the Yocto Project ==&lt;br /&gt;
&lt;br /&gt;
Enable CVE check&lt;br /&gt;
&lt;br /&gt;
The Yocto Project provides a &#039;&#039;&#039;cve-check&#039;&#039;&#039; class which can be enabled to perform scans on packages for public CVE’s. &lt;br /&gt;
&lt;br /&gt;
It is possible to enable this feature to run a scan of packages but also on images.&lt;br /&gt;
&lt;br /&gt;
To enable the CVE check you can add the following to e.g local.conf:&lt;br /&gt;
&lt;br /&gt;
  INHERIT += &amp;quot;cve-check&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Then run&lt;br /&gt;
&lt;br /&gt;
 bitbake --runall cve_check core-image-minimal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will get to the output a list of unpatched CVE’s where found and several log files&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Complete CVE report&#039;&#039;&#039; summary created at: .../&#039;&#039;&#039;build/tmp/log/cve/cve-summary&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Complete CVE JSON report&#039;&#039;&#039; summary created at: .../&#039;&#039;&#039;build/tmp/log/cve/cve-summary.json&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=362</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=362"/>
		<updated>2024-07-18T15:05:51Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Yocto Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome on [https://koansoftware.com Koan Software] official wiki&lt;br /&gt;
&lt;br /&gt;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KoanSoftware(R) and KaeilOS(R) are registered trademarks of KOAN sas - Bergamo, ITALY &lt;br /&gt;
&lt;br /&gt;
All contents of this website are released under the [http://creativecommons.org/licenses/by-sa/3.0/deed.en_US Creative Commons Attribution-ShareAlike 3.0 Unported License]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== KOAN Embedded Software Engineering == &lt;br /&gt;
&lt;br /&gt;
[https://koansoftware.com KOAN] is an Italian software house, specialized in embedded and real time Linux software solutions on RISC platforms of the ARM family (Raspberry, Atmel, Freescale, NXP). Founded on 1996 from diversified experiences, is a supplier of embedded software systems for industrial automation, telecommunications, automotive, mechatronics and aerospace.&lt;br /&gt;
&lt;br /&gt;
== What is this wiki? == &lt;br /&gt;
This is a collection of useful notes about Yocto Project and OpenEmbedded, GNU/Linux distributions aimed for embedded devices developed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem solving - Howto ==&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Setup NFS root filesystem]]&lt;br /&gt;
* [[Setup an external toolchain with Yocto]]&lt;br /&gt;
* [[Fixing Perl Locale Errors in a Clean Ubuntu Install]]&lt;br /&gt;
* [[Using VMware Player to run Linux training]]&lt;br /&gt;
* [[Issues running python on Linux]]&lt;br /&gt;
* [[Error Initialize GIT git init --initial-branch=main]]&lt;br /&gt;
* [[repo issue &amp;quot;def print(self, *args, **kwargs):&amp;quot;]]&lt;br /&gt;
* [[Replacement for command ldd on Linux]]&lt;br /&gt;
&lt;br /&gt;
== Openembedded Core ==&lt;br /&gt;
* [[Submit patches to Openembedded]] &lt;br /&gt;
* [http://openembedded.org/wiki/Commit_Patch_Message_Guidelines Commit Patch Message Guidelines]&lt;br /&gt;
* [[OE-Core Standalone Setup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Debugging ==&lt;br /&gt;
* [[Openembedded debugging]]&lt;br /&gt;
* [[Packages information list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto Project ==&lt;br /&gt;
* [[Yocto Project my own quick start]] &lt;br /&gt;
* [[Yocto versus Poky versus Angstrom]]&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html Yocto Project reference Manual]&lt;br /&gt;
* [http://git.yoctoproject.org/ Yocto source Repositories]&lt;br /&gt;
* [http://layers.openembedded.org OpenEmbedded layers index]&lt;br /&gt;
* [https://wiki.yoctoproject.org/wiki/Releases Yocto version releases]&lt;br /&gt;
* [http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Migrating metadata to OE-Core]&lt;br /&gt;
* [[OE/Yocto prebuilt toolchains]]&lt;br /&gt;
* [[Howto build a kernel module out of the kernel tree]]&lt;br /&gt;
* [[Howto speed up Yocto build]]&lt;br /&gt;
* [[bitbake options]]&lt;br /&gt;
* [[Directories and installation variables]]&lt;br /&gt;
* [[How to add libstdc++ to a Yocto (Poky) image]]&lt;br /&gt;
* [[How to run a script at boot automatically]]&lt;br /&gt;
* [[How to run a systemd script at boot automatically]]&lt;br /&gt;
* [[Create patches using quilt]]&lt;br /&gt;
* [[Building Software from an External Source]]&lt;br /&gt;
* [[opkg command options]]&lt;br /&gt;
* [[Managing RDEPENDS into a recipe]]&lt;br /&gt;
* [[Extract the list of packages into a Yocto image]]&lt;br /&gt;
* [[Toaster setup and usage]]&lt;br /&gt;
* [[Python assignment operators]]&lt;br /&gt;
* [[Skip connectivity checks]]&lt;br /&gt;
* [[Set default root password]]&lt;br /&gt;
* [[Yocto package management]]&lt;br /&gt;
* [[Yocto build on a cluster with IceCC]]&lt;br /&gt;
* [[Add native gcc to the target image]]&lt;br /&gt;
* [[List IPK package depencencies]]&lt;br /&gt;
* [[Yocto Project what I wish I&#039;d known]]&lt;br /&gt;
* [[Using devtool to modify recipes in Yocto]]&lt;br /&gt;
* [[How to include uEnv.txt in Yocto image]]&lt;br /&gt;
* [[Add build information into a Yocto image]]&lt;br /&gt;
* [[Add a systemd service file into a Yocto image]]&lt;br /&gt;
* [[Yocto Project licenses for LIC_FILES_CHKSUM]]&lt;br /&gt;
* [[Set Proprietary license for a recipe]]&lt;br /&gt;
* [[Yocto sstate usage summary to the build]]&lt;br /&gt;
* [[Upgrade to Yocto honister 3.4]]&lt;br /&gt;
* [[Override syntax change from Yocto honister 3.4]]&lt;br /&gt;
* [[Modify the linux kernel with configuration fragments in Yocto]]&lt;br /&gt;
* [[Add a debug banner in a Yocto recipe]]&lt;br /&gt;
* [[How to trace a variable setting with bitbake-getvar]]&lt;br /&gt;
* [[How to detect the Yocto version using bitbake]]&lt;br /&gt;
* [[Support other languages and keyboards than English in Yocto]]&lt;br /&gt;
* [[List the files shipped by your recipe]]&lt;br /&gt;
* [[How to run CVE checks using the Yocto Project]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Many other details are available in the [https://wiki.yoctoproject.org/wiki/Technical_FAQ Yocto Project wiki]&lt;br /&gt;
&lt;br /&gt;
== Linux kernel ==&lt;br /&gt;
* [[Kernel message logging with printk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Microsoft .NET and Mono ==&lt;br /&gt;
* [[Embedded Linux .NET applications with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
* [[Install Qt 5 on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and SBC ==&lt;br /&gt;
* [[iMX6 definitive GPIO guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [[ARM cores list]]&lt;br /&gt;
* [[systemd vs sysvinit]]&lt;br /&gt;
* [http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ How to create and submit Linux kernel patch using GIT]&lt;br /&gt;
* [[Development with VMware]]&lt;br /&gt;
* [[How to Shrink a VirtualBox Virtual Machine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
* [https://koansoftware.com/company/ Who we are]&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Replacement_for_command_ldd_on_Linux&amp;diff=361</id>
		<title>Replacement for command ldd on Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Replacement_for_command_ldd_on_Linux&amp;diff=361"/>
		<updated>2024-07-12T15:34:48Z</updated>

		<summary type="html">&lt;p&gt;Koan: Created page with &amp;quot;== Replacement for command ldd on Linux ==  Are you looking to install the &amp;#039;&amp;#039;&amp;#039;ldd&amp;#039;&amp;#039;&amp;#039; command on your Linux system but it isn&amp;#039;t available?  This is typical when you are using Y...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Replacement for command ldd on Linux ==&lt;br /&gt;
&lt;br /&gt;
Are you looking to install the &#039;&#039;&#039;ldd&#039;&#039;&#039; command on your Linux system but it isn&#039;t available?&lt;br /&gt;
&lt;br /&gt;
This is typical when you are using Yocto Project on the target board.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alternative Method to Check Library Dependencies in Linux&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
While the &#039;&#039;&#039;ldd&#039;&#039;&#039; command is a powerful tool for examining library dependencies, there are alternative methods that can provide similar information. &lt;br /&gt;
One such method is using the objdump command.&lt;br /&gt;
&lt;br /&gt;
 # LD_TRACE_LOADED_OBJECTS=1 /lib/ld-linux-armhf.so.3  /usr/bin/gpg&lt;br /&gt;
    &lt;br /&gt;
    linux-vdso.so.1 (0xbef3e000)&lt;br /&gt;
    libz.so.1 =&amp;gt; /lib/libz.so.1 (0xb6f70000)&lt;br /&gt;
    libbz2.so.1 =&amp;gt; /usr/lib/libbz2.so.1 (0xb6f50000)&lt;br /&gt;
    libgcrypt.so.20 =&amp;gt; /usr/lib/libgcrypt.so.20 (0xb6ea0000)&lt;br /&gt;
    libreadline.so.8 =&amp;gt; /usr/lib/libreadline.so.8 (0xb6e50000)&lt;br /&gt;
    libassuan.so.0 =&amp;gt; /usr/lib/libassuan.so.0 (0xb6e30000)&lt;br /&gt;
    libnpth.so.0 =&amp;gt; /usr/lib/libnpth.so.0 (0xb6e10000)&lt;br /&gt;
    libgpg-error.so.0 =&amp;gt; /usr/lib/libgpg-error.so.0 (0xb6de0000)&lt;br /&gt;
    libc.so.6 =&amp;gt; /lib/libc.so.6 (0xb6cc0000)&lt;br /&gt;
    libcap.so.2 =&amp;gt; /lib/libcap.so.2 (0xb6ca0000)&lt;br /&gt;
    libtinfo.so.5 =&amp;gt; /lib/libtinfo.so.5 (0xb6c70000)&lt;br /&gt;
    /lib/ld-linux-armhf.so.3 (0xb6f98000)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 root@intel-corei7-64:~# LD_TRACE_LOADED_OBJECTS=1 /lib/ld-linux-x86-64.so.2 /usr/bin/aplay&lt;br /&gt;
   &lt;br /&gt;
    linux-vdso.so.1 (0x00007ffc005c6000)&lt;br /&gt;
    libasound.so.2 =&amp;gt; /usr/lib/libasound.so.2 (0x00007f0a498fe000)&lt;br /&gt;
    libc.so.6 =&amp;gt; /lib/libc.so.6 (0x00007f0a496fe000)&lt;br /&gt;
    libm.so.6 =&amp;gt; /lib/libm.so.6 (0x00007f0a49620000)&lt;br /&gt;
    libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0x00007f0a4961b000)&lt;br /&gt;
    librt.so.1 =&amp;gt; /lib/librt.so.1 (0x00007f0a49616000)&lt;br /&gt;
    /lib/ld-linux-x86-64.so.2 (0x00007f0a49a23000)&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=360</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=360"/>
		<updated>2024-07-12T15:28:09Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Problem solving - Howto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome on [https://koansoftware.com Koan Software] official wiki&lt;br /&gt;
&lt;br /&gt;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KoanSoftware(R) and KaeilOS(R) are registered trademarks of KOAN sas - Bergamo, ITALY &lt;br /&gt;
&lt;br /&gt;
All contents of this website are released under the [http://creativecommons.org/licenses/by-sa/3.0/deed.en_US Creative Commons Attribution-ShareAlike 3.0 Unported License]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== KOAN Embedded Software Engineering == &lt;br /&gt;
&lt;br /&gt;
[https://koansoftware.com KOAN] is an Italian software house, specialized in embedded and real time Linux software solutions on RISC platforms of the ARM family (Raspberry, Atmel, Freescale, NXP). Founded on 1996 from diversified experiences, is a supplier of embedded software systems for industrial automation, telecommunications, automotive, mechatronics and aerospace.&lt;br /&gt;
&lt;br /&gt;
== What is this wiki? == &lt;br /&gt;
This is a collection of useful notes about Yocto Project and OpenEmbedded, GNU/Linux distributions aimed for embedded devices developed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem solving - Howto ==&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Setup NFS root filesystem]]&lt;br /&gt;
* [[Setup an external toolchain with Yocto]]&lt;br /&gt;
* [[Fixing Perl Locale Errors in a Clean Ubuntu Install]]&lt;br /&gt;
* [[Using VMware Player to run Linux training]]&lt;br /&gt;
* [[Issues running python on Linux]]&lt;br /&gt;
* [[Error Initialize GIT git init --initial-branch=main]]&lt;br /&gt;
* [[repo issue &amp;quot;def print(self, *args, **kwargs):&amp;quot;]]&lt;br /&gt;
* [[Replacement for command ldd on Linux]]&lt;br /&gt;
&lt;br /&gt;
== Openembedded Core ==&lt;br /&gt;
* [[Submit patches to Openembedded]] &lt;br /&gt;
* [http://openembedded.org/wiki/Commit_Patch_Message_Guidelines Commit Patch Message Guidelines]&lt;br /&gt;
* [[OE-Core Standalone Setup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Debugging ==&lt;br /&gt;
* [[Openembedded debugging]]&lt;br /&gt;
* [[Packages information list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto Project ==&lt;br /&gt;
* [[Yocto Project my own quick start]] &lt;br /&gt;
* [[Yocto versus Poky versus Angstrom]]&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html Yocto Project reference Manual]&lt;br /&gt;
* [http://git.yoctoproject.org/ Yocto source Repositories]&lt;br /&gt;
* [http://layers.openembedded.org OpenEmbedded layers index]&lt;br /&gt;
* [https://wiki.yoctoproject.org/wiki/Releases Yocto version releases]&lt;br /&gt;
* [http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Migrating metadata to OE-Core]&lt;br /&gt;
* [[OE/Yocto prebuilt toolchains]]&lt;br /&gt;
* [[Howto build a kernel module out of the kernel tree]]&lt;br /&gt;
* [[Howto speed up Yocto build]]&lt;br /&gt;
* [[bitbake options]]&lt;br /&gt;
* [[Directories and installation variables]]&lt;br /&gt;
* [[How to add libstdc++ to a Yocto (Poky) image]]&lt;br /&gt;
* [[How to run a script at boot automatically]]&lt;br /&gt;
* [[How to run a systemd script at boot automatically]]&lt;br /&gt;
* [[Create patches using quilt]]&lt;br /&gt;
* [[Building Software from an External Source]]&lt;br /&gt;
* [[opkg command options]]&lt;br /&gt;
* [[Managing RDEPENDS into a recipe]]&lt;br /&gt;
* [[Extract the list of packages into a Yocto image]]&lt;br /&gt;
* [[Toaster setup and usage]]&lt;br /&gt;
* [[Python assignment operators]]&lt;br /&gt;
* [[Skip connectivity checks]]&lt;br /&gt;
* [[Set default root password]]&lt;br /&gt;
* [[Yocto package management]]&lt;br /&gt;
* [[Yocto build on a cluster with IceCC]]&lt;br /&gt;
* [[Add native gcc to the target image]]&lt;br /&gt;
* [[List IPK package depencencies]]&lt;br /&gt;
* [[Yocto Project what I wish I&#039;d known]]&lt;br /&gt;
* [[Using devtool to modify recipes in Yocto]]&lt;br /&gt;
* [[How to include uEnv.txt in Yocto image]]&lt;br /&gt;
* [[Add build information into a Yocto image]]&lt;br /&gt;
* [[Add a systemd service file into a Yocto image]]&lt;br /&gt;
* [[Yocto Project licenses for LIC_FILES_CHKSUM]]&lt;br /&gt;
* [[Set Proprietary license for a recipe]]&lt;br /&gt;
* [[Yocto sstate usage summary to the build]]&lt;br /&gt;
* [[Upgrade to Yocto honister 3.4]]&lt;br /&gt;
* [[Override syntax change from Yocto honister 3.4]]&lt;br /&gt;
* [[Modify the linux kernel with configuration fragments in Yocto]]&lt;br /&gt;
* [[Add a debug banner in a Yocto recipe]]&lt;br /&gt;
* [[How to trace a variable setting with bitbake-getvar]]&lt;br /&gt;
* [[How to detect the Yocto version using bitbake]]&lt;br /&gt;
* [[Support other languages and keyboards than English in Yocto]]&lt;br /&gt;
* [[List the files shipped by your recipe]]&lt;br /&gt;
&lt;br /&gt;
Many other details are available in the [https://wiki.yoctoproject.org/wiki/Technical_FAQ Yocto Project wiki]&lt;br /&gt;
&lt;br /&gt;
== Linux kernel ==&lt;br /&gt;
* [[Kernel message logging with printk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Microsoft .NET and Mono ==&lt;br /&gt;
* [[Embedded Linux .NET applications with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
* [[Install Qt 5 on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and SBC ==&lt;br /&gt;
* [[iMX6 definitive GPIO guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [[ARM cores list]]&lt;br /&gt;
* [[systemd vs sysvinit]]&lt;br /&gt;
* [http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ How to create and submit Linux kernel patch using GIT]&lt;br /&gt;
* [[Development with VMware]]&lt;br /&gt;
* [[How to Shrink a VirtualBox Virtual Machine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
* [https://koansoftware.com/company/ Who we are]&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Set_Proprietary_license_for_a_recipe&amp;diff=359</id>
		<title>Set Proprietary license for a recipe</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Set_Proprietary_license_for_a_recipe&amp;diff=359"/>
		<updated>2024-07-11T12:49:31Z</updated>

		<summary type="html">&lt;p&gt;Koan: Created page with &amp;quot;== Yocto Project - Set Proprietary license for a recipe ==  &amp;#039;&amp;#039;&amp;#039;CLOSED&amp;#039;&amp;#039;&amp;#039; is not &amp;#039;&amp;#039;&amp;#039;commercial&amp;#039;&amp;#039;&amp;#039;/&amp;#039;&amp;#039;&amp;#039;proprietary&amp;#039;&amp;#039;&amp;#039;!  A common misconception is that setting &amp;#039;&amp;#039;&amp;#039;LICENSE = &amp;quot;CLOSE...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Yocto Project - Set Proprietary license for a recipe ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CLOSED&#039;&#039;&#039; is not &#039;&#039;&#039;commercial&#039;&#039;&#039;/&#039;&#039;&#039;proprietary&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
A common misconception is that setting &#039;&#039;&#039;LICENSE = &amp;quot;CLOSED&amp;quot;&#039;&#039;&#039; means the recipe in question is closed source, respectively &#039;&#039;&#039;proprietary&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
This is not the actual case: the license value &#039;&#039;&#039;CLOSED&#039;&#039;&#039; has the meaning “do not care about the license of this recipe”. &lt;br /&gt;
&lt;br /&gt;
This effectively disables all license tracking for this recipe and should be avoided.&lt;br /&gt;
&lt;br /&gt;
The correct way to set a &#039;&#039;&#039;proprietary&#039;&#039;&#039;, nonstandard license is&lt;br /&gt;
&lt;br /&gt;
 LICENSE = &amp;quot;Proprietary&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This often correlates with being commercial, which is expressed by the flag&lt;br /&gt;
&lt;br /&gt;
 LICENSE_FLAGS = &amp;quot;commercial&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The commercial flag is automatically expanded with the recipe name, and can then be matched, therefore allowed for the build, as outlined in the first paragraph.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
[https://hub.mender.io/t/understanding-licenses-in-a-yocto-project-build/4848 Credits]&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=358</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Main_Page&amp;diff=358"/>
		<updated>2024-07-11T12:46:40Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Yocto Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome on [https://koansoftware.com Koan Software] official wiki&lt;br /&gt;
&lt;br /&gt;
== DISCLAIMER ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KoanSoftware(R) and KaeilOS(R) are registered trademarks of KOAN sas - Bergamo, ITALY &lt;br /&gt;
&lt;br /&gt;
All contents of this website are released under the [http://creativecommons.org/licenses/by-sa/3.0/deed.en_US Creative Commons Attribution-ShareAlike 3.0 Unported License]&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== KOAN Embedded Software Engineering == &lt;br /&gt;
&lt;br /&gt;
[https://koansoftware.com KOAN] is an Italian software house, specialized in embedded and real time Linux software solutions on RISC platforms of the ARM family (Raspberry, Atmel, Freescale, NXP). Founded on 1996 from diversified experiences, is a supplier of embedded software systems for industrial automation, telecommunications, automotive, mechatronics and aerospace.&lt;br /&gt;
&lt;br /&gt;
== What is this wiki? == &lt;br /&gt;
This is a collection of useful notes about Yocto Project and OpenEmbedded, GNU/Linux distributions aimed for embedded devices developed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem solving - Howto ==&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Setup NFS root filesystem]]&lt;br /&gt;
* [[Setup an external toolchain with Yocto]]&lt;br /&gt;
* [[Fixing Perl Locale Errors in a Clean Ubuntu Install]]&lt;br /&gt;
* [[Using VMware Player to run Linux training]]&lt;br /&gt;
* [[Issues running python on Linux]]&lt;br /&gt;
* [[Error Initialize GIT git init --initial-branch=main]]&lt;br /&gt;
* [[repo issue &amp;quot;def print(self, *args, **kwargs):&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Core ==&lt;br /&gt;
* [[Submit patches to Openembedded]] &lt;br /&gt;
* [http://openembedded.org/wiki/Commit_Patch_Message_Guidelines Commit Patch Message Guidelines]&lt;br /&gt;
* [[OE-Core Standalone Setup]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openembedded Debugging ==&lt;br /&gt;
* [[Openembedded debugging]]&lt;br /&gt;
* [[Packages information list]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Yocto Project ==&lt;br /&gt;
* [[Yocto Project my own quick start]] &lt;br /&gt;
* [[Yocto versus Poky versus Angstrom]]&lt;br /&gt;
* [http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html Yocto Project reference Manual]&lt;br /&gt;
* [http://git.yoctoproject.org/ Yocto source Repositories]&lt;br /&gt;
* [http://layers.openembedded.org OpenEmbedded layers index]&lt;br /&gt;
* [https://wiki.yoctoproject.org/wiki/Releases Yocto version releases]&lt;br /&gt;
* [http://www.openembedded.org/wiki/Migrating_metadata_to_OE-Core Migrating metadata to OE-Core]&lt;br /&gt;
* [[OE/Yocto prebuilt toolchains]]&lt;br /&gt;
* [[Howto build a kernel module out of the kernel tree]]&lt;br /&gt;
* [[Howto speed up Yocto build]]&lt;br /&gt;
* [[bitbake options]]&lt;br /&gt;
* [[Directories and installation variables]]&lt;br /&gt;
* [[How to add libstdc++ to a Yocto (Poky) image]]&lt;br /&gt;
* [[How to run a script at boot automatically]]&lt;br /&gt;
* [[How to run a systemd script at boot automatically]]&lt;br /&gt;
* [[Create patches using quilt]]&lt;br /&gt;
* [[Building Software from an External Source]]&lt;br /&gt;
* [[opkg command options]]&lt;br /&gt;
* [[Managing RDEPENDS into a recipe]]&lt;br /&gt;
* [[Extract the list of packages into a Yocto image]]&lt;br /&gt;
* [[Toaster setup and usage]]&lt;br /&gt;
* [[Python assignment operators]]&lt;br /&gt;
* [[Skip connectivity checks]]&lt;br /&gt;
* [[Set default root password]]&lt;br /&gt;
* [[Yocto package management]]&lt;br /&gt;
* [[Yocto build on a cluster with IceCC]]&lt;br /&gt;
* [[Add native gcc to the target image]]&lt;br /&gt;
* [[List IPK package depencencies]]&lt;br /&gt;
* [[Yocto Project what I wish I&#039;d known]]&lt;br /&gt;
* [[Using devtool to modify recipes in Yocto]]&lt;br /&gt;
* [[How to include uEnv.txt in Yocto image]]&lt;br /&gt;
* [[Add build information into a Yocto image]]&lt;br /&gt;
* [[Add a systemd service file into a Yocto image]]&lt;br /&gt;
* [[Yocto Project licenses for LIC_FILES_CHKSUM]]&lt;br /&gt;
* [[Set Proprietary license for a recipe]]&lt;br /&gt;
* [[Yocto sstate usage summary to the build]]&lt;br /&gt;
* [[Upgrade to Yocto honister 3.4]]&lt;br /&gt;
* [[Override syntax change from Yocto honister 3.4]]&lt;br /&gt;
* [[Modify the linux kernel with configuration fragments in Yocto]]&lt;br /&gt;
* [[Add a debug banner in a Yocto recipe]]&lt;br /&gt;
* [[How to trace a variable setting with bitbake-getvar]]&lt;br /&gt;
* [[How to detect the Yocto version using bitbake]]&lt;br /&gt;
* [[Support other languages and keyboards than English in Yocto]]&lt;br /&gt;
* [[List the files shipped by your recipe]]&lt;br /&gt;
&lt;br /&gt;
Many other details are available in the [https://wiki.yoctoproject.org/wiki/Technical_FAQ Yocto Project wiki]&lt;br /&gt;
&lt;br /&gt;
== Linux kernel ==&lt;br /&gt;
* [[Kernel message logging with printk]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Microsoft .NET and Mono ==&lt;br /&gt;
* [[Embedded Linux .NET applications with Yocto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Qt ==&lt;br /&gt;
* [[Install Qt 5 on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware and SBC ==&lt;br /&gt;
* [[iMX6 definitive GPIO guide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [[ARM cores list]]&lt;br /&gt;
* [[systemd vs sysvinit]]&lt;br /&gt;
* [http://linux.koolsolutions.com/2011/02/26/howto-create-and-submit-your-first-linux-kernel-patch/ How to create and submit Linux kernel patch using GIT]&lt;br /&gt;
* [[Development with VMware]]&lt;br /&gt;
* [[How to Shrink a VirtualBox Virtual Machine]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About us ==&lt;br /&gt;
* [https://koansoftware.com/company/ Who we are]&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Submit_patches_to_Openembedded&amp;diff=357</id>
		<title>Submit patches to Openembedded</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Submit_patches_to_Openembedded&amp;diff=357"/>
		<updated>2024-06-27T09:06:09Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Submit patches to Openembedded (core) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Submit patches to Openembedded (core) == &lt;br /&gt;
Contributions to the Yocto Project and OpenEmbedded are very welcome.&lt;br /&gt;
You can read the official [[https://docs.yoctoproject.org/dev/contributor-guide/submit-changes.html Yocto contributor-guide]]&lt;br /&gt;
&lt;br /&gt;
=== Set up git ===&lt;br /&gt;
&lt;br /&gt;
In this case I have a subscribed the openembedded-devel mailing list with a gmail.com account and I sign my patch with another account.&lt;br /&gt;
Properly configure git (using tekkub@gmail.com as an example user)&lt;br /&gt;
&lt;br /&gt;
On Debian / Ubuntu (Note: Fedora uses `yum` OpenSuse uses zypper or yast)&lt;br /&gt;
&lt;br /&gt;
 sudo aptitude install git-core git-email&lt;br /&gt;
&lt;br /&gt;
These are important to the commit meta-data&lt;br /&gt;
&lt;br /&gt;
 git config --global user.name &amp;quot;Myself Me&amp;quot;&lt;br /&gt;
 git config --global user.email &amp;quot;myname@mydomain.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Any Google Apps account&lt;br /&gt;
&lt;br /&gt;
 git config --global sendemail.smtpserver smtp.gmail.com&lt;br /&gt;
 git config --global sendemail.smtpserverport 587&lt;br /&gt;
 git config --global sendemail.smtpencryption tls&lt;br /&gt;
 git config --global sendemail.smtpuser tekkupl@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== Committing your patch ===&lt;br /&gt;
&lt;br /&gt;
Commit with a concise and descriptive message - one that explains your changes in a way others get a short overview without looking at the code. &lt;br /&gt;
&lt;br /&gt;
Move to oe-core directory or whereever you keep your clone of the repo&lt;br /&gt;
 cd oe-core&lt;br /&gt;
&lt;br /&gt;
Add the modified file&lt;br /&gt;
 git add path/recipename&lt;br /&gt;
&lt;br /&gt;
Add a comment including my signature &amp;quot;Signed-off-by: Your Name &amp;lt;name@domain.com&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 git commit -s&lt;br /&gt;
    recipename: brief description&lt;br /&gt;
    * Longer description&lt;br /&gt;
    * if&lt;br /&gt;
    * required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In case you are sending patches for meta-openembedded or any layer other than openembedded-core, please add the appropriate prefix so that it is clear which layer the patch is intended to be applied to:&lt;br /&gt;
&lt;br /&gt;
 git format-patch --subject-prefix=&amp;quot;meta-oe][PATCH&amp;quot; ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please substitute &amp;quot;PATCH&amp;quot; with &amp;quot;PATCH v2&amp;quot; if you are submitting a revised version after addressing feedback (or v3, v4 etc.)  &lt;br /&gt;
&lt;br /&gt;
For multiple commits you can substitute -1 above with -N (where N is the number of commits) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sending using git-send-email ====&lt;br /&gt;
&lt;br /&gt;
To send just the top commit on your current branch (substitute mailing list address as appropriate):&lt;br /&gt;
&lt;br /&gt;
 git send-email --to=openembedded-core@lists.openembedded.org patchfilename&lt;br /&gt;
&lt;br /&gt;
== Community review ==&lt;br /&gt;
&lt;br /&gt;
Your patch will be sent to the mailing list and should be immediately visible on http://patches.openembedded.org/&lt;br /&gt;
.&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
	<entry>
		<id>https://wiki.koansoftware.com/index.php?title=Submit_patches_to_Openembedded&amp;diff=356</id>
		<title>Submit patches to Openembedded</title>
		<link rel="alternate" type="text/html" href="https://wiki.koansoftware.com/index.php?title=Submit_patches_to_Openembedded&amp;diff=356"/>
		<updated>2024-06-27T08:33:34Z</updated>

		<summary type="html">&lt;p&gt;Koan: /* Committing your patch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Submit patches to Openembedded (core) == &lt;br /&gt;
Submitting patches to oe-core is slightly different than what was used with oe-classic.&lt;br /&gt;
You can read the official [[http://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded Openembedded howto]]&lt;br /&gt;
&lt;br /&gt;
=== Set up git ===&lt;br /&gt;
&lt;br /&gt;
In this case I have a subscribed the openembedded-devel mailing list with a gmail.com account and I sign my patch with another account.&lt;br /&gt;
Properly configure git (using tekkub@gmail.com as an example user)&lt;br /&gt;
&lt;br /&gt;
On Debian / Ubuntu (Note: Fedora uses `yum` OpenSuse uses zypper or yast)&lt;br /&gt;
&lt;br /&gt;
 sudo aptitude install git-core git-email&lt;br /&gt;
&lt;br /&gt;
These are important to the commit meta-data&lt;br /&gt;
&lt;br /&gt;
 git config --global user.name &amp;quot;Myself Me&amp;quot;&lt;br /&gt;
 git config --global user.email &amp;quot;myname@mydomain.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Any Google Apps account&lt;br /&gt;
&lt;br /&gt;
 git config --global sendemail.smtpserver smtp.gmail.com&lt;br /&gt;
 git config --global sendemail.smtpserverport 587&lt;br /&gt;
 git config --global sendemail.smtpencryption tls&lt;br /&gt;
 git config --global sendemail.smtpuser tekkupl@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== Committing your patch ===&lt;br /&gt;
&lt;br /&gt;
Commit with a concise and descriptive message - one that explains your changes in a way others get a short overview without looking at the code. &lt;br /&gt;
&lt;br /&gt;
Move to oe-core directory or whereever you keep your clone of the repo&lt;br /&gt;
 cd oe-core&lt;br /&gt;
&lt;br /&gt;
Add the modified file&lt;br /&gt;
 git add path/recipename&lt;br /&gt;
&lt;br /&gt;
Add a comment including my signature &amp;quot;Signed-off-by: Your Name &amp;lt;name@domain.com&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 git commit -s&lt;br /&gt;
    recipename: brief description&lt;br /&gt;
    * Longer description&lt;br /&gt;
    * if&lt;br /&gt;
    * required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In case you are sending patches for meta-openembedded or any layer other than openembedded-core, please add the appropriate prefix so that it is clear which layer the patch is intended to be applied to:&lt;br /&gt;
&lt;br /&gt;
 git format-patch --subject-prefix=&amp;quot;meta-oe][PATCH&amp;quot; ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please substitute &amp;quot;PATCH&amp;quot; with &amp;quot;PATCH v2&amp;quot; if you are submitting a revised version after addressing feedback (or v3, v4 etc.)  &lt;br /&gt;
&lt;br /&gt;
For multiple commits you can substitute -1 above with -N (where N is the number of commits) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sending using git-send-email ====&lt;br /&gt;
&lt;br /&gt;
To send just the top commit on your current branch (substitute mailing list address as appropriate):&lt;br /&gt;
&lt;br /&gt;
 git send-email --to=openembedded-core@lists.openembedded.org patchfilename&lt;br /&gt;
&lt;br /&gt;
== Community review ==&lt;br /&gt;
&lt;br /&gt;
Your patch will be sent to the mailing list and should be immediately visible on http://patches.openembedded.org/&lt;br /&gt;
.&lt;/div&gt;</summary>
		<author><name>Koan</name></author>
	</entry>
</feed>