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]] |