From time to time someone ask me why their attempt to use OpenEmbedded fail — I’m a bit tired of saying the same each time so I decided to write how I have directories setup.
I use ~/devel/ to keep all things where I’m involved:
bitbake/ -- Subversion tree of Bitbake build/ -- place where I do all OE builds build/0912/ -- currently used build (c7x0 related) build/oz353/ -- OpenZaurus 3.5.3 upgrades build/armv4l/ -- testing "collie" build build/native/ -- native i686 build for developing OPIE build/wrt/ -- build for my OpenWRT powered routerdoc/ -- misc documentation (QT/E, Qtopia and other) fonts/ -- DejaVu fonts which I convert from TrueType to QPF
oe/ -- OpenEmbedded directory oe/org.openembedded.dev/ -- development repository oe/branch.oz354fam083/ -- frozen repository for release oe/hrw-packages/ -- my misc testing packages oe/hrw.db -- database with all OE stuff
openwrt/ -- copy of OpenWRT build system opie/ -- development for OPIE sources/ -- DL_DIR, CVS_DIR for OpenEmbedded tmp/ -- place for all misc tweaking
This gives me easy way of doing builds. All to do is:
cd ~/devel/ . setup-oe.sh build/0912/
and everything is configured — BBPATH set, bitbake and gcc 2.95 added into PATH so I can start bitbake shell and do OE related work.
setup-oe.sh:
!/bin/sh
Set this to the location of bb
BB_DIR=/home/hrw/devel/bitbake/trunk/bitbake
The location of the packages
OE_DIR=/home/hrw/devel/oe/org.openembedded.dev
HERE=
pwdcd $BB_DIR svn update cd $HERE cd $OE_DIR monotone pull monotone.vanille.de org.openembedded.dev monotone --lca merge monotone update cd $HERE cd $1
use this if using the openzaurus cross compiler
PATH=$BB_DIR/bin:/usr/local/arm/2.95.3/bin:${PATH}
Blank this so we don't link non-arm libraries
LD_LIBRARY_PATH=
Don't export TARGET_ARCH -- it will cause build failures
export PATH LD_LIBRARY_PATH
make error messages understable for everyone
export LC_ALL=C
one command to make rebuild
bbrebuild() { bitbake -b $1 --cmd=clean bitbake -b $1 }
export BBPATH=
pwd:$OE_DIR unset BB_DIR unset OE_DIR
Related posts: