Building a hello world application
From Openmoko
Contents |
Preparation
This guide assumes that you have performed the steps in Building_OpenMoko_from_scratch
The commandline program
Store the following more or less standard hello world code in hello.c
#include <stdio.h> int main() { printf ("Hello World\n"); return 0; }
Compiling it the wrong / easy way
Assuming your current working directory is /home/moko,
and that you stored the code in /home/moko/hello.c
It should now be possible to compile the application using
./build/tmp/cross/arm-linux/bin/gcc -o hello hello.c
Testing it
Assuming you have followed Setting up USB connection and you have a working network concetion to either a qemu Neo or a real Neo.
scp hello root@192.168.0.202:/tmp/ ssh root@192.168.0.202 /tmp/hello
This sequence of commands ought to give you a nice Hello World, btw. the default root password is blank, just press return.
Why was it the wrong way?
OpenMoko uses [OpenEmbedded] and they use bitbake when building stuff
Compiling it using bitbake
If you set your enviroment (I created a small script to do this, you could also add it to you .bashrc)
export OMDIR=/home/moko export BBPATH=$OMDIR/build:$OMDIR/openmoko/trunk/oe:$OMDIR/openembedded
You should be capable of
cd $OMDIR/build bitbake nano
This should auto-magically fetch the recipe for baking nano and baking it.
This results in some ipk packages being created in $OMDIR/build/tmp/deploy/ipk/armv4t/
An OpenEmbedded guide to creating a hello world
OpenEmbedded has a nice [Wiki page] on creating a hello world, I highly recommend it.
Creating an ipk package
To be written (Perhaps this is done by the do_install() function)