| | 33 | |
| | 34 | === Getting The OSSIE Recipes === |
| | 35 | The 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 === |
| | 43 | Before 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 |
| | 47 | export OEBASE=$HOME/OE |
| | 48 | export PATH=$OEBASE/bitbake/bin:$PATH |
| | 49 | export BBPATH=$OEBASE/build:$OEBASE/openembedded |
| | 50 | export BB_ENV_EXTRAWHITE="OEBASE" |
| | 51 | EOF |
| | 52 | $ . $HOME/.bashrc # Update environment |
| | 53 | }}} |
| | 54 | |
| | 55 | |
| | 56 | === Configuring !BitBake === |
| | 57 | Now 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 | |
| | 64 | There 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 |
| | 69 | DL_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" |
| | 73 | BBFILES := "${OEBASE}/openembedded/recipes/*/*.bb" |
| | 74 | BBFILES += " ${OEBASE}/ossie-recipes/*/*.bb" |
| | 75 | ... |
| | 76 | TMPDIR = ${OEBASE}/build/tmp |
| | 77 | ... |
| | 78 | MACHINE = "beagleboard" |
| | 79 | ... |
| | 80 | DISTRO = "angstrom-2008.1" |
| | 81 | ... |
| | 82 | IMAGE_FSTYPES = " tar.bz2 " |
| | 83 | ... |
| | 84 | # REMOVE_THIS_LINE:="${@bb.fatal('Read the comments in your conf/local.conf')}" |
| | 85 | }}} |
| | 86 | |
| | 87 | Other 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 === |
| | 90 | This 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 | }}} |
| | 95 | If 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]] |
| | 97 | And 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 | }}} |