Category:How to - Buildroot overo

From Gumstix User Wiki
Revision as of 08:20, 22 November 2011 by Trevor Woerner (Talk | contribs) (instructions for how to build a root filesystem for Overo using Buildroot)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Officially Gumstix only supports building images for Overo devices using OpenEmbedded. But there are other ways of producing a root filesystem for an Overo device, for example Buildroot. Since OE is the only official build system, it remains the best, most up-to-date place to get your cross-development toolchain, kernel, bootloader, and MLO for Overo development.

For the remainder of this document I'm going to assume ${OEBASE} is where you have checked out OE and ${BRBASE} is the directory into which you have unpacked Buildroot.

  • Start off by following the official instructions for preparing your build system and checking out the OE code at Using the Open Embedded Build System for Overo Series. Follow those instructions right until the end but do not perform the last step (i.e. "$ bitbake omap3-console-image")
  • Replace the last instruction ("$ bitbake omap3-console-image") with the following:
 $ bitbake virtual/kernel
 $ bitbake x-load
 $ bitbake u-boot

With these commands OE has built a cross-development toolchain for you as well as a kernel, MLO, and u-boot bootloader. For the root filesystem we now make use of Buildroot.

  • Go to the location where you have unpacked Buildroot and issue:
 $ make menuconfig

(If you prefer you can use '$ make nconfig', '$ make xconfig', or '$ make gconfig' instead)

  • Under 'Target Architecture'
  * select 'arm'
  • Under 'Target Architecture Variant'
  select 'generic_arm'

further down there is a 'cortex_a8' option but Buildroot says the cortex_a8 and cortex_a9 options require gcc > 4.4.x. Currently the OE toolchain is 4.3.x. 'generic_arm' seems to work fine

  • Under 'Toolchain'
    • Toolchain Type
  select 'External toolchain'
    • Toolchain
  'Custom toolchain'
    • Toolchain path
  enter '${OEBASE}/tmp/sysroots/x86_64-linux/usr/armv7a'
  (obviously if your build system is not x86 64-bit this path won't exist, look around and find your equivalent)
    • Toolchain prefix
  enter 'arm-angstrom-linux-gnueabi'

You can leave everything else as-is, or browse around and find other things to tweak.

  • Exit the Buildroot configuration system and
  $ make

Now when you assemble your Qemu image or SD card you will find your bootloader, MLO, and x-boot as usual in ${OEBASE}/tmp/deploy/glibc/images/overo but your root filesystem will be found in ${BRBASE}/images

This category currently contains no pages or media.