OpenEmbedded

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Building the OpenMoko distribution with OpenEmbedded)
Line 8: Line 8:
 
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.
  
== 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]]. 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.
 
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.

Revision as of 08:06, 20 May 2008


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 MonotoneServer. 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.bz2

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/

TODO: finish article (See: To-Do List)
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. 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 MonotoneServer. 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.bz2

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/

TODO: finish article (See: To-Do List)