OpenEmbedded

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(OE upstream snapshot)
m (clarify, move around, prepare for adding location of official OE mirror)
Line 1: Line 1:
[[OpenMoko]], our distribution, is built using Open EmbeddedOpen Embedded will:
+
[[OpenMoko]], our distribution, is built using OpenEmbeddedOpenEmbedded will:
  
 
* Generate (cross-compile) software packages for multiple embedded targets.
 
* Generate (cross-compile) software packages for multiple embedded targets.
Line 6: Line 6:
 
For more information please see the [http://www.openembedded.org/ Open Embedded] website.
 
For more information please see the [http://www.openembedded.org/ Open Embedded] website.
  
== Master Build Server ==
+
== Building the OpenMoko distribution with OpenEmbedded ==
 
+
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 ===
 
=== OE upstream snapshot ===
Line 18: Line 12:
 
We start from an OpenEmbedded snapshot from the official "upstream" aka "Vanilla" OpenEmbedded project. This snapshot contains the [[BitBake recipe]]s for thousands of packages
 
We start from an OpenEmbedded snapshot from the official "upstream" aka "Vanilla" OpenEmbedded project. This snapshot contains the [[BitBake recipe]]s for thousands of packages
  
=== OpenMoko OE overlay tree ===
+
=== Upstream Source tarballs ===
  
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/ ([http://svnweb.openmoko.org/trunk/oe/ SVNweb]).
+
When bitbake builds a particular OE package, it downloads the original source code of the upstream project (e.g. Linux kernel) and patches from the internet. After downloading sources, bitbake applies a series of patches to the tree. These patches have either been downloaded from the internet or are contained in the OpenEmbemdded metadata repository. The unpatched source tarballs are available from http://downloads.openmoko.org/sources/
  
The ''overlay'' tree works in the following way: 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.
+
=== Binary packages ===
  
=== Upstream Source tarballs ===
+
If you don't want to build the whole distribution, you can download binary builds. Available are snapshot builds (tested) or autobuilds (untested).
  
When bitbake builds a particular OE package, it downloads the original source code of the upstream project (e.g. Linux kernel) from the web.
+
Snapshots have received testing and are available at http://buildhost.openmoko.org/snapshots/
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/
+
Automatic builds are untested and are available at
 +
* http://buildhost.openmoko.org/OM2007.2/tmp/deploy/ipk
  
 
=== Build directory ===
 
=== Build directory ===
  
The content of the build directory is available at
+
The content of the OpenMoko build server directory is available at
* http://buildhost.openmoko.org/OM2007.1/tmp/ (old OpenMoko tree)
+
* http://buildhost.openmoko.org/OM2007.2/tmp/
* http://buildhost.openmoko.org/OM2007.2/tmp/ (new OpenMoko tree)
+
  
 
It contains
 
It contains
Line 56: Line 49:
 
** the actual build trees (including patches source code and binaries) of the individual packages
 
** the actual build trees (including patches source code and binaries) of the individual packages
  
=== Binary packages ===
 
 
The binary packages of intermediate "unofficial" releases are available at
 
* http://buildhost.openmoko.org/OM2007.1/tmp/deploy/ipk (old OpenMoko tree)
 
* http://buildhost.openmoko.org/OM2007.2/tmp/deploy/ipk (new OpenMoko tree)
 
 
The snapshots (which have recieved some testing) are available at http://buildhost.openmoko.org/snapshots/
 
  
 
{{Languages|OpenEmbedded}}
 
{{Languages|OpenEmbedded}}
 
[[Category:OpenMoko|OpenMoko]]
 
[[Category:OpenMoko|OpenMoko]]

Revision as of 19:48, 28 November 2007

OpenMoko, our distribution, is built using OpenEmbedded. OpenEmbedded 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

Building the OpenMoko distribution with OpenEmbedded

OE upstream snapshot

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

Upstream Source tarballs

When bitbake builds a particular OE package, it downloads the original source code of the upstream project (e.g. Linux kernel) and patches from the internet. After downloading sources, bitbake applies a series of patches to the tree. These patches have either been downloaded from the internet or are contained in the OpenEmbemdded metadata repository. The unpatched source tarballs are available from http://downloads.openmoko.org/sources/

Binary packages

If you don't want to build the whole distribution, you can download binary builds. Available are snapshot builds (tested) or autobuilds (untested).

Snapshots have received testing and are available at http://buildhost.openmoko.org/snapshots/

Automatic builds are untested and are available at

Build directory

The content of the OpenMoko build server directory is available at

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


Personal tools

OpenMoko, our distribution, is built using OpenEmbedded. OpenEmbedded 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.

Building the OpenMoko distribution with OpenEmbedded

OE upstream snapshot

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

Upstream Source tarballs

When bitbake builds a particular OE package, it downloads the original source code of the upstream project (e.g. Linux kernel) and patches from the internet. After downloading sources, bitbake applies a series of patches to the tree. These patches have either been downloaded from the internet or are contained in the OpenEmbemdded metadata repository. The unpatched source tarballs are available from http://downloads.openmoko.org/sources/

Binary packages

If you don't want to build the whole distribution, you can download binary builds. Available are snapshot builds (tested) or autobuilds (untested).

Snapshots have received testing and are available at http://buildhost.openmoko.org/snapshots/

Automatic builds are untested and are available at

Build directory

The content of the OpenMoko build server directory is available at

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