OpenEmbedded

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m (Upstream Source tarballs)
Line 27: Line 27:
  
 
When bitbake builds a particular OE package, it downloads the original source code of the upstream project (e.g. Linux kernel) from the web.
 
When bitbake builds a particular OE package, it downloads the original source code of the upstream project (e.g. Linux kernel) from the web.
After downloading it, it applies a series of local patches to it.  Those patches are from either the [[OE upstream snapshot]], or from the [[OpenMoko OE overlay tree]].   
+
After downloading it, it applies a series of local patches to it.  Those patches are from either the [[OpenEmbedded#OE_upstream_snapshot]], or from the [[OpenEmbedded#OpenMoko_OE_overlay_tree]].   
  
 
The unpatched source tarballs are available from http://buildhost.openmoko.org/sources/
 
The unpatched source tarballs are available from http://buildhost.openmoko.org/sources/

Revision as of 12:49, 7 January 2007

OpenMoko, our distribution, is built using Open Embedded. Open Embedded will:

  • Generate (cross-compile) software packages for multiple embedded targets.
  • Handle different hardware architectures, and support multiple releases across those architectures.

For more information please see the Open Embedded website.

Contents

Master Build Server

There is a master build server, it has the hostname buildhost.openmoko.org. Shell accounts are only available to core developers and the "distribution maintainer", once we have created such a job/task ;)

The idea is that all official images and binary packages (ipk) are built on one machine with a well-defined environment.

Build Process with OpenEmbedded

OE upstream snapshot

We start from an OpenEmbedded snapshot from the official "upstream" aka "Vanilla" OpenEmbedded project. This snapshot contains the BitBake recipies for thousands of packages

OpenMoko OE overlay tree

In addition to the upstream recipies, we also have a set of our own recipies. They are available from http://svn.openmoko.org/trunk/oe/

The way how that 'overlay' tree works is: It gives us the ability to add rules below a seperate directory tree. This means we don't have to edit or add rules to the upstream snapshot, and we always have a clear distinction about what is upstream, and what is our additions to it.

Upstream Source tarballs

When bitbake builds a particular OE package, it downloads the original source code of the upstream project (e.g. Linux kernel) from the web. After downloading it, it applies a series of local patches to it. Those patches are from either the OpenEmbedded#OE_upstream_snapshot, or from the OpenEmbedded#OpenMoko_OE_overlay_tree.

The unpatched source tarballs are available from http://buildhost.openmoko.org/sources/

Build directory

The content of the build directory is available at http://buildhost.openmoko.org/tmp/gta01/

It contains

  • cache
    • Internal caching data, not for human interpretation
  • cross
    • The cross-compilation toolchain used. You can download this and use it on your local machine.
  • deploy
    • deploy/images
      • The filesystem, kernel and bootloader images to be flashed into NAND
    • deploy/ipk
      • the .ipk packages
  • rootfs
    • the extracted root filesystem. Please use the images from deploy/images instead
  • staging
    • no user servicable parts inside
  • stamp
    • internal state data
  • work
    • the actual build trees (including patches source code and binaries) of the individual packages

Binary packages

The binary packages of intermediate "inofficial" releases are available at http://buildhost.openmoko.org/tmp/gta01/deploy/ipk

Personal tools

OpenMoko, our distribution, is built using Open Embedded. Open Embedded will:

  • Generate (cross-compile) software packages for multiple embedded targets.
  • Handle different hardware architectures, and support multiple releases across those architectures.

For more information please see the Open Embedded website.

Master Build Server

There is a master build server, it has the hostname buildhost.openmoko.org. Shell accounts are only available to core developers and the "distribution maintainer", once we have created such a job/task ;)

The idea is that all official images and binary packages (ipk) are built on one machine with a well-defined environment.

Build Process with OpenEmbedded

OE upstream snapshot

We start from an OpenEmbedded snapshot from the official "upstream" aka "Vanilla" OpenEmbedded project. This snapshot contains the BitBake recipies for thousands of packages

OpenMoko OE overlay tree

In addition to the upstream recipies, we also have a set of our own recipies. They are available from http://svn.openmoko.org/trunk/oe/

The way how that 'overlay' tree works is: It gives us the ability to add rules below a seperate directory tree. This means we don't have to edit or add rules to the upstream snapshot, and we always have a clear distinction about what is upstream, and what is our additions to it.

Upstream Source tarballs

When bitbake builds a particular OE package, it downloads the original source code of the upstream project (e.g. Linux kernel) from the web. After downloading it, it applies a series of local patches to it. Those patches are from either the OE upstream snapshot, or from the OpenMoko OE overlay tree.

The unpatched source tarballs are available from http://buildhost.openmoko.org/sources/

Build directory

The content of the build directory is available at http://buildhost.openmoko.org/tmp/gta01/

It contains

  • cache
    • Internal caching data, not for human interpretation
  • cross
    • The cross-compilation toolchain used. You can download this and use it on your local machine.
  • deploy
    • deploy/images
      • The filesystem, kernel and bootloader images to be flashed into NAND
    • deploy/ipk
      • the .ipk packages
  • rootfs
    • the extracted root filesystem. Please use the images from deploy/images instead
  • staging
    • no user servicable parts inside
  • stamp
    • internal state data
  • work
    • the actual build trees (including patches source code and binaries) of the individual packages

Binary packages

The binary packages of intermediate "inofficial" releases are available at http://buildhost.openmoko.org/tmp/gta01/deploy/ipk