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.
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
- We talk to each other on the fedora-olpc-list 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.
bitfrost
We have moved all bitfrost modules into a single package, being reviewed for F11 inclusion at https://bugzilla.redhat.com/show_bug.cgi?id=509399
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 has been released and is on it's way into F11.
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-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.
- Awaiting comments: https://www.redhat.com/archives/fedora-olpc-list/2009-June/msg00108.html ABostrom 13:20, 29 June 2009 (UTC)
sugar-update-control
The addition of the bitfrost package requires some changes to sugar-update-control as it used to provide its own bitfrost modules. Now they are provided by the bitfrost package. We've forked the sugar-update-control package until these changes hit F11.
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
- Rawhide-XO, Fedora builds for the current XO.
Standard information
Build number and URL: Build number::999