F11 for 1.5

From OLPC
Revision as of 10:41, 26 June 2009 by 24.61.13.2 (talk) (olpc-utils)
Jump to: navigation, search

OLPC is developing a Fedora 11 Remix for the XO-1.5. The aim is to ship this software release with the XO-1.5 laptop as it begins to ship, later in 2009. We aim for the release to reach a suitable quality for immediate release to OLPC deployments.

Requirements

The release is primarily [[Has objective:: targeted at the XO 1.5]], and must be ready in time for that hardware to ship. Because of the new kernel work required, no previous distribution will work on the XO-1.5 without modification. As a result, we must prioritize creating a shippable XO-1.5 build over creating a build that works well on both XO-1.5 and XO-1.

To be decided: status::nascent

  • Release date:target date::? (Target month?)
  • Support features. (How long will OLPC support the release for?)

Hardware status

A small number of XO-1.5 A-test boards have been manufactured and distributed to the core developers. In July, we anticipate having a larger stock of B-test boards for distribution to more developers and testers through the Contributors program.

Software status

Most of the system is functional, but there are many rough edges. It boots into gdm, offering a choice between Sugar and GNOME.

Bugs and outstanding work

This trac query shows current bugs for the XO-1.5. Look in the distro, kernel and x window system components for the software-related tickets.

Build system

We are using Fedora's standard livecd-creator to produce LiveCD images of our release. We then run a script on the output .iso which makes it an "installed" (non-live) image and repacks it in a format suitable for flashing onto the XO-1.5.

The code is at git://dev.laptop.org/projects/fedora-xo in the xo-1.5 branch (web interface).

Download

Builds are here: http://dev.laptop.org/~cjb/f11-1.5/

Installation

Until we have a firmware-based installation method, we have to boot the XO from an external medium and then install the OS image to the internal flash storage. The example below uses a USB disk as the external medium, but it could be easily adapted for SD.

  • On a Linux PC, download osX-tree.tar.lzma
  • Decompress:
unlzma osX-tree.tar.lzma
  • Take a 2GB (or larger) USB disk, plug it in and format it as ext2, e.g.
    • Note that you must used a partitioned disk as in the example below.
    • /dev/sdb1 must correspond to the USB disk that you have plugged in -- if you get this parameter wrong then you might erase all the data on your hard disk.
mke2fs /dev/sdb1
  • Mount the partition and extract the tarball
mount /dev/sdb1 /mnt/tmp
tar -C /mnt/tmp -xpf osX-tree.tar
  • Modify /mnt/tmp/boot/olpc.fth
    • Change "root=/dev/hda1" to "root=/dev/sda1"
    • Change all occurrences of "c:\" to "u:\"
  • Copy the filesystem image over
cp osX-tree.tar /mnt/tmp
  • Unmount
umount /mnt/tmp

Now you have a USB disk that you can boot the XO from. For future installs, you can simply reuse this disk (with a new filesystem image copied over, as in the penultimate step).

To install on XO-1.5:

  • Insert USB disk and turn on. The XO will boot from the USB disk.
  • Format the XO's flash memory as ext2:
mke2fs -O dir_index -L OLPCRoot /dev/hda1
  • Mount and extract filesystem image
mkdir -p /mnt/tmp
mount /dev/hda1 /mnt/tmp
tar -C /mnt/tmp -xpf /osX-tree.tar
  • Unmount and reboot
umount /dev/hda1
reboot

Mailing list

Modifications to Fedora

We're trying to work as close to Fedora (and the upstream projects which Fedora distributes) as possible; however, we also have the pressure of having to build a laptop and its software on a fixed timetable, so our priority remains on making things work.

We'll keep this list updated as modifications come and go. Most of the changes can be found in the source RPMs found here: http://dev.laptop.org/~dsd/xo1.5-rpms/

kernel

We maintain our own kernel based on Linux 2.6.30 at git://dev.laptop.org/olpc-2.6 in the xo-1.5 branch (web interface). These kernels get built into RPMs which can be found at http://dev.laptop.org/~dilinger/xo-1.5/

We aim to get much or all of this work upstream, but at the same time there are various challenges associated with that, and we need somewhere to develop and test our changes before they are ready.

The main modifications in our kernel include:

  • Various patches to VIA drivers to support the brand-new VX855 chipset which the XO-1.5 is based on
  • Support for OpenFirmware, the XO equivalent of a BIOS.
  • We build the initramfs using dracut, not mkinitrd.

xorg-x11-drv-openchrome

We add patches to this driver to support the brand new video hardware that is present in the XO-1.5. These patches will be going upstream soon, and hopefully we can get them included in Fedora 11 updates.

dracut

We add dracut to our build which is used for generating the early-boot initramfs. Dracut suits our needs perfectly: we are going to implement our boot animation and initramfs-level security system as dracut modules.

dracut-0.1 has been released. It should now be realistic to get it included as a package in F11 (but obviously not as a mkinitrd replacement just yet).

dracut-modules-olpc

This new package includes a dracut module for OLPC's boot animation, and it will soon include a module for implementing OLPC's antitheft security.

This is ready to be included in Fedora, although the build system/specfile probably needs to be improved.

olpc-bootanim

This new package is OLPC's boot animation. Plymouth doesn't play nicely in the presence of serial consoles and has performance issues so we are sticking to a system which we know is working for now.

This is ready to be included in Fedora, although the build system/specfile probably needs to be improved.

olpc-library

This new package provides some code to generate a pretty HTML index page of all of the library bundles (e.g. textbooks) installed on the laptop. It is the page that is displayed when you open the Browse activity (Sugar's web browser).

This is ready to be included in Fedora, although the build system/specfile probably needs to be improved.

See mstone's library packaging for packaging that is somewhat more consistent with Fedora's packaging guidelines than the old packaging. (However, do note that Fedora's guidelines on Code vs Content would probably require us to strip SJ's olpc-library-core subpackage from the spec that I wrote.)

olpc-switch-desktop

This new package provides a Sugar control panel icon for changing the default desktop to GNOME, and a GNOME icon for switching back to Sugar.

This is ready to be included in Fedora, although the build system/specfile probably needs to be improved.

olpc-utils

This new package provides various configurations and customizations for the XO laptop. It also provides our lightweight desktop manager olpc-dm.

This is ready to be included in Fedora, although the build system/specfile probably needs to be improved.

olpc-utils and olpc-netutils are both already included in Fedora and are both open to provenpackager. Are you just asking for a rebuild from newer sources? -- Michael Stone

See also

Standard information

Build number and URL: Build number::999