https://www.openembedded.org/api.php?action=feedcontributions&user=Guillaume+G&feedformat=atomOpenembedded.org - User contributions [en]2024-03-29T15:53:29ZUser contributionsMediaWiki 1.29.0https://www.openembedded.org/index.php?title=OEandYourDistro&diff=4471OEandYourDistro2011-12-01T13:45:06Z<p>Guillaume G: typo</p>
<hr />
<div>'''Note''': the information here is liable to be out of date. Please see the [[Required software]] for information on which software is required on the host system.<br />
<br />
= Using OpenEmbedded on Linux systems =<br />
<br />
== deb-based distributions ==<br />
<br />
The easiest way is via [http://blog.leggewie.org/?p=39 apt-get'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.<br />
<br />
=== Debian ===<br />
<br />
==== Mandatory packages ====<br />
<br />
aptitude install sed wget cvs subversion git-core \<br />
coreutils unzip texi2html texinfo docbook-utils \<br />
gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ \<br />
desktop-file-utils chrpath<br />
<br />
'''Git'''<br />
<br />
On debian you may have to run <br />
<br />
update-alternatives --config git (as root)<br />
<br />
and select /usr/bin/git-scm to provide git instead of /usr/bin/git.transition. This is not necessary in sid<br />
<br />
==== Supplementary packages ====<br />
<br />
<pre><nowiki><br />
apt-get install libxml2-utils xmlto python-psyco apr<br />
</nowiki></pre><br />
<br />
<br />
OPTIONAL: these packages and their dependencies need to be installed in order to build the bitbake documentation (warning: over 160MB of installed packages).<br />
<br />
<pre><nowiki><br />
apt-get install docbook<br />
</nowiki></pre><br />
This package is necessary to build some packages (in particular the esound documentation needs it).<br />
<br />
==== Building in container (LXC/OpenVZ) ====<br />
NOTE: If you are building in container (LXC/OpenVZ) check presence of '''loadkeys''' tool (/bin/loadkeys). If there is no loadkeys, install '''console-tools''' package.<br />
<br />
=== Ubuntu ===<br />
<br />
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.<br />
<br />
* Check that /bin/sh (ls -l /bin/sh) is not symbolically linked to dash. "dash" is a POSIX compliant shell that is much smaller than "bash" -- however some broken shell scripts still make use of bash extensions while calling into /bin/sh. To work around this issue call "''sudo dpkg-reconfigure dash''" and select No when it asks you to install dash as /bin/sh.<br />
* You can also install Psyco Python JIT compiler to speed up BitBake. Psyco works on 32-bit x86 platforms only. "''aptitude install python-psyco''<br />
* there are known [[gcc issues in Intrepid and later]] when cross-compiling with OE<br />
<br />
[SOLVED - update 2010-05]<br />
* qemu-arm fails whilst building locales (Ubuntu 10.04 LTS and possibly other releases). This is due to a kernel setting which restricts memory mapping to low addresses. To work around this you can either:<br />
** a) Enter 'echo 128 > /proc/sys/vm/mmap_min_addr' prior to running bitbake.<br />
** b) Set permanent parameter 'sudo sysctl -w vm.mmap_min_addr=128'.<br />
<br />
With current qemu in OE mmap_min_addr tricks are not needed at all.<br />
So now it should work on every system with readable /proc/sys/vm/mmap_min_addr or /proc/sys/vm/mmap_min_addr <= 65536.<br />
<br />
== rpm-based distributions ==<br />
<br />
=== Mandriva Linux ===<br />
<br />
Follow the Debian instructions, only using `urpmi` instead of `apt-get install`. 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.<br />
If you're building a 2.6 kernel, you also need the glibc-static-devel package.<br />
<br />
with Mandriva Linux 2006, you need to issue the following command:<br />
<br />
<pre><nowiki><br />
urpmi python python-devel python-psyco patch m4 sed bison make wget bzip2 \<br />
cvs gawk glibc-devel gcc-c++ subversion sharutils coreutils docbook-utils openjade \<br />
quilt pcre-devel unzip glibc-static-devel<br />
</nowiki></pre><br />
<br />
=== openSUSE ===<br />
<br />
==== openSUSE 11.4/12.1 - 1-click install ====<br />
<br />
You can install all the needed dependencies (except bitbake) with the following 1-click install link: [http://download.oliseo.fr/OE/OE_dep.ymp OE_dep.ymp]<br />
<br />
<br />
==== openSUSE all version - zypper ====<br />
<br />
Use zypper to install the required packages (except bitbake and tools needed to build *-doc packages):<br />
sudo zypper in python python-ply python-progressbar patch m4 make perl diffstat \<br />
wget curl ftp cvs subversion git mercurial tar bzip2 gzip unzip sed bison bc \<br />
glibc-devel pcre-devel libSDL-devel coreutils help2man gawk chrpath<br />
<br />
==== Additional packages ====<br />
<br />
===== psyco =====<br />
<br />
In order to speed up the build, you can install python psyco package.<br />
<br />
Please note pysco is only available for 32-bit x86 systems only.<br />
<br />
====== from sourceforge ======<br />
You can use python psyco package (from http://sourceforge.net/projects/psyco/files/) to speed up building. You need to install python-devel:<br />
sudo zypper in python-devel<br />
<br />
and then install psyco via<br />
sudo python setup.py install<br />
in the psyco directory.<br />
<br />
====== from community repo (only 11.3) ======<br />
Alternatively you can install psyco directly from a community repo.<br />
zypper ar -f http://download.opensuse.org/repositories/home:/elchevive/openSUSE_11.3/ 11.3-psyco<br />
zypper in python-psyco<br />
<br />
===== other useful packages =====<br />
<br />
Those packages may be useful as well if you want to build *-doc packages:<br />
<br />
sudo zypper in openjade docbook-xml-website docbook-dsssl-stylesheets docbook-utils sgmltools-lite texinfo<br />
<br />
=== Fedora ===<br />
<br />
==== Fedora Core 2/3 ====<br />
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.<br />
<br />
<pre><nowiki> yum install python patch m4 sed make docbook* openjade glibc-devel xmlto</nowiki></pre><br />
<br />
* 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`.<br />
<br />
* patch: FC3 default version should be enough. Optionally, install SuSe 9.1 package of it.<br />
<br />
==== Fedora Core 4 ====<br />
Almost all required packages for Openembedded are available in Fedora Core 4 and the Fedora Extras for Core 4. You can download them from <http://download.fedora.redhat.com/pub/fedora/linux/core> and <http://download.fedora.redhat.com/pub/fedora/linux/extras>. Check <http://download.fedora.redhat.com/pub/fedora/linux/core/updates/4> for updates on the Core 4 packages.<br />
<br />
Apart from the usual (native) development packages like gcc and binutils, you should check that you have the following RPM's installed: <br />
<br />
* bison<br />
* docbook* packages<br />
* libpcre<br />
* m4<br />
* make<br />
* openjade<br />
* patch<br />
* PyQt<br />
* python<br />
* python-psyco<br />
* sed<br />
* xmlto<br />
* quilt (not required as OE builds it by itself, but install it if you want to use gquilt)<br />
<br />
Use apt, synaptic, up2date or yum to automagically retrieve these packages or download and install them manually (lots of work).<br />
<br />
==== Fedora Core 5/6 ====<br />
<br />
Commands I used to install OE pre-requisites on FC5/6<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip \<br />
unzip python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch gcc gcc-c++ python-sqlite2 help2man"<br />
</nowiki></pre><br />
<br />
or download the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm (may be out of date).<br />
<br />
then do<br />
<br />
<pre><nowiki><br />
su -c "yum localinstall openembedded-essential-1.1-1.noarch.rpm"<br />
</nowiki></pre><br />
<br />
<br />
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.<br />
<br />
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).<br />
<br />
I didn't install SGML tools. Please add if you know how<br />
<br />
Update - Since about 2002 sgml-tools has apparently been replaced by linuxdoc-tools for FC.<br />
<br />
==== Fedora 7 ====<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools gcc gcc-c++ \<br />
help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 11 ====<br />
<br />
Fedora 11, compared to previous versions, brings the need to install "glibc-static" as well:<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 12 ====<br />
Recommended to use Fedora 12 64 bit when possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath<br />
</nowiki></pre><br />
<br />
note python-pyscho is only available for 32bit linux<br />
<br />
==== Fedora 13 , 14 and 15 ====<br />
Recommended to use Fedora 13/14/15 64 bit when/where possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
Then update all packages<br />
<pre><nowiki><br />
sudo yum update<br />
</nowiki></pre><br />
<br />
Then <br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath cmake ncurses \<br />
apr<br />
</nowiki></pre><br />
<br />
(some or most of these packages may have been added by the previous step e.g. for <br />
console-image build on f14 only texi2html chrpath wget perl-ExtUtils-MakeMaker glibc-static were required in addition to ' Development Tools')<br />
<br />
note python-pyscho is currently only available for 32bit linux<br />
<br />
Note for fedora 14 as of 17th March 2011 if you have patch-2.6.1.-8.fc14 installed you may need to downgrade<br><br />
to an older version if you are getting patching errors during building.<br><br />
<br><br />
to downgrade<br />
<pre> sudo yum downgrade patch </pre><br />
<br />
=== CentOS 4.4 / Red Hat Enterprise Linux 4 ===<br />
May also work for true EL4 or Scientific Linux - another RHEL rebuild<br />
<br />
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.]<br />
<br />
I re-built the following SRPMS (with "$ rpmbuild --rebuild ..."):<br />
* boost-1.33.1-10.fc5.src.rpm<br />
* 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)<br />
<br />
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.<br />
<br />
Extra requirements for the builds included rpmdevtools, xmlto, and lynx.<br />
<br />
I put packages in a local repo so I can do "yum install ...", otherwise can do "yum localinstall foo.1.2.3.noarch.rpm ...". It may be necessary to temporarily set "gpgcheck=0" in /etc/yum.conf to avoid complaints about unsigned packages.<br />
<br />
For EL4 texi2html is available from the tetex package, currently tetex-2.0.2-22.EL4.7<br />
<br />
Note that the the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm<br />
should work except that it depends on texi2html.<br />
<br />
Instead as root do<br />
<br />
<pre><nowiki><br />
yum install bison coreutils cvs docbook-utils gawk git-core python quilt rpmlib \<br />
sed subversion tetex texinfo unzip wget<br />
</nowiki></pre><br />
<br />
I ended up with the following set of relevant packages after several iterations of building/updating to get "bitbake nano" to complete successfully:<br />
<br />
* python-2.3.4-14.3<br />
* m4-1.4.1-16<br />
* make-3.80-6.EL4<br />
* wget-1.10.2-0.40E<br />
* curl-7.12.1-8.rhel4<br />
* ftp-0.17-22<br />
* cvs-1.11.17-9.RHEL4<br />
* subversion-1.4.3-0.1.el4.rf<br />
* tar-1.14-12.RHEL4<br />
* bzip2-1.0.2-13.EL4.3<br />
* gzip-1.3.3-16.rhel4<br />
* unzip-5.51-7<br />
* python-psyco-1.5-3.el4.kb<br />
* perl-5.8.5-36.RHEL4<br />
* texinfo-4.7-5.el4.2<br />
* tetex-2.0.2-22.EL4.7<br />
* diffstat-1.34-0_6.el4.at<br />
* openjade-1.3.2-16_9.el4.at<br />
* docbook-style-dsssl-1.78-4<br />
* docbook-style-xsl-1.65.1-2<br />
* docbook-dtds-1.0-25<br />
* docbook-utils-0.6.14-4<br />
* sed-4.1.2-5.EL4<br />
* bison-1.875c-2<br />
* bc-1.06-17.1<br />
* glibc-devel-2.3.4-2.25<br />
* gcc-3.4.6-3<br />
* binutils-2.15.92.0.2-21<br />
* pcre-4.5-3.2.RHEL4<br />
* pcre-devel-4.5-3.2.RHEL4<br />
* git-1.4.4.2-2.el4.kb<br />
* bitbake-1.6.2-1<br />
<br />
=== ALT Linux ===<br />
<br />
You can read more about ALT Linux here: http://www.altlinux.com/en/<br />
<br />
You can use synaptic or aptitude to install packages. Or use apt-get as shown below.<br />
<br />
<pre><nowiki><br />
apt-get install git-core python python-dev python-module-psyco python-modules-sqlite3 \<br />
patch m4 sed bison make wget bzip2 cvs gawk gcc-c++ subversion sharutils coreutils \<br />
docbook-utils openjade quilt libpcre-devel unzip glibc-devel glibc-devel-static \<br />
help2man texi2html perl-devel chrpath<br />
</nowiki></pre><br />
<br />
For building bitbake manuals you have to install 'xmlto' package:<br />
<br />
<pre><nowiki><br />
apt-get install xmlto<br />
</nowiki></pre><br />
<br />
NOTES:<br />
* This is tested on ALD 4.0/4.1/5.0.<br />
* gcc-c++ is virtual package and can be provided by gcc4.3-c++ (ALD 5.0) and gcc4.1-c++ (ALD 4.0/4.1). Just select higher version.<br />
* '''As I have no OE installation on ALT Linux more this page can have obsolete information.'''<br />
<br />
=== Ark Linux 2008.1 ===<br />
[http://www.arklinux.org/ Ark Linux] is a modern distribution well suited for Openembedded development. Footprint only 2.1G.<br />
<br />
Required steps:<br />
<br />
1) install required packages<br />
<pre><nowiki><br />
apt-get install devel-core diffstat texi2html cvs subversion git texinfo psyco python-devel \<br />
python-encodings python-sqlite chrpath help2man<br />
</nowiki></pre><br />
<br />
2) upgrade<br />
<pre><nowiki><br />
apt-get update<br />
apt-get dist-upgrade <br />
</nowiki></pre><br />
<br />
3) finally create your OE tree (see [[Getting started]] instructions).<br />
<br />
== other Linux distributions ==<br />
<br />
=== Gentoo instructions ===<br />
<br />
Note that Psyco, the Python JIT compiler, works on 32-bit x86 platforms only.<br />
<br />
<pre><nowiki><br />
emerge -n \<br />
psyco \<br />
patch \<br />
make \<br />
sed \<br />
dev-lang/python \<br />
m4 \<br />
bison \<br />
cvs \<br />
openjade \<br />
quilt \<br />
sgmltools-lite \<br />
docbook-xml-dtd \<br />
docbook-dsssl-stylesheets \<br />
xmlto \<br />
docbook-sgml-utils \<br />
libpcre \<br />
boost \<br />
subversion \<br />
texi2html \<br />
pysqlite \<br />
chrpath<br />
</nowiki></pre><br />
<br />
Then follow the instructions in [[Getting started]] for obtaining bitbake and start the build.<br />
<br />
=== Arch Linux (Duke) ===<br />
'''Note''': Arch Linux has switched to using Python 3 by default. BitBake does ''not'' support Python 3.<br />
Please ensure you have Python 2.6.x or 2.7.x installed and set to be the default Python interpreter.<br />
<br />
Most of the packages are available in the repositories.<br />
<br />
<pre><nowiki><br />
sudo pacman -S patch make sed python m4 bison cvs quilt sgmltools-lite docbook-xml \<br />
xmlto pcre boost jade git texinfo texi2html help2man subversion chrpath<br />
</nowiki></pre><br />
<br />
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:<br />
<br />
<pre><nowiki><br />
sudo ln -s /bin/install /usr/bin/install<br />
</nowiki></pre><br />
<br />
You can build BitBake by using this PKGBUILD or install it from the AUR:<br />
<pre><nowiki><br />
pkgname=bitbake<br />
pkgver=1.8.4<br />
pkgrel=1<br />
pkgdesc="A simple tool for task execution derived from Gentoo's portage"<br />
url="http://developer.berlios.de/projects/bitbake/"<br />
arch=('i686')<br />
license=('GPL' 'custom')<br />
depends=('python')<br />
source=(http://download.berlios.de/bitbake/${pkgname}-${pkgver}.tar.gz)<br />
md5sums=('508d9a61c635d469be8facc95151158b')<br />
<br />
build() {<br />
cd ${startdir}/src/${pkgname}-${pkgver}<br />
python setup.py install --root=${startdir}/pkg<br />
<br />
# Install vim extensions<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/ftdetect/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/ftplugin/bitbake.vim<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/syntax/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/syntax/bitbake.vim<br />
<br />
# Handle MIT license<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/doc/COPYING.MIT \<br />
${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING.MIT<br />
}<br />
</nowiki></pre><br />
<br />
= Using OpenEmbedded on FreeBSD and other NON Linux Systems =<br />
<br />
tbd<br />
<br />
== FreeBSD ==<br />
<br />
* Python == /usr/ports/lang/python<br />
* GNU Patch == /usr/ports/devel/patch<br />
* GNU m4 == /usr/ports/devel/m4<br />
* GNU make == /usr/ports/devel/gmake<br />
* wget == /usr/ports/ftp/wget<br />
* Psyco JIT Compiler == /usr/ports/devel/py-psyco<br />
* GNU sed == /usr/ports/textproc/gsed<br />
* Bison == /usr/ports/devel/bison<br />
* GCC 2.95.3 == /usr/ports/lang/gcc295<br />
* bc == already in FreeBSD<br />
* PyQt == /usr/ports/x11-toolkits/py-qt<br />
* glibc headers (ignore)<br />
* subversion == /usr/ports/devel/subversion<br />
* git == /usr/ports/devel/git<br />
* pcre == /usr/ports/devel/pcre<br />
<br />
Ports has also has these: fileutils, jade, docbook, dsssl-docbook-modular, sgmltools<br />
<br />
== Using OpenEmbedded on Mac OS X ==<br />
<br />
By default OS X uses a filesystem that is '''not''' case sensitive. You need to ensure that at least your tmp directory is on a case sensitive filesystem or you may come across various packages that break, including the Linux kernel! These steps were carried out on a early 32 bit 10.5/Intel Mac - the install order matters for a couple of packages as does having them installed in a more normal location.<br />
<br />
# Register at [https://connect.apple.com ADC] and download and install Xcode<br />
# Compile and install [http://www.gnu.org/software/gettext/ GNU gettext]<br />
# Using CPAN install Locale::gettext<br />
# Compile and install [http://www.gnu.org/software/help2man/ help2man 1.29] - newer versions will not build without hacks<br />
# Compile and install [http://www.gnu.org/software/wget/ wget], [http://www.gnu.org/software/gawk/ gawk], [http://www.gnu.org/software/coreutils/ coreutils] and [http://git-scm.com/ git] - wget appears to not work if you install it in /usr/local so use --prefix=/usr also note OS X provides a different version of mktemp which functions differently, be careful not to overwrite this as OS X might need it<br />
# If you are on a 32 bit Mac you can of course install [http://psyco.sourceforge.net/ psyco]<br />
# Fixup your PATH variable for your build user so that /usr/local/bin (or where ever coreutils etc is installed) comes before the OS X version in /usr/bin<br />
# Install GNU sed 3.0.2, this will give you a version of sed that allows you to build sed 4.1.5 - you will need to overwrite the one provided by OS X with --prefix=/usr and ensure you are using 4.1.5 not 3.0.2 as 3.0.2 does not provide various options you need<br />
# Install getopt from [http://software.frodo.looijaard.name/getopt/download.php here] - modify WITHOUT_GETTEXT=0 to WITHOUT_GETTEXT=1 in the Makefile and add -DWITHOUT_GETTEXT=$(WITHOUT_GETTEXT) to the line beginning with CPPFLAGS=<br />
<br />
Now follow the Getting Started OpenEmbedded wiki guide. Unfortunately there are various issues building on OS X that will most likely prevent the toolchain from building.<br />
<br />
Unfinished - tbd<br />
<br />
= Using OpenEmbedded on Windows/Cygwin Systems =<br />
<br />
<br />
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.<br />
<br />
[[Category:User]]<br />
<br />
new user</div>Guillaume Ghttps://www.openembedded.org/index.php?title=OEandYourDistro&diff=4469OEandYourDistro2011-12-01T13:43:31Z<p>Guillaume G: /* openSUSE all version - zypper */</p>
<hr />
<div>'''Note''': the information here is liable to be out of date. Please see the [[Required software]] for information on which software is required on the host system.<br />
<br />
= Using OpenEmbedded on Linux systems =<br />
<br />
== deb-based distributions ==<br />
<br />
The easiest way is via [http://blog.leggewie.org/?p=39 apt-get'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.<br />
<br />
=== Debian ===<br />
<br />
==== Mandatory packages ====<br />
<br />
aptitude install sed wget cvs subversion git-core \<br />
coreutils unzip texi2html texinfo docbook-utils \<br />
gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ \<br />
desktop-file-utils chrpath<br />
<br />
'''Git'''<br />
<br />
On debian you may have to run <br />
<br />
update-alternatives --config git (as root)<br />
<br />
and select /usr/bin/git-scm to provide git instead of /usr/bin/git.transition. This is not necessary in sid<br />
<br />
==== Supplementary packages ====<br />
<br />
<pre><nowiki><br />
apt-get install libxml2-utils xmlto python-psyco apr<br />
</nowiki></pre><br />
<br />
<br />
OPTIONAL: these packages and their dependencies need to be installed in order to build the bitbake documentation (warning: over 160MB of installed packages).<br />
<br />
<pre><nowiki><br />
apt-get install docbook<br />
</nowiki></pre><br />
This package is necessary to build some packages (in particular the esound documentation needs it).<br />
<br />
==== Building in container (LXC/OpenVZ) ====<br />
NOTE: If you are building in container (LXC/OpenVZ) check presence of '''loadkeys''' tool (/bin/loadkeys). If there is no loadkeys, install '''console-tools''' package.<br />
<br />
=== Ubuntu ===<br />
<br />
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.<br />
<br />
* Check that /bin/sh (ls -l /bin/sh) is not symbolically linked to dash. "dash" is a POSIX compliant shell that is much smaller than "bash" -- however some broken shell scripts still make use of bash extensions while calling into /bin/sh. To work around this issue call "''sudo dpkg-reconfigure dash''" and select No when it asks you to install dash as /bin/sh.<br />
* You can also install Psyco Python JIT compiler to speed up BitBake. Psyco works on 32-bit x86 platforms only. "''aptitude install python-psyco''<br />
* there are known [[gcc issues in Intrepid and later]] when cross-compiling with OE<br />
<br />
[SOLVED - update 2010-05]<br />
* qemu-arm fails whilst building locales (Ubuntu 10.04 LTS and possibly other releases). This is due to a kernel setting which restricts memory mapping to low addresses. To work around this you can either:<br />
** a) Enter 'echo 128 > /proc/sys/vm/mmap_min_addr' prior to running bitbake.<br />
** b) Set permanent parameter 'sudo sysctl -w vm.mmap_min_addr=128'.<br />
<br />
With current qemu in OE mmap_min_addr tricks are not needed at all.<br />
So now it should work on every system with readable /proc/sys/vm/mmap_min_addr or /proc/sys/vm/mmap_min_addr <= 65536.<br />
<br />
== rpm-based distributions ==<br />
<br />
=== Mandriva Linux ===<br />
<br />
Follow the Debian instructions, only using `urpmi` instead of `apt-get install`. 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.<br />
If you're building a 2.6 kernel, you also need the glibc-static-devel package.<br />
<br />
with Mandriva Linux 2006, you need to issue the following command:<br />
<br />
<pre><nowiki><br />
urpmi python python-devel python-psyco patch m4 sed bison make wget bzip2 \<br />
cvs gawk glibc-devel gcc-c++ subversion sharutils coreutils docbook-utils openjade \<br />
quilt pcre-devel unzip glibc-static-devel<br />
</nowiki></pre><br />
<br />
=== openSUSE ===<br />
<br />
==== openSUSE 11.4/12.1 - 1-click install ====<br />
<br />
You can install all the needed dependencies (except bitbake) with the following 1-click install link: [http://download.oliseo.fr/OE/OE_dep.ymp OE_dep.ymp]<br />
<br />
<br />
==== openSUSE all version - zypper ====<br />
<br />
Use zypper to install the required packages (except bitbake and tools needed to build *-doc packages):<br />
sudo zypper in python python-ply python-progressbar patch m4 make perl diffstat \<br />
wget curl ftp cvs subversion git mercurial tar bzip2 gzip unzip sed bison bc \<br />
glibc-devel pcre-devel libSDL-devel coreutils help2man gawk chrpath<br />
<br />
==== Additional packages ====<br />
<br />
===== psyco =====<br />
<br />
In order to speed up the build, you can install python psyco package.<br />
<br />
Please note pysco is only available for 32-bit x86 systems only.<br />
<br />
====== from sourceforge ======<br />
You can use python psyco package (from http://sourceforge.net/projects/psyco/files/) to speed up building. You need to install python-devel:<br />
sudo zypper in python-devel<br />
<br />
and then install psyco via<br />
sudo python setup.py install<br />
in the psyco directory.<br />
<br />
====== from community repo (only 11.3) ======<br />
Alternatively you can install psyco directly from a community repo.<br />
zypper ar -f http://download.opensuse.org/repositories/home:/elchevive/openSUSE_11.3/ 11.3-psyco<br />
zypper in python-psyco<br />
<br />
===== other useful packages =====<br />
<br />
These packages may be useful as well if you want to build *-doc packages<br />
<br />
sudo zypper in openjade docbook-xml-website docbook-dsssl-stylesheets docbook-utils sgmltools-lite texinfo<br />
<br />
=== Fedora ===<br />
<br />
==== Fedora Core 2/3 ====<br />
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.<br />
<br />
<pre><nowiki> yum install python patch m4 sed make docbook* openjade glibc-devel xmlto</nowiki></pre><br />
<br />
* 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`.<br />
<br />
* patch: FC3 default version should be enough. Optionally, install SuSe 9.1 package of it.<br />
<br />
==== Fedora Core 4 ====<br />
Almost all required packages for Openembedded are available in Fedora Core 4 and the Fedora Extras for Core 4. You can download them from <http://download.fedora.redhat.com/pub/fedora/linux/core> and <http://download.fedora.redhat.com/pub/fedora/linux/extras>. Check <http://download.fedora.redhat.com/pub/fedora/linux/core/updates/4> for updates on the Core 4 packages.<br />
<br />
Apart from the usual (native) development packages like gcc and binutils, you should check that you have the following RPM's installed: <br />
<br />
* bison<br />
* docbook* packages<br />
* libpcre<br />
* m4<br />
* make<br />
* openjade<br />
* patch<br />
* PyQt<br />
* python<br />
* python-psyco<br />
* sed<br />
* xmlto<br />
* quilt (not required as OE builds it by itself, but install it if you want to use gquilt)<br />
<br />
Use apt, synaptic, up2date or yum to automagically retrieve these packages or download and install them manually (lots of work).<br />
<br />
==== Fedora Core 5/6 ====<br />
<br />
Commands I used to install OE pre-requisites on FC5/6<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip \<br />
unzip python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch gcc gcc-c++ python-sqlite2 help2man"<br />
</nowiki></pre><br />
<br />
or download the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm (may be out of date).<br />
<br />
then do<br />
<br />
<pre><nowiki><br />
su -c "yum localinstall openembedded-essential-1.1-1.noarch.rpm"<br />
</nowiki></pre><br />
<br />
<br />
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.<br />
<br />
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).<br />
<br />
I didn't install SGML tools. Please add if you know how<br />
<br />
Update - Since about 2002 sgml-tools has apparently been replaced by linuxdoc-tools for FC.<br />
<br />
==== Fedora 7 ====<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools gcc gcc-c++ \<br />
help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 11 ====<br />
<br />
Fedora 11, compared to previous versions, brings the need to install "glibc-static" as well:<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 12 ====<br />
Recommended to use Fedora 12 64 bit when possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath<br />
</nowiki></pre><br />
<br />
note python-pyscho is only available for 32bit linux<br />
<br />
==== Fedora 13 , 14 and 15 ====<br />
Recommended to use Fedora 13/14/15 64 bit when/where possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
Then update all packages<br />
<pre><nowiki><br />
sudo yum update<br />
</nowiki></pre><br />
<br />
Then <br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath cmake ncurses \<br />
apr<br />
</nowiki></pre><br />
<br />
(some or most of these packages may have been added by the previous step e.g. for <br />
console-image build on f14 only texi2html chrpath wget perl-ExtUtils-MakeMaker glibc-static were required in addition to ' Development Tools')<br />
<br />
note python-pyscho is currently only available for 32bit linux<br />
<br />
Note for fedora 14 as of 17th March 2011 if you have patch-2.6.1.-8.fc14 installed you may need to downgrade<br><br />
to an older version if you are getting patching errors during building.<br><br />
<br><br />
to downgrade<br />
<pre> sudo yum downgrade patch </pre><br />
<br />
=== CentOS 4.4 / Red Hat Enterprise Linux 4 ===<br />
May also work for true EL4 or Scientific Linux - another RHEL rebuild<br />
<br />
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.]<br />
<br />
I re-built the following SRPMS (with "$ rpmbuild --rebuild ..."):<br />
* boost-1.33.1-10.fc5.src.rpm<br />
* 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)<br />
<br />
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.<br />
<br />
Extra requirements for the builds included rpmdevtools, xmlto, and lynx.<br />
<br />
I put packages in a local repo so I can do "yum install ...", otherwise can do "yum localinstall foo.1.2.3.noarch.rpm ...". It may be necessary to temporarily set "gpgcheck=0" in /etc/yum.conf to avoid complaints about unsigned packages.<br />
<br />
For EL4 texi2html is available from the tetex package, currently tetex-2.0.2-22.EL4.7<br />
<br />
Note that the the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm<br />
should work except that it depends on texi2html.<br />
<br />
Instead as root do<br />
<br />
<pre><nowiki><br />
yum install bison coreutils cvs docbook-utils gawk git-core python quilt rpmlib \<br />
sed subversion tetex texinfo unzip wget<br />
</nowiki></pre><br />
<br />
I ended up with the following set of relevant packages after several iterations of building/updating to get "bitbake nano" to complete successfully:<br />
<br />
* python-2.3.4-14.3<br />
* m4-1.4.1-16<br />
* make-3.80-6.EL4<br />
* wget-1.10.2-0.40E<br />
* curl-7.12.1-8.rhel4<br />
* ftp-0.17-22<br />
* cvs-1.11.17-9.RHEL4<br />
* subversion-1.4.3-0.1.el4.rf<br />
* tar-1.14-12.RHEL4<br />
* bzip2-1.0.2-13.EL4.3<br />
* gzip-1.3.3-16.rhel4<br />
* unzip-5.51-7<br />
* python-psyco-1.5-3.el4.kb<br />
* perl-5.8.5-36.RHEL4<br />
* texinfo-4.7-5.el4.2<br />
* tetex-2.0.2-22.EL4.7<br />
* diffstat-1.34-0_6.el4.at<br />
* openjade-1.3.2-16_9.el4.at<br />
* docbook-style-dsssl-1.78-4<br />
* docbook-style-xsl-1.65.1-2<br />
* docbook-dtds-1.0-25<br />
* docbook-utils-0.6.14-4<br />
* sed-4.1.2-5.EL4<br />
* bison-1.875c-2<br />
* bc-1.06-17.1<br />
* glibc-devel-2.3.4-2.25<br />
* gcc-3.4.6-3<br />
* binutils-2.15.92.0.2-21<br />
* pcre-4.5-3.2.RHEL4<br />
* pcre-devel-4.5-3.2.RHEL4<br />
* git-1.4.4.2-2.el4.kb<br />
* bitbake-1.6.2-1<br />
<br />
=== ALT Linux ===<br />
<br />
You can read more about ALT Linux here: http://www.altlinux.com/en/<br />
<br />
You can use synaptic or aptitude to install packages. Or use apt-get as shown below.<br />
<br />
<pre><nowiki><br />
apt-get install git-core python python-dev python-module-psyco python-modules-sqlite3 \<br />
patch m4 sed bison make wget bzip2 cvs gawk gcc-c++ subversion sharutils coreutils \<br />
docbook-utils openjade quilt libpcre-devel unzip glibc-devel glibc-devel-static \<br />
help2man texi2html perl-devel chrpath<br />
</nowiki></pre><br />
<br />
For building bitbake manuals you have to install 'xmlto' package:<br />
<br />
<pre><nowiki><br />
apt-get install xmlto<br />
</nowiki></pre><br />
<br />
NOTES:<br />
* This is tested on ALD 4.0/4.1/5.0.<br />
* gcc-c++ is virtual package and can be provided by gcc4.3-c++ (ALD 5.0) and gcc4.1-c++ (ALD 4.0/4.1). Just select higher version.<br />
* '''As I have no OE installation on ALT Linux more this page can have obsolete information.'''<br />
<br />
=== Ark Linux 2008.1 ===<br />
[http://www.arklinux.org/ Ark Linux] is a modern distribution well suited for Openembedded development. Footprint only 2.1G.<br />
<br />
Required steps:<br />
<br />
1) install required packages<br />
<pre><nowiki><br />
apt-get install devel-core diffstat texi2html cvs subversion git texinfo psyco python-devel \<br />
python-encodings python-sqlite chrpath help2man<br />
</nowiki></pre><br />
<br />
2) upgrade<br />
<pre><nowiki><br />
apt-get update<br />
apt-get dist-upgrade <br />
</nowiki></pre><br />
<br />
3) finally create your OE tree (see [[Getting started]] instructions).<br />
<br />
== other Linux distributions ==<br />
<br />
=== Gentoo instructions ===<br />
<br />
Note that Psyco, the Python JIT compiler, works on 32-bit x86 platforms only.<br />
<br />
<pre><nowiki><br />
emerge -n \<br />
psyco \<br />
patch \<br />
make \<br />
sed \<br />
dev-lang/python \<br />
m4 \<br />
bison \<br />
cvs \<br />
openjade \<br />
quilt \<br />
sgmltools-lite \<br />
docbook-xml-dtd \<br />
docbook-dsssl-stylesheets \<br />
xmlto \<br />
docbook-sgml-utils \<br />
libpcre \<br />
boost \<br />
subversion \<br />
texi2html \<br />
pysqlite \<br />
chrpath<br />
</nowiki></pre><br />
<br />
Then follow the instructions in [[Getting started]] for obtaining bitbake and start the build.<br />
<br />
=== Arch Linux (Duke) ===<br />
'''Note''': Arch Linux has switched to using Python 3 by default. BitBake does ''not'' support Python 3.<br />
Please ensure you have Python 2.6.x or 2.7.x installed and set to be the default Python interpreter.<br />
<br />
Most of the packages are available in the repositories.<br />
<br />
<pre><nowiki><br />
sudo pacman -S patch make sed python m4 bison cvs quilt sgmltools-lite docbook-xml \<br />
xmlto pcre boost jade git texinfo texi2html help2man subversion chrpath<br />
</nowiki></pre><br />
<br />
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:<br />
<br />
<pre><nowiki><br />
sudo ln -s /bin/install /usr/bin/install<br />
</nowiki></pre><br />
<br />
You can build BitBake by using this PKGBUILD or install it from the AUR:<br />
<pre><nowiki><br />
pkgname=bitbake<br />
pkgver=1.8.4<br />
pkgrel=1<br />
pkgdesc="A simple tool for task execution derived from Gentoo's portage"<br />
url="http://developer.berlios.de/projects/bitbake/"<br />
arch=('i686')<br />
license=('GPL' 'custom')<br />
depends=('python')<br />
source=(http://download.berlios.de/bitbake/${pkgname}-${pkgver}.tar.gz)<br />
md5sums=('508d9a61c635d469be8facc95151158b')<br />
<br />
build() {<br />
cd ${startdir}/src/${pkgname}-${pkgver}<br />
python setup.py install --root=${startdir}/pkg<br />
<br />
# Install vim extensions<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/ftdetect/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/ftplugin/bitbake.vim<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/syntax/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/syntax/bitbake.vim<br />
<br />
# Handle MIT license<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/doc/COPYING.MIT \<br />
${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING.MIT<br />
}<br />
</nowiki></pre><br />
<br />
= Using OpenEmbedded on FreeBSD and other NON Linux Systems =<br />
<br />
tbd<br />
<br />
== FreeBSD ==<br />
<br />
* Python == /usr/ports/lang/python<br />
* GNU Patch == /usr/ports/devel/patch<br />
* GNU m4 == /usr/ports/devel/m4<br />
* GNU make == /usr/ports/devel/gmake<br />
* wget == /usr/ports/ftp/wget<br />
* Psyco JIT Compiler == /usr/ports/devel/py-psyco<br />
* GNU sed == /usr/ports/textproc/gsed<br />
* Bison == /usr/ports/devel/bison<br />
* GCC 2.95.3 == /usr/ports/lang/gcc295<br />
* bc == already in FreeBSD<br />
* PyQt == /usr/ports/x11-toolkits/py-qt<br />
* glibc headers (ignore)<br />
* subversion == /usr/ports/devel/subversion<br />
* git == /usr/ports/devel/git<br />
* pcre == /usr/ports/devel/pcre<br />
<br />
Ports has also has these: fileutils, jade, docbook, dsssl-docbook-modular, sgmltools<br />
<br />
== Using OpenEmbedded on Mac OS X ==<br />
<br />
By default OS X uses a filesystem that is '''not''' case sensitive. You need to ensure that at least your tmp directory is on a case sensitive filesystem or you may come across various packages that break, including the Linux kernel! These steps were carried out on a early 32 bit 10.5/Intel Mac - the install order matters for a couple of packages as does having them installed in a more normal location.<br />
<br />
# Register at [https://connect.apple.com ADC] and download and install Xcode<br />
# Compile and install [http://www.gnu.org/software/gettext/ GNU gettext]<br />
# Using CPAN install Locale::gettext<br />
# Compile and install [http://www.gnu.org/software/help2man/ help2man 1.29] - newer versions will not build without hacks<br />
# Compile and install [http://www.gnu.org/software/wget/ wget], [http://www.gnu.org/software/gawk/ gawk], [http://www.gnu.org/software/coreutils/ coreutils] and [http://git-scm.com/ git] - wget appears to not work if you install it in /usr/local so use --prefix=/usr also note OS X provides a different version of mktemp which functions differently, be careful not to overwrite this as OS X might need it<br />
# If you are on a 32 bit Mac you can of course install [http://psyco.sourceforge.net/ psyco]<br />
# Fixup your PATH variable for your build user so that /usr/local/bin (or where ever coreutils etc is installed) comes before the OS X version in /usr/bin<br />
# Install GNU sed 3.0.2, this will give you a version of sed that allows you to build sed 4.1.5 - you will need to overwrite the one provided by OS X with --prefix=/usr and ensure you are using 4.1.5 not 3.0.2 as 3.0.2 does not provide various options you need<br />
# Install getopt from [http://software.frodo.looijaard.name/getopt/download.php here] - modify WITHOUT_GETTEXT=0 to WITHOUT_GETTEXT=1 in the Makefile and add -DWITHOUT_GETTEXT=$(WITHOUT_GETTEXT) to the line beginning with CPPFLAGS=<br />
<br />
Now follow the Getting Started OpenEmbedded wiki guide. Unfortunately there are various issues building on OS X that will most likely prevent the toolchain from building.<br />
<br />
Unfinished - tbd<br />
<br />
= Using OpenEmbedded on Windows/Cygwin Systems =<br />
<br />
<br />
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.<br />
<br />
[[Category:User]]<br />
<br />
new user</div>Guillaume Ghttps://www.openembedded.org/index.php?title=OEandYourDistro&diff=4467OEandYourDistro2011-12-01T13:42:28Z<p>Guillaume G: openSUSE: Break package list on multiple line to display it right</p>
<hr />
<div>'''Note''': the information here is liable to be out of date. Please see the [[Required software]] for information on which software is required on the host system.<br />
<br />
= Using OpenEmbedded on Linux systems =<br />
<br />
== deb-based distributions ==<br />
<br />
The easiest way is via [http://blog.leggewie.org/?p=39 apt-get'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.<br />
<br />
=== Debian ===<br />
<br />
==== Mandatory packages ====<br />
<br />
aptitude install sed wget cvs subversion git-core \<br />
coreutils unzip texi2html texinfo docbook-utils \<br />
gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ \<br />
desktop-file-utils chrpath<br />
<br />
'''Git'''<br />
<br />
On debian you may have to run <br />
<br />
update-alternatives --config git (as root)<br />
<br />
and select /usr/bin/git-scm to provide git instead of /usr/bin/git.transition. This is not necessary in sid<br />
<br />
==== Supplementary packages ====<br />
<br />
<pre><nowiki><br />
apt-get install libxml2-utils xmlto python-psyco apr<br />
</nowiki></pre><br />
<br />
<br />
OPTIONAL: these packages and their dependencies need to be installed in order to build the bitbake documentation (warning: over 160MB of installed packages).<br />
<br />
<pre><nowiki><br />
apt-get install docbook<br />
</nowiki></pre><br />
This package is necessary to build some packages (in particular the esound documentation needs it).<br />
<br />
==== Building in container (LXC/OpenVZ) ====<br />
NOTE: If you are building in container (LXC/OpenVZ) check presence of '''loadkeys''' tool (/bin/loadkeys). If there is no loadkeys, install '''console-tools''' package.<br />
<br />
=== Ubuntu ===<br />
<br />
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.<br />
<br />
* Check that /bin/sh (ls -l /bin/sh) is not symbolically linked to dash. "dash" is a POSIX compliant shell that is much smaller than "bash" -- however some broken shell scripts still make use of bash extensions while calling into /bin/sh. To work around this issue call "''sudo dpkg-reconfigure dash''" and select No when it asks you to install dash as /bin/sh.<br />
* You can also install Psyco Python JIT compiler to speed up BitBake. Psyco works on 32-bit x86 platforms only. "''aptitude install python-psyco''<br />
* there are known [[gcc issues in Intrepid and later]] when cross-compiling with OE<br />
<br />
[SOLVED - update 2010-05]<br />
* qemu-arm fails whilst building locales (Ubuntu 10.04 LTS and possibly other releases). This is due to a kernel setting which restricts memory mapping to low addresses. To work around this you can either:<br />
** a) Enter 'echo 128 > /proc/sys/vm/mmap_min_addr' prior to running bitbake.<br />
** b) Set permanent parameter 'sudo sysctl -w vm.mmap_min_addr=128'.<br />
<br />
With current qemu in OE mmap_min_addr tricks are not needed at all.<br />
So now it should work on every system with readable /proc/sys/vm/mmap_min_addr or /proc/sys/vm/mmap_min_addr <= 65536.<br />
<br />
== rpm-based distributions ==<br />
<br />
=== Mandriva Linux ===<br />
<br />
Follow the Debian instructions, only using `urpmi` instead of `apt-get install`. 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.<br />
If you're building a 2.6 kernel, you also need the glibc-static-devel package.<br />
<br />
with Mandriva Linux 2006, you need to issue the following command:<br />
<br />
<pre><nowiki><br />
urpmi python python-devel python-psyco patch m4 sed bison make wget bzip2 \<br />
cvs gawk glibc-devel gcc-c++ subversion sharutils coreutils docbook-utils openjade \<br />
quilt pcre-devel unzip glibc-static-devel<br />
</nowiki></pre><br />
<br />
=== openSUSE ===<br />
<br />
==== openSUSE 11.4/12.1 - 1-click install ====<br />
<br />
You can install all the needed dependencies (except bitbake) with the following 1-click install link: [http://download.oliseo.fr/OE/OE_dep.ymp OE_dep.ymp]<br />
<br />
<br />
==== openSUSE all version - zypper ====<br />
<br />
Use zypper to install the required packages:<br />
sudo zypper in python python-ply python-progressbar patch m4 make perl diffstat \<br />
wget curl ftp cvs subversion git mercurial tar bzip2 gzip unzip sed bison bc \<br />
glibc-devel pcre-devel libSDL-devel coreutils help2man gawk chrpath<br />
<br />
==== Additional packages ====<br />
<br />
===== psyco =====<br />
<br />
In order to speed up the build, you can install python psyco package.<br />
<br />
Please note pysco is only available for 32-bit x86 systems only.<br />
<br />
====== from sourceforge ======<br />
You can use python psyco package (from http://sourceforge.net/projects/psyco/files/) to speed up building. You need to install python-devel:<br />
sudo zypper in python-devel<br />
<br />
and then install psyco via<br />
sudo python setup.py install<br />
in the psyco directory.<br />
<br />
====== from community repo (only 11.3) ======<br />
Alternatively you can install psyco directly from a community repo.<br />
zypper ar -f http://download.opensuse.org/repositories/home:/elchevive/openSUSE_11.3/ 11.3-psyco<br />
zypper in python-psyco<br />
<br />
===== other useful packages =====<br />
<br />
These packages may be useful as well if you want to build *-doc packages<br />
<br />
sudo zypper in openjade docbook-xml-website docbook-dsssl-stylesheets docbook-utils sgmltools-lite texinfo<br />
<br />
=== Fedora ===<br />
<br />
==== Fedora Core 2/3 ====<br />
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.<br />
<br />
<pre><nowiki> yum install python patch m4 sed make docbook* openjade glibc-devel xmlto</nowiki></pre><br />
<br />
* 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`.<br />
<br />
* patch: FC3 default version should be enough. Optionally, install SuSe 9.1 package of it.<br />
<br />
==== Fedora Core 4 ====<br />
Almost all required packages for Openembedded are available in Fedora Core 4 and the Fedora Extras for Core 4. You can download them from <http://download.fedora.redhat.com/pub/fedora/linux/core> and <http://download.fedora.redhat.com/pub/fedora/linux/extras>. Check <http://download.fedora.redhat.com/pub/fedora/linux/core/updates/4> for updates on the Core 4 packages.<br />
<br />
Apart from the usual (native) development packages like gcc and binutils, you should check that you have the following RPM's installed: <br />
<br />
* bison<br />
* docbook* packages<br />
* libpcre<br />
* m4<br />
* make<br />
* openjade<br />
* patch<br />
* PyQt<br />
* python<br />
* python-psyco<br />
* sed<br />
* xmlto<br />
* quilt (not required as OE builds it by itself, but install it if you want to use gquilt)<br />
<br />
Use apt, synaptic, up2date or yum to automagically retrieve these packages or download and install them manually (lots of work).<br />
<br />
==== Fedora Core 5/6 ====<br />
<br />
Commands I used to install OE pre-requisites on FC5/6<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip \<br />
unzip python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch gcc gcc-c++ python-sqlite2 help2man"<br />
</nowiki></pre><br />
<br />
or download the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm (may be out of date).<br />
<br />
then do<br />
<br />
<pre><nowiki><br />
su -c "yum localinstall openembedded-essential-1.1-1.noarch.rpm"<br />
</nowiki></pre><br />
<br />
<br />
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.<br />
<br />
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).<br />
<br />
I didn't install SGML tools. Please add if you know how<br />
<br />
Update - Since about 2002 sgml-tools has apparently been replaced by linuxdoc-tools for FC.<br />
<br />
==== Fedora 7 ====<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools gcc gcc-c++ \<br />
help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 11 ====<br />
<br />
Fedora 11, compared to previous versions, brings the need to install "glibc-static" as well:<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 12 ====<br />
Recommended to use Fedora 12 64 bit when possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath<br />
</nowiki></pre><br />
<br />
note python-pyscho is only available for 32bit linux<br />
<br />
==== Fedora 13 , 14 and 15 ====<br />
Recommended to use Fedora 13/14/15 64 bit when/where possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
Then update all packages<br />
<pre><nowiki><br />
sudo yum update<br />
</nowiki></pre><br />
<br />
Then <br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath cmake ncurses \<br />
apr<br />
</nowiki></pre><br />
<br />
(some or most of these packages may have been added by the previous step e.g. for <br />
console-image build on f14 only texi2html chrpath wget perl-ExtUtils-MakeMaker glibc-static were required in addition to ' Development Tools')<br />
<br />
note python-pyscho is currently only available for 32bit linux<br />
<br />
Note for fedora 14 as of 17th March 2011 if you have patch-2.6.1.-8.fc14 installed you may need to downgrade<br><br />
to an older version if you are getting patching errors during building.<br><br />
<br><br />
to downgrade<br />
<pre> sudo yum downgrade patch </pre><br />
<br />
=== CentOS 4.4 / Red Hat Enterprise Linux 4 ===<br />
May also work for true EL4 or Scientific Linux - another RHEL rebuild<br />
<br />
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.]<br />
<br />
I re-built the following SRPMS (with "$ rpmbuild --rebuild ..."):<br />
* boost-1.33.1-10.fc5.src.rpm<br />
* 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)<br />
<br />
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.<br />
<br />
Extra requirements for the builds included rpmdevtools, xmlto, and lynx.<br />
<br />
I put packages in a local repo so I can do "yum install ...", otherwise can do "yum localinstall foo.1.2.3.noarch.rpm ...". It may be necessary to temporarily set "gpgcheck=0" in /etc/yum.conf to avoid complaints about unsigned packages.<br />
<br />
For EL4 texi2html is available from the tetex package, currently tetex-2.0.2-22.EL4.7<br />
<br />
Note that the the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm<br />
should work except that it depends on texi2html.<br />
<br />
Instead as root do<br />
<br />
<pre><nowiki><br />
yum install bison coreutils cvs docbook-utils gawk git-core python quilt rpmlib \<br />
sed subversion tetex texinfo unzip wget<br />
</nowiki></pre><br />
<br />
I ended up with the following set of relevant packages after several iterations of building/updating to get "bitbake nano" to complete successfully:<br />
<br />
* python-2.3.4-14.3<br />
* m4-1.4.1-16<br />
* make-3.80-6.EL4<br />
* wget-1.10.2-0.40E<br />
* curl-7.12.1-8.rhel4<br />
* ftp-0.17-22<br />
* cvs-1.11.17-9.RHEL4<br />
* subversion-1.4.3-0.1.el4.rf<br />
* tar-1.14-12.RHEL4<br />
* bzip2-1.0.2-13.EL4.3<br />
* gzip-1.3.3-16.rhel4<br />
* unzip-5.51-7<br />
* python-psyco-1.5-3.el4.kb<br />
* perl-5.8.5-36.RHEL4<br />
* texinfo-4.7-5.el4.2<br />
* tetex-2.0.2-22.EL4.7<br />
* diffstat-1.34-0_6.el4.at<br />
* openjade-1.3.2-16_9.el4.at<br />
* docbook-style-dsssl-1.78-4<br />
* docbook-style-xsl-1.65.1-2<br />
* docbook-dtds-1.0-25<br />
* docbook-utils-0.6.14-4<br />
* sed-4.1.2-5.EL4<br />
* bison-1.875c-2<br />
* bc-1.06-17.1<br />
* glibc-devel-2.3.4-2.25<br />
* gcc-3.4.6-3<br />
* binutils-2.15.92.0.2-21<br />
* pcre-4.5-3.2.RHEL4<br />
* pcre-devel-4.5-3.2.RHEL4<br />
* git-1.4.4.2-2.el4.kb<br />
* bitbake-1.6.2-1<br />
<br />
=== ALT Linux ===<br />
<br />
You can read more about ALT Linux here: http://www.altlinux.com/en/<br />
<br />
You can use synaptic or aptitude to install packages. Or use apt-get as shown below.<br />
<br />
<pre><nowiki><br />
apt-get install git-core python python-dev python-module-psyco python-modules-sqlite3 \<br />
patch m4 sed bison make wget bzip2 cvs gawk gcc-c++ subversion sharutils coreutils \<br />
docbook-utils openjade quilt libpcre-devel unzip glibc-devel glibc-devel-static \<br />
help2man texi2html perl-devel chrpath<br />
</nowiki></pre><br />
<br />
For building bitbake manuals you have to install 'xmlto' package:<br />
<br />
<pre><nowiki><br />
apt-get install xmlto<br />
</nowiki></pre><br />
<br />
NOTES:<br />
* This is tested on ALD 4.0/4.1/5.0.<br />
* gcc-c++ is virtual package and can be provided by gcc4.3-c++ (ALD 5.0) and gcc4.1-c++ (ALD 4.0/4.1). Just select higher version.<br />
* '''As I have no OE installation on ALT Linux more this page can have obsolete information.'''<br />
<br />
=== Ark Linux 2008.1 ===<br />
[http://www.arklinux.org/ Ark Linux] is a modern distribution well suited for Openembedded development. Footprint only 2.1G.<br />
<br />
Required steps:<br />
<br />
1) install required packages<br />
<pre><nowiki><br />
apt-get install devel-core diffstat texi2html cvs subversion git texinfo psyco python-devel \<br />
python-encodings python-sqlite chrpath help2man<br />
</nowiki></pre><br />
<br />
2) upgrade<br />
<pre><nowiki><br />
apt-get update<br />
apt-get dist-upgrade <br />
</nowiki></pre><br />
<br />
3) finally create your OE tree (see [[Getting started]] instructions).<br />
<br />
== other Linux distributions ==<br />
<br />
=== Gentoo instructions ===<br />
<br />
Note that Psyco, the Python JIT compiler, works on 32-bit x86 platforms only.<br />
<br />
<pre><nowiki><br />
emerge -n \<br />
psyco \<br />
patch \<br />
make \<br />
sed \<br />
dev-lang/python \<br />
m4 \<br />
bison \<br />
cvs \<br />
openjade \<br />
quilt \<br />
sgmltools-lite \<br />
docbook-xml-dtd \<br />
docbook-dsssl-stylesheets \<br />
xmlto \<br />
docbook-sgml-utils \<br />
libpcre \<br />
boost \<br />
subversion \<br />
texi2html \<br />
pysqlite \<br />
chrpath<br />
</nowiki></pre><br />
<br />
Then follow the instructions in [[Getting started]] for obtaining bitbake and start the build.<br />
<br />
=== Arch Linux (Duke) ===<br />
'''Note''': Arch Linux has switched to using Python 3 by default. BitBake does ''not'' support Python 3.<br />
Please ensure you have Python 2.6.x or 2.7.x installed and set to be the default Python interpreter.<br />
<br />
Most of the packages are available in the repositories.<br />
<br />
<pre><nowiki><br />
sudo pacman -S patch make sed python m4 bison cvs quilt sgmltools-lite docbook-xml \<br />
xmlto pcre boost jade git texinfo texi2html help2man subversion chrpath<br />
</nowiki></pre><br />
<br />
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:<br />
<br />
<pre><nowiki><br />
sudo ln -s /bin/install /usr/bin/install<br />
</nowiki></pre><br />
<br />
You can build BitBake by using this PKGBUILD or install it from the AUR:<br />
<pre><nowiki><br />
pkgname=bitbake<br />
pkgver=1.8.4<br />
pkgrel=1<br />
pkgdesc="A simple tool for task execution derived from Gentoo's portage"<br />
url="http://developer.berlios.de/projects/bitbake/"<br />
arch=('i686')<br />
license=('GPL' 'custom')<br />
depends=('python')<br />
source=(http://download.berlios.de/bitbake/${pkgname}-${pkgver}.tar.gz)<br />
md5sums=('508d9a61c635d469be8facc95151158b')<br />
<br />
build() {<br />
cd ${startdir}/src/${pkgname}-${pkgver}<br />
python setup.py install --root=${startdir}/pkg<br />
<br />
# Install vim extensions<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/ftdetect/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/ftplugin/bitbake.vim<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/syntax/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/syntax/bitbake.vim<br />
<br />
# Handle MIT license<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/doc/COPYING.MIT \<br />
${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING.MIT<br />
}<br />
</nowiki></pre><br />
<br />
= Using OpenEmbedded on FreeBSD and other NON Linux Systems =<br />
<br />
tbd<br />
<br />
== FreeBSD ==<br />
<br />
* Python == /usr/ports/lang/python<br />
* GNU Patch == /usr/ports/devel/patch<br />
* GNU m4 == /usr/ports/devel/m4<br />
* GNU make == /usr/ports/devel/gmake<br />
* wget == /usr/ports/ftp/wget<br />
* Psyco JIT Compiler == /usr/ports/devel/py-psyco<br />
* GNU sed == /usr/ports/textproc/gsed<br />
* Bison == /usr/ports/devel/bison<br />
* GCC 2.95.3 == /usr/ports/lang/gcc295<br />
* bc == already in FreeBSD<br />
* PyQt == /usr/ports/x11-toolkits/py-qt<br />
* glibc headers (ignore)<br />
* subversion == /usr/ports/devel/subversion<br />
* git == /usr/ports/devel/git<br />
* pcre == /usr/ports/devel/pcre<br />
<br />
Ports has also has these: fileutils, jade, docbook, dsssl-docbook-modular, sgmltools<br />
<br />
== Using OpenEmbedded on Mac OS X ==<br />
<br />
By default OS X uses a filesystem that is '''not''' case sensitive. You need to ensure that at least your tmp directory is on a case sensitive filesystem or you may come across various packages that break, including the Linux kernel! These steps were carried out on a early 32 bit 10.5/Intel Mac - the install order matters for a couple of packages as does having them installed in a more normal location.<br />
<br />
# Register at [https://connect.apple.com ADC] and download and install Xcode<br />
# Compile and install [http://www.gnu.org/software/gettext/ GNU gettext]<br />
# Using CPAN install Locale::gettext<br />
# Compile and install [http://www.gnu.org/software/help2man/ help2man 1.29] - newer versions will not build without hacks<br />
# Compile and install [http://www.gnu.org/software/wget/ wget], [http://www.gnu.org/software/gawk/ gawk], [http://www.gnu.org/software/coreutils/ coreutils] and [http://git-scm.com/ git] - wget appears to not work if you install it in /usr/local so use --prefix=/usr also note OS X provides a different version of mktemp which functions differently, be careful not to overwrite this as OS X might need it<br />
# If you are on a 32 bit Mac you can of course install [http://psyco.sourceforge.net/ psyco]<br />
# Fixup your PATH variable for your build user so that /usr/local/bin (or where ever coreutils etc is installed) comes before the OS X version in /usr/bin<br />
# Install GNU sed 3.0.2, this will give you a version of sed that allows you to build sed 4.1.5 - you will need to overwrite the one provided by OS X with --prefix=/usr and ensure you are using 4.1.5 not 3.0.2 as 3.0.2 does not provide various options you need<br />
# Install getopt from [http://software.frodo.looijaard.name/getopt/download.php here] - modify WITHOUT_GETTEXT=0 to WITHOUT_GETTEXT=1 in the Makefile and add -DWITHOUT_GETTEXT=$(WITHOUT_GETTEXT) to the line beginning with CPPFLAGS=<br />
<br />
Now follow the Getting Started OpenEmbedded wiki guide. Unfortunately there are various issues building on OS X that will most likely prevent the toolchain from building.<br />
<br />
Unfinished - tbd<br />
<br />
= Using OpenEmbedded on Windows/Cygwin Systems =<br />
<br />
<br />
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.<br />
<br />
[[Category:User]]<br />
<br />
new user</div>Guillaume Ghttps://www.openembedded.org/index.php?title=OEandYourDistro&diff=4465OEandYourDistro2011-12-01T13:39:52Z<p>Guillaume G: /* other useful packages */</p>
<hr />
<div>'''Note''': the information here is liable to be out of date. Please see the [[Required software]] for information on which software is required on the host system.<br />
<br />
= Using OpenEmbedded on Linux systems =<br />
<br />
== deb-based distributions ==<br />
<br />
The easiest way is via [http://blog.leggewie.org/?p=39 apt-get'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.<br />
<br />
=== Debian ===<br />
<br />
==== Mandatory packages ====<br />
<br />
aptitude install sed wget cvs subversion git-core \<br />
coreutils unzip texi2html texinfo docbook-utils \<br />
gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ \<br />
desktop-file-utils chrpath<br />
<br />
'''Git'''<br />
<br />
On debian you may have to run <br />
<br />
update-alternatives --config git (as root)<br />
<br />
and select /usr/bin/git-scm to provide git instead of /usr/bin/git.transition. This is not necessary in sid<br />
<br />
==== Supplementary packages ====<br />
<br />
<pre><nowiki><br />
apt-get install libxml2-utils xmlto python-psyco apr<br />
</nowiki></pre><br />
<br />
<br />
OPTIONAL: these packages and their dependencies need to be installed in order to build the bitbake documentation (warning: over 160MB of installed packages).<br />
<br />
<pre><nowiki><br />
apt-get install docbook<br />
</nowiki></pre><br />
This package is necessary to build some packages (in particular the esound documentation needs it).<br />
<br />
==== Building in container (LXC/OpenVZ) ====<br />
NOTE: If you are building in container (LXC/OpenVZ) check presence of '''loadkeys''' tool (/bin/loadkeys). If there is no loadkeys, install '''console-tools''' package.<br />
<br />
=== Ubuntu ===<br />
<br />
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.<br />
<br />
* Check that /bin/sh (ls -l /bin/sh) is not symbolically linked to dash. "dash" is a POSIX compliant shell that is much smaller than "bash" -- however some broken shell scripts still make use of bash extensions while calling into /bin/sh. To work around this issue call "''sudo dpkg-reconfigure dash''" and select No when it asks you to install dash as /bin/sh.<br />
* You can also install Psyco Python JIT compiler to speed up BitBake. Psyco works on 32-bit x86 platforms only. "''aptitude install python-psyco''<br />
* there are known [[gcc issues in Intrepid and later]] when cross-compiling with OE<br />
<br />
[SOLVED - update 2010-05]<br />
* qemu-arm fails whilst building locales (Ubuntu 10.04 LTS and possibly other releases). This is due to a kernel setting which restricts memory mapping to low addresses. To work around this you can either:<br />
** a) Enter 'echo 128 > /proc/sys/vm/mmap_min_addr' prior to running bitbake.<br />
** b) Set permanent parameter 'sudo sysctl -w vm.mmap_min_addr=128'.<br />
<br />
With current qemu in OE mmap_min_addr tricks are not needed at all.<br />
So now it should work on every system with readable /proc/sys/vm/mmap_min_addr or /proc/sys/vm/mmap_min_addr <= 65536.<br />
<br />
== rpm-based distributions ==<br />
<br />
=== Mandriva Linux ===<br />
<br />
Follow the Debian instructions, only using `urpmi` instead of `apt-get install`. 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.<br />
If you're building a 2.6 kernel, you also need the glibc-static-devel package.<br />
<br />
with Mandriva Linux 2006, you need to issue the following command:<br />
<br />
<pre><nowiki><br />
urpmi python python-devel python-psyco patch m4 sed bison make wget bzip2 \<br />
cvs gawk glibc-devel gcc-c++ subversion sharutils coreutils docbook-utils openjade \<br />
quilt pcre-devel unzip glibc-static-devel<br />
</nowiki></pre><br />
<br />
=== openSUSE ===<br />
<br />
==== openSUSE 11.4/12.1 - 1-click install ====<br />
<br />
You can install all the needed dependencies (except bitbake) with the following 1-click install link: [http://download.oliseo.fr/OE/OE_dep.ymp OE_dep.ymp]<br />
<br />
<br />
==== openSUSE all version - zypper ====<br />
<br />
Use zypper to install the required packages:<br />
sudo zypper in python python-ply python-progressbar patch m4 make perl diffstat wget curl ftp cvs subversion git mercurial tar bzip2 gzip unzip sed bison bc glibc-devel pcre-devel libSDL-devel coreutils help2man gawk chrpath<br />
<br />
==== Additional packages ====<br />
<br />
===== psyco =====<br />
<br />
In order to speed up the build, you can install python psyco package.<br />
<br />
Please note pysco is only available for 32-bit x86 systems only.<br />
<br />
====== from sourceforge ======<br />
You can use python psyco package (from http://sourceforge.net/projects/psyco/files/) to speed up building. You need to install python-devel:<br />
sudo zypper in python-devel<br />
<br />
and then install psyco via<br />
sudo python setup.py install<br />
in the psyco directory.<br />
<br />
====== from community repo (only 11.3) ======<br />
Alternatively you can install psyco directly from a community repo.<br />
zypper ar -f http://download.opensuse.org/repositories/home:/elchevive/openSUSE_11.3/ 11.3-psyco<br />
zypper in python-psyco<br />
<br />
===== other useful packages =====<br />
<br />
These packages may be useful as well if you want to build *-doc packages<br />
<br />
sudo zypper in openjade docbook-xml-website docbook-dsssl-stylesheets docbook-utils sgmltools-lite texinfo<br />
<br />
=== Fedora ===<br />
<br />
==== Fedora Core 2/3 ====<br />
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.<br />
<br />
<pre><nowiki> yum install python patch m4 sed make docbook* openjade glibc-devel xmlto</nowiki></pre><br />
<br />
* 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`.<br />
<br />
* patch: FC3 default version should be enough. Optionally, install SuSe 9.1 package of it.<br />
<br />
==== Fedora Core 4 ====<br />
Almost all required packages for Openembedded are available in Fedora Core 4 and the Fedora Extras for Core 4. You can download them from <http://download.fedora.redhat.com/pub/fedora/linux/core> and <http://download.fedora.redhat.com/pub/fedora/linux/extras>. Check <http://download.fedora.redhat.com/pub/fedora/linux/core/updates/4> for updates on the Core 4 packages.<br />
<br />
Apart from the usual (native) development packages like gcc and binutils, you should check that you have the following RPM's installed: <br />
<br />
* bison<br />
* docbook* packages<br />
* libpcre<br />
* m4<br />
* make<br />
* openjade<br />
* patch<br />
* PyQt<br />
* python<br />
* python-psyco<br />
* sed<br />
* xmlto<br />
* quilt (not required as OE builds it by itself, but install it if you want to use gquilt)<br />
<br />
Use apt, synaptic, up2date or yum to automagically retrieve these packages or download and install them manually (lots of work).<br />
<br />
==== Fedora Core 5/6 ====<br />
<br />
Commands I used to install OE pre-requisites on FC5/6<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip \<br />
unzip python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch gcc gcc-c++ python-sqlite2 help2man"<br />
</nowiki></pre><br />
<br />
or download the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm (may be out of date).<br />
<br />
then do<br />
<br />
<pre><nowiki><br />
su -c "yum localinstall openembedded-essential-1.1-1.noarch.rpm"<br />
</nowiki></pre><br />
<br />
<br />
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.<br />
<br />
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).<br />
<br />
I didn't install SGML tools. Please add if you know how<br />
<br />
Update - Since about 2002 sgml-tools has apparently been replaced by linuxdoc-tools for FC.<br />
<br />
==== Fedora 7 ====<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools gcc gcc-c++ \<br />
help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 11 ====<br />
<br />
Fedora 11, compared to previous versions, brings the need to install "glibc-static" as well:<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 12 ====<br />
Recommended to use Fedora 12 64 bit when possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath<br />
</nowiki></pre><br />
<br />
note python-pyscho is only available for 32bit linux<br />
<br />
==== Fedora 13 , 14 and 15 ====<br />
Recommended to use Fedora 13/14/15 64 bit when/where possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
Then update all packages<br />
<pre><nowiki><br />
sudo yum update<br />
</nowiki></pre><br />
<br />
Then <br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath cmake ncurses \<br />
apr<br />
</nowiki></pre><br />
<br />
(some or most of these packages may have been added by the previous step e.g. for <br />
console-image build on f14 only texi2html chrpath wget perl-ExtUtils-MakeMaker glibc-static were required in addition to ' Development Tools')<br />
<br />
note python-pyscho is currently only available for 32bit linux<br />
<br />
Note for fedora 14 as of 17th March 2011 if you have patch-2.6.1.-8.fc14 installed you may need to downgrade<br><br />
to an older version if you are getting patching errors during building.<br><br />
<br><br />
to downgrade<br />
<pre> sudo yum downgrade patch </pre><br />
<br />
=== CentOS 4.4 / Red Hat Enterprise Linux 4 ===<br />
May also work for true EL4 or Scientific Linux - another RHEL rebuild<br />
<br />
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.]<br />
<br />
I re-built the following SRPMS (with "$ rpmbuild --rebuild ..."):<br />
* boost-1.33.1-10.fc5.src.rpm<br />
* 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)<br />
<br />
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.<br />
<br />
Extra requirements for the builds included rpmdevtools, xmlto, and lynx.<br />
<br />
I put packages in a local repo so I can do "yum install ...", otherwise can do "yum localinstall foo.1.2.3.noarch.rpm ...". It may be necessary to temporarily set "gpgcheck=0" in /etc/yum.conf to avoid complaints about unsigned packages.<br />
<br />
For EL4 texi2html is available from the tetex package, currently tetex-2.0.2-22.EL4.7<br />
<br />
Note that the the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm<br />
should work except that it depends on texi2html.<br />
<br />
Instead as root do<br />
<br />
<pre><nowiki><br />
yum install bison coreutils cvs docbook-utils gawk git-core python quilt rpmlib \<br />
sed subversion tetex texinfo unzip wget<br />
</nowiki></pre><br />
<br />
I ended up with the following set of relevant packages after several iterations of building/updating to get "bitbake nano" to complete successfully:<br />
<br />
* python-2.3.4-14.3<br />
* m4-1.4.1-16<br />
* make-3.80-6.EL4<br />
* wget-1.10.2-0.40E<br />
* curl-7.12.1-8.rhel4<br />
* ftp-0.17-22<br />
* cvs-1.11.17-9.RHEL4<br />
* subversion-1.4.3-0.1.el4.rf<br />
* tar-1.14-12.RHEL4<br />
* bzip2-1.0.2-13.EL4.3<br />
* gzip-1.3.3-16.rhel4<br />
* unzip-5.51-7<br />
* python-psyco-1.5-3.el4.kb<br />
* perl-5.8.5-36.RHEL4<br />
* texinfo-4.7-5.el4.2<br />
* tetex-2.0.2-22.EL4.7<br />
* diffstat-1.34-0_6.el4.at<br />
* openjade-1.3.2-16_9.el4.at<br />
* docbook-style-dsssl-1.78-4<br />
* docbook-style-xsl-1.65.1-2<br />
* docbook-dtds-1.0-25<br />
* docbook-utils-0.6.14-4<br />
* sed-4.1.2-5.EL4<br />
* bison-1.875c-2<br />
* bc-1.06-17.1<br />
* glibc-devel-2.3.4-2.25<br />
* gcc-3.4.6-3<br />
* binutils-2.15.92.0.2-21<br />
* pcre-4.5-3.2.RHEL4<br />
* pcre-devel-4.5-3.2.RHEL4<br />
* git-1.4.4.2-2.el4.kb<br />
* bitbake-1.6.2-1<br />
<br />
=== ALT Linux ===<br />
<br />
You can read more about ALT Linux here: http://www.altlinux.com/en/<br />
<br />
You can use synaptic or aptitude to install packages. Or use apt-get as shown below.<br />
<br />
<pre><nowiki><br />
apt-get install git-core python python-dev python-module-psyco python-modules-sqlite3 \<br />
patch m4 sed bison make wget bzip2 cvs gawk gcc-c++ subversion sharutils coreutils \<br />
docbook-utils openjade quilt libpcre-devel unzip glibc-devel glibc-devel-static \<br />
help2man texi2html perl-devel chrpath<br />
</nowiki></pre><br />
<br />
For building bitbake manuals you have to install 'xmlto' package:<br />
<br />
<pre><nowiki><br />
apt-get install xmlto<br />
</nowiki></pre><br />
<br />
NOTES:<br />
* This is tested on ALD 4.0/4.1/5.0.<br />
* gcc-c++ is virtual package and can be provided by gcc4.3-c++ (ALD 5.0) and gcc4.1-c++ (ALD 4.0/4.1). Just select higher version.<br />
* '''As I have no OE installation on ALT Linux more this page can have obsolete information.'''<br />
<br />
=== Ark Linux 2008.1 ===<br />
[http://www.arklinux.org/ Ark Linux] is a modern distribution well suited for Openembedded development. Footprint only 2.1G.<br />
<br />
Required steps:<br />
<br />
1) install required packages<br />
<pre><nowiki><br />
apt-get install devel-core diffstat texi2html cvs subversion git texinfo psyco python-devel \<br />
python-encodings python-sqlite chrpath help2man<br />
</nowiki></pre><br />
<br />
2) upgrade<br />
<pre><nowiki><br />
apt-get update<br />
apt-get dist-upgrade <br />
</nowiki></pre><br />
<br />
3) finally create your OE tree (see [[Getting started]] instructions).<br />
<br />
== other Linux distributions ==<br />
<br />
=== Gentoo instructions ===<br />
<br />
Note that Psyco, the Python JIT compiler, works on 32-bit x86 platforms only.<br />
<br />
<pre><nowiki><br />
emerge -n \<br />
psyco \<br />
patch \<br />
make \<br />
sed \<br />
dev-lang/python \<br />
m4 \<br />
bison \<br />
cvs \<br />
openjade \<br />
quilt \<br />
sgmltools-lite \<br />
docbook-xml-dtd \<br />
docbook-dsssl-stylesheets \<br />
xmlto \<br />
docbook-sgml-utils \<br />
libpcre \<br />
boost \<br />
subversion \<br />
texi2html \<br />
pysqlite \<br />
chrpath<br />
</nowiki></pre><br />
<br />
Then follow the instructions in [[Getting started]] for obtaining bitbake and start the build.<br />
<br />
=== Arch Linux (Duke) ===<br />
'''Note''': Arch Linux has switched to using Python 3 by default. BitBake does ''not'' support Python 3.<br />
Please ensure you have Python 2.6.x or 2.7.x installed and set to be the default Python interpreter.<br />
<br />
Most of the packages are available in the repositories.<br />
<br />
<pre><nowiki><br />
sudo pacman -S patch make sed python m4 bison cvs quilt sgmltools-lite docbook-xml \<br />
xmlto pcre boost jade git texinfo texi2html help2man subversion chrpath<br />
</nowiki></pre><br />
<br />
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:<br />
<br />
<pre><nowiki><br />
sudo ln -s /bin/install /usr/bin/install<br />
</nowiki></pre><br />
<br />
You can build BitBake by using this PKGBUILD or install it from the AUR:<br />
<pre><nowiki><br />
pkgname=bitbake<br />
pkgver=1.8.4<br />
pkgrel=1<br />
pkgdesc="A simple tool for task execution derived from Gentoo's portage"<br />
url="http://developer.berlios.de/projects/bitbake/"<br />
arch=('i686')<br />
license=('GPL' 'custom')<br />
depends=('python')<br />
source=(http://download.berlios.de/bitbake/${pkgname}-${pkgver}.tar.gz)<br />
md5sums=('508d9a61c635d469be8facc95151158b')<br />
<br />
build() {<br />
cd ${startdir}/src/${pkgname}-${pkgver}<br />
python setup.py install --root=${startdir}/pkg<br />
<br />
# Install vim extensions<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/ftdetect/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/ftplugin/bitbake.vim<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/syntax/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/syntax/bitbake.vim<br />
<br />
# Handle MIT license<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/doc/COPYING.MIT \<br />
${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING.MIT<br />
}<br />
</nowiki></pre><br />
<br />
= Using OpenEmbedded on FreeBSD and other NON Linux Systems =<br />
<br />
tbd<br />
<br />
== FreeBSD ==<br />
<br />
* Python == /usr/ports/lang/python<br />
* GNU Patch == /usr/ports/devel/patch<br />
* GNU m4 == /usr/ports/devel/m4<br />
* GNU make == /usr/ports/devel/gmake<br />
* wget == /usr/ports/ftp/wget<br />
* Psyco JIT Compiler == /usr/ports/devel/py-psyco<br />
* GNU sed == /usr/ports/textproc/gsed<br />
* Bison == /usr/ports/devel/bison<br />
* GCC 2.95.3 == /usr/ports/lang/gcc295<br />
* bc == already in FreeBSD<br />
* PyQt == /usr/ports/x11-toolkits/py-qt<br />
* glibc headers (ignore)<br />
* subversion == /usr/ports/devel/subversion<br />
* git == /usr/ports/devel/git<br />
* pcre == /usr/ports/devel/pcre<br />
<br />
Ports has also has these: fileutils, jade, docbook, dsssl-docbook-modular, sgmltools<br />
<br />
== Using OpenEmbedded on Mac OS X ==<br />
<br />
By default OS X uses a filesystem that is '''not''' case sensitive. You need to ensure that at least your tmp directory is on a case sensitive filesystem or you may come across various packages that break, including the Linux kernel! These steps were carried out on a early 32 bit 10.5/Intel Mac - the install order matters for a couple of packages as does having them installed in a more normal location.<br />
<br />
# Register at [https://connect.apple.com ADC] and download and install Xcode<br />
# Compile and install [http://www.gnu.org/software/gettext/ GNU gettext]<br />
# Using CPAN install Locale::gettext<br />
# Compile and install [http://www.gnu.org/software/help2man/ help2man 1.29] - newer versions will not build without hacks<br />
# Compile and install [http://www.gnu.org/software/wget/ wget], [http://www.gnu.org/software/gawk/ gawk], [http://www.gnu.org/software/coreutils/ coreutils] and [http://git-scm.com/ git] - wget appears to not work if you install it in /usr/local so use --prefix=/usr also note OS X provides a different version of mktemp which functions differently, be careful not to overwrite this as OS X might need it<br />
# If you are on a 32 bit Mac you can of course install [http://psyco.sourceforge.net/ psyco]<br />
# Fixup your PATH variable for your build user so that /usr/local/bin (or where ever coreutils etc is installed) comes before the OS X version in /usr/bin<br />
# Install GNU sed 3.0.2, this will give you a version of sed that allows you to build sed 4.1.5 - you will need to overwrite the one provided by OS X with --prefix=/usr and ensure you are using 4.1.5 not 3.0.2 as 3.0.2 does not provide various options you need<br />
# Install getopt from [http://software.frodo.looijaard.name/getopt/download.php here] - modify WITHOUT_GETTEXT=0 to WITHOUT_GETTEXT=1 in the Makefile and add -DWITHOUT_GETTEXT=$(WITHOUT_GETTEXT) to the line beginning with CPPFLAGS=<br />
<br />
Now follow the Getting Started OpenEmbedded wiki guide. Unfortunately there are various issues building on OS X that will most likely prevent the toolchain from building.<br />
<br />
Unfinished - tbd<br />
<br />
= Using OpenEmbedded on Windows/Cygwin Systems =<br />
<br />
<br />
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.<br />
<br />
[[Category:User]]<br />
<br />
new user</div>Guillaume Ghttps://www.openembedded.org/index.php?title=OEandYourDistro&diff=4463OEandYourDistro2011-12-01T13:38:50Z<p>Guillaume G: Update requiered packages</p>
<hr />
<div>'''Note''': the information here is liable to be out of date. Please see the [[Required software]] for information on which software is required on the host system.<br />
<br />
= Using OpenEmbedded on Linux systems =<br />
<br />
== deb-based distributions ==<br />
<br />
The easiest way is via [http://blog.leggewie.org/?p=39 apt-get'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.<br />
<br />
=== Debian ===<br />
<br />
==== Mandatory packages ====<br />
<br />
aptitude install sed wget cvs subversion git-core \<br />
coreutils unzip texi2html texinfo docbook-utils \<br />
gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ \<br />
desktop-file-utils chrpath<br />
<br />
'''Git'''<br />
<br />
On debian you may have to run <br />
<br />
update-alternatives --config git (as root)<br />
<br />
and select /usr/bin/git-scm to provide git instead of /usr/bin/git.transition. This is not necessary in sid<br />
<br />
==== Supplementary packages ====<br />
<br />
<pre><nowiki><br />
apt-get install libxml2-utils xmlto python-psyco apr<br />
</nowiki></pre><br />
<br />
<br />
OPTIONAL: these packages and their dependencies need to be installed in order to build the bitbake documentation (warning: over 160MB of installed packages).<br />
<br />
<pre><nowiki><br />
apt-get install docbook<br />
</nowiki></pre><br />
This package is necessary to build some packages (in particular the esound documentation needs it).<br />
<br />
==== Building in container (LXC/OpenVZ) ====<br />
NOTE: If you are building in container (LXC/OpenVZ) check presence of '''loadkeys''' tool (/bin/loadkeys). If there is no loadkeys, install '''console-tools''' package.<br />
<br />
=== Ubuntu ===<br />
<br />
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.<br />
<br />
* Check that /bin/sh (ls -l /bin/sh) is not symbolically linked to dash. "dash" is a POSIX compliant shell that is much smaller than "bash" -- however some broken shell scripts still make use of bash extensions while calling into /bin/sh. To work around this issue call "''sudo dpkg-reconfigure dash''" and select No when it asks you to install dash as /bin/sh.<br />
* You can also install Psyco Python JIT compiler to speed up BitBake. Psyco works on 32-bit x86 platforms only. "''aptitude install python-psyco''<br />
* there are known [[gcc issues in Intrepid and later]] when cross-compiling with OE<br />
<br />
[SOLVED - update 2010-05]<br />
* qemu-arm fails whilst building locales (Ubuntu 10.04 LTS and possibly other releases). This is due to a kernel setting which restricts memory mapping to low addresses. To work around this you can either:<br />
** a) Enter 'echo 128 > /proc/sys/vm/mmap_min_addr' prior to running bitbake.<br />
** b) Set permanent parameter 'sudo sysctl -w vm.mmap_min_addr=128'.<br />
<br />
With current qemu in OE mmap_min_addr tricks are not needed at all.<br />
So now it should work on every system with readable /proc/sys/vm/mmap_min_addr or /proc/sys/vm/mmap_min_addr <= 65536.<br />
<br />
== rpm-based distributions ==<br />
<br />
=== Mandriva Linux ===<br />
<br />
Follow the Debian instructions, only using `urpmi` instead of `apt-get install`. 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.<br />
If you're building a 2.6 kernel, you also need the glibc-static-devel package.<br />
<br />
with Mandriva Linux 2006, you need to issue the following command:<br />
<br />
<pre><nowiki><br />
urpmi python python-devel python-psyco patch m4 sed bison make wget bzip2 \<br />
cvs gawk glibc-devel gcc-c++ subversion sharutils coreutils docbook-utils openjade \<br />
quilt pcre-devel unzip glibc-static-devel<br />
</nowiki></pre><br />
<br />
=== openSUSE ===<br />
<br />
==== openSUSE 11.4/12.1 - 1-click install ====<br />
<br />
You can install all the needed dependencies (except bitbake) with the following 1-click install link: [http://download.oliseo.fr/OE/OE_dep.ymp OE_dep.ymp]<br />
<br />
<br />
==== openSUSE all version - zypper ====<br />
<br />
Use zypper to install the required packages:<br />
sudo zypper in python python-ply python-progressbar patch m4 make perl diffstat wget curl ftp cvs subversion git mercurial tar bzip2 gzip unzip sed bison bc glibc-devel pcre-devel libSDL-devel coreutils help2man gawk chrpath<br />
<br />
==== Additional packages ====<br />
<br />
===== psyco =====<br />
<br />
In order to speed up the build, you can install python psyco package.<br />
<br />
Please note pysco is only available for 32-bit x86 systems only.<br />
<br />
====== from sourceforge ======<br />
You can use python psyco package (from http://sourceforge.net/projects/psyco/files/) to speed up building. You need to install python-devel:<br />
sudo zypper in python-devel<br />
<br />
and then install psyco via<br />
sudo python setup.py install<br />
in the psyco directory.<br />
<br />
====== from community repo (only 11.3) ======<br />
Alternatively you can install psyco directly from a community repo.<br />
zypper ar -f http://download.opensuse.org/repositories/home:/elchevive/openSUSE_11.3/ 11.3-psyco<br />
zypper in python-psyco<br />
<br />
===== other useful packages =====<br />
<br />
These packages may be useful as well: bison and [http://software.opensuse.org/search?baseproject=ALL&p=1&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).<br />
<br />
sudo zypper in bison gcc33 gtk2-devel bc ncurses-devel<br />
<br />
=== Fedora ===<br />
<br />
==== Fedora Core 2/3 ====<br />
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.<br />
<br />
<pre><nowiki> yum install python patch m4 sed make docbook* openjade glibc-devel xmlto</nowiki></pre><br />
<br />
* 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`.<br />
<br />
* patch: FC3 default version should be enough. Optionally, install SuSe 9.1 package of it.<br />
<br />
==== Fedora Core 4 ====<br />
Almost all required packages for Openembedded are available in Fedora Core 4 and the Fedora Extras for Core 4. You can download them from <http://download.fedora.redhat.com/pub/fedora/linux/core> and <http://download.fedora.redhat.com/pub/fedora/linux/extras>. Check <http://download.fedora.redhat.com/pub/fedora/linux/core/updates/4> for updates on the Core 4 packages.<br />
<br />
Apart from the usual (native) development packages like gcc and binutils, you should check that you have the following RPM's installed: <br />
<br />
* bison<br />
* docbook* packages<br />
* libpcre<br />
* m4<br />
* make<br />
* openjade<br />
* patch<br />
* PyQt<br />
* python<br />
* python-psyco<br />
* sed<br />
* xmlto<br />
* quilt (not required as OE builds it by itself, but install it if you want to use gquilt)<br />
<br />
Use apt, synaptic, up2date or yum to automagically retrieve these packages or download and install them manually (lots of work).<br />
<br />
==== Fedora Core 5/6 ====<br />
<br />
Commands I used to install OE pre-requisites on FC5/6<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip \<br />
unzip python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch gcc gcc-c++ python-sqlite2 help2man"<br />
</nowiki></pre><br />
<br />
or download the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm (may be out of date).<br />
<br />
then do<br />
<br />
<pre><nowiki><br />
su -c "yum localinstall openembedded-essential-1.1-1.noarch.rpm"<br />
</nowiki></pre><br />
<br />
<br />
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.<br />
<br />
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).<br />
<br />
I didn't install SGML tools. Please add if you know how<br />
<br />
Update - Since about 2002 sgml-tools has apparently been replaced by linuxdoc-tools for FC.<br />
<br />
==== Fedora 7 ====<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools gcc gcc-c++ \<br />
help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 11 ====<br />
<br />
Fedora 11, compared to previous versions, brings the need to install "glibc-static" as well:<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 12 ====<br />
Recommended to use Fedora 12 64 bit when possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath<br />
</nowiki></pre><br />
<br />
note python-pyscho is only available for 32bit linux<br />
<br />
==== Fedora 13 , 14 and 15 ====<br />
Recommended to use Fedora 13/14/15 64 bit when/where possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
Then update all packages<br />
<pre><nowiki><br />
sudo yum update<br />
</nowiki></pre><br />
<br />
Then <br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath cmake ncurses \<br />
apr<br />
</nowiki></pre><br />
<br />
(some or most of these packages may have been added by the previous step e.g. for <br />
console-image build on f14 only texi2html chrpath wget perl-ExtUtils-MakeMaker glibc-static were required in addition to ' Development Tools')<br />
<br />
note python-pyscho is currently only available for 32bit linux<br />
<br />
Note for fedora 14 as of 17th March 2011 if you have patch-2.6.1.-8.fc14 installed you may need to downgrade<br><br />
to an older version if you are getting patching errors during building.<br><br />
<br><br />
to downgrade<br />
<pre> sudo yum downgrade patch </pre><br />
<br />
=== CentOS 4.4 / Red Hat Enterprise Linux 4 ===<br />
May also work for true EL4 or Scientific Linux - another RHEL rebuild<br />
<br />
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.]<br />
<br />
I re-built the following SRPMS (with "$ rpmbuild --rebuild ..."):<br />
* boost-1.33.1-10.fc5.src.rpm<br />
* 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)<br />
<br />
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.<br />
<br />
Extra requirements for the builds included rpmdevtools, xmlto, and lynx.<br />
<br />
I put packages in a local repo so I can do "yum install ...", otherwise can do "yum localinstall foo.1.2.3.noarch.rpm ...". It may be necessary to temporarily set "gpgcheck=0" in /etc/yum.conf to avoid complaints about unsigned packages.<br />
<br />
For EL4 texi2html is available from the tetex package, currently tetex-2.0.2-22.EL4.7<br />
<br />
Note that the the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm<br />
should work except that it depends on texi2html.<br />
<br />
Instead as root do<br />
<br />
<pre><nowiki><br />
yum install bison coreutils cvs docbook-utils gawk git-core python quilt rpmlib \<br />
sed subversion tetex texinfo unzip wget<br />
</nowiki></pre><br />
<br />
I ended up with the following set of relevant packages after several iterations of building/updating to get "bitbake nano" to complete successfully:<br />
<br />
* python-2.3.4-14.3<br />
* m4-1.4.1-16<br />
* make-3.80-6.EL4<br />
* wget-1.10.2-0.40E<br />
* curl-7.12.1-8.rhel4<br />
* ftp-0.17-22<br />
* cvs-1.11.17-9.RHEL4<br />
* subversion-1.4.3-0.1.el4.rf<br />
* tar-1.14-12.RHEL4<br />
* bzip2-1.0.2-13.EL4.3<br />
* gzip-1.3.3-16.rhel4<br />
* unzip-5.51-7<br />
* python-psyco-1.5-3.el4.kb<br />
* perl-5.8.5-36.RHEL4<br />
* texinfo-4.7-5.el4.2<br />
* tetex-2.0.2-22.EL4.7<br />
* diffstat-1.34-0_6.el4.at<br />
* openjade-1.3.2-16_9.el4.at<br />
* docbook-style-dsssl-1.78-4<br />
* docbook-style-xsl-1.65.1-2<br />
* docbook-dtds-1.0-25<br />
* docbook-utils-0.6.14-4<br />
* sed-4.1.2-5.EL4<br />
* bison-1.875c-2<br />
* bc-1.06-17.1<br />
* glibc-devel-2.3.4-2.25<br />
* gcc-3.4.6-3<br />
* binutils-2.15.92.0.2-21<br />
* pcre-4.5-3.2.RHEL4<br />
* pcre-devel-4.5-3.2.RHEL4<br />
* git-1.4.4.2-2.el4.kb<br />
* bitbake-1.6.2-1<br />
<br />
=== ALT Linux ===<br />
<br />
You can read more about ALT Linux here: http://www.altlinux.com/en/<br />
<br />
You can use synaptic or aptitude to install packages. Or use apt-get as shown below.<br />
<br />
<pre><nowiki><br />
apt-get install git-core python python-dev python-module-psyco python-modules-sqlite3 \<br />
patch m4 sed bison make wget bzip2 cvs gawk gcc-c++ subversion sharutils coreutils \<br />
docbook-utils openjade quilt libpcre-devel unzip glibc-devel glibc-devel-static \<br />
help2man texi2html perl-devel chrpath<br />
</nowiki></pre><br />
<br />
For building bitbake manuals you have to install 'xmlto' package:<br />
<br />
<pre><nowiki><br />
apt-get install xmlto<br />
</nowiki></pre><br />
<br />
NOTES:<br />
* This is tested on ALD 4.0/4.1/5.0.<br />
* gcc-c++ is virtual package and can be provided by gcc4.3-c++ (ALD 5.0) and gcc4.1-c++ (ALD 4.0/4.1). Just select higher version.<br />
* '''As I have no OE installation on ALT Linux more this page can have obsolete information.'''<br />
<br />
=== Ark Linux 2008.1 ===<br />
[http://www.arklinux.org/ Ark Linux] is a modern distribution well suited for Openembedded development. Footprint only 2.1G.<br />
<br />
Required steps:<br />
<br />
1) install required packages<br />
<pre><nowiki><br />
apt-get install devel-core diffstat texi2html cvs subversion git texinfo psyco python-devel \<br />
python-encodings python-sqlite chrpath help2man<br />
</nowiki></pre><br />
<br />
2) upgrade<br />
<pre><nowiki><br />
apt-get update<br />
apt-get dist-upgrade <br />
</nowiki></pre><br />
<br />
3) finally create your OE tree (see [[Getting started]] instructions).<br />
<br />
== other Linux distributions ==<br />
<br />
=== Gentoo instructions ===<br />
<br />
Note that Psyco, the Python JIT compiler, works on 32-bit x86 platforms only.<br />
<br />
<pre><nowiki><br />
emerge -n \<br />
psyco \<br />
patch \<br />
make \<br />
sed \<br />
dev-lang/python \<br />
m4 \<br />
bison \<br />
cvs \<br />
openjade \<br />
quilt \<br />
sgmltools-lite \<br />
docbook-xml-dtd \<br />
docbook-dsssl-stylesheets \<br />
xmlto \<br />
docbook-sgml-utils \<br />
libpcre \<br />
boost \<br />
subversion \<br />
texi2html \<br />
pysqlite \<br />
chrpath<br />
</nowiki></pre><br />
<br />
Then follow the instructions in [[Getting started]] for obtaining bitbake and start the build.<br />
<br />
=== Arch Linux (Duke) ===<br />
'''Note''': Arch Linux has switched to using Python 3 by default. BitBake does ''not'' support Python 3.<br />
Please ensure you have Python 2.6.x or 2.7.x installed and set to be the default Python interpreter.<br />
<br />
Most of the packages are available in the repositories.<br />
<br />
<pre><nowiki><br />
sudo pacman -S patch make sed python m4 bison cvs quilt sgmltools-lite docbook-xml \<br />
xmlto pcre boost jade git texinfo texi2html help2man subversion chrpath<br />
</nowiki></pre><br />
<br />
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:<br />
<br />
<pre><nowiki><br />
sudo ln -s /bin/install /usr/bin/install<br />
</nowiki></pre><br />
<br />
You can build BitBake by using this PKGBUILD or install it from the AUR:<br />
<pre><nowiki><br />
pkgname=bitbake<br />
pkgver=1.8.4<br />
pkgrel=1<br />
pkgdesc="A simple tool for task execution derived from Gentoo's portage"<br />
url="http://developer.berlios.de/projects/bitbake/"<br />
arch=('i686')<br />
license=('GPL' 'custom')<br />
depends=('python')<br />
source=(http://download.berlios.de/bitbake/${pkgname}-${pkgver}.tar.gz)<br />
md5sums=('508d9a61c635d469be8facc95151158b')<br />
<br />
build() {<br />
cd ${startdir}/src/${pkgname}-${pkgver}<br />
python setup.py install --root=${startdir}/pkg<br />
<br />
# Install vim extensions<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/ftdetect/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/ftplugin/bitbake.vim<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/syntax/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/syntax/bitbake.vim<br />
<br />
# Handle MIT license<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/doc/COPYING.MIT \<br />
${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING.MIT<br />
}<br />
</nowiki></pre><br />
<br />
= Using OpenEmbedded on FreeBSD and other NON Linux Systems =<br />
<br />
tbd<br />
<br />
== FreeBSD ==<br />
<br />
* Python == /usr/ports/lang/python<br />
* GNU Patch == /usr/ports/devel/patch<br />
* GNU m4 == /usr/ports/devel/m4<br />
* GNU make == /usr/ports/devel/gmake<br />
* wget == /usr/ports/ftp/wget<br />
* Psyco JIT Compiler == /usr/ports/devel/py-psyco<br />
* GNU sed == /usr/ports/textproc/gsed<br />
* Bison == /usr/ports/devel/bison<br />
* GCC 2.95.3 == /usr/ports/lang/gcc295<br />
* bc == already in FreeBSD<br />
* PyQt == /usr/ports/x11-toolkits/py-qt<br />
* glibc headers (ignore)<br />
* subversion == /usr/ports/devel/subversion<br />
* git == /usr/ports/devel/git<br />
* pcre == /usr/ports/devel/pcre<br />
<br />
Ports has also has these: fileutils, jade, docbook, dsssl-docbook-modular, sgmltools<br />
<br />
== Using OpenEmbedded on Mac OS X ==<br />
<br />
By default OS X uses a filesystem that is '''not''' case sensitive. You need to ensure that at least your tmp directory is on a case sensitive filesystem or you may come across various packages that break, including the Linux kernel! These steps were carried out on a early 32 bit 10.5/Intel Mac - the install order matters for a couple of packages as does having them installed in a more normal location.<br />
<br />
# Register at [https://connect.apple.com ADC] and download and install Xcode<br />
# Compile and install [http://www.gnu.org/software/gettext/ GNU gettext]<br />
# Using CPAN install Locale::gettext<br />
# Compile and install [http://www.gnu.org/software/help2man/ help2man 1.29] - newer versions will not build without hacks<br />
# Compile and install [http://www.gnu.org/software/wget/ wget], [http://www.gnu.org/software/gawk/ gawk], [http://www.gnu.org/software/coreutils/ coreutils] and [http://git-scm.com/ git] - wget appears to not work if you install it in /usr/local so use --prefix=/usr also note OS X provides a different version of mktemp which functions differently, be careful not to overwrite this as OS X might need it<br />
# If you are on a 32 bit Mac you can of course install [http://psyco.sourceforge.net/ psyco]<br />
# Fixup your PATH variable for your build user so that /usr/local/bin (or where ever coreutils etc is installed) comes before the OS X version in /usr/bin<br />
# Install GNU sed 3.0.2, this will give you a version of sed that allows you to build sed 4.1.5 - you will need to overwrite the one provided by OS X with --prefix=/usr and ensure you are using 4.1.5 not 3.0.2 as 3.0.2 does not provide various options you need<br />
# Install getopt from [http://software.frodo.looijaard.name/getopt/download.php here] - modify WITHOUT_GETTEXT=0 to WITHOUT_GETTEXT=1 in the Makefile and add -DWITHOUT_GETTEXT=$(WITHOUT_GETTEXT) to the line beginning with CPPFLAGS=<br />
<br />
Now follow the Getting Started OpenEmbedded wiki guide. Unfortunately there are various issues building on OS X that will most likely prevent the toolchain from building.<br />
<br />
Unfinished - tbd<br />
<br />
= Using OpenEmbedded on Windows/Cygwin Systems =<br />
<br />
<br />
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.<br />
<br />
[[Category:User]]<br />
<br />
new user</div>Guillaume Ghttps://www.openembedded.org/index.php?title=OEandYourDistro&diff=4461OEandYourDistro2011-12-01T13:35:24Z<p>Guillaume G: /* openSUSE */</p>
<hr />
<div>'''Note''': the information here is liable to be out of date. Please see the [[Required software]] for information on which software is required on the host system.<br />
<br />
= Using OpenEmbedded on Linux systems =<br />
<br />
== deb-based distributions ==<br />
<br />
The easiest way is via [http://blog.leggewie.org/?p=39 apt-get'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.<br />
<br />
=== Debian ===<br />
<br />
==== Mandatory packages ====<br />
<br />
aptitude install sed wget cvs subversion git-core \<br />
coreutils unzip texi2html texinfo docbook-utils \<br />
gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ \<br />
desktop-file-utils chrpath<br />
<br />
'''Git'''<br />
<br />
On debian you may have to run <br />
<br />
update-alternatives --config git (as root)<br />
<br />
and select /usr/bin/git-scm to provide git instead of /usr/bin/git.transition. This is not necessary in sid<br />
<br />
==== Supplementary packages ====<br />
<br />
<pre><nowiki><br />
apt-get install libxml2-utils xmlto python-psyco apr<br />
</nowiki></pre><br />
<br />
<br />
OPTIONAL: these packages and their dependencies need to be installed in order to build the bitbake documentation (warning: over 160MB of installed packages).<br />
<br />
<pre><nowiki><br />
apt-get install docbook<br />
</nowiki></pre><br />
This package is necessary to build some packages (in particular the esound documentation needs it).<br />
<br />
==== Building in container (LXC/OpenVZ) ====<br />
NOTE: If you are building in container (LXC/OpenVZ) check presence of '''loadkeys''' tool (/bin/loadkeys). If there is no loadkeys, install '''console-tools''' package.<br />
<br />
=== Ubuntu ===<br />
<br />
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.<br />
<br />
* Check that /bin/sh (ls -l /bin/sh) is not symbolically linked to dash. "dash" is a POSIX compliant shell that is much smaller than "bash" -- however some broken shell scripts still make use of bash extensions while calling into /bin/sh. To work around this issue call "''sudo dpkg-reconfigure dash''" and select No when it asks you to install dash as /bin/sh.<br />
* You can also install Psyco Python JIT compiler to speed up BitBake. Psyco works on 32-bit x86 platforms only. "''aptitude install python-psyco''<br />
* there are known [[gcc issues in Intrepid and later]] when cross-compiling with OE<br />
<br />
[SOLVED - update 2010-05]<br />
* qemu-arm fails whilst building locales (Ubuntu 10.04 LTS and possibly other releases). This is due to a kernel setting which restricts memory mapping to low addresses. To work around this you can either:<br />
** a) Enter 'echo 128 > /proc/sys/vm/mmap_min_addr' prior to running bitbake.<br />
** b) Set permanent parameter 'sudo sysctl -w vm.mmap_min_addr=128'.<br />
<br />
With current qemu in OE mmap_min_addr tricks are not needed at all.<br />
So now it should work on every system with readable /proc/sys/vm/mmap_min_addr or /proc/sys/vm/mmap_min_addr <= 65536.<br />
<br />
== rpm-based distributions ==<br />
<br />
=== Mandriva Linux ===<br />
<br />
Follow the Debian instructions, only using `urpmi` instead of `apt-get install`. 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.<br />
If you're building a 2.6 kernel, you also need the glibc-static-devel package.<br />
<br />
with Mandriva Linux 2006, you need to issue the following command:<br />
<br />
<pre><nowiki><br />
urpmi python python-devel python-psyco patch m4 sed bison make wget bzip2 \<br />
cvs gawk glibc-devel gcc-c++ subversion sharutils coreutils docbook-utils openjade \<br />
quilt pcre-devel unzip glibc-static-devel<br />
</nowiki></pre><br />
<br />
=== openSUSE ===<br />
<br />
==== openSUSE 11.4/12.1 - 1-click install ====<br />
<br />
You can install all the needed dependencies (except bitbake) with the following 1-click install link: [http://download.oliseo.fr/OE/OE_dep.ymp OE_dep.ymp]<br />
<br />
<br />
==== openSUSE all version - zypper ====<br />
<br />
Use zypper to install the required packages:<br />
sudo zypper in subversion git python help2man diffstat wget gcc gcc-c++ libstdc++ glibc-devel texinfo automake patch chrpath<br />
<br />
==== Additional packages ====<br />
<br />
===== psyco =====<br />
<br />
In order to speed up the build, you can install python psyco package.<br />
<br />
Please note pysco is only available for 32-bit x86 systems only.<br />
<br />
====== from sourceforge ======<br />
You can use python psyco package (from http://sourceforge.net/projects/psyco/files/) to speed up building. You need to install python-devel:<br />
sudo zypper in python-devel<br />
<br />
and then install psyco via<br />
sudo python setup.py install<br />
in the psyco directory.<br />
<br />
====== from community repo (only 11.3) ======<br />
Alternatively you can install psyco directly from a community repo.<br />
zypper ar -f http://download.opensuse.org/repositories/home:/elchevive/openSUSE_11.3/ 11.3-psyco<br />
zypper in python-psyco<br />
<br />
===== other useful packages =====<br />
<br />
These packages may be useful as well: bison and [http://software.opensuse.org/search?baseproject=ALL&p=1&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).<br />
<br />
sudo zypper in bison gcc33 gtk2-devel bc ncurses-devel<br />
<br />
=== Fedora ===<br />
<br />
==== Fedora Core 2/3 ====<br />
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.<br />
<br />
<pre><nowiki> yum install python patch m4 sed make docbook* openjade glibc-devel xmlto</nowiki></pre><br />
<br />
* 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`.<br />
<br />
* patch: FC3 default version should be enough. Optionally, install SuSe 9.1 package of it.<br />
<br />
==== Fedora Core 4 ====<br />
Almost all required packages for Openembedded are available in Fedora Core 4 and the Fedora Extras for Core 4. You can download them from <http://download.fedora.redhat.com/pub/fedora/linux/core> and <http://download.fedora.redhat.com/pub/fedora/linux/extras>. Check <http://download.fedora.redhat.com/pub/fedora/linux/core/updates/4> for updates on the Core 4 packages.<br />
<br />
Apart from the usual (native) development packages like gcc and binutils, you should check that you have the following RPM's installed: <br />
<br />
* bison<br />
* docbook* packages<br />
* libpcre<br />
* m4<br />
* make<br />
* openjade<br />
* patch<br />
* PyQt<br />
* python<br />
* python-psyco<br />
* sed<br />
* xmlto<br />
* quilt (not required as OE builds it by itself, but install it if you want to use gquilt)<br />
<br />
Use apt, synaptic, up2date or yum to automagically retrieve these packages or download and install them manually (lots of work).<br />
<br />
==== Fedora Core 5/6 ====<br />
<br />
Commands I used to install OE pre-requisites on FC5/6<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip \<br />
unzip python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch gcc gcc-c++ python-sqlite2 help2man"<br />
</nowiki></pre><br />
<br />
or download the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm (may be out of date).<br />
<br />
then do<br />
<br />
<pre><nowiki><br />
su -c "yum localinstall openembedded-essential-1.1-1.noarch.rpm"<br />
</nowiki></pre><br />
<br />
<br />
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.<br />
<br />
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).<br />
<br />
I didn't install SGML tools. Please add if you know how<br />
<br />
Update - Since about 2002 sgml-tools has apparently been replaced by linuxdoc-tools for FC.<br />
<br />
==== Fedora 7 ====<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools gcc gcc-c++ \<br />
help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 11 ====<br />
<br />
Fedora 11, compared to previous versions, brings the need to install "glibc-static" as well:<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 12 ====<br />
Recommended to use Fedora 12 64 bit when possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath<br />
</nowiki></pre><br />
<br />
note python-pyscho is only available for 32bit linux<br />
<br />
==== Fedora 13 , 14 and 15 ====<br />
Recommended to use Fedora 13/14/15 64 bit when/where possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
Then update all packages<br />
<pre><nowiki><br />
sudo yum update<br />
</nowiki></pre><br />
<br />
Then <br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath cmake ncurses \<br />
apr<br />
</nowiki></pre><br />
<br />
(some or most of these packages may have been added by the previous step e.g. for <br />
console-image build on f14 only texi2html chrpath wget perl-ExtUtils-MakeMaker glibc-static were required in addition to ' Development Tools')<br />
<br />
note python-pyscho is currently only available for 32bit linux<br />
<br />
Note for fedora 14 as of 17th March 2011 if you have patch-2.6.1.-8.fc14 installed you may need to downgrade<br><br />
to an older version if you are getting patching errors during building.<br><br />
<br><br />
to downgrade<br />
<pre> sudo yum downgrade patch </pre><br />
<br />
=== CentOS 4.4 / Red Hat Enterprise Linux 4 ===<br />
May also work for true EL4 or Scientific Linux - another RHEL rebuild<br />
<br />
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.]<br />
<br />
I re-built the following SRPMS (with "$ rpmbuild --rebuild ..."):<br />
* boost-1.33.1-10.fc5.src.rpm<br />
* 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)<br />
<br />
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.<br />
<br />
Extra requirements for the builds included rpmdevtools, xmlto, and lynx.<br />
<br />
I put packages in a local repo so I can do "yum install ...", otherwise can do "yum localinstall foo.1.2.3.noarch.rpm ...". It may be necessary to temporarily set "gpgcheck=0" in /etc/yum.conf to avoid complaints about unsigned packages.<br />
<br />
For EL4 texi2html is available from the tetex package, currently tetex-2.0.2-22.EL4.7<br />
<br />
Note that the the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm<br />
should work except that it depends on texi2html.<br />
<br />
Instead as root do<br />
<br />
<pre><nowiki><br />
yum install bison coreutils cvs docbook-utils gawk git-core python quilt rpmlib \<br />
sed subversion tetex texinfo unzip wget<br />
</nowiki></pre><br />
<br />
I ended up with the following set of relevant packages after several iterations of building/updating to get "bitbake nano" to complete successfully:<br />
<br />
* python-2.3.4-14.3<br />
* m4-1.4.1-16<br />
* make-3.80-6.EL4<br />
* wget-1.10.2-0.40E<br />
* curl-7.12.1-8.rhel4<br />
* ftp-0.17-22<br />
* cvs-1.11.17-9.RHEL4<br />
* subversion-1.4.3-0.1.el4.rf<br />
* tar-1.14-12.RHEL4<br />
* bzip2-1.0.2-13.EL4.3<br />
* gzip-1.3.3-16.rhel4<br />
* unzip-5.51-7<br />
* python-psyco-1.5-3.el4.kb<br />
* perl-5.8.5-36.RHEL4<br />
* texinfo-4.7-5.el4.2<br />
* tetex-2.0.2-22.EL4.7<br />
* diffstat-1.34-0_6.el4.at<br />
* openjade-1.3.2-16_9.el4.at<br />
* docbook-style-dsssl-1.78-4<br />
* docbook-style-xsl-1.65.1-2<br />
* docbook-dtds-1.0-25<br />
* docbook-utils-0.6.14-4<br />
* sed-4.1.2-5.EL4<br />
* bison-1.875c-2<br />
* bc-1.06-17.1<br />
* glibc-devel-2.3.4-2.25<br />
* gcc-3.4.6-3<br />
* binutils-2.15.92.0.2-21<br />
* pcre-4.5-3.2.RHEL4<br />
* pcre-devel-4.5-3.2.RHEL4<br />
* git-1.4.4.2-2.el4.kb<br />
* bitbake-1.6.2-1<br />
<br />
=== ALT Linux ===<br />
<br />
You can read more about ALT Linux here: http://www.altlinux.com/en/<br />
<br />
You can use synaptic or aptitude to install packages. Or use apt-get as shown below.<br />
<br />
<pre><nowiki><br />
apt-get install git-core python python-dev python-module-psyco python-modules-sqlite3 \<br />
patch m4 sed bison make wget bzip2 cvs gawk gcc-c++ subversion sharutils coreutils \<br />
docbook-utils openjade quilt libpcre-devel unzip glibc-devel glibc-devel-static \<br />
help2man texi2html perl-devel chrpath<br />
</nowiki></pre><br />
<br />
For building bitbake manuals you have to install 'xmlto' package:<br />
<br />
<pre><nowiki><br />
apt-get install xmlto<br />
</nowiki></pre><br />
<br />
NOTES:<br />
* This is tested on ALD 4.0/4.1/5.0.<br />
* gcc-c++ is virtual package and can be provided by gcc4.3-c++ (ALD 5.0) and gcc4.1-c++ (ALD 4.0/4.1). Just select higher version.<br />
* '''As I have no OE installation on ALT Linux more this page can have obsolete information.'''<br />
<br />
=== Ark Linux 2008.1 ===<br />
[http://www.arklinux.org/ Ark Linux] is a modern distribution well suited for Openembedded development. Footprint only 2.1G.<br />
<br />
Required steps:<br />
<br />
1) install required packages<br />
<pre><nowiki><br />
apt-get install devel-core diffstat texi2html cvs subversion git texinfo psyco python-devel \<br />
python-encodings python-sqlite chrpath help2man<br />
</nowiki></pre><br />
<br />
2) upgrade<br />
<pre><nowiki><br />
apt-get update<br />
apt-get dist-upgrade <br />
</nowiki></pre><br />
<br />
3) finally create your OE tree (see [[Getting started]] instructions).<br />
<br />
== other Linux distributions ==<br />
<br />
=== Gentoo instructions ===<br />
<br />
Note that Psyco, the Python JIT compiler, works on 32-bit x86 platforms only.<br />
<br />
<pre><nowiki><br />
emerge -n \<br />
psyco \<br />
patch \<br />
make \<br />
sed \<br />
dev-lang/python \<br />
m4 \<br />
bison \<br />
cvs \<br />
openjade \<br />
quilt \<br />
sgmltools-lite \<br />
docbook-xml-dtd \<br />
docbook-dsssl-stylesheets \<br />
xmlto \<br />
docbook-sgml-utils \<br />
libpcre \<br />
boost \<br />
subversion \<br />
texi2html \<br />
pysqlite \<br />
chrpath<br />
</nowiki></pre><br />
<br />
Then follow the instructions in [[Getting started]] for obtaining bitbake and start the build.<br />
<br />
=== Arch Linux (Duke) ===<br />
'''Note''': Arch Linux has switched to using Python 3 by default. BitBake does ''not'' support Python 3.<br />
Please ensure you have Python 2.6.x or 2.7.x installed and set to be the default Python interpreter.<br />
<br />
Most of the packages are available in the repositories.<br />
<br />
<pre><nowiki><br />
sudo pacman -S patch make sed python m4 bison cvs quilt sgmltools-lite docbook-xml \<br />
xmlto pcre boost jade git texinfo texi2html help2man subversion chrpath<br />
</nowiki></pre><br />
<br />
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:<br />
<br />
<pre><nowiki><br />
sudo ln -s /bin/install /usr/bin/install<br />
</nowiki></pre><br />
<br />
You can build BitBake by using this PKGBUILD or install it from the AUR:<br />
<pre><nowiki><br />
pkgname=bitbake<br />
pkgver=1.8.4<br />
pkgrel=1<br />
pkgdesc="A simple tool for task execution derived from Gentoo's portage"<br />
url="http://developer.berlios.de/projects/bitbake/"<br />
arch=('i686')<br />
license=('GPL' 'custom')<br />
depends=('python')<br />
source=(http://download.berlios.de/bitbake/${pkgname}-${pkgver}.tar.gz)<br />
md5sums=('508d9a61c635d469be8facc95151158b')<br />
<br />
build() {<br />
cd ${startdir}/src/${pkgname}-${pkgver}<br />
python setup.py install --root=${startdir}/pkg<br />
<br />
# Install vim extensions<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/ftdetect/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/ftplugin/bitbake.vim<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/syntax/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/syntax/bitbake.vim<br />
<br />
# Handle MIT license<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/doc/COPYING.MIT \<br />
${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING.MIT<br />
}<br />
</nowiki></pre><br />
<br />
= Using OpenEmbedded on FreeBSD and other NON Linux Systems =<br />
<br />
tbd<br />
<br />
== FreeBSD ==<br />
<br />
* Python == /usr/ports/lang/python<br />
* GNU Patch == /usr/ports/devel/patch<br />
* GNU m4 == /usr/ports/devel/m4<br />
* GNU make == /usr/ports/devel/gmake<br />
* wget == /usr/ports/ftp/wget<br />
* Psyco JIT Compiler == /usr/ports/devel/py-psyco<br />
* GNU sed == /usr/ports/textproc/gsed<br />
* Bison == /usr/ports/devel/bison<br />
* GCC 2.95.3 == /usr/ports/lang/gcc295<br />
* bc == already in FreeBSD<br />
* PyQt == /usr/ports/x11-toolkits/py-qt<br />
* glibc headers (ignore)<br />
* subversion == /usr/ports/devel/subversion<br />
* git == /usr/ports/devel/git<br />
* pcre == /usr/ports/devel/pcre<br />
<br />
Ports has also has these: fileutils, jade, docbook, dsssl-docbook-modular, sgmltools<br />
<br />
== Using OpenEmbedded on Mac OS X ==<br />
<br />
By default OS X uses a filesystem that is '''not''' case sensitive. You need to ensure that at least your tmp directory is on a case sensitive filesystem or you may come across various packages that break, including the Linux kernel! These steps were carried out on a early 32 bit 10.5/Intel Mac - the install order matters for a couple of packages as does having them installed in a more normal location.<br />
<br />
# Register at [https://connect.apple.com ADC] and download and install Xcode<br />
# Compile and install [http://www.gnu.org/software/gettext/ GNU gettext]<br />
# Using CPAN install Locale::gettext<br />
# Compile and install [http://www.gnu.org/software/help2man/ help2man 1.29] - newer versions will not build without hacks<br />
# Compile and install [http://www.gnu.org/software/wget/ wget], [http://www.gnu.org/software/gawk/ gawk], [http://www.gnu.org/software/coreutils/ coreutils] and [http://git-scm.com/ git] - wget appears to not work if you install it in /usr/local so use --prefix=/usr also note OS X provides a different version of mktemp which functions differently, be careful not to overwrite this as OS X might need it<br />
# If you are on a 32 bit Mac you can of course install [http://psyco.sourceforge.net/ psyco]<br />
# Fixup your PATH variable for your build user so that /usr/local/bin (or where ever coreutils etc is installed) comes before the OS X version in /usr/bin<br />
# Install GNU sed 3.0.2, this will give you a version of sed that allows you to build sed 4.1.5 - you will need to overwrite the one provided by OS X with --prefix=/usr and ensure you are using 4.1.5 not 3.0.2 as 3.0.2 does not provide various options you need<br />
# Install getopt from [http://software.frodo.looijaard.name/getopt/download.php here] - modify WITHOUT_GETTEXT=0 to WITHOUT_GETTEXT=1 in the Makefile and add -DWITHOUT_GETTEXT=$(WITHOUT_GETTEXT) to the line beginning with CPPFLAGS=<br />
<br />
Now follow the Getting Started OpenEmbedded wiki guide. Unfortunately there are various issues building on OS X that will most likely prevent the toolchain from building.<br />
<br />
Unfinished - tbd<br />
<br />
= Using OpenEmbedded on Windows/Cygwin Systems =<br />
<br />
<br />
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.<br />
<br />
[[Category:User]]<br />
<br />
new user</div>Guillaume Ghttps://www.openembedded.org/index.php?title=OEandYourDistro&diff=4457OEandYourDistro2011-11-30T17:38:50Z<p>Guillaume G: /* openSUSE 11.1/11.2/11.3 */</p>
<hr />
<div>'''Note''': the information here is liable to be out of date. Please see the [[Required software]] for information on which software is required on the host system.<br />
<br />
= Using OpenEmbedded on Linux systems =<br />
<br />
== deb-based distributions ==<br />
<br />
The easiest way is via [http://blog.leggewie.org/?p=39 apt-get'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.<br />
<br />
=== Debian ===<br />
<br />
==== Mandatory packages ====<br />
<br />
aptitude install sed wget cvs subversion git-core \<br />
coreutils unzip texi2html texinfo docbook-utils \<br />
gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ \<br />
desktop-file-utils chrpath<br />
<br />
'''Git'''<br />
<br />
On debian you may have to run <br />
<br />
update-alternatives --config git (as root)<br />
<br />
and select /usr/bin/git-scm to provide git instead of /usr/bin/git.transition. This is not necessary in sid<br />
<br />
==== Supplementary packages ====<br />
<br />
<pre><nowiki><br />
apt-get install libxml2-utils xmlto python-psyco apr<br />
</nowiki></pre><br />
<br />
<br />
OPTIONAL: these packages and their dependencies need to be installed in order to build the bitbake documentation (warning: over 160MB of installed packages).<br />
<br />
<pre><nowiki><br />
apt-get install docbook<br />
</nowiki></pre><br />
This package is necessary to build some packages (in particular the esound documentation needs it).<br />
<br />
==== Building in container (LXC/OpenVZ) ====<br />
NOTE: If you are building in container (LXC/OpenVZ) check presence of '''loadkeys''' tool (/bin/loadkeys). If there is no loadkeys, install '''console-tools''' package.<br />
<br />
=== Ubuntu ===<br />
<br />
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.<br />
<br />
* Check that /bin/sh (ls -l /bin/sh) is not symbolically linked to dash. "dash" is a POSIX compliant shell that is much smaller than "bash" -- however some broken shell scripts still make use of bash extensions while calling into /bin/sh. To work around this issue call "''sudo dpkg-reconfigure dash''" and select No when it asks you to install dash as /bin/sh.<br />
* You can also install Psyco Python JIT compiler to speed up BitBake. Psyco works on 32-bit x86 platforms only. "''aptitude install python-psyco''<br />
* there are known [[gcc issues in Intrepid and later]] when cross-compiling with OE<br />
<br />
[SOLVED - update 2010-05]<br />
* qemu-arm fails whilst building locales (Ubuntu 10.04 LTS and possibly other releases). This is due to a kernel setting which restricts memory mapping to low addresses. To work around this you can either:<br />
** a) Enter 'echo 128 > /proc/sys/vm/mmap_min_addr' prior to running bitbake.<br />
** b) Set permanent parameter 'sudo sysctl -w vm.mmap_min_addr=128'.<br />
<br />
With current qemu in OE mmap_min_addr tricks are not needed at all.<br />
So now it should work on every system with readable /proc/sys/vm/mmap_min_addr or /proc/sys/vm/mmap_min_addr <= 65536.<br />
<br />
== rpm-based distributions ==<br />
<br />
=== Mandriva Linux ===<br />
<br />
Follow the Debian instructions, only using `urpmi` instead of `apt-get install`. 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.<br />
If you're building a 2.6 kernel, you also need the glibc-static-devel package.<br />
<br />
with Mandriva Linux 2006, you need to issue the following command:<br />
<br />
<pre><nowiki><br />
urpmi python python-devel python-psyco patch m4 sed bison make wget bzip2 \<br />
cvs gawk glibc-devel gcc-c++ subversion sharutils coreutils docbook-utils openjade \<br />
quilt pcre-devel unzip glibc-static-devel<br />
</nowiki></pre><br />
<br />
=== openSUSE ===<br />
<br />
==== openSUSE 11.1/11.2/11.3/11.4/12.1 ====<br />
<br />
Use zypper to install the required packages:<br />
sudo zypper in subversion git python help2man diffstat wget gcc gcc-c++ libstdc++ glibc-devel texinfo automake patch chrpath<br />
<br />
===== psyco =====<br />
<br />
Please note pysco is only available for 32-bit x86 systems only.<br />
<br />
====== from sourceforge ======<br />
You can use python psyco package (from http://sourceforge.net/projects/psyco/files/) to speed up building. You need to install python-devel:<br />
sudo zypper in python-devel<br />
<br />
and then install psyco via<br />
sudo python setup.py install<br />
in the psyco directory.<br />
<br />
====== from community repo (only 11.3) ======<br />
Alternatively you can install psyco directly from a community repo.<br />
zypper ar -f http://download.opensuse.org/repositories/home:/elchevive/openSUSE_11.3/ 11.3-psyco<br />
zypper in python-psyco<br />
<br />
===== other useful packages =====<br />
<br />
These packages may be useful as well: bison and [http://software.opensuse.org/search?baseproject=ALL&p=1&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).<br />
<br />
sudo zypper in bison gcc33 gtk2-devel bc ncurses-devel<br />
<br />
=== Fedora ===<br />
<br />
==== Fedora Core 2/3 ====<br />
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.<br />
<br />
<pre><nowiki> yum install python patch m4 sed make docbook* openjade glibc-devel xmlto</nowiki></pre><br />
<br />
* 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`.<br />
<br />
* patch: FC3 default version should be enough. Optionally, install SuSe 9.1 package of it.<br />
<br />
==== Fedora Core 4 ====<br />
Almost all required packages for Openembedded are available in Fedora Core 4 and the Fedora Extras for Core 4. You can download them from <http://download.fedora.redhat.com/pub/fedora/linux/core> and <http://download.fedora.redhat.com/pub/fedora/linux/extras>. Check <http://download.fedora.redhat.com/pub/fedora/linux/core/updates/4> for updates on the Core 4 packages.<br />
<br />
Apart from the usual (native) development packages like gcc and binutils, you should check that you have the following RPM's installed: <br />
<br />
* bison<br />
* docbook* packages<br />
* libpcre<br />
* m4<br />
* make<br />
* openjade<br />
* patch<br />
* PyQt<br />
* python<br />
* python-psyco<br />
* sed<br />
* xmlto<br />
* quilt (not required as OE builds it by itself, but install it if you want to use gquilt)<br />
<br />
Use apt, synaptic, up2date or yum to automagically retrieve these packages or download and install them manually (lots of work).<br />
<br />
==== Fedora Core 5/6 ====<br />
<br />
Commands I used to install OE pre-requisites on FC5/6<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip \<br />
unzip python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch gcc gcc-c++ python-sqlite2 help2man"<br />
</nowiki></pre><br />
<br />
or download the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm (may be out of date).<br />
<br />
then do<br />
<br />
<pre><nowiki><br />
su -c "yum localinstall openembedded-essential-1.1-1.noarch.rpm"<br />
</nowiki></pre><br />
<br />
<br />
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.<br />
<br />
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).<br />
<br />
I didn't install SGML tools. Please add if you know how<br />
<br />
Update - Since about 2002 sgml-tools has apparently been replaced by linuxdoc-tools for FC.<br />
<br />
==== Fedora 7 ====<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools gcc gcc-c++ \<br />
help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 11 ====<br />
<br />
Fedora 11, compared to previous versions, brings the need to install "glibc-static" as well:<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 12 ====<br />
Recommended to use Fedora 12 64 bit when possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath<br />
</nowiki></pre><br />
<br />
note python-pyscho is only available for 32bit linux<br />
<br />
==== Fedora 13 , 14 and 15 ====<br />
Recommended to use Fedora 13/14/15 64 bit when/where possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
Then update all packages<br />
<pre><nowiki><br />
sudo yum update<br />
</nowiki></pre><br />
<br />
Then <br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath cmake ncurses \<br />
apr<br />
</nowiki></pre><br />
<br />
(some or most of these packages may have been added by the previous step e.g. for <br />
console-image build on f14 only texi2html chrpath wget perl-ExtUtils-MakeMaker glibc-static were required in addition to ' Development Tools')<br />
<br />
note python-pyscho is currently only available for 32bit linux<br />
<br />
Note for fedora 14 as of 17th March 2011 if you have patch-2.6.1.-8.fc14 installed you may need to downgrade<br><br />
to an older version if you are getting patching errors during building.<br><br />
<br><br />
to downgrade<br />
<pre> sudo yum downgrade patch </pre><br />
<br />
=== CentOS 4.4 / Red Hat Enterprise Linux 4 ===<br />
May also work for true EL4 or Scientific Linux - another RHEL rebuild<br />
<br />
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.]<br />
<br />
I re-built the following SRPMS (with "$ rpmbuild --rebuild ..."):<br />
* boost-1.33.1-10.fc5.src.rpm<br />
* 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)<br />
<br />
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.<br />
<br />
Extra requirements for the builds included rpmdevtools, xmlto, and lynx.<br />
<br />
I put packages in a local repo so I can do "yum install ...", otherwise can do "yum localinstall foo.1.2.3.noarch.rpm ...". It may be necessary to temporarily set "gpgcheck=0" in /etc/yum.conf to avoid complaints about unsigned packages.<br />
<br />
For EL4 texi2html is available from the tetex package, currently tetex-2.0.2-22.EL4.7<br />
<br />
Note that the the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm<br />
should work except that it depends on texi2html.<br />
<br />
Instead as root do<br />
<br />
<pre><nowiki><br />
yum install bison coreutils cvs docbook-utils gawk git-core python quilt rpmlib \<br />
sed subversion tetex texinfo unzip wget<br />
</nowiki></pre><br />
<br />
I ended up with the following set of relevant packages after several iterations of building/updating to get "bitbake nano" to complete successfully:<br />
<br />
* python-2.3.4-14.3<br />
* m4-1.4.1-16<br />
* make-3.80-6.EL4<br />
* wget-1.10.2-0.40E<br />
* curl-7.12.1-8.rhel4<br />
* ftp-0.17-22<br />
* cvs-1.11.17-9.RHEL4<br />
* subversion-1.4.3-0.1.el4.rf<br />
* tar-1.14-12.RHEL4<br />
* bzip2-1.0.2-13.EL4.3<br />
* gzip-1.3.3-16.rhel4<br />
* unzip-5.51-7<br />
* python-psyco-1.5-3.el4.kb<br />
* perl-5.8.5-36.RHEL4<br />
* texinfo-4.7-5.el4.2<br />
* tetex-2.0.2-22.EL4.7<br />
* diffstat-1.34-0_6.el4.at<br />
* openjade-1.3.2-16_9.el4.at<br />
* docbook-style-dsssl-1.78-4<br />
* docbook-style-xsl-1.65.1-2<br />
* docbook-dtds-1.0-25<br />
* docbook-utils-0.6.14-4<br />
* sed-4.1.2-5.EL4<br />
* bison-1.875c-2<br />
* bc-1.06-17.1<br />
* glibc-devel-2.3.4-2.25<br />
* gcc-3.4.6-3<br />
* binutils-2.15.92.0.2-21<br />
* pcre-4.5-3.2.RHEL4<br />
* pcre-devel-4.5-3.2.RHEL4<br />
* git-1.4.4.2-2.el4.kb<br />
* bitbake-1.6.2-1<br />
<br />
=== ALT Linux ===<br />
<br />
You can read more about ALT Linux here: http://www.altlinux.com/en/<br />
<br />
You can use synaptic or aptitude to install packages. Or use apt-get as shown below.<br />
<br />
<pre><nowiki><br />
apt-get install git-core python python-dev python-module-psyco python-modules-sqlite3 \<br />
patch m4 sed bison make wget bzip2 cvs gawk gcc-c++ subversion sharutils coreutils \<br />
docbook-utils openjade quilt libpcre-devel unzip glibc-devel glibc-devel-static \<br />
help2man texi2html perl-devel chrpath<br />
</nowiki></pre><br />
<br />
For building bitbake manuals you have to install 'xmlto' package:<br />
<br />
<pre><nowiki><br />
apt-get install xmlto<br />
</nowiki></pre><br />
<br />
NOTES:<br />
* This is tested on ALD 4.0/4.1/5.0.<br />
* gcc-c++ is virtual package and can be provided by gcc4.3-c++ (ALD 5.0) and gcc4.1-c++ (ALD 4.0/4.1). Just select higher version.<br />
* '''As I have no OE installation on ALT Linux more this page can have obsolete information.'''<br />
<br />
=== Ark Linux 2008.1 ===<br />
[http://www.arklinux.org/ Ark Linux] is a modern distribution well suited for Openembedded development. Footprint only 2.1G.<br />
<br />
Required steps:<br />
<br />
1) install required packages<br />
<pre><nowiki><br />
apt-get install devel-core diffstat texi2html cvs subversion git texinfo psyco python-devel \<br />
python-encodings python-sqlite chrpath help2man<br />
</nowiki></pre><br />
<br />
2) upgrade<br />
<pre><nowiki><br />
apt-get update<br />
apt-get dist-upgrade <br />
</nowiki></pre><br />
<br />
3) finally create your OE tree (see [[Getting started]] instructions).<br />
<br />
== other Linux distributions ==<br />
<br />
=== Gentoo instructions ===<br />
<br />
Note that Psyco, the Python JIT compiler, works on 32-bit x86 platforms only.<br />
<br />
<pre><nowiki><br />
emerge -n \<br />
psyco \<br />
patch \<br />
make \<br />
sed \<br />
dev-lang/python \<br />
m4 \<br />
bison \<br />
cvs \<br />
openjade \<br />
quilt \<br />
sgmltools-lite \<br />
docbook-xml-dtd \<br />
docbook-dsssl-stylesheets \<br />
xmlto \<br />
docbook-sgml-utils \<br />
libpcre \<br />
boost \<br />
subversion \<br />
texi2html \<br />
pysqlite \<br />
chrpath<br />
</nowiki></pre><br />
<br />
Then follow the instructions in [[Getting started]] for obtaining bitbake and start the build.<br />
<br />
=== Arch Linux (Duke) ===<br />
'''Note''': Arch Linux has switched to using Python 3 by default. BitBake does ''not'' support Python 3.<br />
Please ensure you have Python 2.6.x or 2.7.x installed and set to be the default Python interpreter.<br />
<br />
Most of the packages are available in the repositories.<br />
<br />
<pre><nowiki><br />
sudo pacman -S patch make sed python m4 bison cvs quilt sgmltools-lite docbook-xml \<br />
xmlto pcre boost jade git texinfo texi2html help2man subversion chrpath<br />
</nowiki></pre><br />
<br />
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:<br />
<br />
<pre><nowiki><br />
sudo ln -s /bin/install /usr/bin/install<br />
</nowiki></pre><br />
<br />
You can build BitBake by using this PKGBUILD or install it from the AUR:<br />
<pre><nowiki><br />
pkgname=bitbake<br />
pkgver=1.8.4<br />
pkgrel=1<br />
pkgdesc="A simple tool for task execution derived from Gentoo's portage"<br />
url="http://developer.berlios.de/projects/bitbake/"<br />
arch=('i686')<br />
license=('GPL' 'custom')<br />
depends=('python')<br />
source=(http://download.berlios.de/bitbake/${pkgname}-${pkgver}.tar.gz)<br />
md5sums=('508d9a61c635d469be8facc95151158b')<br />
<br />
build() {<br />
cd ${startdir}/src/${pkgname}-${pkgver}<br />
python setup.py install --root=${startdir}/pkg<br />
<br />
# Install vim extensions<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/ftdetect/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/ftplugin/bitbake.vim<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/syntax/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/syntax/bitbake.vim<br />
<br />
# Handle MIT license<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/doc/COPYING.MIT \<br />
${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING.MIT<br />
}<br />
</nowiki></pre><br />
<br />
= Using OpenEmbedded on FreeBSD and other NON Linux Systems =<br />
<br />
tbd<br />
<br />
== FreeBSD ==<br />
<br />
* Python == /usr/ports/lang/python<br />
* GNU Patch == /usr/ports/devel/patch<br />
* GNU m4 == /usr/ports/devel/m4<br />
* GNU make == /usr/ports/devel/gmake<br />
* wget == /usr/ports/ftp/wget<br />
* Psyco JIT Compiler == /usr/ports/devel/py-psyco<br />
* GNU sed == /usr/ports/textproc/gsed<br />
* Bison == /usr/ports/devel/bison<br />
* GCC 2.95.3 == /usr/ports/lang/gcc295<br />
* bc == already in FreeBSD<br />
* PyQt == /usr/ports/x11-toolkits/py-qt<br />
* glibc headers (ignore)<br />
* subversion == /usr/ports/devel/subversion<br />
* git == /usr/ports/devel/git<br />
* pcre == /usr/ports/devel/pcre<br />
<br />
Ports has also has these: fileutils, jade, docbook, dsssl-docbook-modular, sgmltools<br />
<br />
== Using OpenEmbedded on Mac OS X ==<br />
<br />
By default OS X uses a filesystem that is '''not''' case sensitive. You need to ensure that at least your tmp directory is on a case sensitive filesystem or you may come across various packages that break, including the Linux kernel! These steps were carried out on a early 32 bit 10.5/Intel Mac - the install order matters for a couple of packages as does having them installed in a more normal location.<br />
<br />
# Register at [https://connect.apple.com ADC] and download and install Xcode<br />
# Compile and install [http://www.gnu.org/software/gettext/ GNU gettext]<br />
# Using CPAN install Locale::gettext<br />
# Compile and install [http://www.gnu.org/software/help2man/ help2man 1.29] - newer versions will not build without hacks<br />
# Compile and install [http://www.gnu.org/software/wget/ wget], [http://www.gnu.org/software/gawk/ gawk], [http://www.gnu.org/software/coreutils/ coreutils] and [http://git-scm.com/ git] - wget appears to not work if you install it in /usr/local so use --prefix=/usr also note OS X provides a different version of mktemp which functions differently, be careful not to overwrite this as OS X might need it<br />
# If you are on a 32 bit Mac you can of course install [http://psyco.sourceforge.net/ psyco]<br />
# Fixup your PATH variable for your build user so that /usr/local/bin (or where ever coreutils etc is installed) comes before the OS X version in /usr/bin<br />
# Install GNU sed 3.0.2, this will give you a version of sed that allows you to build sed 4.1.5 - you will need to overwrite the one provided by OS X with --prefix=/usr and ensure you are using 4.1.5 not 3.0.2 as 3.0.2 does not provide various options you need<br />
# Install getopt from [http://software.frodo.looijaard.name/getopt/download.php here] - modify WITHOUT_GETTEXT=0 to WITHOUT_GETTEXT=1 in the Makefile and add -DWITHOUT_GETTEXT=$(WITHOUT_GETTEXT) to the line beginning with CPPFLAGS=<br />
<br />
Now follow the Getting Started OpenEmbedded wiki guide. Unfortunately there are various issues building on OS X that will most likely prevent the toolchain from building.<br />
<br />
Unfinished - tbd<br />
<br />
= Using OpenEmbedded on Windows/Cygwin Systems =<br />
<br />
<br />
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.<br />
<br />
[[Category:User]]<br />
<br />
new user</div>Guillaume Ghttps://www.openembedded.org/index.php?title=OEandYourDistro&diff=2537OEandYourDistro2010-09-02T12:35:51Z<p>Guillaume G: /* psyco and others */</p>
<hr />
<div>See [[Required software]] for the list of the software required by Openembedded.<br />
<br />
= Using OpenEmbedded on Linux systems =<br />
<br />
== deb-based distributions ==<br />
<br />
The easiest way is via [http://blog.leggewie.org/?p=39 apt-get'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.<br />
<br />
=== Debian ===<br />
<br />
==== Mandatory packages ====<br />
<br />
aptitude install sed wget cvs subversion git-core \<br />
coreutils unzip texi2html texinfo libsdl1.2-dev docbook-utils \<br />
gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ \<br />
desktop-file-utils chrpath<br />
<br />
'''Git'''<br />
<br />
On debian you may have to run <br />
<br />
update-alternatives --config git (as root)<br />
<br />
and select /usr/bin/git-scm to provide git instead of /usr/bin/git.transition. This is not necessary in sid<br />
<br />
==== Supplementary packages ====<br />
<br />
<pre><nowiki><br />
apt-get install libxml2-utils xmlto python-psyco<br />
</nowiki></pre><br />
<br />
<br />
OPTIONAL: these packages and their dependencies need to be installed in order to build the bitbake documentation (warning: over 160MB of installed packages).<br />
<br />
<pre><nowiki><br />
apt-get install docbook<br />
</nowiki></pre><br />
This package is necessary to build some packages (in particular the esound documentation needs it).<br />
<br />
=== Ubuntu ===<br />
<br />
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.<br />
<br />
* Check that /bin/sh (ls -l /bin/sh) is not symbolically linked to dash. "dash" is a POSIX compliant shell that is much smaller than "bash" -- however some broken shell scripts still make use of bash extensions while calling into /bin/sh. To work around this issue call "''sudo dpkg-reconfigure dash''" and select No when it asks you to install dash as /bin/sh.<br />
* You can also install Psyco Python JIT compiler to speed up BitBake. Psyco works on 32-bit x86 platforms only. "''aptitude install python-psyco''<br />
* there are known [[gcc issues in Intrepid and later]] when cross-compiling with OE<br />
<br />
[SOLVED - update 2010-05]<br />
* qemu-arm fails whilst building locales (Ubuntu 10.04 LTS and possibly other releases). This is due to a kernel setting which restricts memory mapping to low addresses. To work around this you can either:<br />
** a) Enter 'echo 128 > /proc/sys/vm/mmap_min_addr' prior to running bitbake.<br />
** b) Set permanent parameter 'sudo sysctl -w vm.mmap_min_addr=128'.<br />
<br />
With current qemu in OE mmap_min_addr tricks are not needed at all.<br />
So now it should work on every system with readable /proc/sys/vm/mmap_min_addr or /proc/sys/vm/mmap_min_addr <= 65536.<br />
<br />
== rpm-based distributions ==<br />
<br />
=== Mandriva Linux ===<br />
<br />
Follow the Debian instructions, only using `urpmi` instead of `apt-get install`. 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.<br />
If you're building a 2.6 kernel, you also need the glibc-static-devel package.<br />
<br />
with Mandriva Linux 2006, you need to issue the following command:<br />
<br />
<pre><nowiki><br />
urpmi python python-devel python-psyco patch m4 sed bison make wget bzip2 \<br />
cvs gawk glibc-devel gcc-c++ subversion sharutils coreutils docbook-utils openjade \<br />
quilt pcre-devel unzip glibc-static-devel<br />
</nowiki></pre><br />
<br />
=== openSUSE ===<br />
<br />
==== openSUSE 11.1/11.2/11.3 ====<br />
<br />
Use zypper to install the required packages:<br />
sudo zypper in subversion git python help2man diffstat wget gcc gcc-c++ libstdc++ glibc-devel texinfo automake patch chrpath<br />
<br />
===== psyco =====<br />
<br />
====== from sourceforge ======<br />
You can use python psyco package (from http://sourceforge.net/projects/psyco/files/) to speed up building. You need to install python-devel:<br />
sudo zypper in python-devel<br />
<br />
and then install psyco via<br />
sudo python setup.py install<br />
in the psyco directory.<br />
<br />
====== from community repo ======<br />
Alternatively you can install psyco directly from a community repo.<br />
zypper ar -f http://download.opensuse.org/repositories/home:/elchevive/openSUSE_11.3/ 11.3-psyco<br />
zypper in python-psyco<br />
<br />
===== other useful packages =====<br />
<br />
These packages may be useful as well: bison and [http://software.opensuse.org/search?baseproject=ALL&p=1&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).<br />
<br />
sudo zypper in bison gcc33 gtk2-devel bc ncurses-devel<br />
<br />
=== Fedora ===<br />
<br />
==== Fedora Core 2/3 ====<br />
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.<br />
<br />
<pre><nowiki> yum install python patch m4 sed make docbook* openjade glibc-devel xmlto</nowiki></pre><br />
<br />
* 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`.<br />
<br />
* patch: FC3 default version should be enough. Optionally, install SuSe 9.1 package of it.<br />
<br />
==== Fedora Core 4 ====<br />
Almost all required packages for Openembedded are available in Fedora Core 4 and the Fedora Extras for Core 4. You can download them from <http://download.fedora.redhat.com/pub/fedora/linux/core> and <http://download.fedora.redhat.com/pub/fedora/linux/extras>. Check <http://download.fedora.redhat.com/pub/fedora/linux/core/updates/4> for updates on the Core 4 packages.<br />
<br />
Apart from the usual (native) development packages like gcc and binutils, you should check that you have the following RPM's installed: <br />
<br />
* bison<br />
* docbook* packages<br />
* libpcre<br />
* m4<br />
* make<br />
* openjade<br />
* patch<br />
* PyQt<br />
* python<br />
* python-psyco<br />
* sed<br />
* xmlto<br />
* quilt (not required as OE builds it by itself, but install it if you want to use gquilt)<br />
<br />
Use apt, synaptic, up2date or yum to automagically retrieve these packages or download and install them manually (lots of work).<br />
<br />
==== Fedora Core 5/6 ====<br />
<br />
Commands I used to install OE pre-requisites on FC5/6<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip \<br />
unzip python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch gcc gcc-c++ python-sqlite2 help2man"<br />
</nowiki></pre><br />
<br />
or download the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm (may be out of date).<br />
<br />
then do<br />
<br />
<pre><nowiki><br />
su -c "yum localinstall openembedded-essential-1.1-1.noarch.rpm"<br />
</nowiki></pre><br />
<br />
<br />
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.<br />
<br />
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).<br />
<br />
I didn't install SGML tools. Please add if you know how<br />
<br />
Update - Since about 2002 sgml-tools has apparently been replaced by linuxdoc-tools for FC.<br />
<br />
==== Fedora 7 ====<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools gcc gcc-c++ \<br />
help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 11 ====<br />
<br />
Fedora 11, compared to previous versions, brings the need to install "glibc-static" as well:<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 12 ====<br />
Recommended to use Fedora 12 64 bit when possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath<br />
</nowiki></pre><br />
<br />
note python-pyscho is only available for 32bit linux<br />
<br />
==== Fedora 13 ====<br />
Recommended to use Fedora 13 64 bit when/where possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
Then update all packages<br />
<pre><nowiki><br />
sudo yum update<br />
</nowiki></pre><br />
<br />
Then <br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath cmake ncurses<br />
</nowiki></pre><br />
<br />
(some or most of these packages may have been added by the previous step)<br />
<br />
note python-pyscho is currently only available for 32bit linux<br />
<br />
=== CentOS 4.4 / Red Hat Enterprise Linux 4 ===<br />
May also work for true EL4 or Scientific Linux - another RHEL rebuild<br />
<br />
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.]<br />
<br />
I re-built the following SRPMS (with "$ rpmbuild --rebuild ..."):<br />
* boost-1.33.1-10.fc5.src.rpm<br />
* 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)<br />
<br />
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.<br />
<br />
Extra requirements for the builds included rpmdevtools, xmlto, and lynx.<br />
<br />
I put packages in a local repo so I can do "yum install ...", otherwise can do "yum localinstall foo.1.2.3.noarch.rpm ...". It may be necessary to temporarily set "gpgcheck=0" in /etc/yum.conf to avoid complaints about unsigned packages.<br />
<br />
For EL4 texi2html is available from the tetex package, currently tetex-2.0.2-22.EL4.7<br />
<br />
Note that the the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm<br />
should work except that it depends on texi2html.<br />
<br />
Instead as root do<br />
<br />
<pre><nowiki><br />
yum install bison coreutils cvs docbook-utils gawk git-core python quilt rpmlib \<br />
sed subversion tetex texinfo unzip wget<br />
</nowiki></pre><br />
<br />
I ended up with the following set of relevant packages after several iterations of building/updating to get "bitbake nano" to complete successfully:<br />
<br />
* python-2.3.4-14.3<br />
* m4-1.4.1-16<br />
* make-3.80-6.EL4<br />
* wget-1.10.2-0.40E<br />
* curl-7.12.1-8.rhel4<br />
* ftp-0.17-22<br />
* cvs-1.11.17-9.RHEL4<br />
* subversion-1.4.3-0.1.el4.rf<br />
* tar-1.14-12.RHEL4<br />
* bzip2-1.0.2-13.EL4.3<br />
* gzip-1.3.3-16.rhel4<br />
* unzip-5.51-7<br />
* python-psyco-1.5-3.el4.kb<br />
* perl-5.8.5-36.RHEL4<br />
* texinfo-4.7-5.el4.2<br />
* tetex-2.0.2-22.EL4.7<br />
* diffstat-1.34-0_6.el4.at<br />
* openjade-1.3.2-16_9.el4.at<br />
* docbook-style-dsssl-1.78-4<br />
* docbook-style-xsl-1.65.1-2<br />
* docbook-dtds-1.0-25<br />
* docbook-utils-0.6.14-4<br />
* sed-4.1.2-5.EL4<br />
* bison-1.875c-2<br />
* bc-1.06-17.1<br />
* glibc-devel-2.3.4-2.25<br />
* gcc-3.4.6-3<br />
* binutils-2.15.92.0.2-21<br />
* pcre-4.5-3.2.RHEL4<br />
* pcre-devel-4.5-3.2.RHEL4<br />
* git-1.4.4.2-2.el4.kb<br />
* bitbake-1.6.2-1<br />
<br />
=== ALT Linux ===<br />
<br />
You can read more about ALT Linux here: http://www.altlinux.com/en/<br />
<br />
You can use synaptic or aptitude to install packages. Or use apt-get as shown below.<br />
<br />
<pre><nowiki><br />
apt-get install git-core python python-dev python-module-psyco python-modules-sqlite3 \<br />
patch m4 sed bison make wget bzip2 cvs gawk gcc-c++ subversion sharutils coreutils \<br />
docbook-utils openjade quilt libpcre-devel unzip glibc-devel glibc-devel-static \<br />
help2man texi2html perl-devel chrpath<br />
</nowiki></pre><br />
<br />
For building bitbake manuals you have to install 'xmlto' package:<br />
<br />
<pre><nowiki><br />
apt-get install xmlto<br />
</nowiki></pre><br />
<br />
NOTES:<br />
* This is tested on ALD 4.0/4.1/5.0.<br />
* gcc-c++ is virtual package and can be provided by gcc4.3-c++ (ALD 5.0) and gcc4.1-c++ (ALD 4.0/4.1). Just select higher version.<br />
<br />
=== Ark Linux 2008.1 ===<br />
[http://www.arklinux.org/ Ark Linux] is a modern distribution well suited for Openembedded development. Footprint only 2.1G.<br />
<br />
Required steps:<br />
<br />
1) install required packages<br />
<pre><nowiki><br />
apt-get install devel-core diffstat texi2html cvs subversion git texinfo psyco python-devel \<br />
python-encodings python-sqlite help2man bitbake<br />
</nowiki></pre><br />
<br />
2) upgrade<br />
<pre><nowiki><br />
apt-get update<br />
apt-get dist-upgrade <br />
<br />
The following packages will be REPLACED:<br />
texi2html (by texlive-texi2html)<br />
The following NEW packages will be installed:<br />
texlive-texi2html<br />
</nowiki></pre><br />
<br />
3) finally create your OE tree (see [[Getting started]] instructions). bitbake is already included, so you can skip that step.<br />
<br />
== other Linux distributions ==<br />
<br />
=== Gentoo instructions ===<br />
<br />
Note that Psyco, the Python JIT compiler, works on 32-bit x86 platforms only.<br />
<br />
<pre><nowiki><br />
emerge -n \<br />
psyco \<br />
patch \<br />
make \<br />
sed \<br />
dev-lang/python \<br />
m4 \<br />
bison \<br />
cvs \<br />
openjade \<br />
quilt \<br />
sgmltools-lite \<br />
docbook-xml-dtd \<br />
docbook-dsssl-stylesheets \<br />
xmlto \<br />
docbook-sgml-utils \<br />
libpcre \<br />
boost \<br />
subversion \<br />
texi2html \<br />
pysqlite \<br />
chrpath<br />
</nowiki></pre><br />
<br />
Then follow the instructions in [[Getting started]] for obtaining bitbake and start the build.<br />
<br />
=== Arch Linux (Duke) ===<br />
<br />
Most of the packages are available in the repositories.<br />
<br />
<pre><nowiki><br />
sudo pacman -S patch make sed python m4 bison cvs quilt sgmltools-lite docbook-xml \<br />
xmlto pcre boost jade git texinfo texi2html help2man subversion chrpath<br />
</nowiki></pre><br />
<br />
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:<br />
<br />
<pre><nowiki><br />
sudo ln -s /bin/install /usr/bin/install<br />
</nowiki></pre><br />
<br />
You can build BitBake by using this PKGBUILD or install it from the AUR:<br />
<pre><nowiki><br />
pkgname=bitbake<br />
pkgver=1.8.4<br />
pkgrel=1<br />
pkgdesc="A simple tool for task execution derived from Gentoo's portage"<br />
url="http://developer.berlios.de/projects/bitbake/"<br />
arch=('i686')<br />
license=('GPL' 'custom')<br />
depends=('python')<br />
source=(http://download.berlios.de/bitbake/${pkgname}-${pkgver}.tar.gz)<br />
md5sums=('508d9a61c635d469be8facc95151158b')<br />
<br />
build() {<br />
cd ${startdir}/src/${pkgname}-${pkgver}<br />
python setup.py install --root=${startdir}/pkg<br />
<br />
# Install vim extensions<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/ftdetect/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/ftplugin/bitbake.vim<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/syntax/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/syntax/bitbake.vim<br />
<br />
# Handle MIT license<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/doc/COPYING.MIT \<br />
${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING.MIT<br />
}<br />
</nowiki></pre><br />
<br />
= Using OpenEmbedded on FreeBSD and other NON Linux Systems =<br />
<br />
tbd<br />
<br />
== FreeBSD ==<br />
<br />
* Python == /usr/ports/lang/python<br />
* GNU Patch == /usr/ports/devel/patch<br />
* GNU m4 == /usr/ports/devel/m4<br />
* GNU make == /usr/ports/devel/gmake<br />
* wget == /usr/ports/ftp/wget<br />
* Psyco JIT Compiler == /usr/ports/devel/py-psyco<br />
* GNU sed == /usr/ports/textproc/gsed<br />
* Bison == /usr/ports/devel/bison<br />
* GCC 2.95.3 == /usr/ports/lang/gcc295<br />
* bc == already in FreeBSD<br />
* PyQt == /usr/ports/x11-toolkits/py-qt<br />
* glibc headers (ignore)<br />
* subversion == /usr/ports/devel/subversion<br />
* git == /usr/ports/devel/git<br />
* pcre == /usr/ports/devel/pcre<br />
<br />
Ports has also has these: fileutils, jade, docbook, dsssl-docbook-modular, sgmltools<br />
<br />
== Using OpenEmbedded on Mac OS X ==<br />
<br />
By default OS X uses a filesystem that is '''not''' case sensitive. You need to ensure that at least your tmp directory is on a case sensitive filesystem or you may come across various packages that break, including the Linux kernel! These steps were carried out on a early 32 bit 10.5/Intel Mac - the install order matters for a couple of packages as does having them installed in a more normal location.<br />
<br />
# Register at [https://connect.apple.com ADC] and download and install Xcode<br />
# Compile and install [http://www.gnu.org/software/gettext/ GNU gettext]<br />
# Using CPAN install Locale::gettext<br />
# Compile and install [http://www.gnu.org/software/help2man/ help2man 1.29] - newer versions will not build without hacks<br />
# Compile and install [http://www.gnu.org/software/wget/ wget], [http://www.gnu.org/software/gawk/ gawk], [http://www.gnu.org/software/coreutils/ coreutils] and [http://git-scm.com/ git] - wget appears to not work if you install it in /usr/local so use --prefix=/usr also note OS X provides a different version of mktemp which functions differently, be careful not to overwrite this as OS X might need it<br />
# If you are on a 32 bit Mac you can of course install [http://psyco.sourceforge.net/ psyco]<br />
# Fixup your PATH variable for your build user so that /usr/local/bin (or where ever coreutils etc is installed) comes before the OS X version in /usr/bin<br />
# Install GNU sed 3.0.2, this will give you a version of sed that allows you to build sed 4.1.5 - you will need to overwrite the one provided by OS X with --prefix=/usr and ensure you are using 4.1.5 not 3.0.2 as 3.0.2 does not provide various options you need<br />
# Install getopt from [http://software.frodo.looijaard.name/getopt/download.php here] - modify WITHOUT_GETTEXT=0 to WITHOUT_GETTEXT=1 in the Makefile and add -DWITHOUT_GETTEXT=$(WITHOUT_GETTEXT) to the line beginning with CPPFLAGS=<br />
<br />
Now follow the Getting Started OpenEmbedded wiki guide. Unfortunately there are various issues building on OS X that will most likely prevent the toolchain from building.<br />
<br />
Unfinished - tbd<br />
<br />
= Using OpenEmbedded on Windows/Cygwin Systems =<br />
<br />
<br />
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.<br />
<br />
[[Category:User]]</div>Guillaume Ghttps://www.openembedded.org/index.php?title=OEandYourDistro&diff=2514OEandYourDistro2010-08-31T09:08:32Z<p>Guillaume G: /* openSUSE 11.1/11.2/11.3 */</p>
<hr />
<div>See [[Required software]] for the list of the software required by Openembedded.<br />
<br />
= Using OpenEmbedded on Linux systems =<br />
<br />
== deb-based distributions ==<br />
<br />
The easiest way is via [http://blog.leggewie.org/?p=39 apt-get'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.<br />
<br />
=== Debian ===<br />
<br />
==== Mandatory packages ====<br />
<br />
aptitude install sed wget cvs subversion git-core \<br />
coreutils unzip texi2html texinfo libsdl1.2-dev docbook-utils \<br />
gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ \<br />
desktop-file-utils chrpath<br />
<br />
'''Git'''<br />
<br />
On debian you may have to run <br />
<br />
update-alternatives --config git (as root)<br />
<br />
and select /usr/bin/git-scm to provide git instead of /usr/bin/git.transition. This is not necessary in sid<br />
<br />
==== Supplementary packages ====<br />
<br />
<pre><nowiki><br />
apt-get install libxml2-utils xmlto python-psyco<br />
</nowiki></pre><br />
<br />
<br />
OPTIONAL: these packages and their dependencies need to be installed in order to build the bitbake documentation (warning: over 160MB of installed packages).<br />
<br />
<pre><nowiki><br />
apt-get install docbook<br />
</nowiki></pre><br />
This package is necessary to build some packages (in particular the esound documentation needs it).<br />
<br />
=== Ubuntu ===<br />
<br />
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.<br />
<br />
* Check that /bin/sh (ls -l /bin/sh) is not symbolically linked to dash. "dash" is a POSIX compliant shell that is much smaller than "bash" -- however some broken shell scripts still make use of bash extensions while calling into /bin/sh. To work around this issue call "''sudo dpkg-reconfigure dash''" and select No when it asks you to install dash as /bin/sh.<br />
* You can also install Psyco Python JIT compiler to speed up BitBake. Psyco works on 32-bit x86 platforms only. "''aptitude install python-psyco''<br />
* there are known [[gcc issues in Intrepid and later]] when cross-compiling with OE<br />
<br />
[SOLVED - update 2010-05]<br />
* qemu-arm fails whilst building locales (Ubuntu 10.04 LTS and possibly other releases). This is due to a kernel setting which restricts memory mapping to low addresses. To work around this you can either:<br />
** a) Enter 'echo 128 > /proc/sys/vm/mmap_min_addr' prior to running bitbake.<br />
** b) Set permanent parameter 'sudo sysctl -w vm.mmap_min_addr=128'.<br />
<br />
With current qemu in OE mmap_min_addr tricks are not needed at all.<br />
So now it should work on every system with readable /proc/sys/vm/mmap_min_addr or /proc/sys/vm/mmap_min_addr <= 65536.<br />
<br />
== rpm-based distributions ==<br />
<br />
=== Mandriva Linux ===<br />
<br />
Follow the Debian instructions, only using `urpmi` instead of `apt-get install`. 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.<br />
If you're building a 2.6 kernel, you also need the glibc-static-devel package.<br />
<br />
with Mandriva Linux 2006, you need to issue the following command:<br />
<br />
<pre><nowiki><br />
urpmi python python-devel python-psyco patch m4 sed bison make wget bzip2 \<br />
cvs gawk glibc-devel gcc-c++ subversion sharutils coreutils docbook-utils openjade \<br />
quilt pcre-devel unzip glibc-static-devel<br />
</nowiki></pre><br />
<br />
=== openSUSE ===<br />
<br />
==== openSUSE 11.1/11.2/11.3 ====<br />
<br />
Use zypper to install the required packages:<br />
sudo zypper in subversion git python help2man diffstat wget gcc gcc-c++ libstdc++ glibc-devel texinfo automake patch chrpath<br />
<br />
You can use python psyco package (from http://sourceforge.net/projects/psyco/files/) to speed up building. You need to install python-devel:<br />
sudo zypper in python-devel<br />
<br />
and then install psyco via<br />
sudo python setup.py install<br />
in the psyco directory.<br />
<br />
These packages may be useful as well: bison and [http://software.opensuse.org/search?baseproject=ALL&p=1&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).<br />
<br />
=== Fedora ===<br />
<br />
==== Fedora Core 2/3 ====<br />
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.<br />
<br />
<pre><nowiki> yum install python patch m4 sed make docbook* openjade glibc-devel xmlto</nowiki></pre><br />
<br />
* 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`.<br />
<br />
* patch: FC3 default version should be enough. Optionally, install SuSe 9.1 package of it.<br />
<br />
==== Fedora Core 4 ====<br />
Almost all required packages for Openembedded are available in Fedora Core 4 and the Fedora Extras for Core 4. You can download them from <http://download.fedora.redhat.com/pub/fedora/linux/core> and <http://download.fedora.redhat.com/pub/fedora/linux/extras>. Check <http://download.fedora.redhat.com/pub/fedora/linux/core/updates/4> for updates on the Core 4 packages.<br />
<br />
Apart from the usual (native) development packages like gcc and binutils, you should check that you have the following RPM's installed: <br />
<br />
* bison<br />
* docbook* packages<br />
* libpcre<br />
* m4<br />
* make<br />
* openjade<br />
* patch<br />
* PyQt<br />
* python<br />
* python-psyco<br />
* sed<br />
* xmlto<br />
* quilt (not required as OE builds it by itself, but install it if you want to use gquilt)<br />
<br />
Use apt, synaptic, up2date or yum to automagically retrieve these packages or download and install them manually (lots of work).<br />
<br />
==== Fedora Core 5/6 ====<br />
<br />
Commands I used to install OE pre-requisites on FC5/6<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip \<br />
unzip python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch gcc gcc-c++ python-sqlite2 help2man"<br />
</nowiki></pre><br />
<br />
or download the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm (may be out of date).<br />
<br />
then do<br />
<br />
<pre><nowiki><br />
su -c "yum localinstall openembedded-essential-1.1-1.noarch.rpm"<br />
</nowiki></pre><br />
<br />
<br />
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.<br />
<br />
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).<br />
<br />
I didn't install SGML tools. Please add if you know how<br />
<br />
Update - Since about 2002 sgml-tools has apparently been replaced by linuxdoc-tools for FC.<br />
<br />
==== Fedora 7 ====<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools gcc gcc-c++ \<br />
help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 11 ====<br />
<br />
Fedora 11, compared to previous versions, brings the need to install "glibc-static" as well:<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 12 ====<br />
Recommended to use Fedora 12 64 bit when possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath<br />
</nowiki></pre><br />
<br />
note python-pyscho is only available for 32bit linux<br />
<br />
==== Fedora 13 ====<br />
Recommended to use Fedora 13 64 bit when/where possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
Then update all packages<br />
<pre><nowiki><br />
sudo yum update<br />
</nowiki></pre><br />
<br />
Then <br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath cmake ncurses<br />
</nowiki></pre><br />
<br />
(some or most of these packages may have been added by the previous step)<br />
<br />
note python-pyscho is currently only available for 32bit linux<br />
<br />
=== CentOS 4.4 / Red Hat Enterprise Linux 4 ===<br />
May also work for true EL4 or Scientific Linux - another RHEL rebuild<br />
<br />
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.]<br />
<br />
I re-built the following SRPMS (with "$ rpmbuild --rebuild ..."):<br />
* boost-1.33.1-10.fc5.src.rpm<br />
* 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)<br />
<br />
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.<br />
<br />
Extra requirements for the builds included rpmdevtools, xmlto, and lynx.<br />
<br />
I put packages in a local repo so I can do "yum install ...", otherwise can do "yum localinstall foo.1.2.3.noarch.rpm ...". It may be necessary to temporarily set "gpgcheck=0" in /etc/yum.conf to avoid complaints about unsigned packages.<br />
<br />
For EL4 texi2html is available from the tetex package, currently tetex-2.0.2-22.EL4.7<br />
<br />
Note that the the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm<br />
should work except that it depends on texi2html.<br />
<br />
Instead as root do<br />
<br />
<pre><nowiki><br />
yum install bison coreutils cvs docbook-utils gawk git-core python quilt rpmlib \<br />
sed subversion tetex texinfo unzip wget<br />
</nowiki></pre><br />
<br />
I ended up with the following set of relevant packages after several iterations of building/updating to get "bitbake nano" to complete successfully:<br />
<br />
* python-2.3.4-14.3<br />
* m4-1.4.1-16<br />
* make-3.80-6.EL4<br />
* wget-1.10.2-0.40E<br />
* curl-7.12.1-8.rhel4<br />
* ftp-0.17-22<br />
* cvs-1.11.17-9.RHEL4<br />
* subversion-1.4.3-0.1.el4.rf<br />
* tar-1.14-12.RHEL4<br />
* bzip2-1.0.2-13.EL4.3<br />
* gzip-1.3.3-16.rhel4<br />
* unzip-5.51-7<br />
* python-psyco-1.5-3.el4.kb<br />
* perl-5.8.5-36.RHEL4<br />
* texinfo-4.7-5.el4.2<br />
* tetex-2.0.2-22.EL4.7<br />
* diffstat-1.34-0_6.el4.at<br />
* openjade-1.3.2-16_9.el4.at<br />
* docbook-style-dsssl-1.78-4<br />
* docbook-style-xsl-1.65.1-2<br />
* docbook-dtds-1.0-25<br />
* docbook-utils-0.6.14-4<br />
* sed-4.1.2-5.EL4<br />
* bison-1.875c-2<br />
* bc-1.06-17.1<br />
* glibc-devel-2.3.4-2.25<br />
* gcc-3.4.6-3<br />
* binutils-2.15.92.0.2-21<br />
* pcre-4.5-3.2.RHEL4<br />
* pcre-devel-4.5-3.2.RHEL4<br />
* git-1.4.4.2-2.el4.kb<br />
* bitbake-1.6.2-1<br />
<br />
=== ALT Linux ===<br />
<br />
You can read more about ALT Linux here: http://www.altlinux.com/en/<br />
<br />
You can use synaptic or aptitude to install packages. Or use apt-get as shown below.<br />
<br />
<pre><nowiki><br />
apt-get install git-core python python-dev python-module-psyco python-modules-sqlite3 \<br />
patch m4 sed bison make wget bzip2 cvs gawk gcc-c++ subversion sharutils coreutils \<br />
docbook-utils openjade quilt libpcre-devel unzip glibc-devel glibc-devel-static \<br />
help2man texi2html perl-devel chrpath<br />
</nowiki></pre><br />
<br />
For building bitbake manuals you have to install 'xmlto' package:<br />
<br />
<pre><nowiki><br />
apt-get install xmlto<br />
</nowiki></pre><br />
<br />
NOTES:<br />
* This is tested on ALD 4.0/4.1/5.0.<br />
* gcc-c++ is virtual package and can be provided by gcc4.3-c++ (ALD 5.0) and gcc4.1-c++ (ALD 4.0/4.1). Just select higher version.<br />
<br />
=== Ark Linux 2008.1 ===<br />
[http://www.arklinux.org/ Ark Linux] is a modern distribution well suited for Openembedded development. Footprint only 2.1G.<br />
<br />
Required steps:<br />
<br />
1) install required packages<br />
<pre><nowiki><br />
apt-get install devel-core diffstat texi2html cvs subversion git texinfo psyco python-devel \<br />
python-encodings python-sqlite help2man bitbake<br />
</nowiki></pre><br />
<br />
2) upgrade<br />
<pre><nowiki><br />
apt-get update<br />
apt-get dist-upgrade <br />
<br />
The following packages will be REPLACED:<br />
texi2html (by texlive-texi2html)<br />
The following NEW packages will be installed:<br />
texlive-texi2html<br />
</nowiki></pre><br />
<br />
3) finally create your OE tree (see [[Getting started]] instructions). bitbake is already included, so you can skip that step.<br />
<br />
== other Linux distributions ==<br />
<br />
=== Gentoo instructions ===<br />
<br />
Note that Psyco, the Python JIT compiler, works on 32-bit x86 platforms only.<br />
<br />
<pre><nowiki><br />
emerge -n \<br />
psyco \<br />
patch \<br />
make \<br />
sed \<br />
dev-lang/python \<br />
m4 \<br />
bison \<br />
cvs \<br />
openjade \<br />
quilt \<br />
sgmltools-lite \<br />
docbook-xml-dtd \<br />
docbook-dsssl-stylesheets \<br />
xmlto \<br />
docbook-sgml-utils \<br />
libpcre \<br />
boost \<br />
subversion \<br />
texi2html \<br />
pysqlite \<br />
chrpath<br />
</nowiki></pre><br />
<br />
Then follow the instructions in [[Getting started]] for obtaining bitbake and start the build.<br />
<br />
=== Arch Linux (Duke) ===<br />
<br />
Most of the packages are available in the repositories.<br />
<br />
<pre><nowiki><br />
sudo pacman -S patch make sed python m4 bison cvs quilt sgmltools-lite docbook-xml \<br />
xmlto pcre boost jade git texinfo texi2html help2man subversion chrpath<br />
</nowiki></pre><br />
<br />
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:<br />
<br />
<pre><nowiki><br />
sudo ln -s /bin/install /usr/bin/install<br />
</nowiki></pre><br />
<br />
You can build BitBake by using this PKGBUILD or install it from the AUR:<br />
<pre><nowiki><br />
pkgname=bitbake<br />
pkgver=1.8.4<br />
pkgrel=1<br />
pkgdesc="A simple tool for task execution derived from Gentoo's portage"<br />
url="http://developer.berlios.de/projects/bitbake/"<br />
arch=('i686')<br />
license=('GPL' 'custom')<br />
depends=('python')<br />
source=(http://download.berlios.de/bitbake/${pkgname}-${pkgver}.tar.gz)<br />
md5sums=('508d9a61c635d469be8facc95151158b')<br />
<br />
build() {<br />
cd ${startdir}/src/${pkgname}-${pkgver}<br />
python setup.py install --root=${startdir}/pkg<br />
<br />
# Install vim extensions<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/ftdetect/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/ftplugin/bitbake.vim<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/syntax/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/syntax/bitbake.vim<br />
<br />
# Handle MIT license<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/doc/COPYING.MIT \<br />
${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING.MIT<br />
}<br />
</nowiki></pre><br />
<br />
= Using OpenEmbedded on FreeBSD and other NON Linux Systems =<br />
<br />
tbd<br />
<br />
== FreeBSD ==<br />
<br />
* Python == /usr/ports/lang/python<br />
* GNU Patch == /usr/ports/devel/patch<br />
* GNU m4 == /usr/ports/devel/m4<br />
* GNU make == /usr/ports/devel/gmake<br />
* wget == /usr/ports/ftp/wget<br />
* Psyco JIT Compiler == /usr/ports/devel/py-psyco<br />
* GNU sed == /usr/ports/textproc/gsed<br />
* Bison == /usr/ports/devel/bison<br />
* GCC 2.95.3 == /usr/ports/lang/gcc295<br />
* bc == already in FreeBSD<br />
* PyQt == /usr/ports/x11-toolkits/py-qt<br />
* glibc headers (ignore)<br />
* subversion == /usr/ports/devel/subversion<br />
* git == /usr/ports/devel/git<br />
* pcre == /usr/ports/devel/pcre<br />
<br />
Ports has also has these: fileutils, jade, docbook, dsssl-docbook-modular, sgmltools<br />
<br />
== Using OpenEmbedded on Mac OS X ==<br />
<br />
By default OS X uses a filesystem that is '''not''' case sensitive. You need to ensure that at least your tmp directory is on a case sensitive filesystem or you may come across various packages that break, including the Linux kernel! These steps were carried out on a early 32 bit 10.5/Intel Mac - the install order matters for a couple of packages as does having them installed in a more normal location.<br />
<br />
# Register at [https://connect.apple.com ADC] and download and install Xcode<br />
# Compile and install [http://www.gnu.org/software/gettext/ GNU gettext]<br />
# Using CPAN install Locale::gettext<br />
# Compile and install [http://www.gnu.org/software/help2man/ help2man 1.29] - newer versions will not build without hacks<br />
# Compile and install [http://www.gnu.org/software/wget/ wget], [http://www.gnu.org/software/gawk/ gawk], [http://www.gnu.org/software/coreutils/ coreutils] and [http://git-scm.com/ git] - wget appears to not work if you install it in /usr/local so use --prefix=/usr also note OS X provides a different version of mktemp which functions differently, be careful not to overwrite this as OS X might need it<br />
# If you are on a 32 bit Mac you can of course install [http://psyco.sourceforge.net/ psyco]<br />
# Fixup your PATH variable for your build user so that /usr/local/bin (or where ever coreutils etc is installed) comes before the OS X version in /usr/bin<br />
# Install GNU sed 3.0.2, this will give you a version of sed that allows you to build sed 4.1.5 - you will need to overwrite the one provided by OS X with --prefix=/usr and ensure you are using 4.1.5 not 3.0.2 as 3.0.2 does not provide various options you need<br />
# Install getopt from [http://software.frodo.looijaard.name/getopt/download.php here] - modify WITHOUT_GETTEXT=0 to WITHOUT_GETTEXT=1 in the Makefile and add -DWITHOUT_GETTEXT=$(WITHOUT_GETTEXT) to the line beginning with CPPFLAGS=<br />
<br />
Now follow the Getting Started OpenEmbedded wiki guide. Unfortunately there are various issues building on OS X that will most likely prevent the toolchain from building.<br />
<br />
Unfinished - tbd<br />
<br />
= Using OpenEmbedded on Windows/Cygwin Systems =<br />
<br />
<br />
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.<br />
<br />
[[Category:User]]</div>Guillaume Ghttps://www.openembedded.org/index.php?title=OEandYourDistro&diff=2512OEandYourDistro2010-08-31T08:34:09Z<p>Guillaume G: /* openSUSE */</p>
<hr />
<div>See [[Required software]] for the list of the software required by Openembedded.<br />
<br />
= Using OpenEmbedded on Linux systems =<br />
<br />
== deb-based distributions ==<br />
<br />
The easiest way is via [http://blog.leggewie.org/?p=39 apt-get'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.<br />
<br />
=== Debian ===<br />
<br />
==== Mandatory packages ====<br />
<br />
aptitude install sed wget cvs subversion git-core \<br />
coreutils unzip texi2html texinfo libsdl1.2-dev docbook-utils \<br />
gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ \<br />
desktop-file-utils chrpath<br />
<br />
'''Git'''<br />
<br />
On debian you may have to run <br />
<br />
update-alternatives --config git (as root)<br />
<br />
and select /usr/bin/git-scm to provide git instead of /usr/bin/git.transition. This is not necessary in sid<br />
<br />
==== Supplementary packages ====<br />
<br />
<pre><nowiki><br />
apt-get install libxml2-utils xmlto python-psyco<br />
</nowiki></pre><br />
<br />
<br />
OPTIONAL: these packages and their dependencies need to be installed in order to build the bitbake documentation (warning: over 160MB of installed packages).<br />
<br />
<pre><nowiki><br />
apt-get install docbook<br />
</nowiki></pre><br />
This package is necessary to build some packages (in particular the esound documentation needs it).<br />
<br />
=== Ubuntu ===<br />
<br />
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.<br />
<br />
* Check that /bin/sh (ls -l /bin/sh) is not symbolically linked to dash. "dash" is a POSIX compliant shell that is much smaller than "bash" -- however some broken shell scripts still make use of bash extensions while calling into /bin/sh. To work around this issue call "''sudo dpkg-reconfigure dash''" and select No when it asks you to install dash as /bin/sh.<br />
* You can also install Psyco Python JIT compiler to speed up BitBake. Psyco works on 32-bit x86 platforms only. "''aptitude install python-psyco''<br />
* there are known [[gcc issues in Intrepid and later]] when cross-compiling with OE<br />
<br />
[SOLVED - update 2010-05]<br />
* qemu-arm fails whilst building locales (Ubuntu 10.04 LTS and possibly other releases). This is due to a kernel setting which restricts memory mapping to low addresses. To work around this you can either:<br />
** a) Enter 'echo 128 > /proc/sys/vm/mmap_min_addr' prior to running bitbake.<br />
** b) Set permanent parameter 'sudo sysctl -w vm.mmap_min_addr=128'.<br />
<br />
With current qemu in OE mmap_min_addr tricks are not needed at all.<br />
So now it should work on every system with readable /proc/sys/vm/mmap_min_addr or /proc/sys/vm/mmap_min_addr <= 65536.<br />
<br />
== rpm-based distributions ==<br />
<br />
=== Mandriva Linux ===<br />
<br />
Follow the Debian instructions, only using `urpmi` instead of `apt-get install`. 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.<br />
If you're building a 2.6 kernel, you also need the glibc-static-devel package.<br />
<br />
with Mandriva Linux 2006, you need to issue the following command:<br />
<br />
<pre><nowiki><br />
urpmi python python-devel python-psyco patch m4 sed bison make wget bzip2 \<br />
cvs gawk glibc-devel gcc-c++ subversion sharutils coreutils docbook-utils openjade \<br />
quilt pcre-devel unzip glibc-static-devel<br />
</nowiki></pre><br />
<br />
=== openSUSE ===<br />
<br />
==== openSUSE 11.1/11.2/11.3 ====<br />
<br />
Use zypper to install the required packages:<br />
<br />
sudo zypper in subversion git python help2man diffstat wget gcc gcc-c++ libstdc++ glibc-devel texinfo automake patch<br />
<br />
<br />
You can use python psyco package (from http://sourceforge.net/projects/psyco/files/) to speed up building. You need to install python-devel:<br />
sudo zypper in python-devel<br />
<br />
and then install psyco via: 'sudo python setup.py install' in the psyco directory.<br />
<br />
<br />
These packages may be useful as well: bison and [http://software.opensuse.org/search?baseproject=ALL&p=1&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).<br />
<br />
=== Fedora ===<br />
<br />
==== Fedora Core 2/3 ====<br />
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.<br />
<br />
<pre><nowiki> yum install python patch m4 sed make docbook* openjade glibc-devel xmlto</nowiki></pre><br />
<br />
* 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`.<br />
<br />
* patch: FC3 default version should be enough. Optionally, install SuSe 9.1 package of it.<br />
<br />
==== Fedora Core 4 ====<br />
Almost all required packages for Openembedded are available in Fedora Core 4 and the Fedora Extras for Core 4. You can download them from <http://download.fedora.redhat.com/pub/fedora/linux/core> and <http://download.fedora.redhat.com/pub/fedora/linux/extras>. Check <http://download.fedora.redhat.com/pub/fedora/linux/core/updates/4> for updates on the Core 4 packages.<br />
<br />
Apart from the usual (native) development packages like gcc and binutils, you should check that you have the following RPM's installed: <br />
<br />
* bison<br />
* docbook* packages<br />
* libpcre<br />
* m4<br />
* make<br />
* openjade<br />
* patch<br />
* PyQt<br />
* python<br />
* python-psyco<br />
* sed<br />
* xmlto<br />
* quilt (not required as OE builds it by itself, but install it if you want to use gquilt)<br />
<br />
Use apt, synaptic, up2date or yum to automagically retrieve these packages or download and install them manually (lots of work).<br />
<br />
==== Fedora Core 5/6 ====<br />
<br />
Commands I used to install OE pre-requisites on FC5/6<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip \<br />
unzip python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch gcc gcc-c++ python-sqlite2 help2man"<br />
</nowiki></pre><br />
<br />
or download the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm (may be out of date).<br />
<br />
then do<br />
<br />
<pre><nowiki><br />
su -c "yum localinstall openembedded-essential-1.1-1.noarch.rpm"<br />
</nowiki></pre><br />
<br />
<br />
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.<br />
<br />
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).<br />
<br />
I didn't install SGML tools. Please add if you know how<br />
<br />
Update - Since about 2002 sgml-tools has apparently been replaced by linuxdoc-tools for FC.<br />
<br />
==== Fedora 7 ====<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools gcc gcc-c++ \<br />
help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 11 ====<br />
<br />
Fedora 11, compared to previous versions, brings the need to install "glibc-static" as well:<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 12 ====<br />
Recommended to use Fedora 12 64 bit when possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath<br />
</nowiki></pre><br />
<br />
note python-pyscho is only available for 32bit linux<br />
<br />
==== Fedora 13 ====<br />
Recommended to use Fedora 13 64 bit when/where possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
Then update all packages<br />
<pre><nowiki><br />
sudo yum update<br />
</nowiki></pre><br />
<br />
Then <br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath cmake ncurses<br />
</nowiki></pre><br />
<br />
(some or most of these packages may have been added by the previous step)<br />
<br />
note python-pyscho is currently only available for 32bit linux<br />
<br />
=== CentOS 4.4 / Red Hat Enterprise Linux 4 ===<br />
May also work for true EL4 or Scientific Linux - another RHEL rebuild<br />
<br />
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.]<br />
<br />
I re-built the following SRPMS (with "$ rpmbuild --rebuild ..."):<br />
* boost-1.33.1-10.fc5.src.rpm<br />
* 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)<br />
<br />
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.<br />
<br />
Extra requirements for the builds included rpmdevtools, xmlto, and lynx.<br />
<br />
I put packages in a local repo so I can do "yum install ...", otherwise can do "yum localinstall foo.1.2.3.noarch.rpm ...". It may be necessary to temporarily set "gpgcheck=0" in /etc/yum.conf to avoid complaints about unsigned packages.<br />
<br />
For EL4 texi2html is available from the tetex package, currently tetex-2.0.2-22.EL4.7<br />
<br />
Note that the the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm<br />
should work except that it depends on texi2html.<br />
<br />
Instead as root do<br />
<br />
<pre><nowiki><br />
yum install bison coreutils cvs docbook-utils gawk git-core python quilt rpmlib \<br />
sed subversion tetex texinfo unzip wget<br />
</nowiki></pre><br />
<br />
I ended up with the following set of relevant packages after several iterations of building/updating to get "bitbake nano" to complete successfully:<br />
<br />
* python-2.3.4-14.3<br />
* m4-1.4.1-16<br />
* make-3.80-6.EL4<br />
* wget-1.10.2-0.40E<br />
* curl-7.12.1-8.rhel4<br />
* ftp-0.17-22<br />
* cvs-1.11.17-9.RHEL4<br />
* subversion-1.4.3-0.1.el4.rf<br />
* tar-1.14-12.RHEL4<br />
* bzip2-1.0.2-13.EL4.3<br />
* gzip-1.3.3-16.rhel4<br />
* unzip-5.51-7<br />
* python-psyco-1.5-3.el4.kb<br />
* perl-5.8.5-36.RHEL4<br />
* texinfo-4.7-5.el4.2<br />
* tetex-2.0.2-22.EL4.7<br />
* diffstat-1.34-0_6.el4.at<br />
* openjade-1.3.2-16_9.el4.at<br />
* docbook-style-dsssl-1.78-4<br />
* docbook-style-xsl-1.65.1-2<br />
* docbook-dtds-1.0-25<br />
* docbook-utils-0.6.14-4<br />
* sed-4.1.2-5.EL4<br />
* bison-1.875c-2<br />
* bc-1.06-17.1<br />
* glibc-devel-2.3.4-2.25<br />
* gcc-3.4.6-3<br />
* binutils-2.15.92.0.2-21<br />
* pcre-4.5-3.2.RHEL4<br />
* pcre-devel-4.5-3.2.RHEL4<br />
* git-1.4.4.2-2.el4.kb<br />
* bitbake-1.6.2-1<br />
<br />
=== ALT Linux ===<br />
<br />
You can read more about ALT Linux here: http://www.altlinux.com/en/<br />
<br />
You can use synaptic or aptitude to install packages. Or use apt-get as shown below.<br />
<br />
<pre><nowiki><br />
apt-get install git-core python python-dev python-module-psyco python-modules-sqlite3 \<br />
patch m4 sed bison make wget bzip2 cvs gawk gcc-c++ subversion sharutils coreutils \<br />
docbook-utils openjade quilt libpcre-devel unzip glibc-devel glibc-devel-static \<br />
help2man texi2html perl-devel chrpath<br />
</nowiki></pre><br />
<br />
For building bitbake manuals you have to install 'xmlto' package:<br />
<br />
<pre><nowiki><br />
apt-get install xmlto<br />
</nowiki></pre><br />
<br />
NOTES:<br />
* This is tested on ALD 4.0/4.1/5.0.<br />
* gcc-c++ is virtual package and can be provided by gcc4.3-c++ (ALD 5.0) and gcc4.1-c++ (ALD 4.0/4.1). Just select higher version.<br />
<br />
=== Ark Linux 2008.1 ===<br />
[http://www.arklinux.org/ Ark Linux] is a modern distribution well suited for Openembedded development. Footprint only 2.1G.<br />
<br />
Required steps:<br />
<br />
1) install required packages<br />
<pre><nowiki><br />
apt-get install devel-core diffstat texi2html cvs subversion git texinfo psyco python-devel \<br />
python-encodings python-sqlite help2man bitbake<br />
</nowiki></pre><br />
<br />
2) upgrade<br />
<pre><nowiki><br />
apt-get update<br />
apt-get dist-upgrade <br />
<br />
The following packages will be REPLACED:<br />
texi2html (by texlive-texi2html)<br />
The following NEW packages will be installed:<br />
texlive-texi2html<br />
</nowiki></pre><br />
<br />
3) finally create your OE tree (see [[Getting started]] instructions). bitbake is already included, so you can skip that step.<br />
<br />
== other Linux distributions ==<br />
<br />
=== Gentoo instructions ===<br />
<br />
Note that Psyco, the Python JIT compiler, works on 32-bit x86 platforms only.<br />
<br />
<pre><nowiki><br />
emerge -n \<br />
psyco \<br />
patch \<br />
make \<br />
sed \<br />
dev-lang/python \<br />
m4 \<br />
bison \<br />
cvs \<br />
openjade \<br />
quilt \<br />
sgmltools-lite \<br />
docbook-xml-dtd \<br />
docbook-dsssl-stylesheets \<br />
xmlto \<br />
docbook-sgml-utils \<br />
libpcre \<br />
boost \<br />
subversion \<br />
texi2html \<br />
pysqlite \<br />
chrpath<br />
</nowiki></pre><br />
<br />
Then follow the instructions in [[Getting started]] for obtaining bitbake and start the build.<br />
<br />
=== Arch Linux (Duke) ===<br />
<br />
Most of the packages are available in the repositories.<br />
<br />
<pre><nowiki><br />
sudo pacman -S patch make sed python m4 bison cvs quilt sgmltools-lite docbook-xml \<br />
xmlto pcre boost jade git texinfo texi2html help2man subversion chrpath<br />
</nowiki></pre><br />
<br />
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:<br />
<br />
<pre><nowiki><br />
sudo ln -s /bin/install /usr/bin/install<br />
</nowiki></pre><br />
<br />
You can build BitBake by using this PKGBUILD or install it from the AUR:<br />
<pre><nowiki><br />
pkgname=bitbake<br />
pkgver=1.8.4<br />
pkgrel=1<br />
pkgdesc="A simple tool for task execution derived from Gentoo's portage"<br />
url="http://developer.berlios.de/projects/bitbake/"<br />
arch=('i686')<br />
license=('GPL' 'custom')<br />
depends=('python')<br />
source=(http://download.berlios.de/bitbake/${pkgname}-${pkgver}.tar.gz)<br />
md5sums=('508d9a61c635d469be8facc95151158b')<br />
<br />
build() {<br />
cd ${startdir}/src/${pkgname}-${pkgver}<br />
python setup.py install --root=${startdir}/pkg<br />
<br />
# Install vim extensions<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/ftdetect/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/ftplugin/bitbake.vim<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/syntax/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/syntax/bitbake.vim<br />
<br />
# Handle MIT license<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/doc/COPYING.MIT \<br />
${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING.MIT<br />
}<br />
</nowiki></pre><br />
<br />
= Using OpenEmbedded on FreeBSD and other NON Linux Systems =<br />
<br />
tbd<br />
<br />
== FreeBSD ==<br />
<br />
* Python == /usr/ports/lang/python<br />
* GNU Patch == /usr/ports/devel/patch<br />
* GNU m4 == /usr/ports/devel/m4<br />
* GNU make == /usr/ports/devel/gmake<br />
* wget == /usr/ports/ftp/wget<br />
* Psyco JIT Compiler == /usr/ports/devel/py-psyco<br />
* GNU sed == /usr/ports/textproc/gsed<br />
* Bison == /usr/ports/devel/bison<br />
* GCC 2.95.3 == /usr/ports/lang/gcc295<br />
* bc == already in FreeBSD<br />
* PyQt == /usr/ports/x11-toolkits/py-qt<br />
* glibc headers (ignore)<br />
* subversion == /usr/ports/devel/subversion<br />
* git == /usr/ports/devel/git<br />
* pcre == /usr/ports/devel/pcre<br />
<br />
Ports has also has these: fileutils, jade, docbook, dsssl-docbook-modular, sgmltools<br />
<br />
== Using OpenEmbedded on Mac OS X ==<br />
<br />
By default OS X uses a filesystem that is '''not''' case sensitive. You need to ensure that at least your tmp directory is on a case sensitive filesystem or you may come across various packages that break, including the Linux kernel! These steps were carried out on a early 32 bit 10.5/Intel Mac - the install order matters for a couple of packages as does having them installed in a more normal location.<br />
<br />
# Register at [https://connect.apple.com ADC] and download and install Xcode<br />
# Compile and install [http://www.gnu.org/software/gettext/ GNU gettext]<br />
# Using CPAN install Locale::gettext<br />
# Compile and install [http://www.gnu.org/software/help2man/ help2man 1.29] - newer versions will not build without hacks<br />
# Compile and install [http://www.gnu.org/software/wget/ wget], [http://www.gnu.org/software/gawk/ gawk], [http://www.gnu.org/software/coreutils/ coreutils] and [http://git-scm.com/ git] - wget appears to not work if you install it in /usr/local so use --prefix=/usr also note OS X provides a different version of mktemp which functions differently, be careful not to overwrite this as OS X might need it<br />
# If you are on a 32 bit Mac you can of course install [http://psyco.sourceforge.net/ psyco]<br />
# Fixup your PATH variable for your build user so that /usr/local/bin (or where ever coreutils etc is installed) comes before the OS X version in /usr/bin<br />
# Install GNU sed 3.0.2, this will give you a version of sed that allows you to build sed 4.1.5 - you will need to overwrite the one provided by OS X with --prefix=/usr and ensure you are using 4.1.5 not 3.0.2 as 3.0.2 does not provide various options you need<br />
# Install getopt from [http://software.frodo.looijaard.name/getopt/download.php here] - modify WITHOUT_GETTEXT=0 to WITHOUT_GETTEXT=1 in the Makefile and add -DWITHOUT_GETTEXT=$(WITHOUT_GETTEXT) to the line beginning with CPPFLAGS=<br />
<br />
Now follow the Getting Started OpenEmbedded wiki guide. Unfortunately there are various issues building on OS X that will most likely prevent the toolchain from building.<br />
<br />
Unfinished - tbd<br />
<br />
= Using OpenEmbedded on Windows/Cygwin Systems =<br />
<br />
<br />
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.<br />
<br />
[[Category:User]]</div>Guillaume G