User:Emreturkay

From Openmoko

Jump to: navigation, search

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
Personal tools