Changes between Version 1 and Version 2 of OSSIEBeagleboard_BitBake

Show
Ignore:
Timestamp:
11/09/10 15:07:41 (3 years ago)
Author:
jawil06
Comment:

More progress on bitbaking ossie tutorial.

Legend:

Unmodified
Added
Removed
Modified
  • OSSIEBeagleboard_BitBake

    v1 v2  
    1414First, create your directory structure. I recommend creating an OE directory in your home folder: 
    1515{{{ 
    16 mkdir -p $HOME/OE/build/conf 
    17 cd $HOME/OE 
     16$ mkdir -p $HOME/OE/build/conf 
     17$ cd $HOME/OE 
    1818}}} 
    1919 
    2020Now, get !BitBake, and unpack it: 
    2121{{{ 
    22 wget http://download.berlios.de/bitbake/bitbake-1.8.18.tar.gz # Download the BitBake package 
    23 tar zxvf bitbake-1.8.18.tar.gz                                # Extract it 
    24 mv bitbake{-1.8.18,}                                          # Rename the directory to bitbake 
     22$ wget http://download.berlios.de/bitbake/bitbake-1.8.18.tar.gz # Download the BitBake package 
     23$ tar zxvf bitbake-1.8.18.tar.gz                                # Extract it 
     24$ mv bitbake{-1.8.18,}                                          # Rename the directory to bitbake 
    2525}}} 
    2626 
    2727Now that we have !BitBake, we need to get !OpenEmbedded. Before simply checking out !OpenEmbedded trunk, let's look for a recently tested tag here: http://git.openembedded.org/cgit.cgi/openembedded/refs/tags. As of this writing, the newest tested tag is "tested_2010-10-29". Be sure to check the commit log to ensure that a "beagleboard angstrom-2008.1" build was at least tested with a simple console-image. To get !OpenEmdedd run (this may take a while depending on your connection speed): 
    2828{{{ 
     29$ git clone git://git.openembedded.org/openembedded 
    2930# Replace "tested_2010-10-29" with the tag/branch you want 
    30 git clone git://git.openembedded.org/openembedded -b tested_2010-10-29 
     31$ git checkout tested_2010-10-29 
    3132}}} 
     33 
     34=== Getting The OSSIE Recipes === 
     35The OSSIE recipes are located in the OSSIE SVN repository. 
     36{{{ 
     37$ cd $HOME/OE/ 
     38$ svn --username anon --password ossiesdr co \ 
     39  https://ossie.wireless.vt.edu/repos/ossie/ossiedev/branches/jawil06/recipes ossie-recipes 
     40}}} 
     41 
     42=== Setup The Environment === 
     43Before configuring !BitBake, we should set some environment variables. There are many places to do this, including at build time, but we recommend placing the following lines at the end of your .bashrc file: 
     44{{{ 
     45$ cat >> $HOME/.bashrc << EOF 
     46# OpenEmbedded Environment Setup 
     47export OEBASE=$HOME/OE 
     48export PATH=$OEBASE/bitbake/bin:$PATH 
     49export BBPATH=$OEBASE/build:$OEBASE/openembedded 
     50export BB_ENV_EXTRAWHITE="OEBASE" 
     51EOF 
     52$ . $HOME/.bashrc # Update environment 
     53}}} 
     54 
     55 
     56=== Configuring !BitBake === 
     57Now that we have the toolchain and OSSIE recipes, we need to set up our configuration. Copy a sample configuration and edit it to fit our needs: 
     58{{{ 
     59$ cd $HOME/OE/ 
     60$ cp openembedded/conf/local.conf.sample build/conf/local.conf 
     61$ vim build/conf/local.conf # Use your favorite text-editor 
     62}}} 
     63 
     64There are many possible settings in this file, the ones that are important to us are: 
     65 
     66{{{ 
     67... 
     68# Use this to specify where BitBake should place the downloaded sources into 
     69DL_DIR = "${OEBASE}/sources" # This is just preference, the default is fine 
     70 
     71# Delete the line below. Then specify which .bb files to consider for 
     72# your build. Typically this will be something like BBFILES = "/path/to/openembedded/recipes/*/*.bb" 
     73BBFILES := "${OEBASE}/openembedded/recipes/*/*.bb" 
     74BBFILES += " ${OEBASE}/ossie-recipes/*/*.bb" 
     75... 
     76TMPDIR = ${OEBASE}/build/tmp 
     77... 
     78MACHINE = "beagleboard" 
     79... 
     80DISTRO = "angstrom-2008.1" 
     81... 
     82IMAGE_FSTYPES = " tar.bz2 " 
     83... 
     84# REMOVE_THIS_LINE:="${@bb.fatal('Read the comments in your conf/local.conf')}" 
     85}}} 
     86 
     87Other options that may be of interest are PARALLEL_MAKE and BB_NUMBER_THREADS especially for multi-core or multi-processor build systems. 
     88 
     89=== Building a Console Image === 
     90This step is not required but recommended to ensure that your setup is working properly before you try to build the OSSIE recipes. We will build task-base and console-image. For more information on what exactly is happening here, see the !OpenEmbedded documentation. Together, these can take hours on a standard machine. We recommend you let it run over night. 
     91{{{ 
     92$ cd $HOME/OE/build 
     93$ bitbake task-base && bitbake console-image 
     94}}} 
     95If both builds succeed (run the bitbake command again to ensure success) then you will have a kernel image located at: [[br]] 
     96$OEBASE/build/tmp/deploy/glibc/images/beagleboard/uImage-beagleboard.bin [[br]] 
     97And a console image filesystem located at: [[br]] 
     98$OEBASE/build/tmp/deploy/glibc/images/beagleboard/console-image-beagleboard.tar.bz2 
     99 
     100== Building OSSIE == 
     101{{{ 
     102$ cd $HOME/OE/build 
     103$ bitbake ossie-dev-console-image 
     104}}}