<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.openembedded.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bgamari</id>
	<title>Openembedded.org - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.openembedded.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bgamari"/>
	<link rel="alternate" type="text/html" href="https://www.openembedded.org/wiki/Special:Contributions/Bgamari"/>
	<updated>2026-05-01T22:29:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3802</id>
		<title>SDK/Toolchain/Application Developer Toolkit</title>
		<link rel="alternate" type="text/html" href="https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3802"/>
		<updated>2010-12-23T19:55:13Z</updated>

		<summary type="html">&lt;p&gt;Bgamari: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Along with recipes for building a compiler for internal its own use, OpenEmbedded has recipes to create a full cross-compiler environment for the host. First, you need to have a working OpenEmbedded environment (see [[Getting_started]]). Note that throughout this article we will use the example of working on the ARM architecture. While particular file names may differ in your case, the general process should be similar. To build the cross-compiler, build the &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt; recipe,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ bitbake meta-toolchain&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will produce a tarball in a subdirectory of &amp;lt;tt&amp;gt;deploy/sdk&amp;lt;/tt&amp;gt;. This tarball includes compiler executables, libraries, and core headers, as well as a small environment script, all under the prefix of &amp;lt;tt&amp;gt;usr/local/angstrom&amp;lt;/tt&amp;gt;. To install this tarball, simply untar into &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ sudo tar -C / -pxvjf $SDK_ROOT/sdk- &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To cross-compile a package for your target platform, simply source the provided &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script and compile as usual,&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ source /usr/local/angstrom/arm/environment-setup&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the meta-toolchain environment does not include any of the libraries included in your target image.&lt;br /&gt;
