<?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=Excogitation</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=Excogitation"/>
	<link rel="alternate" type="text/html" href="https://www.openembedded.org/wiki/Special:Contributions/Excogitation"/>
	<updated>2026-04-27T13:43:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://www.openembedded.org/w/index.php?title=OEandYourDistro&amp;diff=731</id>
		<title>OEandYourDistro</title>
		<link rel="alternate" type="text/html" href="https://www.openembedded.org/w/index.php?title=OEandYourDistro&amp;diff=731"/>
		<updated>2008-10-19T17:30:24Z</updated>

		<summary type="html">&lt;p&gt;Excogitation: Undo revision 729 by 91.82.174.186 (Talk) because of spam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;See [[RequiredSoftware]] for the list of the software required by Openembedded.&lt;br /&gt;
&lt;br /&gt;
= Using OpenEmbedded on Linux systems =&lt;br /&gt;
&lt;br /&gt;
== deb-based distributions ==&lt;br /&gt;
&lt;br /&gt;
The easiest way is via [http://blog.leggewie.org/?p=39 apt-get&#039;able Openembedded] which will pull the OE meta-data for you and keep it up-to-date.  Plus, it makes sure all necessary software for cross-compilation is installed.  Easy as 1-2-3.&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
&lt;br /&gt;
==== Mandatory packages ====&lt;br /&gt;
&lt;br /&gt;
It is possible that not all software is available in a recent enough version for etch.  Try backports if necessary.&lt;br /&gt;
&lt;br /&gt;
 apt-get install ccache sed wget cvs subversion git-core monotone \&lt;br /&gt;
    coreutils unzip texi2html texinfo libsdl1.2-dev docbook-utils \&lt;br /&gt;
    gawk python-pysqlite2 diffstat help2man&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Git&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
On debian you may have to run &lt;br /&gt;
&lt;br /&gt;
  update-alternatives --config git (as root)&lt;br /&gt;
 &lt;br /&gt;
and select /usr/bin/git-scm to provide git instead of /usr/bin/git.transition.  This is not necessary in sid&lt;br /&gt;
&lt;br /&gt;
==== Complementary packages ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
apt-get install libxml2-utils xmlto python-psyco&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OPTIONAL: these packages and their dependencies need to be installed in order to build the bitbake documentation (warning: over 160MB of installed packages).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
apt-get install docbook&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This package is necessary to build some packages (in particular the esound documentation needs it).&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu is based on Debian and instructions above for [[#deb-based distributions|Debian]] apply here as well. Make sure that you have the universe repositories in your apt configuration.&lt;br /&gt;
&lt;br /&gt;
* Check that /bin/sh (ls -l /bin/sh) is not symbolically linked to dash. &amp;quot;dash&amp;quot; is a POSIX compliant shell that is much smaller than &amp;quot;bash&amp;quot; -- however some broken shell scripts still make use of bash extensions while calling into /bin/sh.  To work around this issue call &amp;quot;&#039;&#039;sudo dpkg-reconfigure dash&#039;&#039;&amp;quot; and select No when it asks you to install dash as /bin/sh.&lt;br /&gt;
* You can also install Psyco Python JIT compiler to speed up BitBake. Psyco works on 32-bit x86 platforms only.  &amp;quot;&#039;&#039;aptitude install python-psyco&#039;&#039;&lt;br /&gt;
* If you are using Ubuntu version prior to 7.04, you might need to install Monotone [http://www.venge.net/monotone/downloads/monotone-0.40.tar.gz straight from www.monotone.ca], since Monotone shipped with the distribution is not recent enough.&lt;br /&gt;
&lt;br /&gt;
== rpm-based distributions ==&lt;br /&gt;
&lt;br /&gt;
=== Mandriva Linux ===&lt;br /&gt;
&lt;br /&gt;
Follow the Debian instructions, only using `urpmi` instead of `apt-get install`.  Also, `ccache` is not an official Mandriva package. You can find it in the contrib section of any Mandriva mirror or seach for it using the Mandriva Club rpm database [http://rpms.mandrakeclub.com].  You may need libpythonV.V-devel for bitbake setup instead of python-dev.&lt;br /&gt;
If you&#039;re building a 2.6 kernel, you also need the glibc-static-devel package.&lt;br /&gt;
&lt;br /&gt;
with Mandriva Linux 2006, you need to issue the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
urpmi python python-devel python-psyco ccache patch m4 sed bison make wget bzip2 \&lt;br /&gt;
cvs gawk glibc-devel gcc-c++ subversion sharutils coreutils docbook-utils openjade \&lt;br /&gt;
quilt pcre-devel unzip&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== openSUSE instructions ===&lt;br /&gt;
Install monotone using [http://software.opensuse.org/search?baseproject=ALL&amp;amp;p=1&amp;amp;q=monotone One-Click Install]&lt;br /&gt;
&lt;br /&gt;
Then use zypper to install the rest:&lt;br /&gt;
&lt;br /&gt;
  zypper in subversion monotone git python help2man diffstat wget gcc gcc-c++ libstdc++ glibc-devel&lt;br /&gt;
&lt;br /&gt;
These packages may be useful as well: ccache, bison and [http://software.opensuse.org/search?baseproject=ALL&amp;amp;p=1&amp;amp;q=gcc33 gcc33] (for faster build using ASSUME_PROVIDED), gtk2-devel (in case your build will fail on missing gdk-pixbuf-csource), bc (for collie kernel), ncurses-devel (if you want to call kernel menuconfig). python psyco package is optional.&lt;br /&gt;
&lt;br /&gt;
=== Fedora ===&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core 2/3  ====&lt;br /&gt;
Much of the following is probably already installed, but you can check with the following commands.  You may want to use the yum.conf located at http://www.fedorafaq.org/.  Note, this has not been tested yes as I am in the process of setting up a development environment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt; yum install python patch m4 sed make docbook* openjade glibc-devel xmlto&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* `yum install ccache` (not required, also not a FC3 package)&lt;br /&gt;
&lt;br /&gt;
* psyco: Download psyco-1.4-src.tar.gz (or later) and extract it. Go to the psycho top-level directory and run: `python setup.py install`.&lt;br /&gt;
&lt;br /&gt;
* patch:  FC3 default version should be enough. Optionally, install SuSe 9.1 package of it.&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core 4  ====&lt;br /&gt;
Almost all required packages for Openembedded are available in Fedora Core 4 and the Fedora Extras for Core 4. You can download them from &amp;lt;http://download.fedora.redhat.com/pub/fedora/linux/core&amp;gt; and &amp;lt;http://download.fedora.redhat.com/pub/fedora/linux/extras&amp;gt;. Check &amp;lt;http://download.fedora.redhat.com/pub/fedora/linux/core/updates/4&amp;gt; for updates on the Core 4 packages.&lt;br /&gt;
&lt;br /&gt;
Apart from the usual (native) development packages like gcc and binutils, you should check that you have the following RPM&#039;s installed: &lt;br /&gt;
&lt;br /&gt;
* bison&lt;br /&gt;
* ccache (not required, but advised to speed up building)&lt;br /&gt;
* docbook* packages&lt;br /&gt;
* libpcre&lt;br /&gt;
* m4&lt;br /&gt;
* make&lt;br /&gt;
* openjade&lt;br /&gt;
* patch&lt;br /&gt;
* PyQt&lt;br /&gt;
* python&lt;br /&gt;
* python-psyco&lt;br /&gt;
* sed&lt;br /&gt;
* xmlto&lt;br /&gt;
* quilt (not required as OE builds it by itself, but install it if you want to use gquilt)&lt;br /&gt;
&lt;br /&gt;
Use apt, synaptic, up2date or yum to automagically retrieve these packages or download and install them manually (lots of work).&lt;br /&gt;
&lt;br /&gt;
==== Fedora Core 5/6  ====&lt;br /&gt;
&lt;br /&gt;
Commands I used to install OE pre-requisites on FC5/6&lt;br /&gt;
&lt;br /&gt;
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
su -c &amp;quot;yum install python m4 make wget curl ftp cvs monotone subversion tar bzip2 gzip unzip python-psyco ccache perl texinfo texi2html diffstat openjade docbook-style-dsssl docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch gcc gcc-c++ python-sqlite2 help2man&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or download the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm (may be out of date).&lt;br /&gt;
&lt;br /&gt;
then do&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
su -c &amp;quot;yum localinstall openembedded-essential-1.1-1.noarch.rpm&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Update - By some reports monotone 0.32 may be required for some purposes and Fedora Extras currently has 0.31.  I downloaded the tarball from http://www.venge.net/monotone/ and rebuilt tthe package by modifying monotone.spec from the Extras src.rpm - YMMV.&lt;br /&gt;
&lt;br /&gt;
Update 2007/04/03 - As of this date, FC6 Extras is offering Monotone 0.33.&lt;br /&gt;
&lt;br /&gt;
There are also rpm and src.rpm packages of bitbake 1.6.2 at http://www.openembedded.org/dl/packages/rpm/ pending a later version in Extras, currently 1.6.0.&lt;br /&gt;
&lt;br /&gt;
Update - Current FC6 version is patch-2.5.4-29.2.2 as of this writing and works-for-me (see revision history for build instructions if current patch does not work for you).&lt;br /&gt;
&lt;br /&gt;
I didn&#039;t install SGML tools.  Please add if you know how&lt;br /&gt;
&lt;br /&gt;
Update - Since about 2002 sgml-tools has apparently been replaced by linuxdoc-tools for FC.&lt;br /&gt;
&lt;br /&gt;
==== Fedora 7  ====&lt;br /&gt;
&lt;br /&gt;
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
su -c &amp;quot;yum install python m4 make wget curl ftp cvs monotone subversion tar bzip2 gzip unzip python-psyco ccache perl texinfo texi2html diffstat openjade docbook-style-dsssl docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools gcc gcc-c++ help2man&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)&lt;br /&gt;
&lt;br /&gt;
=== CentOS 4.4 / Red Hat Enterprise Linux 4  ===&lt;br /&gt;
May also work for true EL4 or Scientific Linux - another RHEL rebuild&lt;br /&gt;
&lt;br /&gt;
Even with several optional and 3rd party yum repos enabled (centosplus, kbsingh, RPMforge/Dag, Dries) a number of required packages are too old or unavailable for CentOS4.   [It should be possible to use other package managers including apt/synaptic, up2date, and smart to get the required packages.  The following assumes yum.]&lt;br /&gt;
&lt;br /&gt;
I re-built the following SRPMS (with &amp;quot;$ rpmbuild --rebuild ...&amp;quot;):&lt;br /&gt;
* monotone-0.32-1.src.rpm (latest tarball from http://www.venge.net/monotone/ + modified spec from monotone-0.31-2.fc7.src.rpm)&lt;br /&gt;
* boost-1.33.1-10.fc5.src.rpm&lt;br /&gt;
* bitbake-1.6.2-1.src.rpm (Latest tarball from http://developer.berlios.de/projects/bitbake/ + modified spec from bitbake-1.6.0-2.fc7.src.rpm)&lt;br /&gt;
&lt;br /&gt;
Might also want to try the rpm and src.rpm packages of bitbake 1.6.2 at http://www.openembedded.org/dl/packages/rpm/ - I have not.&lt;br /&gt;
&lt;br /&gt;
Extra requirements for the builds included rpmdevtools, xmlto, and  lynx.&lt;br /&gt;
&lt;br /&gt;
I put packages in a local repo so I can do &amp;quot;yum install ...&amp;quot;, otherwise can do &amp;quot;yum localinstall foo.1.2.3.noarch.rpm ...&amp;quot;.  It may be necessary to temporarily set &amp;quot;gpgcheck=0&amp;quot; in /etc/yum.conf to avoid complaints about unsigned packages.&lt;br /&gt;
&lt;br /&gt;
For EL4 texi2html is available from the tetex package, currently tetex-2.0.2-22.EL4.7&lt;br /&gt;
&lt;br /&gt;
Note that the the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm&lt;br /&gt;
should work except that it depends on texi2html.&lt;br /&gt;
&lt;br /&gt;
Instead as root do&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# yum install bison ccache coreutils cvs docbook-utils gawk git-core monotone \&lt;br /&gt;
  python quilt rpmlib sed subversion tetex texinfo unzip wget&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I ended up with the following set of relevant packages after several iterations of building/updating to get &amp;quot;bitbake nano&amp;quot; to complete successfully:&lt;br /&gt;
&lt;br /&gt;
* python-2.3.4-14.3&lt;br /&gt;
* m4-1.4.1-16&lt;br /&gt;
* make-3.80-6.EL4&lt;br /&gt;
* wget-1.10.2-0.40E&lt;br /&gt;
* curl-7.12.1-8.rhel4&lt;br /&gt;
* ftp-0.17-22&lt;br /&gt;
* cvs-1.11.17-9.RHEL4&lt;br /&gt;
* monotone-0.32-1&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf&lt;br /&gt;
* tar-1.14-12.RHEL4&lt;br /&gt;
* bzip2-1.0.2-13.EL4.3&lt;br /&gt;
* gzip-1.3.3-16.rhel4&lt;br /&gt;
* unzip-5.51-7&lt;br /&gt;
* python-psyco-1.5-3.el4.kb&lt;br /&gt;
* ccache-2.4-1.2.el4.rf&lt;br /&gt;
* perl-5.8.5-36.RHEL4&lt;br /&gt;
* texinfo-4.7-5.el4.2&lt;br /&gt;
* tetex-2.0.2-22.EL4.7&lt;br /&gt;
* diffstat-1.34-0_6.el4.at&lt;br /&gt;
* openjade-1.3.2-16_9.el4.at&lt;br /&gt;
* docbook-style-dsssl-1.78-4&lt;br /&gt;
* docbook-style-xsl-1.65.1-2&lt;br /&gt;
* docbook-dtds-1.0-25&lt;br /&gt;
* docbook-utils-0.6.14-4&lt;br /&gt;
* sed-4.1.2-5.EL4&lt;br /&gt;
* bison-1.875c-2&lt;br /&gt;
* bc-1.06-17.1&lt;br /&gt;
* glibc-devel-2.3.4-2.25&lt;br /&gt;
* gcc-3.4.6-3&lt;br /&gt;
* binutils-2.15.92.0.2-21&lt;br /&gt;
* pcre-4.5-3.2.RHEL4&lt;br /&gt;
* pcre-devel-4.5-3.2.RHEL4&lt;br /&gt;
* git-1.4.4.2-2.el4.kb&lt;br /&gt;
* bitbake-1.6.2-1&lt;br /&gt;
&lt;br /&gt;
== other Linux distributions ==&lt;br /&gt;
&lt;br /&gt;
=== Gentoo instructions ===&lt;br /&gt;
&lt;br /&gt;
On Gentoo 2008.0 the bitbake package is masked, so you&#039;ll need to update /etc/portage/package.keywords.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
echo &#039;dev-embedded/bitbake ~x86&#039; &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
emerge -n \&lt;br /&gt;
  bitbake \&lt;br /&gt;
  psyco \&lt;br /&gt;
  ccache \&lt;br /&gt;
  patch \&lt;br /&gt;
  make \&lt;br /&gt;
  sed \&lt;br /&gt;
  dev-lang/python \&lt;br /&gt;
  m4 \&lt;br /&gt;
  bison \&lt;br /&gt;
  cvs \&lt;br /&gt;
  openjade \&lt;br /&gt;
  quilt \&lt;br /&gt;
  sgmltools-lite \&lt;br /&gt;
  docbook-xml-dtd \&lt;br /&gt;
  docbook-dsssl-stylesheets \&lt;br /&gt;
  xmlto \&lt;br /&gt;
  docbook-sgml-utils \&lt;br /&gt;
  libpcre \&lt;br /&gt;
  boost \&lt;br /&gt;
  subversion \&lt;br /&gt;
  monotone \&lt;br /&gt;
  texi2html&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ark Linux 2007.1 ===&lt;br /&gt;
[http://www.arklinux.org/ Ark Linux] is a modern distribution well suited for Openembedded development. Footprint only 2.1G.&lt;br /&gt;
&lt;br /&gt;
Required steps:&lt;br /&gt;
&lt;br /&gt;
1) install required packages&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
apt-get install devel-core diffstat texi2html cvs subversion git texinfo psyco monotone python-devel python-encodings python-sqlite&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) upgrade&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get upgrade &lt;br /&gt;
&lt;br /&gt;
The following packages will be REPLACED:&lt;br /&gt;
  texi2html (by tetex-texi2html)&lt;br /&gt;
The following NEW packages will be installed:&lt;br /&gt;
  tetex-texi2html&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) help2man&lt;br /&gt;
&lt;br /&gt;
help2man is missing from the ArkLinux repositories.  The [http://www.gnu.org/software/help2man/ sources] must be configured, compiled and installed.  The compilation of help2man requires the installation of some additional packages:&lt;br /&gt;
&lt;br /&gt;
 apt-get install gettext-devel gettext-tools perl-Locale-gettext&lt;br /&gt;
&lt;br /&gt;
4) finally create your OE tree and provide bitbake (see [[Getting Started]] instructions)&lt;br /&gt;
&lt;br /&gt;
=== Arch Linux (Duke)  ===&lt;br /&gt;
&lt;br /&gt;
Most of the packages are available in the repositories.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
sudo pacman -S psyco ccache patch make sed python m4 bison cvs quilt sgmltools-lite docbook-xml xmlto pcre boost monotone jade git texinfo&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Arch Linux the install command is in /bin/install. Since most of Linux distribution assume that install is located in /usr/bin/install, you have to create a symlink:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
sudo ln -s /bin/install /usr/bin/install&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can build BitBake by using this PKGBUILD:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
pkgname=bitbake&lt;br /&gt;
pkgver=1.8.4&lt;br /&gt;
pkgrel=1&lt;br /&gt;
pkgdesc=&amp;quot;A simple tool for task execution derived from Gentoo&#039;s portage&amp;quot;&lt;br /&gt;
url=&amp;quot;http://developer.berlios.de/projects/bitbake/&amp;quot;&lt;br /&gt;
arch=(&#039;i686&#039;)&lt;br /&gt;
license=(&#039;GPL&#039; &#039;custom&#039;)&lt;br /&gt;
depends=(&#039;python&#039;)&lt;br /&gt;
source=(http://download.berlios.de/bitbake/${pkgname}-${pkgver}.tar.gz)&lt;br /&gt;
md5sums=(&#039;508d9a61c635d469be8facc95151158b&#039;)&lt;br /&gt;
&lt;br /&gt;
build() {&lt;br /&gt;
  cd ${startdir}/src/${pkgname}-${pkgver}&lt;br /&gt;
  python setup.py install --root=${startdir}/pkg&lt;br /&gt;
&lt;br /&gt;
  # Install vim extensions&lt;br /&gt;
  install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/ftdetect/bitbake.vim \&lt;br /&gt;
                ${startdir}/pkg/usr/share/vim/ftplugin/bitbake.vim&lt;br /&gt;
  install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/syntax/bitbake.vim \&lt;br /&gt;
                ${startdir}/pkg/usr/share/vim/syntax/bitbake.vim&lt;br /&gt;
&lt;br /&gt;
  # Handle MIT license&lt;br /&gt;
  install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/doc/COPYING.MIT \&lt;br /&gt;
                ${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING.MIT&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using OpenEmbedded on FreeBSD and other NON Linux Systems =&lt;br /&gt;
&lt;br /&gt;
to be done, maybe there is some information in the [http://oe.linuxtog.org/wiki old wiki]&lt;br /&gt;
&lt;br /&gt;
== FreeBSD  ==&lt;br /&gt;
&lt;br /&gt;
* Python == /usr/ports/lang/python&lt;br /&gt;
* GNU Patch == /usr/ports/devel/patch&lt;br /&gt;
* GNU m4 == /usr/ports/devel/m4&lt;br /&gt;
* GNU make == /usr/ports/devel/gmake&lt;br /&gt;
* wget == /usr/ports/ftp/wget&lt;br /&gt;
* Psyco JIT Compiler == /usr/ports/devel/py-psyco&lt;br /&gt;
* ccache == /usr/ports/devel/ccache&lt;br /&gt;
* GNU sed == /usr/ports/textproc/gsed&lt;br /&gt;
* Bison == /usr/ports/devel/bison&lt;br /&gt;
* GCC 2.95.3 == /usr/ports/lang/gcc295&lt;br /&gt;
* bc == already in FreeBSD&lt;br /&gt;
* PyQt == /usr/ports/x11-toolkits/py-qt&lt;br /&gt;
* glibc headers (ignore)&lt;br /&gt;
* subversion == /usr/ports/devel/subversion&lt;br /&gt;
* git == /usr/ports/devel/git&lt;br /&gt;
* pcre == /usr/ports/devel/pcre&lt;br /&gt;
&lt;br /&gt;
Ports has also has these: fileutils, jade, docbook, dsssl-docbook-modular, sgmltools&lt;br /&gt;
&lt;br /&gt;
== Using OpenEmbedded on Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
to be done, maybe there is some information in the [http://oe.linuxtog.org/wiki old wiki]&lt;br /&gt;
&lt;br /&gt;
= Using OpenEmbedded on Windows/Cygwin Systems =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Building Openembedded on Windows is currently unsupported, but [http://oe.linuxtogo.org/wiki/BuildOnCygwin work is in progress] to support buidling of meta-toolchain.bb on Windows/Cygwin hosts.&lt;/div&gt;</summary>
		<author><name>Excogitation</name></author>
	</entry>
	<entry>
		<id>https://www.openembedded.org/w/index.php?title=Getting_started_with_OE-Classic&amp;diff=606</id>
		<title>Getting started with OE-Classic</title>
		<link rel="alternate" type="text/html" href="https://www.openembedded.org/w/index.php?title=Getting_started_with_OE-Classic&amp;diff=606"/>
		<updated>2008-10-03T20:50:40Z</updated>

		<summary type="html">&lt;p&gt;Excogitation: added a link to the Git page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Note for OpenMoko Developers ==&lt;br /&gt;
&lt;br /&gt;
[http://www.openmoko.org/ Openmoko] has its own version of BitBake.  Openmoko provides their [http://wiki.openmoko.org/wiki/MokoMakefile own setup instructions].&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
This page tells you how to get started with Openembedded, i.e. how to install OE and start building packages.  Before you proceed, please look at the important bits of [[RequiredSoftware]] that must be installed on your system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT NOTES&#039;&#039;&#039;: this guide assumes that:&lt;br /&gt;
&lt;br /&gt;
* the base directory of your Openembedded environment is &#039;&#039;&#039;/stuff/&#039;&#039;&#039;&lt;br /&gt;
(As a normal user, you probably want to substitute this with /home/myuser/oe/stuff)&lt;br /&gt;
* you selected the &#039;&#039;&#039;org.openembedded.dev&#039;&#039;&#039; development branch&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You do not have to be root&#039;&#039;&#039; to build packages or distributions with Openembedded. It is even recommended &#039;&#039;&#039;to always work as user, not as root&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;org.openembedded.dev&amp;lt;/nowiki&amp;gt; is a development branch, therefore your build will be based on the contents of this development branch which may not be what you intended. See [[DevelopmentBranches]] for other available branches including versioned branches. You might want to use the stable branch, which is called &amp;lt;nowiki&amp;gt;org.openembedded.stable&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
One general-purpose distro is Angstrom, well mantained in both stable and development branches. More information about the angstrom project can be found on [http://www.angstrom-distribution.org/ Angstrom homepage]&lt;br /&gt;
&lt;br /&gt;
Again, for the rest of these notes, replace &#039;&#039;&#039;/stuff/&#039;&#039;&#039; with the base directory of your Openembedded environment and &#039;&#039;&#039;org.openembedded.dev&#039;&#039;&#039; with the name of the branch that you selected.&lt;br /&gt;
&lt;br /&gt;
= Setting up the toolchain and doing a build =&lt;br /&gt;
&lt;br /&gt;
== Directory Structure ==&lt;br /&gt;
The base directory of your Openembedded environment (&amp;lt;nowiki&amp;gt;/stuff/&amp;lt;/nowiki&amp;gt;) is the location where sources will be checked out (or unpacked).&lt;br /&gt;
&lt;br /&gt;
* You must choose a location with &#039;&#039;&#039;no symlinks above it&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* If you work in a chrooted environment it is highly recommended to &#039;su - &amp;lt;username&amp;gt;&#039; after you have chrooted. Otherwise compilation may fail because ccache needs a valid &amp;lt;nowiki&amp;gt;$HOME&amp;lt;/nowiki&amp;gt; - which is set when using a user account.&lt;br /&gt;
&lt;br /&gt;
To create the directory structure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ mkdir -p /stuff/build/conf&lt;br /&gt;
$ cd /stuff/&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obtaining BitBake ==&lt;br /&gt;
To start using OE, you must first obtain the build tool it needs: &amp;lt;nowiki&amp;gt;bitbake&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is recommended to run bitbake without installing it, as a sibling directory of &amp;lt;nowiki&amp;gt;org.openembedded.dev/&amp;lt;/nowiki&amp;gt; and &amp;lt;nowiki&amp;gt;build/&amp;lt;/nowiki&amp;gt; directories. Indeed, as bitbake is written in python it does not need compilation for being used. You&#039;ll just have to set the PATH variable so that the [[BitBake]] tools are accessible (see [[#Setup the environment|Setup the environment]] section).&lt;br /&gt;
&lt;br /&gt;
===Using packages===&lt;br /&gt;
&lt;br /&gt;
There is a BitBake package available for more and more distros - see [[OEandYourDistro]].&lt;br /&gt;
&lt;br /&gt;
===Using releases===&lt;br /&gt;
&lt;br /&gt;
Visit [http://developer.berlios.de/projects/bitbake/ BitBake homepage] and download tarball with latest release. For normal usage we suggest using 1.8.x (stable branch) versions. Unpack it to &#039;&#039;&#039;/stuff/bitbake/&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Using Subversion===&lt;br /&gt;
&lt;br /&gt;
Go to the base directory of your Openembedded environment and checkout bitbake:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ cd /stuff/&lt;br /&gt;
$ svn co svn://svn.berlios.de/bitbake/branches/bitbake-1.8/ bitbake&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; for proxy handling, see [http://subversion.tigris.org/faq.html#proxy SVN FAQ]&lt;br /&gt;
&lt;br /&gt;
==== Updating bitbake ====&lt;br /&gt;
&lt;br /&gt;
Bitbake is being revised fairly often. Periodically it&#039;s a good idea to check the repository of [http://svn.berlios.de/viewcvs/bitbake/branches/ bitbake stable branches] to see if a new stable branch is available or if the current branch has been revised. Compare your existing bitbake directory with the latest bitbake branch in the repository. Your existing bitbake branch and its &#039;last changed revision&#039; number can be found as follows: &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ cd /stuff/bitbake; svn info&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there is a new stable branch, you will want to move or delete your existing bitbake directory and repeat the process listed above under &amp;quot;To obtain bitbake&amp;quot;.  If there is no new branch, it is easy to update bitbake:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ cd /stuff/bitbake; svn update&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Obtaining OpenEmbedded using Monotone ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: &#039;&#039;&#039;OpenEmbedded is in the process of [http://wiki.openembedded.net/index.php/Git moving to git].&#039;&#039;&#039;  This section will soon be &#039;&#039;&#039;obsolete&#039;&#039;&#039; and should be replaced.  The git repository is at git://git.openembedded.net/org.openembedded.dev.git&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Next, you&#039;ll need to obtain the actual Openembedded database. The OE database store all the OE metadata: build classes, configuration files, and packages. Then you can extract from this database the development branch(es) you want.&lt;br /&gt;
&lt;br /&gt;
The Openembedded database is a [http://www.venge.net/monotone/ Monotone] database, which is the current SCM (Source Code Management) system for Openembedded. You can find monotone binaries and documentation at [http://www.venge.net/monotone/ Monotone official site].&lt;br /&gt;
&lt;br /&gt;
To obtain Openembedded:&lt;br /&gt;
# Install [http://www.venge.net/monotone/ Monotone] 0.3x (if you have to use an older version of Monotone because of libboost problems, then refer to the [http://www.openembedded.org/user-manual&amp;amp;dpage=ch03s02 Manual] for additional hints).&lt;br /&gt;
# Go to the base directory of your Openembedded environment&lt;br /&gt;
 $ cd /stuff/&lt;br /&gt;
# Download and bunzip2 the OE database snapshot. &#039;&#039;&#039;Note: Unfortunately some monotone versions differ in database format. Check [http://www.openembedded.org/snapshots Snapshots] and download the one matching your monotone version.&#039;&#039;&#039;&lt;br /&gt;
 $ wget http://www.openembedded.org/snapshots/OE.mtn.bz2&lt;br /&gt;
 $ bunzip2 -d OE.mtn.bz2&lt;br /&gt;
This is the database you&#039;ll be using for all the work.&lt;br /&gt;
&lt;br /&gt;
If you run into a problem at this stage, check to make sure you have version 0.32 (or newer) of monotone installed.&lt;br /&gt;
&lt;br /&gt;
If you get further troubles in using monotone, there are two ways out:&lt;br /&gt;
&lt;br /&gt;
* use the [http://openembedded.org/snapshots/ latest OE snapshot]&lt;br /&gt;
* use a static monotone image&lt;br /&gt;
&lt;br /&gt;
Then you can checkout your local copy of the Openembedded tree.&lt;br /&gt;
 $ cd /stuff&lt;br /&gt;
 $ mtn --db=/stuff/OE.mtn checkout --branch=org.openembedded.dev&lt;br /&gt;
This extracts directories and files relating to the selected branch from the OE.mtn database and places them under &amp;lt;nowiki&amp;gt;/stuff/branchname&amp;lt;/nowiki&amp;gt; (i.e. in &amp;lt;nowiki&amp;gt;/stuff/org.openembedded.dev&amp;lt;/nowiki&amp;gt; in this guide)&lt;br /&gt;
&lt;br /&gt;
If at this stage you get an error that the branch you want to check out has multiple heads, you should do a &#039;&#039;mtn pull&#039;&#039; to update it, and if it isn&#039;t fixed &#039;&#039;&#039;after pulling&#039;&#039;&#039;, notify one of the developers to merge it. You should select one head and continue with this howto.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: As stated in the introduction, you can of course checkout other branches instead of &amp;lt;nowiki&amp;gt;org.openembedded.dev&amp;lt;/nowiki&amp;gt;. See [[DevelopmentBranches]] for more details about existing branches.&lt;br /&gt;
&lt;br /&gt;
=== Updating OE ===&lt;br /&gt;
The .dev branch of OE is updated very frequently (as much as several times an hour). The distro branches are not updated as much but still fairly often. It seems good practice to update your OE tree at least daily. To do this, first update your repository&#039;s local database (for .dev branch in this example):&lt;br /&gt;
 $ mtn --db=/stuff/OE.mtn pull monotone.openembedded.org org.openembedded.dev&lt;br /&gt;
&lt;br /&gt;
Then update the branch(es) you are using. This will update the contents of the files in the local database. For example:&lt;br /&gt;
 $ cd /stuff/org.openembedded.dev &amp;amp;&amp;amp; mtn update&lt;br /&gt;
 $ cd /stuff/org.openembedded.dreambox &amp;amp;&amp;amp; mtn update&lt;br /&gt;
&lt;br /&gt;
You may find the [http://www.monotone.ca/docs/CVS-Phrasebook.html#CVS-Phrasebook Monotone PhraseBook] handy for further information on how to use Monotone.&lt;br /&gt;
&lt;br /&gt;
If monotone.openembedded.net is down you can use the following backup monotone servers:&lt;br /&gt;
&lt;br /&gt;
* monotone.nslu2-linux.org&lt;br /&gt;
* opensource.wolfsonmicro.com&lt;br /&gt;
&lt;br /&gt;
These mirrors are synchronized at least twice per hour.&lt;br /&gt;
&lt;br /&gt;
== Create local configuration ==&lt;br /&gt;
It&#039;s now time to create your local configuration.&lt;br /&gt;
While you could copy the default local.conf.sample like that:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ cd /stuff/&lt;br /&gt;
$ cp org.openembedded.dev/conf/local.conf.sample build/conf/local.conf&lt;br /&gt;
$ vi build/conf/local.conf&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is actually recommended to start smaller and keep local.conf.sample in the background and add entries from there step-by-step as you understand and need them. Please, do not just edit build/conf/local.conf.sample but actually READ it.&lt;br /&gt;
&lt;br /&gt;
For building a .dev branch, in your &amp;lt;nowiki&amp;gt;local.conf&amp;lt;/nowiki&amp;gt; file, you should have at least the following three entries. Example for the Angstrom distribution and the Openmoko gta01 machine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
BBFILES = &amp;quot;/stuff/org.openembedded.dev/packages/*/*.bb&amp;quot;&lt;br /&gt;
DISTRO = &amp;quot;angstrom-2008.1&amp;quot;&lt;br /&gt;
MACHINE = &amp;quot;om-gta01&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup the environment ==&lt;br /&gt;
One of the four command sets below will need to be run every time you open a terminal for development. (You can automate this in ~/.profile, /etc/profile, or perhaps use a script to set the necessary variables for using [[BitBake]].)&lt;br /&gt;
&lt;br /&gt;
If you followed the recommendation above to use an uninstalled [[BitBake]]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ export BBPATH=/stuff/build:/stuff/org.openembedded.dev&lt;br /&gt;
$ export PATH=/stuff/bitbake/bin:$PATH&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed [[BitBake]]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ export BBPATH=/stuff/build:/stuff/org.openembedded.dev&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternative syntax for those using the tcsh shell (e.g FreeBSD):&lt;br /&gt;
 &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ setenv PATH &amp;quot;/stuff/bitbake/bin:&amp;quot;$PATH&lt;br /&gt;
$ setenv BBPATH &amp;quot;/stuff/build:/stuff/org.openembedded.dev:&amp;quot;$BBPATH&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Start building ==&lt;br /&gt;
The primary interface to the build system is the &amp;lt;nowiki&amp;gt;bitbake&amp;lt;/nowiki&amp;gt; command (see the bitbake users manual). &amp;lt;nowiki&amp;gt;bitbake&amp;lt;/nowiki&amp;gt; will download and patch stuff from the network, so it helps if you are on a well connected machine.&lt;br /&gt;
&lt;br /&gt;
Note that you should issue all bitbake commands from inside of the &amp;lt;nowiki&amp;gt;build/&amp;lt;/nowiki&amp;gt; directory, or you should override TMPDIR to point elsewhere (by default it goes to &amp;lt;nowiki&amp;gt;tmp/&amp;lt;/nowiki&amp;gt; relative to the directory you run the tools in).&lt;br /&gt;
&lt;br /&gt;
Here are some example invocations:&lt;br /&gt;
&lt;br /&gt;
Building a single package (e.g. nano):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ bitbake nano&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Building package sets (e.g. task-base):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ bitbake task-base&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Special note for&#039;&#039; &amp;lt;nowiki&amp;gt;task-base&amp;lt;/nowiki&amp;gt;: you may need additional setup for building this very one task. More details in [[ZaurusKernels]]&lt;br /&gt;
&lt;br /&gt;
Building a group of packages and deploying them into a rootfs image:&lt;br /&gt;
&lt;br /&gt;
GPE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ bitbake gpe-image&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OPIE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ bitbake opie-image&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;&#039;NOTE:&#039;&#039;&#039; kergoth says it will take about 4GB of disk space to build an opie or gpe image for one architecture)&lt;br /&gt;
&lt;br /&gt;
See the /stuff/org.openembedded.dev/packages/meta/ directory if you&#039;re curious about what meta/task and image targets exist.&lt;br /&gt;
&lt;br /&gt;
Building every package in the repository (&#039;&#039;&#039;NOTE:&#039;&#039;&#039; This will take a &#039;&#039;very&#039;&#039; long time and needs approx. 35 GB disk space):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ bitbake world&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Building a single package, bypassing the long parse step (and therefore its dependencies--use with care):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ bitbake -b /stuff/org.openembedded.dev/packages/blah/blah.bb&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See [[UsefulTargets]] for a description of some of the more useful meta-packages. You will typically need at least one of the base images (&amp;lt;nowiki&amp;gt;bootstrap-image&amp;lt;/nowiki&amp;gt;, &amp;lt;nowiki&amp;gt;opie-image&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;gpe-image&amp;lt;/nowiki&amp;gt;), and if and only if you&#039;re building for an [http://wiki.openzaurus.org/Main_Page OpenZaurus] target requiring an installer image (such as C3000), an additional &amp;lt;nowiki&amp;gt;pivotboot-image&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Output of the build process (temporary files, log files and the binaries) all ends up in the &amp;lt;nowiki&amp;gt;tmp&amp;lt;/nowiki&amp;gt; directory.  Most interesting is probably the &amp;lt;nowiki&amp;gt;tmp/work/&amp;lt;/nowiki&amp;gt; directory.  Just have a look around the [[DirectoryStructure]].            &lt;br /&gt;
&lt;br /&gt;
Images generated by building package groups like &amp;lt;nowiki&amp;gt;opie-im.mtnage&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;pivotboot-image&amp;lt;/nowiki&amp;gt; are placed in the &amp;lt;nowiki&amp;gt;tmp/deploy/images/&amp;lt;/nowiki&amp;gt; directory. Individual ipkg packages are put in &amp;lt;nowiki&amp;gt;tmp/deploy/ipk&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Adding Packages ==&lt;br /&gt;
# Create [[bbfile]].&lt;br /&gt;
# Try building it locally.&lt;br /&gt;
# Fix eventual problems.&lt;br /&gt;
# Send .[[bbfile]] or an [[OePatch]] to the [http://www.openembedded.org/contact openembedded mailing list].&lt;br /&gt;
&lt;br /&gt;
= Problems =&lt;br /&gt;
Try to solve problems first by checking that you have done everything right, that nothing has changed from this description and that you have the latest code (see [[MonotonePhraseBook]]). Look also in the log file (referenced in any error message you will receive). If you still have problems, try checking [[PossibleFailures]] and [http://www.openembedded.org/wiki/OeFaq#builderrors common build errors].  &lt;br /&gt;
Above links are dead, you can try the [[:Category:FAQ]].  If problems persist, ask on [[IRC]] or in the [http://www.openembedded.org/contact openembedded mailing list].&lt;br /&gt;
&lt;br /&gt;
The Openembedded metadata is changing constantly.  This implies several things:&lt;br /&gt;
&lt;br /&gt;
# Once you have a &amp;quot;known good&amp;quot; version that works well on your system, keep it!  To update, clone a new copy; don&#039;t overwrite that working version until it&#039;s known to be safe.&lt;br /&gt;
# To resolve build problems, &amp;quot;mtn pull ; mtn update&amp;quot; is your good friend.  Many times, the issues will already be fixed in the current tree.&lt;br /&gt;
# Not all metadata updates cause the local caches to update correctly.  Sometimes you&#039;ll need to remove the &amp;quot;.../tmp&amp;quot; work directory and rebuild from scratch.&lt;br /&gt;
# Similar issues apply to the package sources you download.&lt;br /&gt;
&lt;br /&gt;
= Portability issues =&lt;br /&gt;
Make sure to set &amp;lt;nowiki&amp;gt;TARGET_OS&amp;lt;/nowiki&amp;gt; to something other than linux in local.conf if your host isn&#039;t linux.&lt;br /&gt;
&lt;br /&gt;
GNU extensions to tools are often required.  Symlink GNU patch, make, and cp (from fileutils), chmod, sed, find, tar, awk into your OE development path.&lt;br /&gt;
&lt;br /&gt;
FreeBSD 4 users: Perl 5.0 is too old.  A more recent perl must be available as &amp;lt;nowiki&amp;gt;/usr/bin/perl&amp;lt;/nowiki&amp;gt;.  Unfortunately just having more recent perl in the path isn&#039;t good enough.  Some scripts are hard-coded for &amp;lt;nowiki&amp;gt;/usr/bin/perl&amp;lt;/nowiki&amp;gt;.  You can test for which perl you&#039;re using by typing perl -v.  see /usr/ports/UPDATING for instructions on updating perl. Don&#039;t forget to do a use.perl port as instructed in /usr/ports/UPDATING&lt;br /&gt;
&lt;br /&gt;
FreeBSD users: Set &amp;lt;nowiki&amp;gt;BUILD_OS&amp;lt;/nowiki&amp;gt; in local.conf to freebsdN where N is your major version number.  At least the cross gcc wants this.&lt;br /&gt;
&lt;br /&gt;
FreeBSD users: The build process of glibc uses a very long command line at some places.  Increase ARG_MAX to at least 131072, by editing /usr/sys/sys/syslimits.h and recompile your kernel (and reboot).&lt;br /&gt;
&lt;br /&gt;
= Productivity notes =&lt;br /&gt;
Use the interactive bitbake mode (&amp;quot;bitbake -i&amp;quot;) to speed up work when debugging or developing .bb files. Remember to run &amp;quot;parse&amp;quot; at the prompt first. Go!&lt;br /&gt;
&lt;br /&gt;
If you want to save some compile time or are interested in additional tweaks to local.conf take a look at the [[AdvancedConfiguration]] page.&lt;/div&gt;</summary>
		<author><name>Excogitation</name></author>
	</entry>
</feed>