OpenEmbedded

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m (Building the OpenMoko distribution with OpenEmbedded)
m (Building the OpenMoko distribution with OpenEmbedded)
Line 8: Line 8:
 
== Building the OpenMoko distribution with OpenEmbedded ==
 
== Building the OpenMoko distribution with OpenEmbedded ==
  
Note that you probably don't want to build OpenMoko with OpenEmbedded, if you are an application developer. In that case, you better use our prebuilt [[Toolchain]]
+
Note that you probably don't want to build OpenMoko with OpenEmbedded, if you are an application developer. In that case, you better use our prebuilt [[Toolchain]]. Building OpenMoko is a time-, cpu- and diskspace consuming process which should only be done if you are a system integrator and want to customize your OpenMoko distribution.
  
=== OE upstream snapshot ===
+
The facility called [[MokoMakefile]] simplifies building OpenEmbedded, however it also shields you from a lot of knowledge. In case you are the aformentioned system integrator / distribution customizer, we strongly advise you to use BitBake and OpenEmbedded directly.
  
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
+
=== OpenEmbedded mirror ===
 +
The official OpenMoko mirror of the OpenEmbedded database can be found at [[Servers/monotone.openmoko.org]]. If you don't have a monotone database yet, you can download a [[http://downloads.openmoko.org/OE/snapshots/OE.mtn.bz2 snapshot database]] and unpack it:
 +
 
 +
cd /local/pkg/oe
 +
wget http://downloads.openmoko.org/OE/snapshots/OE.mtn.bz2
 +
bzip2 -d OE.mtn
 +
 
 +
This is faster than using monotone to fetch the initial database from our mirror. Subsequent updates of your tree though should be done by pulling from our monotone server (note that this is only a monotone server which does not contain a web presence):
 +
 
 +
mtn --db=/local/pkg/oe/OE.mtn pull
 +
mtn update
  
 
=== Upstream Source tarballs ===
 
=== Upstream Source tarballs ===

Revision as of 18:12, 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.

Building the OpenMoko distribution with OpenEmbedded

Note that you probably don't want to build OpenMoko with OpenEmbedded, if you are an application developer. In that case, you better use our prebuilt Toolchain. Building OpenMoko is a time-, cpu- and diskspace consuming process which should only be done if you are a system integrator and want to customize your OpenMoko distribution.

The facility called MokoMakefile simplifies building OpenEmbedded, however it also shields you from a lot of knowledge. In case you are the aformentioned system integrator / distribution customizer, we strongly advise you to use BitBake and OpenEmbedded directly.

OpenEmbedded mirror

The official OpenMoko mirror of the OpenEmbedded database can be found at Servers/monotone.openmoko.org. If you don't have a monotone database yet, you can download a [snapshot database] and unpack it:

cd /local/pkg/oe
wget http://downloads.openmoko.org/OE/snapshots/OE.mtn.bz2
bzip2 -d OE.mtn

This is faster than using monotone to fetch the initial database from our mirror. Subsequent updates of your tree though should be done by pulling from our monotone server (note that this is only a monotone server which does not contain a web presence):

mtn --db=/local/pkg/oe/OE.mtn pull
mtn update

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/

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

Note that you probably don't want to build OpenMoko with OpenEmbedded, if you are an application developer. In that case, you better use our prebuilt Toolchain

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/