Difference between revisions of "HelloWorld Examples"

From Gumstix User Wiki
Jump to: navigation, search
Line 25: Line 25:
 
#:<pre>$ ~/overo-oe/ </pre>
 
#:<pre>$ ~/overo-oe/ </pre>
 
#:<pre>$ git clone git://github.com/ashcharles/oe-usercollection.git user.collection</pre>
 
#:<pre>$ git clone git://github.com/ashcharles/oe-usercollection.git user.collection</pre>
#:'''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'' directory, you might like to clone the repository by its default name (oe-usercollection) and then let bitbake know about this folder. See the ''extras'' folder inside the recipe for hints on this.
#:<pre>$ ~/overo-oe/ </pre>
+
#:<pre>$ git clone git://github.com/ashcharles/oe-usercollection.git </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 18:01, 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 directory, you might like to clone the repository by its default name (oe-usercollection) and then let bitbake know about this folder. See the extras folder inside the recipe for hints on this.
  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