F11 for XO-1: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (adding crcimage rpm to the yum install)
(update for Steven M. Parrish and OS3 build)
Line 1: Line 1:
OLPC is developing a new XO operating system (a new Fedora spin, see [[F11 for 1.5]]) for the [[XO-1.5]] hardware revision. It includes various improvements and modernizations over the last released version ([[Release notes/8.2.1|release 8.2.1]] on 2009-05-13) for the [[XO-1]] hardware shipped to many [[deployments]] and [[G1G1]] donors.
OLPC is developing a new [[Fedora]]-based XO operating system, see [[F11 for 1.5]]) for the [[XO-1.5]] hardware revision. It includes various improvements and modernizations over the last released version ([[Release notes/8.2.1|release 8.2.1]] on 2009-05-13) for the [[XO-1]] hardware shipped to many [[deployments]] and [[G1G1]] donors.


Unfortunately, due to time pressures and limited resources, these new software builds are only available for the under-development XO-1.5 hardware. However, it would be relatively easy for a community member to make builds available for XO-1, based on the efforts for XO-1.5. Ideally this would be an ongoing process where a few people work together, publishing a new build every few days, acting on as much user feedback as possible, etc. It would also be beneficial to keep a close eye on the XO-1.5 efforts to learn about the changes being made.
Unfortunately, due to time pressures and limited resources, these new software builds are only available for the under-development XO-1.5 hardware. However, it would be relatively easy for a community member to make builds available for XO-1, based on the efforts for XO-1.5. Ideally this would be an ongoing process where a few people work together, publishing a new build every few days, acting on as much user feedback as possible, etc. It would also be beneficial to keep a close eye on the XO-1.5 efforts to learn about the changes being made.

== Community-developed builds ==
In July 2009 Steven M. Parrish took over creating builds of Fedora 11 the XO-1 from Daniel Drake.

=== os3 ===
The build "os3" includes the pretty boot animations, and also replaces olpcsound with csound.

Builds can be downloaded from http://dev.laptop.org/~smparrish/xo-1/builds/

The usual cautions apply:
* this is development code
* you will need to request a [[developer key]]
* you need to know how to issue firmware commands ([[OFW FAQ]] is one starting point)
* there will be bugs!

=== Installation instructions===
At the firmware prompt, use <tt>copy-nand</tt> to install os3.img with os3.crc, '''overwriting your XO-1's files'''.

You ''may'' be able to use Live USB techniques to create a bootable USB from os3.iso;
see earlier guides on [[Rawhide-XO]].

=== Earlier builds ===
See http://dev.laptop.org/~dsd/f11-xo1/

== Notes on how to create XO-1 builds ==
''People presumably are following these steps to create.''


Here's how you might do it:
Here's how you might do it:
Line 51: Line 77:


[[Category:Build system]]
[[Category:Build system]]
[[Category:Builds]]

Revision as of 07:17, 2 August 2009

OLPC is developing a new Fedora-based XO operating system, see F11 for 1.5) for the XO-1.5 hardware revision. It includes various improvements and modernizations over the last released version (release 8.2.1 on 2009-05-13) for the XO-1 hardware shipped to many deployments and G1G1 donors.

Unfortunately, due to time pressures and limited resources, these new software builds are only available for the under-development XO-1.5 hardware. However, it would be relatively easy for a community member to make builds available for XO-1, based on the efforts for XO-1.5. Ideally this would be an ongoing process where a few people work together, publishing a new build every few days, acting on as much user feedback as possible, etc. It would also be beneficial to keep a close eye on the XO-1.5 efforts to learn about the changes being made.

Community-developed builds

In July 2009 Steven M. Parrish took over creating builds of Fedora 11 the XO-1 from Daniel Drake.

os3

The build "os3" includes the pretty boot animations, and also replaces olpcsound with csound.

Builds can be downloaded from http://dev.laptop.org/~smparrish/xo-1/builds/

The usual cautions apply:

  • this is development code
  • you will need to request a developer key
  • you need to know how to issue firmware commands (OFW FAQ is one starting point)
  • there will be bugs!

Installation instructions

At the firmware prompt, use copy-nand to install os3.img with os3.crc, overwriting your XO-1's files.

You may be able to use Live USB techniques to create a bootable USB from os3.iso; see earlier guides on Rawhide-XO.

Earlier builds

See http://dev.laptop.org/~dsd/f11-xo1/

Notes on how to create XO-1 builds

People presumably are following these steps to create.

Here's how you might do it:

Prerequisites: Fedora 11 system, with sudo access and a decent amount of disk space.

yum install git livecd-tools mtd-utils crcimg

As your regular user, check out fedora-xo:

git clone git://dev.laptop.org/projects/fedora-xo

In this git tree:

  • master branch is currently unused.
  • xo-1.5 branch contains all build scripts for the new OS release for the XO-1.5.
  • xo-1 branch is the result of an experiment of an OLPC developer who did a one-off backport to XO-1 in his spare time. This is your starting point.
git checkout --track -b xo-1 origin/xo-1

As a quick summary of the most important files,

olpc-base.ks and olpc-desktop.ks
the kickstart files used to make the core software image.
livecd-creator
processes the core software files to create a .iso image.
livecd-iso-to-xo.sh
converts that .iso into an image that can be flashed onto XOs.
Makefile
wraps up the whole process.

The ongoing process will be to synchronize the xo-1 branch with any new changes made to the xo-1.5 branch. Really, there are only a few differences that must be maintained between the 2 branches. You can see these differences with this command:

git diff 38951c7..xo-1

The above command shows the state of the XO-1.5 branch at the point of last synchronization compared to the XO-1 branch. The differences that have to be maintained (for example, geode video driver, jffs2 file-system) can be seen here, but even this was an unclean synchronization and could be made cleaner (there is some "noise" in the diff).

The next step is to look at all of the recent changes that have been made to xo-1.5 and merge them into xo-1. I would do this by comparing the 2 trees as follows:

git diff xo-1 origin/xo-1.5

Your task is to apply all the hunks of this diff (excluding ones that are specific to the XO-1.5 hardware) so that the output of this command looks similar to (or better than) the output of the earlier diff - i.e. so that the only differences between the 2 branches are the handful of changes that account for the differences in hardware.

Even in current state (before merging any new changes), the xo-1 branch is ready for building and should produce a bootable build. Here's how you kick off a build:

mkdir output cache builddir
cd output
make -f ../Makefile os1.img

After some time, the output file "os1.img" will be ready for flashing onto your unlocked XO.

If you're happy with this process, the next steps are to publish your build by uploading it to a webhost, and then announcing it on the OLPC devel and Fedora-OLPC mailing lists.

If you are a known community member, OLPC would probably be happy to give you access to machines where you can run these builds from and host the downloads. Otherwise, this is still a possibility but you'd probably first be expected to make and publish a couple of builds on your own. Similarly, it should be possible to get you direct access to commit to the main fedora-xo repository. Once usable builds are being published regularly, you could also take over this wiki page.

I may have forgotten a few considerations in the above braindump, but if you're interested then the next step is to give it a try and write about any troubles on the devel@lists.laptop.org mailing list, and we'll help you figure it out. -- User:DanielDrake 2009-07-14