Build Environment openSUSE 11.0

From Gumstix User Wiki
Revision as of 03:17, 5 October 2009 by Adil (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Be sure that the followings are installed on your system:

  • gcc
  • patch
  • help2man
  • diffstat
  • texinfo
  • ncurses-devel
  • cvs
  • gawk
  • sqlite3
  • sqlite3-devel

openSUSE 11.0 and above comes with Python 2.6+ installed. So you'll need to remove it and install an older version of Python.

$ mkdir python
$ cd python
$ wget
$ tar xzfv Python-2.5.4.tgz
$ cd Python-2.5.4
$ ./configure
$ make
$ make install

Install pysqlite:

$ wget
$ tar xzfv pysqlite-2.4.1.tar.gz
$ cd pysqlite-2.4.1
$ python build
$ python install

Now you're ready for building gumstix-oe pack. Checkuot the sources from svn:

$ mkdir ~/gumstix 
$ cd ~/gumstix 
$ svn co gumstix-oe

Gumstix OE requires some environment setup in order to function properly. There are a couple of ways to handle this requirement.

$ cat gumstix-oe/extras/profile >> ~/.bashrc

First we create a new group called oe and add your login account to the oe group. In the second command be sure to substitute your login user name where your_username is indicated.

$ sudo groupadd oe
$ sudo usermod -G oe your_username

Next we create the directory for the source code cache, set the group owner to the newly created oe group, and finally set permissions on the directory:

$ sudo mkdir /usr/share/sources
$ sudo chgrp oe /usr/share/sources
$ sudo chmod 0775 /usr/share/sources
$ sudo chmod ug+s /usr/share/sources

Now relogin for letting the profile take effect.

Suse users may experience some fails on building the image. So you'll need do some custom modifications:

$ cd ~/gumstix/gumstix-oe/com.gumstix.collection/packages/
$ wget
$ wget
$ tar xzfv dbus.tar.gz
$ tar xzfv gmp.tar.gz

Now edit the file ~/gumstix/gumstix-oe/org.openembedded.snapshot/conf/bitbake.conf. Find the line like this:

STAGING_PYDIR = "${STAGING_DIR}/lib/python2.4"  

Add the following line after STAGING_DATADIR = "${STAGING_DIR}/${HOST_SYS}/share"


Edit the file ~/gumstix/gumstix-oe/com.gumstix.collection/conf/machine/include/ Find the following fragment:

PREFERRED_PROVIDER_bluez-utils-dbus = "bluez-utils"

PREFERRED_VERSION_gumstix-kernel = "2.6.21"
PREFERRED_VERSION_gnuplot = "4.0.0" 

Add these after PREFERRED_PROVIDER_gsmd="libgsmd"

PREFERRED_VERSION_gmp-native = "4.2.2"

PREFERRED_VERSION_dbus = "1.2.1"
PREFERRED_VERSION_dbus-native = "1.2.1"

Add #include <limits.h> to the following files:


Note: These might be unnecessary. I have read it one of the messages on mailing list. Probably will work without doing it. Test it, if it works without adding limits.h then write here note.

Build the OE gumstix image:

$ bitbake gumstix-basic-image

The following files will be available in ~/gumstix/gumstix-oe/tmp/deploy/uclibc/images/gumstix-custom-verdex:

$ ls

Note: Actually there will be two files. Two of them (gumstix-basic-image-gumstix-custom-verdex.jffs2,gumstix-basic-image-gumstix-custom-verdex.tar.gz) are symlinks.