OpenEmbedded/zh cn

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(OpenEmbedded mirror)
 
(7 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[OpenMoko]], 是用OpenEmbedded构建的。OpenEmbedded将做到:
+
{{Languages|OpenEmbedded}}
 +
 
 +
Openmoko, 是用OpenEmbedded构建的。OpenEmbedded将做到:
  
 
* 为多个嵌入式目标环境生成(交叉编译)软件包。
 
* 为多个嵌入式目标环境生成(交叉编译)软件包。
Line 6: Line 8:
 
更多的信息请查阅网站 [http://www.openembedded.org/ Open Embedded]。
 
更多的信息请查阅网站 [http://www.openembedded.org/ Open Embedded]。
  
== Master Build Server ==
+
== 使用OpenEmbedded建立Openmoko套件 ==
  
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 ;)
+
请注意,如果你是一个程序开发人员,你可能不会想要使用OpenEmbedded建立Openmoko套件。若是这种情况,你最好是使用你预建的[[Toolchain]]。建立Openmoko套件是需要花费时间、cpu及磁盘耗用,所以,若你是系统整合的人员,或者是想要客制化你的Openmoko套件,你才需要进行这个工作。
  
The idea is that all official images and binary packages (ipk) are built on one machine with a well-defined environment.
+
[[MokoMakefile]],是简化建立OpenEmbedded的设备。若你是aformentioned 系统整合人员/套件客制化人员的话,我们强烈的建议你直接使用BitBake及OpenEmbedded 。
  
== Build Process with OpenEmbedded ==
+
=== OpenEmbedded mirror ===
 +
在OpenEmbedded中正式的Openmoko mirror可以在[[MonotoneServer]]上找到。如果你还没有monotone database,你可以自 [http://downloads.openmoko.org/OE/snapshots/OE.mtn.bz2 snapshot database]下载,并且解开它:
  
=== OE upstream snapshot ===
+
cd /local/pkg/oe
 +
wget http://downloads.openmoko.org/OE/snapshots/OE.mtn.bz2
 +
bzip2 -d OE.mtn.bz2
  
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
+
这比使用monotone 从我们的mirror中取回启始的数据库快速。接着,更新你的目录,虽然它可能应该从 monotone server进行(注意,它只是一个monotone server,并不包含web):
  
=== OpenMoko OE overlay tree ===
+
mtn --db=/local/pkg/oe/OE.mtn pull
 +
mtn update
  
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]).
 
  
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.
+
=== OpenEmbedded branch ===
 +
 
 +
在OpenEmbedded数据库中的官方的Openmoko的branch可以在Git.Openmoko.Org中找到.
  
 
=== Upstream Source tarballs ===
 
=== 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.
+
当bitbake建立了特定的OE套件时,它会从网络上下载upstream 项目的原始程序代码(Linux kernel)及 patches。在下载了原始码之后,bitbake 会套用patche文件到目录中,这些patche有的是从网络上下载下来的,或者是包含在OpenEmbemdded metadata 储存地址中。这些 unpatched source tarballs 可以在http://downloads.openmoko.org/sources/ 这个地址下载。
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/
+
{{todo|finish article}}
  
=== 构建目录===
+
[[Category:System Developers/zh cn]]
 
+
The content of the build directory is available at
+
* http://buildhost.openmoko.org/OM2007.1/tmp/ (old OpenMoko tree)
+
* http://buildhost.openmoko.org/OM2007.2/tmp/ (new OpenMoko tree)
+
 
+
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
+
 
+
=== 二进制包===
+
 
+
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}}
+
[[Category:Openmoko|OpenMoko]]
+

Latest revision as of 03:58, 14 January 2009


Openmoko, 是用OpenEmbedded构建的。OpenEmbedded将做到:

  • 为多个嵌入式目标环境生成(交叉编译)软件包。
  • 处理不同的硬件体系结构,提供多个版本来支持这些不同的体系结构。

更多的信息请查阅网站 Open Embedded

Contents

[edit] 使用OpenEmbedded建立Openmoko套件

请注意,如果你是一个程序开发人员,你可能不会想要使用OpenEmbedded建立Openmoko套件。若是这种情况,你最好是使用你预建的Toolchain。建立Openmoko套件是需要花费时间、cpu及磁盘耗用,所以,若你是系统整合的人员,或者是想要客制化你的Openmoko套件,你才需要进行这个工作。

MokoMakefile,是简化建立OpenEmbedded的设备。若你是aformentioned 系统整合人员/套件客制化人员的话,我们强烈的建议你直接使用BitBake及OpenEmbedded 。

[edit] OpenEmbedded mirror

在OpenEmbedded中正式的Openmoko mirror可以在MonotoneServer上找到。如果你还没有monotone database,你可以自 snapshot database下载,并且解开它:

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

这比使用monotone 从我们的mirror中取回启始的数据库快速。接着,更新你的目录,虽然它可能应该从 monotone server进行(注意,它只是一个monotone server,并不包含web):

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


[edit] OpenEmbedded branch

在OpenEmbedded数据库中的官方的Openmoko的branch可以在Git.Openmoko.Org中找到.

[edit] Upstream Source tarballs

当bitbake建立了特定的OE套件时,它会从网络上下载upstream 项目的原始程序代码(如 Linux kernel)及 patches。在下载了原始码之后,bitbake 会套用patche文件到目录中,这些patche有的是从网络上下载下来的,或者是包含在OpenEmbemdded metadata 储存地址中。这些 unpatched source tarballs 可以在http://downloads.openmoko.org/sources/ 这个地址下载。

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

OpenMoko, 是用OpenEmbedded构建的。OpenEmbedded将做到:

  • 为多个嵌入式目标环境生成(交叉编译)软件包。
  • 处理不同的硬件体系结构,提供多个版本来支持这些不同的体系结构。

更多的信息请查阅网站 Open Embedded

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 recipes 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/ (SVNweb).

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.

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/

构建目录

The content of the build 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

二进制包

The binary packages of intermediate "unofficial" releases are available at

The snapshots (which have recieved some testing) are available at http://buildhost.openmoko.org/snapshots/