Ubuntu on the OLPC XO-1

2 May 2008

Last night, I put Ubuntu 8.04 (running the GNOME desktop) on an SD card of mine (thus disabling my camera for the time being) and booted it on the OLPC XO-1:

Ubuntu on the OLPC XO-1

I avoided doing this for a while, as I know it kind of defeats the purpose of having an XO, but it’s been educational doing it, and I’m impressed with the results.

First thing I noticed was the speed. It’s much faster than I thought it would be, and about the same speed as Ubuntu would be on a 300MHz or 400MHz Pentium II desktop.

The webcam is detected as /dev/video0 and shows as a Video4Linux 2 device to GStreamer; however, it bombs out with some error that I can’t make head or tails of. Also, neither Cheese nor VLC will display the webcam.

Initially, I thought the audio was broken, but I found it was because the user I had created hadn’t been added to the audio group. Editing /etc/group and doing a logout-login cycle fixed that.

The touchpad was very finicky — much more so than in Sugar. Most annoying was that “tapping” had been enabled, where tapping on the touchpad would result in a mouse click. Well, it didn’t even need to be a “tap” — even lifting your finger off the touchpad lightly would sometimes result in a mouse click or two.

Fortunately, by adding the line “option mousedev tap_time=0” to /etc/modprobe.d/olpc.conf.dist, the tapping was disabled. Much better.

Been doing some video playback and audio playback — video is not too bad, but the audio is crackly. Probably PulseAudio’s fault. Need to work on that.

Next step: trying out Ubuntu Mobile and Embedded Edition (a.k.a. hildon-desktop).

Debian Sid on the OLPC XO

6 February 2008

Today, I ran an Xfce desktop on top of Debian Sid on the OLPC XO. I did this thanks to the help from an article on installing Ubuntu on the XO.

I quickly gave up trying to run Ubuntu, as it had a much larger installation footprint than Debian. Ubuntu takes up about 350MB with a base install; Debian only about 150MB. Debian Sid also had the right packages for the XO’s video (xserver-xorg-video-amd) and was quite easy to debootstrap straight onto the USB flash drive (I formatted it as ext2, although jffs2 would probably be better for the health of the drive; I also didn’t bother with the QEMU method of installation).

After debootstrap‘ing the Debian system onto the flash drive, getting it to boot was as easy as copying the /boot, /lib/modules, /lib/firmware, and /etc/modprobe.d directories from the existing Sugar OS, grabbing the xorg.conf and olpc.fth files mentioned on the wiki page, and booting.

My first attempt didn’t go so well — I kept getting some error about not being about to mount /dev/root, but I found that was because the initrd for the kernel I was using (the kernel that ships with OS build 406) didn’t seem to have SCSI block device support. I fixed that by instead using the kernel and modules from build 690.

Well, I have to say that Debian on the XO is much better than Fedora. Okay, at the moment, I don’t have many of the power saving features that you get in the official XO OS like automatically suspending the CPU between keystrokes, but in general the OS is faster, and more lightweight.

I’m currently running Xfce 4, which is much faster than the Sugar interface, which was quite an unexpected find for me. I suspect this is partly because the GTK+ and icon theme in Xfce is pixmap-based, but in Sugar, everything is vector-based, and rendered on-the-fly by Cairo.

But after doing all that, I’m still going to use the official Sugar+Fedora OS, mostly so I can actually code up useful stuff that will be useful to other users of Sugar, rather than just my own personal needs/tastes. (I’ve already contributed one patch to Pippy, a Python editor for Sugar.)