olpc-os-builder [PATCH] add a Quick Start to README and reformat
James Cameron
quozl at laptop.org
Mon Jan 4 21:50:23 EST 2010
Tested olpc-os-builder on Fedora 11, and documented the steps required
to produce a build in a Quick Start section of the README.
Reformatted the previous text.
---
doc/README | 210 +++++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 136 insertions(+), 74 deletions(-)
diff --git a/doc/README b/doc/README
index 1455908..7a42f09 100644
--- a/doc/README
+++ b/doc/README
@@ -1,32 +1,64 @@
-olpc-os-builder is an application to generate OS images for XO laptops.
-It is the successor to pilgrim and fedora-xo which were used to generate prior
-OLPC OS releases.
+olpc-os-builder is an application to generate OS images for XO
+laptops. It is the successor to pilgrim and fedora-xo which were used
+to generate prior OLPC OS releases.
+
+
+Quick Start:
+
+ 1. install Fedora 11,
+
+ 2. install the build dependencies:
+
+ yum install zlib-devel libtomcrypt-devel glibc-headers
+
+ 3. build the package:
+
+ make install
+
+ 4. install the run-time dependencies:
-The build is made based from a build configuration, which selects a series
-of modules which were installed by olpc-image-builder. These modules (and
-the configuration you provide) control the outcome of the build process.
+ yum install python-imgcreate bitfrost
+
+ 5. produce a build:
+
+ olpc-os-builder examples/f11-xo1.5.ini
+
+ 6. view or use the build result files:
+
+ ls -l /var/tmp/olpc-os-builder
+
+
+Description:
+
+The build is made based from a build configuration, which selects a
+series of modules which were installed by olpc-image-builder. These
+modules (and the configuration you provide) control the outcome of the
+build process.
olpc-os-builder lets you build your own OLPC OS builds, with your own
-customizations. In fact, one of the design goals is to make it easier for
-OLPC deployments to make their own customizations. In this case, the general
-usage model is to take one of the example configurations which corresponds
-to the OLPC OS that you want to ship, and then make a handful of modifications
-according to your local requirements. These example configurations exactly
-match the build configurations that OLPC used to make the published OS release.
-
-When using olpc-os-builder in this fashion, you should take care to match
-your runtime environment with the one that OLPC used when the base OS image
-was originally released. For example, if OLPC OS release 10.2.0 was built with
-olpc-os-builder-1.0.3 on Fedora 11, and you want to modify this particular
-release but you are using olpc-os-builder-1.2.0 on Fedora 12 then the output
-images may differ significantly from the official OLPC OS release 10.2.0,
-which is probably not what you want.
-
-The example build configurations encode the version of olpc-os-builder which
-was used by OLPC at the time that each build was made. With this information,
-olpc-os-builder will warn you at the start of a build when you attempt to
-build such an image on a configuration that differs from the environment where
-the corresponding official OLPC OS release was made.
+customizations. In fact, one of the design goals is to make it easier
+for OLPC deployments to make their own customizations. In this case,
+the general usage model is to take one of the example configurations
+which corresponds to the OLPC OS that you want to ship, and then make
+a handful of modifications according to your local requirements.
+These example configurations exactly match the build configurations
+that OLPC used to make the published OS release.
+
+When using olpc-os-builder in this fashion, you should take care to
+match your runtime environment with the one that OLPC used when the
+base OS image was originally released. For example, if OLPC OS
+release 10.2.0 was built with olpc-os-builder-1.0.3 on Fedora 11, and
+you want to modify this particular release but you are using
+olpc-os-builder-1.2.0 on Fedora 12 then the output images may differ
+significantly from the official OLPC OS release 10.2.0, which is
+probably not what you want.
+
+The example build configurations encode the version of olpc-os-builder
+which was used by OLPC at the time that each build was made. With
+this information, olpc-os-builder will warn you at the start of a
+build when you attempt to build such an image on a configuration that
+differs from the environment where the corresponding official OLPC OS
+release was made.
Usage:
@@ -39,15 +71,17 @@ Various build configurations can be found in the examples directory
included with the distribution, including configurations used to build
OLPC OS releases.
-Build configuration files have a series of sections, each section title is
-enclosed in square brackets. Inside each section, there are options.
-For example, "mysection" below has one option, named "option1" with value
-"myvalue":
+Build configuration files have a series of sections, each section
+title is enclosed in square brackets. Inside each section, there are
+options. For example, "mysection" below has one option, named
+"option1" with value "myvalue":
+
[mysection]
option1=myvalue
-Options can reside on multiple lines, provided that all lines beyond the first
-one are indented, e.g.:
+Options can reside on multiple lines, provided that all lines beyond
+the first one are indented, e.g.:
+
[mysection]
option1=this is
an option
@@ -55,65 +89,94 @@ one are indented, e.g.:
but lines 2 through 4 must be indented
option2=foo
-In general, each section that can exist in the configuration file corresponds
-to a specific module. The section name is the same as the module name.
-The options that can exist in these sections are documented in the individual
-module documentation files.
+In general, each section that can exist in the configuration file
+corresponds to a specific module. The section name is the same as the
+module name. The options that can exist in these sections are
+documented in the individual module documentation files.
-There is one exception: the [global] section does not belong to any module.
-So we'll document it here, according to each possible setting:
+There is one exception: the [global] section does not belong to any
+module. So we'll document it here, according to each possible
+setting:
-fedora_release The numeric release number of the Fedora operating
- system to base the OLPC OS build on. e.g. 11 for
- Fedora 11
+fedora_release
-olpc_version_major The major version component of the OLPC version tag
- to include in the OS image. For example, in the OLPC
- OS 10.1.0 release, this would be 10
+ The numeric release number of the Fedora operating system to base
+ the OLPC OS build on. For example, 11 for Fedora 11.
-olpc_version_minor The minor version component of the OLPC version tag
- to include in the OS image. For example, in the OLPC
- OS 10.1.0 release, this would be 1
+olpc_version_major
-olpc_version_release The release version component of the OLPC version tag
- to include in the OS image. For example, in the OLPC
- OS 10.1.0 release, this would be 0
+ The major version component of the OLPC version tag to include in
+ the OS image. For example, in the OLPC OS 10.1.0 release, this
+ would be 10.
-customization_info Please set this to a string that indicates your
- identity, to make clear that the resultant build is a
- modified version of OLPC's official release.
- For example, you could use something like
- "customized for Paraguay" when producing an OS build
- for OLPC's Paraguayan deployment.
+olpc_version_minor
-target_platform A textual description of the target platform for the
- build, e.g. XO-1.5
+ The minor version component of the OLPC version tag to include in
+ the OS image. For example, in the OLPC OS 10.1.0 release, this
+ would be 1.
-langs A set of languages to support in the resultant OS image.
+olpc_version_release
-modules The selection of modules to include in the build.
+ The release version component of the OLPC version tag to include
+ in the OS image. For example, in the OLPC OS 10.1.0 release, this
+ would be 0.
+customization_info
-In general, options need to be set with care. Aim to stick with the values
-shown in the examples where possible. For example, if you were to exclude
-the "base" module from the build then you will get strange results. Also, you
-cannot arbitrarily change fedora_release without adapting all of the module
-code to work with the ever-changing components of each official Fedora release.
+ Please set this to a string that indicates your identity, to make
+ clear that the resultant build is a modified version of OLPC's
+ official release. For example, you could use something like
+ "customized for Paraguay" when producing an OS build for OLPC's
+ Paraguayan deployment.
+target_platform
+
+ A textual description of the target platform for the build, for
+ example XO-1.5.
+
+langs
+
+ A set of languages to support in the resultant OS image.
+
+modules
+
+ The selection of modules to include in the build.
+
+
+In general, options need to be set with care. Aim to stick with the
+values shown in the examples where possible. For example, if you were
+to exclude the "base" module from the build then you will get strange
+results. Also, you cannot arbitrarily change fedora_release without
+adapting all of the module code to work with the ever-changing
+components of each official Fedora release.
Design goals:
- - revolve around Fedora's image-creator infrastructure, meaning that we use a
- lot of Fedora's official build infrastructure
+
+ - revolve around Fedora's image-creator infrastructure, meaning that
+ we use a lot of Fedora's official build infrastructure
+
- allow XO-1 and XO-1.5 builds from the codebase
+
- limit all configuration to a single INI-style text file
- - through the configuration file, allow common deployment modifications to be
- made without too much technical know-how
+
+ - through the configuration file, allow common deployment
+ modifications to be made without too much technical know-how
+
- copy elements of dracut's modular design to achieve the above
- - eliminate the need for image-builder, which had the undesirable effect of
- replicating some of the build infrastructure in 2 places
- - avoid any 'difficult' system requirements so that this can be packaged
- into official Fedora and hence easily installed and used by deployments
+
+ - eliminate the need for image-builder, which had the undesirable
+ effect of replicating some of the build infrastructure in 2 places
+
+ - avoid any 'difficult' system requirements so that this can be
+ packaged into official Fedora and hence easily installed and used
+ by deployments
+
+
+Fedora 11 Dependencies:
+
+ Build-Requires: zlib-devel libtomcrypt-devel glibc-headers
+ Requires: python-imgcreate bitfrost
Development:
@@ -123,4 +186,3 @@ Development:
Contact:
devel at lists.laptop.org
http://lists.laptop.org/listinfo/devel
-
--
1.6.5
--
James Cameron
http://quozl.linux.org.au/
More information about the Devel
mailing list