Dextrose/Building: Difference between revisions
No edit summary |
No edit summary |
||
| (10 intermediate revisions by 5 users not shown) | |||
| Line 1: | Line 1: | ||
<noinclude>{{TeamHeader|Dextrose|home=Dextrose|xbgColor=ffe792|join_label=Get Involved}}</noinclude> | <noinclude>{{TeamHeader|Dextrose|home=Dextrose|xbgColor=ffe792|join_label=Get Involved}}</noinclude> | ||
{{Obsolete|Moved and died at https://sugardextrose.org/projects/dextrose/wiki/Build_system_set-up}} | |||
== Dextrose build system == | == Dextrose build system == | ||
| Line 18: | Line 20: | ||
yum upgrade | yum upgrade | ||
yum install libtomcrypt-devel bitfrost crcimg make gcc mtd-utils python-imgcreate zip unzip zlib-devel lzma | yum install libtomcrypt-devel bitfrost crcimg make gcc mtd-utils python-imgcreate zip unzip zlib-devel lzma netpbm-progs git wget | ||
* Install the olpc-bootanim-tools package: | * Install the olpc-bootanim-tools package: | ||
| Line 30: | Line 32: | ||
Alternatively, you could rebuild the olpc-bootanim package from source: | Alternatively, you could rebuild the olpc-bootanim package from source: | ||
yum install rpm-build netpbm-progs | |||
wget http://download.sugarlabs.org/dextrose/testing/dx3/rpms/source/olpc-bootanim-2.14-1.bernie1.fc16.src.rpm | wget http://download.sugarlabs.org/dextrose/testing/dx3/rpms/source/olpc-bootanim-2.14-1.bernie1.fc16.src.rpm | ||
rpmbuild --rebuild olpc-bootanim-2.14-1.bernie1.fc16.src.rpm | rpmbuild --rebuild olpc-bootanim-2.14-1.bernie1.fc16.src.rpm | ||
| Line 36: | Line 39: | ||
* Checkout the Dextrose build system | * Checkout the Dextrose build system | ||
git clone git://git.sugarlabs.org/dextrose/mainline.git dextrose | git clone git://git.sugarlabs.org/dextrose/mainline.git dextrose | ||
* Compile build helper programs | * Compile build helper programs | ||
| Line 51: | Line 54: | ||
* Become root and run the build system: | * Become root and run the build system: | ||
sudo | time sudo ./osbuilder.py config/dextrose3-xo1-nognome.ini | ||
The initial build may take several hours, depending on available bandwidth. | |||
Subsequent builds will take about 15-20 minutes on average desktop machines. | |||
Upon completion, the new image will be available in <tt>build/output</tt>. | |||
Now copy it on a USB stick and test it on your target. | |||
=== Available variants === | |||
There's a set of configuration files for each variant of the images you can build. You only need to specify the top-level file (i.e. none of the <code>*-common.ini</code> files) to build an image: | |||
;dextrose3-xo1-gnome.ini: | |||
:Works on [[olpc:XO-1|XO-1]], includes Gnome. Not recommended unless you're running from an external SD card as the free space available on the internal NAND is too limited with Gnome installed. | |||
;dextrose3-xo1-nognome.ini: | |||
:Works on [[olpc:XO-1|XO-1]], does not include Gnome. This is the recommended image for XO-1s. | |||
;dextrose3-xo1.5-gnome.ini: | |||
:Works on [[olpc:XO-1.5|XO-1.5]] (including XO-1.5 [[olpc:OLPC_English_Non-membrane_Keyboard|HS]]), includes Gnome. Some teachers and older students seem to like Gnome, so you can trade off some of the free space that could be used by the Journal for the additional desktop environment. | |||
;dextrose3-xo1.5-nognome.ini: | |||
:Works on [[olpc:XO-1.5|XO-1.5]] (including XO-1.5 [[olpc:OLPC_English_Non-membrane_Keyboard|HS]]), doesn't include Gnome. More space for the Journal, so use this one if your users don't ask for Gnome and you haven't paid for a larger (i.e. > 4GB) SD card. | |||
;dextrose3-xo1.75-gnome.ini: | |||
:Experimental [[olpc:XO-1.75|XO-1.75]] image with Gnome. | |||
;dextrose3-xo1.75-nognome.ini: | |||
:Experimental [[olpc:XO-1.75|XO-1.75]] image without Gnome. | |||
== Debugging == | |||
Because several build tools (olpc-os-builder, imgcreate and yum) run chrooted | Because several build tools (olpc-os-builder, imgcreate and yum) run chrooted | ||
and nested into each other, error output | and nested into each other, error output is often obscure or misleading. | ||
Before digging into code, | Before digging into the code, try asking on IRC in case someone has already seen | ||
the same problem. | |||
== Publishing the images == | == Publishing the images == | ||
| Line 76: | Line 99: | ||
=== Upstream Code === | === Upstream Code === | ||
Dextrose is based on | Dextrose is based on [http://dev.laptop.org/git/projects/olpc-os-builder/ olpc-os-builder] by Daniel Drake. You can fetch the latest source code into your Dextrose repository: | ||
git remote add olpc git://dev.laptop.org/projects/olpc-os-builder | git remote add olpc git://dev.laptop.org/projects/olpc-os-builder | ||
| Line 115: | Line 138: | ||
== Resources == | == Resources == | ||
* [[Machine | * [[Machine/dextrose|Dextrose VM]] hosted by [[Machine/treehouse|treehouse]] | ||
* [[Development_Team/Jhbuild|Sugar-jhbuild]] - The Sugar build system | * [[Development_Team/Jhbuild|Sugar-jhbuild]] - The Sugar build system | ||