Developing Applications for OpenMoko Platform
Setting up the environment
The OMDIR environment variable should be set to the path in which you downloaded the Moko Makefile. All the relative paths in this tutorial are given relative to the OMDIR. Therefore the first command should be
cd $OMDIR
First we should create a local tree within our openmoko layout.
mkdir local local/classes local/conf local/packages
cp openmoko/trunk/oe/conf/site.conf local/conf
Then change the following two lines in the local/conf/site.conf file to
BBFILES := "${OMDIR}/openembedded/packages/*/*.bb ${OMDIR}/local/packages/*/*.bb"
BBFILE_COLLECTIONS = "upstream local overlay"
and add these lines
BBFILE_PATTERN_overlay = "^${OMDIR}/local/"
BBFILE_PRIORITY_overlay = "20"
Then update setup-env as below
export BBPATH="${OMDIR}/build:${OMDIR}/local:${OMDIR}/openembedded"
Then change the line below in /home/emre/moko/openmoko/trunk/src/host/openembedded/site.conf
BBFILES := "${OMDIR}/openembedded/packages/*/*.bb ${OMDIR}/local/packages/*/*.bb"
Adding a new application
I recommend using autotools when developing your application, other than common benefits there is an autotools class in bitbake brings easiness for openmoko applications.
After you develop and test your application make a distribution for your sources.
make dist
There should be a .tar.gz file in your project directory (or a .tar.bz2 file depending on your settings).
Here comes the openmoko related parts. Let's say your package's name is hello_moko and your distribution file is named hello_moko-0.0.1.tar.gz
Create a directory layout for your project.
mkdir local/packages/hello_moko
mkdir local/packages/hello_moko/files
Put the hello_moko-0.0.1.tar.gz file into local/packages/hello_moko/files.
Create a bitbake recipe file: local/packages/hello_moko/hello_moko.bb
DESCRIPTION = "A sample openmoko application"
HOMEPAGE = "http://sample.openmoko.org"
SECTION = "openmoko/applications"
DEPENDS = "libmokoui2"
PRIORITY = "optional"
LICENSE = "GPL"
PV = "0.0.1"
PR = "r1"
inherit autotools pkgconfig
SRC_URI = "file://hello_moko-0.0.1.tar.gz"
To compile
make setup
make build-package-hello_moko
Copy the file to the phone and install
scp build/tmp/deploy/glibc/ipk/armv4/hello_moko_0.0.1-r1_armv4t.ipk 192.168.0.202:
ssh root@192.168.0.202
ipkg install hello_moko_0.0.1-r1_armv4t.ipk
If you want to uninstall
ipkg remove hello_moko