Changes

Jump to: navigation, search

Dextrose/Building

18 bytes added, 06:52, 25 August 2010
m
edit for readability
== Build host requirements ==
The Dextrose build system runs on '''Fedora 11 i386''' through '''Fedora 13 x86_64'''. The host system runs _shouldn't_ ''shouldn't''' matter, because the build runs in a chroot environment. olpc-os-builder does not yet run on Ubuntu due to a missing dependency.
The initial build requires about '''700MB''' of rpm packages and Sugar activity bundles. The packages and bundles are cached for futures builds.
== Customizing your build ==
The topic of olpc-os-builder is too vast to discuss in detail here. Start by readingdocumented at
[http://git.sugarlabs.org/projects/dextrose/repos/mainline/trees/master/doc/README README]
in the olpc-os-builder tree. Then, as needed, read the various The modules are documented in <tt>README</tt> files contained in the
[http://git.sugarlabs.org/projects/dextrose/repos/mainline/trees/master/modules modules] directory.
Being a Build Master involves knowledge of many workflows, including:=== Upstream Code ===
* Building Sugar in [http://wiki.sugarlabs.org/go/Development_Team/Jhbuild sugar-jhbuild]. * Dealing with yum and [http://www.rpm.org/wiki/Docs rpm]. * Understanding the [http://fedoraproject.org/wiki/Packaging/Guidelines Fedora packaging] workflow and conventions. * Creating yum package repositories with <tt>[http://createrepo.baseurl.org/]</tt>. * Uploading activities to [http://activities.sugarlabs.org]. * General understanding of the Linux system plumbing infrastructure: [http://www.kernel.org/ kernel],[http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html udev], [http://www.freedesktop.org/wiki/Software/dbus dbus], [http://www.freedesktop.org/wiki/Software/DeviceKit DeviceKit], [http://www.freedesktop.org/wiki/NetworkManager NetworkManager],[http://www.x.org/wiki/ Xorg]... * Flashing laptops and debugging any problems * Interaction with the Sugar and OLPC community to solve issues and minimize our divergence from the official builds. == Upstream == Upstream Dextrose is based on upstream olpc code comes from located at dev.laptop.org:.
git remote add olpc git://dev.laptop.org/projects/olpc-os-builder
git log olpc/master
== Building custom = Customizing the core RPMs ===
* Go to the <tt>rpms/PACKAGENAME</tt> in the dextrose tree
* Increase the release number after each change.
* <tt>=== building the Custom RPM ===  make i586</tt> === Uploading the Custom RPM ===
* Upload rpm to a yum repository and add it to the ini file used by the OLPC OS builder.
* To automate this step, we have a rule <tt>make uploadrpm</tt> which points at the Dextrose repository. Edit <tt>rpms/common/Makefile.common</tt> or <tt>rpms/common/uploadrpm</tt> to retarget this rule to your repository.
=== Building custom OLPC kernels ===
$ git clone http://dev.laptop.org/git/olpc-2.6/
$ cd olpc-2.6
$ setarch i386 make ARCH=i386 xo_1-kernel-rpm
 
== Resources ==
 
* [http://wiki.sugarlabs.org/go/Development_Team/Jhbuild Sugar-jhbuild] - The Sugar Labs build system.
 
* [http://www.rpm.org/wiki/Docs Rpm] - The Redhat package manager.
 
* [http://fedoraproject.org/wiki/Packaging/Guidelines Fedora packaging] - Fedora packaging workflow and conventions.
 
* [http://createrepo.baseurl.org/] - The yum package repositories builder.
 
* [http://activities.sugarlabs.org] - The Sugar Labs activities library.
 
* General understanding of the Linux system plumbing infrastructure: [http://www.kernel.org/ kernel],
[http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html udev], [http://www.freedesktop.org/wiki/Software/dbus dbus], [http://www.freedesktop.org/wiki/Software/DeviceKit DeviceKit], [http://www.freedesktop.org/wiki/NetworkManager NetworkManager],
[http://www.x.org/wiki/ Xorg]...
 
* Flashing laptops and debugging any problems
 
* Interaction with the Sugar and OLPC community to solve issues and minimize our divergence from the official builds.
2,751
edits

Navigation menu