http://svn.openmoko.org/trunk/src/target/OM-2007.2/
OpenEmbedded: Getting Started
http://wiki.openembedded.net/index.php/Getting_Started
- Required Applications
apt-get install bitbake monotone help2man diffstat texi2html texinfo cvs python-psyco
- Preparation
sudo bash -c "echo 0 > /proc/sys/vm/mmap_min_addr";
BASE=`pwd`;export BBPATH=${BASE}/build:${BASE}/org.openembedded.dev;
SERVER=org.openembedded.dev;
SERVER=git.openmoko.org;
- wget http://www.openembedded.org/snapshots/OE.mtn.bz2;
bunzip2 -d OE.mtn.bz2;
- Checkout OE
mtn --db=${BASE}/OE.mtn checkout --branch=org.openembedded.dev;
Update OE
mtn --db=${BASE}/OE.mtn pull monotone.openembedded.org org.openembedded.dev
cd ${BASE}/org.openembedded.dev && mtn update
cd ${BASE}/org.openembedded.dreambox && mtn update
- mkdir build/conf -p;
cp org.openembedded.dev/conf/local.conf.sample build/conf/local.conf;
- Edit ${BASE}/build/conf/local.conf, change the variables to their relative values.(TOPDIR=${BASE}/build )
DL_DIR = "${TOPDIR}/sources"
BBFILES = "${TOPDIR}/../org.openembedded.dev/packages/*/*.bb"
DISTRO = "angstrom-2008.1"
MACHINE = "om-gta01"
and remove (comment) the folloing line
REMOVE_THIS_LINE:="${@bb.fatal('Read the comments in your conf/local.conf')}"
not required but it could make faster with SMP
PARALLEL_MAKE = "-j 4"
- cd ${BASE}/build;
bitbake nano;
bitbake world
NOTE: preferred version 1.2.3 of xf86-input-joystick not available (for item xf86-input-joystick)
NOTE: Resolving any missing task queue dependencies
ERROR: Required build target 'python-pycap' has no buildable providers.
Missing or unbuildable dependency chain was: ['python-pycap', 'libnet-1.1.1']
bitbake task-base
bitbake gpe-image
| arm-angstrom-linux-gnueabi-libtool: link: arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t -shared .libs/gdk-pixbuf.o .libs/gdk-pixbuf-animation.o .libs/gdk-pixbuf-data.o .libs/gdk-pixbuf-io.o .libs/gdk-pixbuf-loader.o .libs/gdk-pixbuf-scale.o .libs/gdk-pixbuf-simple-anim.o .libs/gdk-pixbuf-scaled-anim.o .libs/gdk-pixbuf-util.o .libs/gdk-pixdata.o .libs/gdk-pixbuf-enum-types.o -Wl,--whole-archive pixops/.libs/libpixops.a -Wl,--no-whole-archive -Wl,-rpath -Wl,/home/prj/om2/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/lib -L/home/prj/om2/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/lib/.libs -L/home/prj/om2/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/lib /home/prj/om2/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/lib/libgmodule-2.0.so -ldl /home/prj/om2/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/lib/libgobject-2.0.so /home/prj/om2/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/lib/libglib-2.0.so -lm -march=armv4t -mtune=arm920t -Wl,-rpath-link -Wl,/home/prj/om2/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/lib -Wl,-O1 -Wl,-soname -Wl,libgdk_pixbuf-2.0.so.0 -Wl,-version-script -Wl,.libs/libgdk_pixbuf-2.0.ver -o .libs/libgdk_pixbuf-2.0.so.0.1200.3
| /home/prj/om2/build/tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.2.4/../../../../arm-angstrom-linux-gnueabi/bin/ld:.libs/libgdk_pixbuf-2.0.ver:2: ignoring invalid character `\001' in script
| /home/prj/om2/build/tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.2.4/../../../../arm-angstrom-linux-gnueabi/bin/ld:.libs/libgdk_pixbuf-2.0.ver:2: syntax error in VERSION script
| collect2: ld returned 1 exit status
| make[4]: *** [libgdk_pixbuf-2.0.la] Error 1
| make[4]: Leaving directory `/home/prj/om2/build/tmp/work/armv4t-angstrom-linux-gnueabi/gtk+-2.12.3-r2/gtk+-2.12.3/gdk-pixbuf'
| make[3]: *** [all-recursive] Error 1
| make[3]: Leaving directory `/home/prj/om2/build/tmp/work/armv4t-angstrom-linux-gnueabi/gtk+-2.12.3-r2/gtk+-2.12.3/gdk-pixbuf'
| make[2]: *** [all] Error 2
| make[2]: Leaving directory `/home/prj/om2/build/tmp/work/armv4t-angstrom-linux-gnueabi/gtk+-2.12.3-r2/gtk+-2.12.3/gdk-pixbuf'
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory `/home/prj/om2/build/tmp/work/armv4t-angstrom-linux-gnueabi/gtk+-2.12.3-r2/gtk+-2.12.3'
| make: *** [all] Error 2
| FATAL: oe_runmake failed
NOTE: Task failed: /home/prj/om2/build/tmp/work/armv4t-angstrom-linux-gnueabi/gtk+-2.12.3-r2/temp/log.do_compile.20178
NOTE: package gtk+-2.12.3-r2: task do_compile: failed
ERROR: TaskFailed event exception, aborting
NOTE: package gtk+-2.12.3: failed
ERROR: Build of /home/prj/om2/build/../org.openembedded.dev/packages/gtk+/gtk+_2.12.3.bb do_compile failed
ERROR: Task 1171 (/home/prj/om2/build/../org.openembedded.dev/packages/gtk+/gtk+_2.12.3.bb, do_compile) failed
NOTE: Tasks Summary: Attempted 911 tasks of which 525 didn't need to be rerun and 1 failed.
ERROR: '/home/prj/om2/build/../org.openembedded.dev/packages/gtk+/gtk+_2.12.3.bb' failed
test@test-laptop:/home/prj/om2/build$
bitbake opie-image
| FATAL: Configuring qte failed. EXTRA_OECONF was -system-jpeg -system-libpng -system-zlib -no-qvfb -no-xft -no-vnc -gif -xplatform linux-gnueabi-arm-g++ -qconfig qpe -depths 8,16,32 -static -thread
NOTE: Task failed: /home/prj/om2/build/tmp/work/om-gta01-angstrom-linux-gnueabi/qte-mt-static-2.3.10-r8/temp/log.do_configure.6469
NOTE: package qte-mt-static-2.3.10-r8: task do_configure: failed
ERROR: TaskFailed event exception, aborting
NOTE: package qte-mt-static-2.3.10: failed
ERROR: Build of /home/prj/om2/build/../org.openembedded.dev/packages/qte/qte-mt-static_2.3.10.bb do_configure failed
ERROR: Task 2572 (/home/prj/om2/build/../org.openembedded.dev/packages/qte/qte-mt-static_2.3.10.bb, do_configure) failed
NOTE: Tasks Summary: Attempted 366 tasks of which 339 didn't need to be rerun and 1 failed.
ERROR: '/home/prj/om2/build/../org.openembedded.dev/packages/qte/qte-mt-static_2.3.10.bb' failed
test@test-laptop:/home/prj/om2/build$ \
bitbake openmoko-devel-image
| arm-angstrom-linux-gnueabi-libtool: link: arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t -shared .libs/gdk-pixbuf.o .libs/gdk-pixbuf-animation.o .libs/gdk-pixbuf-data.o .libs/gdk-pixbuf-io.o .libs/gdk-pixbuf-loader.o .libs/gdk-pixbuf-scale.o .libs/gdk-pixbuf-simple-anim.o .libs/gdk-pixbuf-scaled-anim.o .libs/gdk-pixbuf-util.o .libs/gdk-pixdata.o .libs/gdk-pixbuf-enum-types.o -Wl,--whole-archive pixops/.libs/libpixops.a -Wl,--no-whole-archive -Wl,-rpath -Wl,/home/prj/om2/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/lib -L/home/prj/om2/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/lib/.libs -L/home/prj/om2/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/lib /home/prj/om2/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/lib/libgmodule-2.0.so -ldl /home/prj/om2/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/lib/libgobject-2.0.so /home/prj/om2/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/lib/libglib-2.0.so -lm -march=armv4t -mtune=arm920t -Wl,-rpath-link -Wl,/home/prj/om2/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/lib -Wl,-O1 -Wl,-soname -Wl,libgdk_pixbuf-2.0.so.0 -Wl,-version-script -Wl,.libs/libgdk_pixbuf-2.0.ver -o .libs/libgdk_pixbuf-2.0.so.0.1200.3
| /home/prj/om2/build/tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.2.4/../../../../arm-angstrom-linux-gnueabi/bin/ld:.libs/libgdk_pixbuf-2.0.ver:2: ignoring invalid character `\001' in script
| /home/prj/om2/build/tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.2.4/../../../../arm-angstrom-linux-gnueabi/bin/ld:.libs/libgdk_pixbuf-2.0.ver:2: syntax error in VERSION script
| collect2: ld returned 1 exit status
| make[4]: *** [libgdk_pixbuf-2.0.la] Error 1
| make[4]: Leaving directory `/home/prj/om2/build/tmp/work/armv4t-angstrom-linux-gnueabi/gtk+-2.12.3-r2/gtk+-2.12.3/gdk-pixbuf'
| make[3]: *** [all-recursive] Error 1
| make[3]: Leaving directory `/home/prj/om2/build/tmp/work/armv4t-angstrom-linux-gnueabi/gtk+-2.12.3-r2/gtk+-2.12.3/gdk-pixbuf'
| make[2]: *** [all] Error 2
| make[2]: Leaving directory `/home/prj/om2/build/tmp/work/armv4t-angstrom-linux-gnueabi/gtk+-2.12.3-r2/gtk+-2.12.3/gdk-pixbuf'
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory `/home/prj/om2/build/tmp/work/armv4t-angstrom-linux-gnueabi/gtk+-2.12.3-r2/gtk+-2.12.3'
| make: *** [all] Error 2
| FATAL: oe_runmake failed
NOTE: Task failed: /home/prj/om2/build/tmp/work/armv4t-angstrom-linux-gnueabi/gtk+-2.12.3-r2/temp/log.do_compile.18963
NOTE: package gtk+-2.12.3-r2: task do_compile: failed
ERROR: TaskFailed event exception, aborting
NOTE: package gtk+-2.12.3: failed
ERROR: Build of /home/prj/om2/build/../org.openembedded.dev/packages/gtk+/gtk+_2.12.3.bb do_compile failed
ERROR: Task 1459 (/home/prj/om2/build/../org.openembedded.dev/packages/gtk+/gtk+_2.12.3.bb, do_compile) failed
NOTE: Tasks Summary: Attempted 907 tasks of which 880 didn't need to be rerun and 1 failed.
ERROR: '/home/prj/om2/build/../org.openembedded.dev/packages/gtk+/gtk+_2.12.3.bb' failed
test@test-laptop:/home/prj/om2/build$
bitbake -b /stuff/org.openembedded.dev/packages/blah/blah.bb
Building Openmoko from scratch
Openmoko2007.2
http://wiki.openmoko.org/wiki/Building_Openmoko_from_scratch#Build_host_prerequisiteshttp://downloads.openmoko.org/OE/snapshots/OE.mtn.bz2 is no longer valid
please make sure to use git.openmoko.org as monotone server (I don't know how to specify the monotone server, so nothing is changed. and with following changes, downloads are from downloads.openmoko.org)
- Edit ${TOPDIR}/build/conf/local.conf, change the value of following variable:
BBFILES = "${TOPDIR}/../org.openembedded.dev/packages/*/*.bb"
MACHINE = "om-gta01"
DISTRO = "openmoko"
ENABLE_BINARY_LOCALE_GENERATION = "1"
GLIBC_GENERATE_LOCALES = "en_GB.UTF-8"
- bitbake openmoko-devel-image
| checking for BSD-compatible nm... /usr/bin/nm -B
| /home/prj/om2/build/tmp/work/i686-linux/gmp-native-4.2.1-r2/gmp-4.2.1/configure: line 11007: syntax error near unexpected token `,'
| /home/prj/om2/build/tmp/work/i686-linux/gmp-native-4.2.1-r2/gmp-4.2.1/configure: line 11007: `_LT_DECL(, AS, 0, Assembler program)'
| FATAL: oe_runconf failed
NOTE: Task failed: /home/prj/om2/build/tmp/work/i686-linux/gmp-native-4.2.1-r2/temp/log.do_configure.23714
NOTE: package gmp-native-4.2.1-r2: task do_configure: failed
ERROR: TaskFailed event exception, aborting
NOTE: package gmp-native-4.2.1: failed
ERROR: Build of /home/prj/om2/build/../org.openembedded.dev/packages/gmp/gmp-native_4.2.1.bb do_configure failed
ERROR: Task 838 (/home/prj/om2/build/../org.openembedded.dev/packages/gmp/gmp-native_4.2.1.bb, do_configure) failed
NOTE: Tasks Summary: Attempted 137 tasks of which 137 didn't need to be rerun and 1 failed.
ERROR: '/home/prj/om2/build/../org.openembedded.dev/packages/gmp/gmp-native_4.2.1.bb' failed
Images generated by building package groups like opie-im.mtnage or pivotboot-image are placed in the
build/tmp/deploy/glibc/images/om-gta01/ directory. Individual ipkg packages are put in
build/tmp/deploy/glibc/ipk.
OpenEmbbeded: Adding Packages
1. Create bbfile.
2. Try building it locally.
3. Fix eventual problems.
4. Send .bbfile or an OePatch to the openembedded mailing list.
Building Openmoko from scratch (pre-BBT)
http://wiki.openmoko.org/wiki/Building_Openmoko_from_scratch_(pre-BBT)sudo apt-get install subversion quilt monotone diffstat git python-psyco
OMDIR=`pwd`;export OMDIR;
export BBPATH=$OMDIR/build:$OMDIR/openmoko/trunk/oe:$OMDIR/openembedded;
svn co -r 887 https://svn.openmoko.org/ openmoko
wget http://www.openembedded.org/snapshots/OE.mtn.bz2
bunzip2 OE.mtn.bz2
mtn --db=OE.mtn pull monotone.openembedded.org org.openembedded.dev
mtn --db=OE.mtn checkout --branch=org.openembedded.dev -r e2dbb52fe39df7ef786b6068f6178f29508dfded openembedded
Update
cd $OMDIR/openembedded && mtn update
mkdir -p sources build/conf
cat <<EOF >build/conf/local.conf
MACHINE = "fic-gta01"
DISTRO = "openmoko"
BUILD_ARCH = "`uname -m`"
EOF
fixes
cd $OMDIR/sources
mkdir -p ../build/tmp/stamps/armv4t-linux
wget http://ftp.mozilla.org/pub/mozilla.org/js/older-packages/js-1.5.tar.gz
touch ../build/tmp/stamps/armv4t-linux/js-1.5-r0.do_fetch
wget http://us4.samba.org/samba/ftp/stable/samba-3.0.14a.tar.gz
touch ../build/tmp/stamps/armv4t-linux/samba-3.0.14a-r15.do_fetch
perl -pi.orig -e 's/ *$//;s/\r//g' \
../openembedded/packages/gcc/gcc-4.1.1/gcc-4.1.1-pr13685-1.patch
cd $OMDIR
ln -s openmoko/trunk/oe .
cd $OMDIR/build
bitbake openmoko-devel-image
NOTE: Handling BitBake files: \ (4254/4320) [98 %]ERROR: Could not inherit file classes/image_ipk.bbclass while parsing /home/prj/moko/oe/packages/images/openmoko-sdk-image.bb
ERROR: Could not inherit file classes/image_ipk.bbclass while parsing /home/prj/moko/oe/packages/images/openmoko-image.bb
ERROR: Could not inherit file classes/image_ipk.bbclass while parsing /home/prj/moko/oe/packages/images/openmoko-devel-image.bb
NOTE: Handling BitBake files: | (4302/4320) [99 %]ERROR: Error in executing:
ERROR: Exception: Message:'FetchData' object has no attribute 'tag'
ERROR: Printing the environment of the function
ERROR: 'FetchData' object has no attribute 'tag' while parsing /home/prj/moko/oe/packages/uboot/uboot-qt2410_0.0+cvs20061030.bb
NOTE: Handling BitBake files: - (4305/4320) [99 %]ERROR: Error in executing:
ERROR: Exception: Message:'FetchData' object has no attribute 'tag'
ERROR: Printing the environment of the function
ERROR: 'FetchData' object has no attribute 'tag' while parsing /home/prj/moko/oe/packages/uboot/uboot-gta01_0.0+cvs20061030.bb
NOTE: Handling BitBake files: / (4320/4320) [100 %]
NOTE: Parsing finished. 4117 cached, 0 parsed, 184 skipped, 0 masked.
ERROR: Parsing errors found, exiting...
test@test-laptop:/home/prj/moko/build$
MokoMakefile
http://wiki.openmoko.org/wiki/MokoMakefilesudo apt-get install subversion build-essential help2man diffstat texi2html texinfo cvs gawk zip unzip
sudo apt-get install libncurses5-dev zlib1g-dev libssl-dev libgtk2.0-dev
# To prevent errors in host validation
sudo apt-get install ca-certificates
# For Openmoko 2007.2 using BitBake-1.8.8:
sudo apt-get install python-pysqlite2 sqlite3 sqlite3-doc python-pysqlite2-dbg
# For building faster
sudo apt-get install quilt python-psyco ccache
# For qemu, install a second compiler for bug avoidance; MokoMakefile knows to look for it.
sudo apt-get install gcc-3.4 g++-3.4 libsdl1.2-dev lynx netpbm dosfstools
# On Ubuntu 8.04, the following was required instead of cogito
sudo apt-get install git-core
# Ubuntu links /bin/sh to /bin/dash, but some scripts fail because they use pushd and popd, which dash does not support
sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh
# This may be needed only for ASU
sudo apt-get install libxtst-dev
mkdir mokomake ; cd mokomake;
wget http://www.rwhitby.net/files/openmoko/Makefile;
Or
wget http://svn.projects.openmoko.org/svnroot/mokomakefile/trunk/Makefile
make setup
Edit Makefile, change OM_GIT_BRANCH to one of the following:
OM_GIT_BRANCH := org.openmoko.dev # OM2007.2 (default)
OM_GIT_BRANCH := org.openmoko.asu.dev # ASU
OM_GIT_BRANCH := org.openmoko.asu.stable # ASU stable
OM_GIT_BRANCH := org.openembedded.dev # FSO
make setup-machine-freerunner
make openmoko-devel-image
Distributions
http://wiki.openmoko.org/wiki/Distributions
http://wiki.openmoko.org/wiki/OpenEmbeddedMokoMakefile
http://wiki.openmoko.org/wiki/MokoMakefileOpenEmbedded
http://wiki.openmoko.org/wiki/OpenEmbeddedOEandYourDistro
http://wiki.openembedded.net/index.php/OEandYourDistro#Using_OpenEmbedded_on_Linux_systems(maybe outdated and not complete)
git.openmoko.org
downloads.openmoko.org
buildhost.openmoko.org
http://blog.leggewie.org/?p=39
apt-get’able Openembedded
echo deb http://oss.leggewie.org/oe/deb ./ >> /etc/apt/sources.list;
apt-get update;
apt-get install openembedded-sonkei;
oe-setup-sonkei dev
OR
oe-setup-sonkei stable
MACHINE=spitz bitbake nano