&lt;br /&gt;
= Installing libraries and headers =&lt;br /&gt;
Along with a compiler, the meta-toolchain also comes with an installation of &amp;lt;tt&amp;gt;opkg&amp;lt;/tt&amp;gt; with which one can install libraries into your cross-compilation environment. To install packages for use in cross-compiling use the &amp;lt;tt&amp;gt;opkg-target&amp;lt;/tt&amp;gt; executable (not &amp;lt;tt&amp;gt;opkg&amp;lt;/tt&amp;gt;; does anyone know what the latter is for?) There are a few  For instance, to install the development headers for the boost library (&amp;lt;tt&amp;gt;boost-dev&amp;lt;/tt&amp;gt;),&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ sudo -i&lt;br /&gt;
# source /usr/local/angstrom/arm/environment-setup&lt;br /&gt;
# opkg-target update&lt;br /&gt;
# opkg-target install boost-dev&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will fetch a package list from the Angstrom repository then fetch and install the boost package.&lt;br /&gt;
&lt;br /&gt;
= Cross-compiling the kernel =&lt;br /&gt;
Because of the self-contained nature of the kernel, one must proceed slightly differently than with cross-compiling user-mode software. Namely, &amp;lt;b&amp;gt;one must not use the &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script provided with &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt;.&amp;lt;/b&amp;gt; This script modifies environment required by the host compiler used to compile tools used during the build process, resulting in difficult to trace errors.[http://thread.gmane.org/gmane.linux.kbuild.devel/5686/focus=39837][http://thread.gmane.org/gmane.linux.kernel/1015620/focus=5621]&lt;br /&gt;
&lt;br /&gt;
Instead, one simply must pass the target architecture and the cross-compiler executable name prefix to Kbuild,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ cd linux-2.6&lt;br /&gt;
$ export ARCH=arm&lt;br /&gt;
$ export CROSS_COMPILE=/usr/local/angstrom/arm/bin/&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The kernel Makefile also contains useful rules for packing the kernel image and modules into a tarball, for easy installation on the target,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
The OpenMoko wiki has a very useful page[http://wiki.openmoko.org/wiki/Toolchain] describing toolchain installation and usage.&lt;/div&gt;</summary>
		<author><name>Bgamari</name></author>
	</entry>
	<entry>
		<id>https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3801</id>
		<title>SDK/Toolchain/Application Developer Toolkit</title>
		<link rel="alternate" type="text/html" href="https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3801"/>
		<updated>2010-12-23T19:52:51Z</updated>

		<summary type="html">&lt;p&gt;Bgamari: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Along with recipes for building a compiler for internal its own use, OpenEmbedded has recipes to create a full cross-compiler environment for the host. First, you need to have a working OpenEmbedded environment (see [[Getting_started]]). Note that throughout this article we will use the example of working on the ARM architecture. While particular file names may differ in your case, the general process should be similar. To build the cross-compiler, build the &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt; recipe,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ bitbake meta-toolchain&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will produce a tarball in a subdirectory of &amp;lt;tt&amp;gt;deploy/sdk&amp;lt;/tt&amp;gt;. This tarball includes compiler executables, libraries, and core headers, as well as a small environment script, all under the prefix of &amp;lt;tt&amp;gt;usr/local/angstrom&amp;lt;/tt&amp;gt;. To install this tarball, simply untar into &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ sudo tar -C / -pxvjf $SDK_ROOT/sdk- &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To cross-compile a package for your target platform, simply source the provided &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script and compile as usual,&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ source /usr/local/angstrom/arm/environment-setup&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the meta-toolchain environment does not include any of the libraries included in your target image.&lt;br /&gt;
&lt;br /&gt;
= Installing libraries =&lt;br /&gt;
Along with a compiler, the meta-toolchain also comes with an installation of &amp;lt;tt&amp;gt;opkg&amp;lt;/tt&amp;gt; with which one can install libraries into your cross-compilation environment. To install packages for use in cross-compiling use the &amp;lt;tt&amp;gt;opkg-target&amp;lt;/tt&amp;gt; executable (not &amp;lt;tt&amp;gt;opkg&amp;lt;/tt&amp;gt;; does anyone know what the latter is for?) There are a few  For instance, to install the boost library,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ sudo -i&lt;br /&gt;
# source /usr/local/angstrom/arm/environment-setup&lt;br /&gt;
# opkg-target update&lt;br /&gt;
# opkg-target install boost&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will fetch a package list from the Angstrom repository then fetch and install the boost package.&lt;br /&gt;
&lt;br /&gt;
= Cross-compiling the kernel =&lt;br /&gt;
Because of the self-contained nature of the kernel, one must proceed slightly differently than with cross-compiling user-mode software. Namely, &amp;lt;b&amp;gt;one must not use the &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script provided with &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt;.&amp;lt;/b&amp;gt; This script modifies environment required by the host compiler used to compile tools used during the build process, resulting in difficult to trace errors.[http://thread.gmane.org/gmane.linux.kbuild.devel/5686/focus=39837][http://thread.gmane.org/gmane.linux.kernel/1015620/focus=5621]&lt;br /&gt;
&lt;br /&gt;
Instead, one simply must pass the target architecture and the cross-compiler executable name prefix to Kbuild,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ cd linux-2.6&lt;br /&gt;
$ export ARCH=arm&lt;br /&gt;
$ export CROSS_COMPILE=/usr/local/angstrom/arm/bin/&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The kernel Makefile also contains useful rules for packing the kernel image and modules into a tarball, for easy installation on the target,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
The OpenMoko wiki has a very useful page[http://wiki.openmoko.org/wiki/Toolchain] describing toolchain installation and usage.&lt;/div&gt;</summary>
		<author><name>Bgamari</name></author>
	</entry>
	<entry>
		<id>https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3800</id>
		<title>SDK/Toolchain/Application Developer Toolkit</title>
		<link rel="alternate" type="text/html" href="https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3800"/>
		<updated>2010-12-23T19:51:38Z</updated>

		<summary type="html">&lt;p&gt;Bgamari: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Along with recipes for building a compiler for internal its own use, OpenEmbedded has recipes to create a full cross-compiler environment for the host. First, you need to have a working OpenEmbedded environment (see [[Getting_started]]). Note that throughout this article we will use the example of working on the ARM architecture. While particular file names may differ in your case, the general process should be similar. To build the cross-compiler, build the &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt; recipe,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ bitbake meta-toolchain&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will produce a tarball in a subdirectory of &amp;lt;tt&amp;gt;deploy/sdk&amp;lt;/tt&amp;gt;. This tarball includes compiler executables, libraries, and core headers, as well as a small environment script, all under the prefix of &amp;lt;tt&amp;gt;usr/local/angstrom&amp;lt;/tt&amp;gt;. To install this tarball, simply untar into &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ sudo tar -C / -pxvjf $SDK_ROOT/sdk- &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To cross-compile a package for your target platform, simply source the provided &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script and compile as usual,&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ source /usr/local/angstrom/arm/environment-setup&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the meta-toolchain environment does not include any of the libraries included in your target image.&lt;br /&gt;
&lt;br /&gt;
= Installing libraries =&lt;br /&gt;
Along with a compiler, the meta-toolchain also comes with an installation of &amp;lt;tt&amp;gt;opkg&amp;lt;/tt&amp;gt; with which one can install libraries into your cross-compilation environment. To install packages for use in cross-compiling use the &amp;lt;tt&amp;gt;opkg-target&amp;lt;/tt&amp;gt; executable (not &amp;lt;tt&amp;gt;opkg&amp;lt;/tt&amp;gt;; does anyone know what the latter is for?) There are a few  For instance, to install the boost library,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ sudo -i&lt;br /&gt;
# source /usr/local/angstrom/arm/environment-setup&lt;br /&gt;
# opkg-target update&lt;br /&gt;
# opkg-target install boost&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cross-compiling the kernel =&lt;br /&gt;
Because of the self-contained nature of the kernel, one must proceed slightly differently than with cross-compiling user-mode software. Namely, &amp;lt;b&amp;gt;one must not use the &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script provided with &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt;.&amp;lt;/b&amp;gt; This script modifies environment required by the host compiler used to compile tools used during the build process, resulting in difficult to trace errors.[http://thread.gmane.org/gmane.linux.kbuild.devel/5686/focus=39837][http://thread.gmane.org/gmane.linux.kernel/1015620/focus=5621]&lt;br /&gt;
&lt;br /&gt;
Instead, one simply must pass the target architecture and the cross-compiler executable name prefix to Kbuild,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ cd linux-2.6&lt;br /&gt;
$ export ARCH=arm&lt;br /&gt;
$ export CROSS_COMPILE=/usr/local/angstrom/arm/bin/&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The kernel Makefile also contains useful rules for packing the kernel image and modules into a tarball, for easy installation on the target,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
The OpenMoko wiki has a very useful page[http://wiki.openmoko.org/wiki/Toolchain] describing toolchain installation and usage.&lt;/div&gt;</summary>
		<author><name>Bgamari</name></author>
	</entry>
	<entry>
		<id>https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3796</id>
		<title>SDK/Toolchain/Application Developer Toolkit</title>
		<link rel="alternate" type="text/html" href="https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3796"/>
		<updated>2010-12-22T18:14:33Z</updated>

		<summary type="html">&lt;p&gt;Bgamari: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Along with recipes for building a compiler for internal its own use, OpenEmbedded has recipes to create a full cross-compiler environment for the host. First, you need to have a working OpenEmbedded environment (see [[Getting_started]]). Note that throughout this article we will use the example of working on the ARM architecture. While particular file names may differ in your case, the general process should be similar. To build the cross-compiler, build the &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt; recipe,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ bitbake meta-toolchain&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will produce a tarball in a subdirectory of &amp;lt;tt&amp;gt;deploy/sdk&amp;lt;/tt&amp;gt;. This tarball includes compiler executables, libraries, and core headers, as well as a small environment script, all under the prefix of &amp;lt;tt&amp;gt;usr/local/angstrom&amp;lt;/tt&amp;gt;. To install this tarball, simply untar into &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ tar -C / -pxvjf $SDK_ROOT/sdk- &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To cross-compile a package for your target platform, simply source the provided &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script and compile as usual,&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ source /usr/local/angstrom/arm/environment-setup&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the meta-toolchain environment does not include any of the libraries included in your target image.&lt;br /&gt;
&lt;br /&gt;
= Cross-compiling the kernel =&lt;br /&gt;
Because of the self-contained nature of the kernel, one must proceed slightly differently than with cross-compiling user-mode software. Namely, &amp;lt;b&amp;gt;one must not use the &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script provided with &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt;.&amp;lt;/b&amp;gt; This script modifies environment required by the host compiler used to compile tools used during the build process, resulting in difficult to trace errors.[http://thread.gmane.org/gmane.linux.kbuild.devel/5686/focus=39837][http://thread.gmane.org/gmane.linux.kernel/1015620/focus=5621]&lt;br /&gt;
&lt;br /&gt;
Instead, one simply must pass the target architecture and the cross-compiler executable name prefix to Kbuild,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ cd linux-2.6&lt;br /&gt;
$ export ARCH=arm&lt;br /&gt;
$ export CROSS_COMPILE=/usr/local/angstrom/arm/bin/&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The kernel Makefile also contains useful rules for packing the kernel image and modules into a tarball, for easy installation on the target,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bgamari</name></author>
	</entry>
	<entry>
		<id>https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3795</id>
		<title>SDK/Toolchain/Application Developer Toolkit</title>
		<link rel="alternate" type="text/html" href="https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3795"/>
		<updated>2010-12-22T18:14:02Z</updated>

		<summary type="html">&lt;p&gt;Bgamari: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Along with recipes for building a compiler for internal its own use, OpenEmbedded has recipes to create a full cross-compiler environment for the host. First, you need to have a working OpenEmbedded environment (see [[Getting_started]]). Note that throughout this article we will use the example of working on the ARM architecture. While particular file names may differ in your case, the general process should be similar. To build the cross-compiler, build the &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt; recipe,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ bitbake meta-toolchain&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will produce a tarball in a subdirectory of &amp;lt;tt&amp;gt;deploy/sdk&amp;lt;/tt&amp;gt;. This tarball includes compiler executables, libraries, and core headers, as well as a small environment script, all under the prefix of &amp;lt;tt&amp;gt;usr/local/angstrom&amp;lt;/tt&amp;gt;. To install this tarball, simply untar into &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ tar -C / -pxvjf $SDK_ROOT/sdk- &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To cross-compile a package for your target platform, simply source the provided &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script and compile as usual,&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ source /usr/local/angstrom/arm/environment-setup&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the meta-toolchain environment does not include any of the libraries included in your target image.&lt;br /&gt;
&lt;br /&gt;
= Cross-compiling the kernel =&lt;br /&gt;
Because of the self-contained nature of the kernel, one must proceed slightly differently than with cross-compiling user-mode software. Namely, &amp;lt;b&amp;gt;one must not use the &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script provided with &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt;.&amp;lt;/b&amp;gt;[http://thread.gmane.org/gmane.linux.kbuild.devel/5686/focus=39837][http://thread.gmane.org/gmane.linux.kernel/1015620/focus=5621] This script modifies environment required by the host compiler used to compile tools used during the build process, resulting in difficult to trace errors.&lt;br /&gt;
&lt;br /&gt;
Instead, one simply must pass the target architecture and the cross-compiler executable name prefix to Kbuild,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ cd linux-2.6&lt;br /&gt;
$ export ARCH=arm&lt;br /&gt;
$ export CROSS_COMPILE=/usr/local/angstrom/arm/bin/&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The kernel Makefile also contains useful rules for packing the kernel image and modules into a tarball, for easy installation on the target,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bgamari</name></author>
	</entry>
	<entry>
		<id>https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3794</id>
		<title>SDK/Toolchain/Application Developer Toolkit</title>
		<link rel="alternate" type="text/html" href="https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3794"/>
		<updated>2010-12-22T18:12:38Z</updated>

		<summary type="html">&lt;p&gt;Bgamari: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Along with recipes for building a compiler for internal its own use, OpenEmbedded has recipes to create a full cross-compiler environment for the host. First, you need to have a working OpenEmbedded environment (see [[Getting_started]]). Note that throughout this article we will use the example of working on the ARM architecture. While particular file names may differ in your case, the general process should be similar. To build the cross-compiler, build the &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt; recipe,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ bitbake meta-toolchain&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will produce a tarball in a subdirectory of &amp;lt;tt&amp;gt;deploy/sdk&amp;lt;/tt&amp;gt;. This tarball includes compiler executables, libraries, and core headers, as well as a small environment script, all under the prefix of &amp;lt;tt&amp;gt;usr/local/angstrom&amp;lt;/tt&amp;gt;. To install this tarball, simply untar into &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ tar -C / -pxvjf $SDK_ROOT/sdk- &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To cross-compile a package for your target platform, simply source the provided &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script and compile as usual,&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ source /usr/local/angstrom/arm/environment-setup&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the meta-toolchain environment does not include any of the libraries included in your target image.&lt;br /&gt;
&lt;br /&gt;
= Cross-compiling the kernel =&lt;br /&gt;
Because of the self-contained nature of the kernel, one must proceed slightly differently than with cross-compiling user-mode software. Namely, &amp;lt;b&amp;gt;one must not use the &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script provided with &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt;.&amp;lt;/b&amp;gt;{{cite web|url=http://thread.gmane.org/gmane.linux.kbuild.devel/5686/focus=39837}}{{cite web|url=http://thread.gmane.org/gmane.linux.kernel/1015620/focus=5621}} This script modifies environment required by the host compiler used to compile tools used during the build process, resulting in difficult to trace errors.&lt;br /&gt;
&lt;br /&gt;
Instead, one simply must pass the target architecture and the cross-compiler executable name prefix to Kbuild,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ cd linux-2.6&lt;br /&gt;
$ export ARCH=arm&lt;br /&gt;
$ export CROSS_COMPILE=/usr/local/angstrom/arm/bin/&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The kernel Makefile also contains useful rules for packing the kernel image and modules into a tarball, for easy installation on the target,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bgamari</name></author>
	</entry>
	<entry>
		<id>https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3793</id>
		<title>SDK/Toolchain/Application Developer Toolkit</title>
		<link rel="alternate" type="text/html" href="https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3793"/>
		<updated>2010-12-22T18:08:35Z</updated>

		<summary type="html">&lt;p&gt;Bgamari: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Along with recipes for building a compiler for internal its own use, OpenEmbedded has recipes to create a full cross-compiler environment for the host. First, you need to have a working OpenEmbedded environment (see [[Getting_started]]). Note that throughout this article we will use the example of working on the ARM architecture. While particular file names may differ in your case, the general process should be similar. To build the cross-compiler, build the &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt; recipe,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ bitbake meta-toolchain&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will produce a tarball in a subdirectory of &amp;lt;tt&amp;gt;deploy/sdk&amp;lt;/tt&amp;gt;. This tarball includes compiler executables, libraries, and core headers, as well as a small environment script, all under the prefix of &amp;lt;tt&amp;gt;usr/local/angstrom&amp;lt;/tt&amp;gt;. To install this tarball, simply untar into &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ tar -C / -pxvjf $SDK_ROOT/sdk- &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To cross-compile a package for your target platform, simply source the provided &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script and compile as usual,&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ source /usr/local/angstrom/arm/environment-setup&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the meta-toolchain environment does not include any of the libraries included in your target image.&lt;br /&gt;
&lt;br /&gt;
= Cross-compiling the kernel =&lt;br /&gt;
Because of the self-contained nature of the kernel, one must proceed slightly differently than with cross-compiling user-mode software. Namely, &amp;lt;b&amp;gt;one must not use the &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script provided with &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt;.&amp;lt;/b&amp;gt; This script modifies environment required by the host compiler used to compile tools used during the build process, resulting in difficult to trace errors.&lt;br /&gt;
&lt;br /&gt;
.Instead, one simply must pass the target architecture and the cross-compiler executable name prefix to Kbuild,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ cd linux-2.6&lt;br /&gt;
$ export ARCH=arm&lt;br /&gt;
$ export CROSS_COMPILE=/usr/local/angstrom/arm/bin/&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The kernel Makefile also contains useful rules for packing the kernel image and modules into a tarball, for easy installation on the target,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bgamari</name></author>
	</entry>
	<entry>
		<id>https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3792</id>
		<title>SDK/Toolchain/Application Developer Toolkit</title>
		<link rel="alternate" type="text/html" href="https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3792"/>
		<updated>2010-12-22T18:05:20Z</updated>

		<summary type="html">&lt;p&gt;Bgamari: /* Cross-compiling the kernel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Along with recipes for building a compiler for internal its own use, OpenEmbedded has recipes to create a full cross-compiler environment for the host. First, you need to have a working OpenEmbedded environment (see [[Getting_started]]). Note that throughout this article we will use the example of working on the ARM architecture. While particular file names may differ in your case, the general process should be similar. To build the cross-compiler, build the &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt; recipe,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ bitbake meta-toolchain&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will produce a tarball in a subdirectory of &amp;lt;tt&amp;gt;deploy/sdk&amp;lt;/tt&amp;gt;. This tarball includes compiler executables, libraries, and core headers, as well as a small environment script, all under the prefix of &amp;lt;tt&amp;gt;usr/local/angstrom&amp;lt;/tt&amp;gt;. To install this tarball, simply untar into &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ tar -C / -pxvjf $SDK_ROOT/sdk- &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cross-compiling the kernel =&lt;br /&gt;
Because of the self-contained nature of the kernel, one must proceed slightly differently than with cross-compiling user-mode software. Namely, &amp;lt;b&amp;gt;one must not use the &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script provided with &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt;.&amp;lt;/b&amp;gt; This script modifies environment required by the host compiler used to compile tools used during the build process, resulting in difficult to trace errors.&lt;br /&gt;
&lt;br /&gt;
.Instead, one simply must pass the target architecture and the cross-compiler executable name prefix to Kbuild,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ cd linux-2.6&lt;br /&gt;
$ export ARCH=arm&lt;br /&gt;
$ export CROSS_COMPILE=/usr/local/angstrom/arm/bin/&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The kernel Makefile also contains useful rules for packing the kernel image and modules into a tarball, for easy installation on the target,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bgamari</name></author>
	</entry>
	<entry>
		<id>https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3791</id>
		<title>SDK/Toolchain/Application Developer Toolkit</title>
		<link rel="alternate" type="text/html" href="https://www.openembedded.org/w/index.php?title=SDK/Toolchain/Application_Developer_Toolkit&amp;diff=3791"/>
		<updated>2010-12-22T18:04:33Z</updated>

		<summary type="html">&lt;p&gt;Bgamari: Start article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Along with recipes for building a compiler for internal its own use, OpenEmbedded has recipes to create a full cross-compiler environment for the host. First, you need to have a working OpenEmbedded environment (see [[Getting_started]]). Note that throughout this article we will use the example of working on the ARM architecture. While particular file names may differ in your case, the general process should be similar. To build the cross-compiler, build the &amp;lt;tt&amp;gt;meta-toolchain&amp;lt;/tt&amp;gt; recipe,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ bitbake meta-toolchain&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will produce a tarball in a subdirectory of &amp;lt;tt&amp;gt;deploy/sdk&amp;lt;/tt&amp;gt;. This tarball includes compiler executables, libraries, and core headers, as well as a small environment script, all under the prefix of &amp;lt;tt&amp;gt;usr/local/angstrom&amp;lt;/tt&amp;gt;. To install this tarball, simply untar into &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ tar -C / -pxvjf $SDK_ROOT/sdk- &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Cross-compiling the kernel =&lt;br /&gt;
Because of the self-contained nature of the kernel, one must proceed slightly differently than with cross-compiling user-mode software. Namely, &amp;lt;b&amp;gt;one must not use the provided &amp;lt;tt&amp;gt;environment-setup&amp;lt;/tt&amp;gt; script.&amp;lt;/b&amp;gt; This script modifies environment required by the host compiler used to compile tools used during the build process, resulting in difficult to trace errors.&lt;br /&gt;
&lt;br /&gt;
.Instead, one simply must pass the target architecture and the cross-compiler executable name prefix to Kbuild,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ cd linux-2.6&lt;br /&gt;
$ export ARCH=arm&lt;br /&gt;
$ export CROSS_COMPILE=/usr/local/angstrom/arm/bin/&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The kernel Makefile also contains useful rules for packing the kernel image and modules into a tarball, for easy installation on the target,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ make &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bgamari</name></author>
	</entry>
</feed>