F11 for 1.5
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/sda1" to "root=/dev/sdb1" (for builds prior to os23, change "root=/dev/hda1" to "root=/dev/sda1")
- Change all occurrences of "c:\" to "u:\"
- Copy the filesystem image over
cp osNN-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.
awaiting commit to fedora CVS
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.
We tried to get this included in Fedora at https://bugzilla.redhat.com/show_bug.cgi?id=510573 but ran into a headache because the package needs to have a Conflict with plymouth (it provides /usr/bin/plymouth by-design), Conflicts are not permitted without good reason and "we don't have time to fix plymouth" is not a good reason. This package can live out-of-tree for now, and will hopefully die one day when plymouth is usable on XO and includes our theme.
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 awaiting commit to fedora CVS
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
- F11 for XO-1, notes on adapting this effort for the current XO hardware.
- Rawhide-XO, an older project.
Standard information
Build number and URL: Build number::999