Build Environment Ubuntu 9.04
This is based on the set-up for Ubuntu 8.10 with file modifications as described on this thread. gumstix-oe version is 318.
Setup Build Environment
1) Get Ubuntu linux 9.04, and install it on your computer; you can install a vmware version of Ubuntu too, but it will be slow during the building process.
Reconfigure sh to point to bash, not dash:
sudo dpkg-reconfigure dash
Answer no when asked whether you want to install dash as /bin/sh.
2) Install (build-essential, help2man, diffstat, texi2html, texinfo, libncurses5-dev, cvs, gawk, python-dev, python-pysqlite2, python-psyco, ckermit, lrzsz, subversion) by using apt-get. i.e:
sudo apt-get update sudo apt-get install build-essential help2man diffstat texi2html texinfo libncurses5-dev cvs gawk sudo apt-get install python-dev python-pysqlite2 python-psyco ckermit lrzsz subversion
3) Download the source from svn, caching the source code
mkdir ~/gumstix cd ~/gumstix svn co https://gumstix.svn.sourceforge.net/svnroot/gumstix/trunk gumstix-oe cat gumstix-oe/extras/profile >> ~/.bashrc sudo groupadd oe sudo usermod -a -G oe YOUR_CURRENT_USERNAME sudo mkdir /usr/share/sources sudo chgrp oe /usr/share/sources sudo chmod 0775 /usr/share/sources sudo chmod ug+s /usr/share/sources
4) Downgrade to gcc-4.1 and g++-4.1 and change the links:
sudo aptitude install gcc-4.1 g++-4.1 sudo ln -sf /usr/bin/gcc-4.1 /usr/bin/gcc sudo ln -sf /usr/bin/g++-4.1 /usr/bin/g++
Check the links are correct using:
ls -l /usr/bin/gcc ls -l /usr/bin/g++
5) Log out and log in again.
6) Build the basic image, it will fail with an error in dbus:
bitbake gumstix-basic-image
Edit gumstix/gumstix-oe/tmp/work/i686-linux/dbus-native-1.0.1-r0/dbus-1.0.1/dbus/dbus-sysdeps-unix.c
Add this struct,
struct ucred {
unsigned int pid;
unsigned int uid;
unsigned int gid;
};
after the macros.
7) Build the basic image, it will fail with an error in sumversion:
bitbake gumstix-basic-image
Edit gumstix/gumstix-oe/tmp/work/gumstix-custom-verdex-angstrom-linux-gnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21/scripts/mod/sumversion.c
Add this line,
#include <limits.h>
after all of the other includes.
8) Build the basic image again. If it fails with an error in gconf-dbus, do the following:
a. download file http://download.gnome.org/sources/GConf-dbus/2.16/GConf-dbus-2.16.0.tar.gz
b. move and rename this file to:
/usr/share/sources/trunk_developer.imendio.com_.svn.gconf-dbus_606_.tar.gz
Then try building again:
bitbake gumstix-basic-image
9) Build the basic image again, this time it should work:
bitbake gumstix-basic-image
10) If everything builds ok, it could be a good idea to modify the dbus-sysdeps-unix.c and sumversion.c files is their respective packages in /usr/share/sources as otherwise everytime you do a rebuild they will be wiped.