|
|
| Line 1: |
Line 1: |
| <noinclude>{{GoogleTrans-en}}{{TeamHeader|Dextrose|home=Dextrose|xbgColor=ffe792|join_label=Get Involved}}</noinclude> | | <noinclude>{{GoogleTrans-en}}{{TeamHeader|Dextrose|home=Dextrose|xbgColor=ffe792|join_label=Get Involved}}</noinclude> |
|
| |
|
| == F11-XO1 ==
| | * Build system source: http://git.sugarlabs.org/projects/dextrose/repos/mainline |
|
| |
|
| We use [http://wiki.laptop.org/go/OS_Builder olpc-os-builder], a tool
| | * Out-of-tree patches for Sugar 0.88: http://people.sugarlabs.org/bernie/sugar/sugar-0.88-patches/ |
| used by OLPC to create official and customized system images.
| |
|
| |
|
| Our version contains local customizations specific to Paraguay and some
| | * Yum repository for custom Fedora packages (along with sources): http://download.sugarlabs.org/dextrose/testing/f11-0.88/rpms/ |
| patches that should be upstreamed.
| |
|
| |
|
| == How to create a build ==
| | * IRC: #sugar on irc.freenode.net (English preferred, Spanish also spoken by several members) |
|
| |
|
| We cook our builds on [[Machine/robbie]], which is Fedora 11 i386.
| |
| I could create builds also on my laptop, which runs Fedora 12 x86_64.
| |
| What the host system runs shouldn't matter much, because all the work
| |
| is being done in a chroot environment.
| |
|
| |
| * Checkout our local tree:
| |
|
| |
| git clone git://git.sugarlabs.org/dextrose/mainline.git
| |
|
| |
| * One time preparation
| |
|
| |
| yum upgrade
| |
| yum install libtomcrypt-devel bitfrost make gcc mtd-utils
| |
| make
| |
|
| |
| * Build:
| |
|
| |
| time sudo ./osbuilder.py examples/f11-xo1-py.ini
| |
|
| |
| * Wait 15 minutes
| |
|
| |
| * Serve hot
| |
|
| |
| == Signing ==
| |
|
| |
| * Put the 4 signing keys somewhere in your home:
| |
|
| |
| bernie@robbie:~$ ll src/olpc/keys/
| |
| -rw-------. 1 bernie bernie 1,2K Feb 5 2009 pyo1.private
| |
| -rw-------. 1 bernie bernie 270 Feb 5 2009 pyo1.public
| |
| -rw-------. 1 bernie bernie 1,2K Feb 5 2009 pys1.private
| |
| -rw-------. 1 bernie bernie 270 Feb 5 2009 pys1.public
| |
| -rw-------. 1 bernie bernie 1,2K Feb 5 2009 pyw1.private
| |
| -rw-------. 1 bernie bernie 270 Feb 5 2009 pyw1.public
| |
|
| |
| * Make sure the keys are '''NOT''' world-readable
| |
|
| |
| * Edit the paths in the <tt>[signing]</tt> section of <tt>examples/f11-xo1-py.ini</tt>
| |
|
| |
|
| |
| == Publishing the images ==
| |
|
| |
| I'm currently publishing selected builds in [http://oficina.paraguayeduca.org/~bernie/f11-xo1-py/ my public html folder].
| |
|
| |
| Signed builds should be published only if they implement the OLPC anti-theft system
| |
| ([http://wiki.laptop.org/go/Antitheft_HowTo OATS]). Signing does
| |
| not have anything to do with quality or endorsement (i.e. signed builds are not
| |
| necessarily bug-free).
| |
|
| |
| * TODO: We don't have a place for publishing official images yet
| |
|
| |
| * TODO: We don't have a procedure for releasing builds to field technicians (we may use repo.paraguayeduca.org in the future)
| |
|
| |
| * TODO: We don't keep release notes for our builds (we should probably use the wiki)
| |
|
| |
|
| |
| == Customizing the build ==
| |
|
| |
| The topic of is too vast to discuss in detail here. Start by reading http://git.paraguayeduca.org/gitweb/users/bernie/olpc-os-builder.git/blob_plain/HEAD:/doc/README README] in the olpc-os-builder tree. Then, as needed, read the various <tt>README</tt>
| |
| files contained in the [http://git.paraguayeduca.org/gitweb/users/bernie/olpc-os-builder.git/tree/HEAD:/modules modules] directory.
| |
|
| |
| Being a Build Master involves knowledge of many workflows, including:
| |
|
| |
| * 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 ==
| |
|
| |
| Our upstream code comes from dev.laptop.org:
| |
|
| |
| git remote add olpc git://dev.laptop.org/projects/olpc-os-builder
| |
| git fetch olpc
| |
| git log olpc/master
| |
|
| |
| == Building custom kernels ==
| |
|
| |
| $ git clone git://git.paraguayeduca.org/users/bernie/olpc-2.6
| |
| $ cd olpc-2.6
| |
| $ setarch i386 make ARCH=i386 xo_1-kernel-rpm
| |
|
| |
|
| | See also the documentation of the Dextrose [[/Build System]]. |
|
| |
|
| [[Category:SIG]] | | [[Category:SIG]] |