F11 for 1.5

From OLPC
Revision as of 05:47, 16 July 2009 by 86.14.215.141 (talk) (Modifications to Fedora)
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. As of June 2009, F11-1.5 builds do not run on the XO-1, however F11 for XO-1 has notes on how this might be accomplished.

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 August, 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.

Mailing list

We talk to each other on the fedora-olpc-list mailing list. New builds are announced here.

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 flash drive as the external medium, but it could be easily adapted for SD.

  • On a Linux PC, download osNN-tree.tar.lzma
  • Decompress it:
unlzma osNN-tree.tar.lzma
  • Take a 2GB (or larger) USB drive, plug it in, and format its first partition as ext2, e.g.:
mke2fs /dev/sdb1
    • Note that you must use a partitioned drive.
    • In the example /dev/sdb1 is the first partition on the USB drive that you have plugged in — if you get this parameter wrong then you may erase all the data on your hard disk!
  • 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 os'NN-tree.tar /mnt/tmp
  • Unmount
umount /mnt/tmp

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

To install on XO-1.5:

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

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 kernels for XO-1 and XO-1.5 based on Linux 2.6.30 at git://dev.laptop.org/olpc-2.6 in the olpc-2.6.30 branch (web interface) or later branches for newer kernels (laptop devel mailing list post).

RPMs

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.

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. It depends on bitfrost.

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

https://bugzilla.redhat.com/show_bug.cgi?id=510626

sugar

<trac>9403</trac>: we've added Ad-Hoc networking support to Sugar-0.84

xorg-x11-drv-openchrome

The F11 package now includes support for our hardware, the VX855, however it does not support our panel resolution and also it calculates panel PLL's incorrectly. As such, our modified version drops the VX855 patch and adds our own version, which is very similar and additionally includes appropriate hacks to get our panel running.

See also

Standard information

Build number and URL: Build number::999