aboutsummaryrefslogtreecommitdiffstats
path: root/README.structure
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2008-02-26 11:41:20 +0000
committerRichard Purdie <richard@openedhand.com>2008-02-26 11:41:20 +0000
commit18a758b9e99641207883c81cb7862a8737eb0682 (patch)
tree0981494a839dbd38369de6ad420357a4545c3e7f /README.structure
parentb2bdf19d90f9ac43a576076a408fb6104db4e5be (diff)
downloadopenembedded-core-contrib-18a758b9e99641207883c81cb7862a8737eb0682.tar.gz
openembedded-core-contrib-18a758b9e99641207883c81cb7862a8737eb0682.tar.bz2
openembedded-core-contrib-18a758b9e99641207883c81cb7862a8737eb0682.zip
README*: Update after addition of manual
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3867 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'README.structure')
-rw-r--r--README.structure214
1 files changed, 0 insertions, 214 deletions
diff --git a/README.structure b/README.structure
deleted file mode 100644
index 761b37b41f..0000000000
--- a/README.structure
+++ /dev/null
@@ -1,214 +0,0 @@
- A walk through the poky directory tree
- ======================================
-
-Poky consists of several components and understanding what these are and where
-they each live is one of the keys to using it.
-
-Top level core components
-=========================
-
-
-bitbake/
-
-A copy of bitbake is included within poky for ease of use and resides here.
-This should usually be the same as a standard bitbake release from the bitbake
-project. Bitbake is a metadata interpreter and is responsible for reading the
-poky metadata and running the tasks it defines. Failures are usually from the
-metadata and not bitbake itself and most users don't need to worry about
-bitbake. bitbake/bin is placed into the PATH environmental variable so bitbake
-can be found.
-
-build/
-
-This directory contains user configuration files and the output from Poky is
-also placed here.
-
-meta/
-
-The core metadata - this is the key part of poky. Within this directory there
-are definitions of the machines, the poky distribution and the packages that
-make up a given system.
-
-meta-extras/
-
-Similar to meta containing some extra package files not included in standard
-poky, disabled by default and hence not supported as part of poky.
-
-scripts/
-
-Various integration scripts which implement extra functionality in the poky
-environment for example the qemu scripts. This directory is appended to the
-PATH environmental variable.
-
-sources/
-
-Whilst not part of a checkout, poky will create this directory as part of any
-build. Any downloads are placed in this directory (as specified by the
-DL_DIR variable). This directory can be shared between poky builds to save
-downloading files multiple times. SCM checkouts are also stored here as e.g.
-sources/svn/, sources/cvs/ or sources/git/ and the sources directory may contain
-archives of checkouts for various revisions or dates.
-
-Its worth noting that bitbake creates .md5 stamp files for downloads. It uses
-these to mark downloads as complete as well as for checksum and access
-accounting purposes. If you add a file manually to the directory, you need to
-touch the corresponding .md5 file too.
-
-poky-init-build-env
-
-This script is used to setup the poky build environment. Sourcing this file in
-a shell makes changes to PATH and sets other core bitbake variables based on the
-current working directory. You need to use this before running poky commands.
-Internally it uses scripts within the scripts/ directory to do the bulk of the
-work.
-
-
-The Build Directory
-===================
-
-conf/local.conf
-
-This file contains all the local user configuration of poky. If it isn't
-present, its created from local.conf.sample. That file contains documentation
-on the various standard options which can be configured there although any
-standard conf file variable can be also be set here and usually overrides any
-variable set elsewhere within poky.
-
-Edit this file to set the MACHINE you want to build for, which package types you
-which to use (PACKAGE_CLASSES) or where downloaded files should go (DL_DIR) for
-exmaple.
-
-tmp/
-
-This is created by bitbake if it doesn't exist and is where all the poky output
-is placed. To clean poky and start a build from scratch (other than downloads),
-you can wipe this directory. tmp has some important subcomponents detailed
-below.
-
-tmp/cache/
-
-When bitbake parses the metadata it creates a cache file of the result which can
-be used when subsequently running the command. These are stored here, usually on
-a per machine basis.
-
-tmp/cross/
-
-The cross compiler when generated is placed into this directory and those
-beneath it.
-
-tmp/deploy/
-
-Any 'end result' output from poky is placed under here.
-
-tmp/deploy/deb/
-
-Any .deb packages emitted by poky are placed here, sorted into feeds for
-different architecture types.
-
-tmp/deploy/images/
-
-Complete filesystem images are placed here. If you want to flash the resulting
-image from a build onto a device, look here for them.
-
-tmp/deploy/ipk/
-
-Any resulting .ipk packages emitted by poky are placed here.
-
-tmp/rootfs/
-
-This is a temporary scratch area used when creating filesystem images. It is run
-under fakeroot and is not useful once that fakeroot session has ended as
-information is lost. It is left around since it is still useful in debugging
-image creation problems.
-
-tmp/staging/
-
-Any package needing to share output with other packages does so within staging.
-This means it contains any shared header files and any shared libraries amongst
-other data. It is subdivided by architecture so multiple builds can run within
-the one build directory.
-
-tmp/stamps/
-
-This is used by bitbake for accounting purposes to keep track of which tasks
-have been run and when. It is also subdivided by architecture. The files are
-empty and the important information is the filenames and timestamps.
-
-tmp/work/
-
-Each package build by bitbake is worked on its own work directory. Here, the
-source is unpacked, patched, configured, compiled etc. It is subdivided by
-architecture.
-
-It is worth considering the structure of a typical work directory. An example is
-the linux-rp kernel, version 2.6.20 r7 on the machine spitz built within poky
-which would result in a work directory of
-"tmp/work/spitz-poky-linux-gnueabi/linux-rp-2.6.20-r7", referred to as WORKDIR.
-
-Within this, the source is unpacked to linux-2.6.20 and then patched by quilt
-hence the existence of the standard quilt directories linux-2.6.20/patches and
-linux-2.6.20/.pc. Within the linux-2.6.20 directory, standard quilt commands
-can be used.
-
-There are other directories generated within WORKDIR. The most important/useful
-is WORKDIR/temp which has log files for each task (log.do_*.pid) and the scripts
-bitbake runs for each task (run.do_*.pid). WORKDIR/image is where "make install"
-places its output which is then split into subpackages within WORKDIR/install.
-
-
-The Metadata
-============
-
-As mentioned previously, this is the core of poky. It has several important
-subdivisions:
-
-meta/classes/
-
-Contains the *.bbclass files. Class files are used to abstract common code
-allowing it to be reused by multiple packages. The base.bbclass file is
-inherited by every package. Examples of other important classes are
-autotools.bbclass which in theory allows any "autotooled" package to work with
-poky with minimal effort or kernel.bbclass which contains common code and
-functions for working with the linux kernel. Functions like image generation or
-packaging also have their specific class files (image.bbclass, rootfs_*.bbclass
-and package*.bbclass).
-
-meta/conf/
-
-This is the core set of configuration files which start from bitbake.conf and
-from which all other configuration files are included (see the includes at the
-end of the file, even local.conf is loaded from there!). Whilst bitbake.conf
-sets up the defaults, often these can be overridden by user (local.conf),
-machine or distribution configuration files.
-
-meta/conf/machine/
-
-Contains all the machine configuration files. If you set MACHINE="spitz", the
-end result is poky looking for a spitz.conf file in this directory. The includes
-directory contains various data common to multiple machines. If you want to add
-support for a new machine to poky, this is the directory to look in.
-
-meta/conf/distro/
-
-Any distribution specific configuration is controlled from here. OpenEmbedded
-supports multiple distributions of which poky is one. Poky only contains the
-poky distribution so poky.conf is the main file here. This includes the
-versions and SRCDATES for applications which are configured here. An example of
-an alternative configuration is poky-bleeding.conf although this mainly inherits
-its configuration from poky itself.
-
-packages/
-
-Each application (package) poky can build has an associated .bb file which are
-all stored under this directory. Poky finds them through the BBFILES variable
-which defaults to packages/*/*.bb. Adding a new piece of software to poky
-consists of adding the appropriate .bb file. The .bb files from OpenEmbedded
-upstream are usually compatible although they are not supported.
-
-site/
-
-Certain autoconf test results cannot be determined when cross compiling since it
-can't run tests on a live system. This directory therefore contains a list of
-cached results for various architectures which is passed to autoconf.
-
- Copyright (C) 2006-2007 OpenedHand Ltd.