HelloWorld Examples

From Gumstix User Wiki
Revision as of 11:26, 9 March 2010 by Ashcharles (Talk | contribs)

Jump to: navigation, search

The OpenEmbedded (OE) manual introduces Bitbake recipes using a single 'helloworld' tutorial. While this is a useful introduction, there are many other common use cases.

Hello World

The git repository given below contains a user.collections directory complete with a number of sample helloworld recipes elucidating different use cases. An explanation for each is given below:

Recipe:Description:Command:
myhelloworldvanilla OE helloworld tutorialmyhelloworld
myhello-cppa simple C++ recipemyhello-cpp
myhello-makea recipe that uses a Makefilemyhello-make
myhello-cmakea recipe that uses cmake and creates a librarymyhello-cmake
myhello-pythona rather trivial python recipemyhello-python
myhello-gitshows git fetcher and patchingmyhello-git

Usage

  1. Clone this git repository from your top-level OE directory. For the sake of these instructions, we assume this is '~/overo-oe'.
    $ ~/overo-oe/ 
    $ git clone git://github.com/ashcharles/oe-usercollection.git user.collection
    Note: If you already have a user.collection director, you might like to clone the repository by its default name (oe-usercollection) and then let bitbake know about this folder:
    $ ~/overo-oe/ 
    $ git clone git://github.com/ashcharles/oe-usercollection.git
    Edit the ~/overo-oe/build/conf/site.conf file so Bitbake know about this new directory.</pre>
  2. Bitbake the desired recipe based on its recipe name e.g. bitbake myhello-cpp
  3. Copy the newly created package file from your build machine to your Gumstix. You might do this by transfering the files on microSD card, using a serial connection, or, most simply, copying them over an internet connection. E.g.
    $ scp ~/overo-oe/tmp/deploy/glibc/ipk/armv5te/myhelloworld_0.0.1-r0.5_armv5te.ipk root@mygumstixcom:~ 
  4. Install your package and test it out:
    > opkg install myhelloworld_0.0.1-r0.5_armv5te.ipk 
    > myhelloworld 
    Hello world! 

There are lots of use cases not covered here, feel free to add new or request new ones (ash (AT) gumstix (DOT) com)

Helpful Links