ECE497 Angstrom directory layout

From eLinux.org
Revision as of 10:02, 4 March 2010 by Yoder (talk | contribs) (Ported from gumstix site)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Once you've run bitbake and gotten the Ångström distribution installed on your computer you discover there are lots of files and directories out there. While installing I count'ed some 85,000 files in some 10,000 directories.

This page gives an overview of what's in where.

Tools.svg Give to the community: Help with details
This is my best guess so far. Help me make it more accurate. Hint: Use the tree command to list the directories.

This layout is adapted from the gumstix layout

OpenEmbedded is a flexible, capable build tool. There is, however, a lot to know in order to fully exploit its power. A good way to learn how it works is to explore its directory layout.

oe

After setting up your build environment, your directory structure should look like this:

oe/
|-- angstrom-dev
|-- build
|-- downloads
`-- openembedded
angstrom-dev
build
The build directory contains configuration data for the build system. The configuration is split between three files, all of them in build/conf: auto.conf, local.conf, and site.conf.

auto.conf is used primarily to specify what machine configuration the build is targeted toward.

local.conf is used to specify build policy (uclibc vs glibc, debug vs release, etc)

site.conf is used for general configuration (location of source code cache, location of temporary file directory, environment set up, parallel make, etc)

downloads
openembedded
This directory contains a snapshot of the OpenEmbedded development branch. It contains the "recipes" to build many hundreds of software packages.

NOTE: You should never edit files in this directory. You should use the bitbake collection feature and place your overrides in user.collection

Where do these go?

These came from the gumstix site, but I don't know how they map to here.

com.gumstix.collection
This directory contains overrides to the standard OpenEmbedded recipes. This is where all of the gumstix specific customizations reside. Bitbake will give preference to recipes that it finds here over recipes contained in org.openembedded.snapshot.

NOTE: You should never edit files in this directory. You should use the bitbake collection feature and place your overrides in user.collection

user.collection
This directory is yours to use! You should place your custom recipes here and also any overrides to recipes contained in com.gumstix.collection or org.openembedded.snapshot. Bitbake gives highest preference to the recipes in this directory, making it possible for you to override any functionality without having to touch directories under Gumstix source code control.

It is highly recommended that you place this directory under your own source code control.

extras
The contents of this directory are not really part of the OpenEmbedded build system. It contains a variety of useful, related material: a kermit init script, suggested environment setup, autobuilder scripts, and setup files for jtag tools

openembedded

openembedded/
|-- bitbake
|-- classes
|-- conf
|-- contrib
|-- docs
|-- files
|-- recipes
`-- site
bitbake
OpenEmbedded is based upon bitbake, a tool for executing tasks and managing metadata. This directory contains the bitbake tool and its associated configuration files.