Difference between revisions of "HelloWorld Examples"

From Gumstix User Wiki
Jump to: navigation, search
Line 27: Line 27:
 
#:'''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:
 
#:'''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:
 
#:<pre>$ ~/overo-oe/ </pre>
 
#:<pre>$ ~/overo-oe/ </pre>
#:<pre>$ git clone git://github.com/ashcharles/oe-usercollection.git</pre>
+
#:<pre>$ git clone git://github.com/ashcharles/oe-usercollection.git </pre>
#:Edit the ''~/overo-oe/build/conf/site.conf'' file so Bitbake know about this new directory.</pre>
+
#:Source the provided ''profile'' file to let your shell know about this new directory.
 +
#:<pre>$ source ~/overo-oe/oe-usercollection/conf/profile </pre>
 
# Bitbake the desired recipe based on its recipe name e.g. ''bitbake myhello-cpp''
 
# Bitbake the desired recipe based on its recipe name e.g. ''bitbake myhello-cpp''
 
# 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.
 
# 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.

Revision as of 16:03, 11 March 2010

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 
    Source the provided profile file to let your shell know about this new directory.
    $ source ~/overo-oe/oe-usercollection/conf/profile 
  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