Log in

Ubuntu installed on OLPC XO - c y l i

Ying Li
Date: 2008-02-29 02:56
Subject: Ubuntu installed on OLPC XO
Security: Public
Tags:ubuntu olpc
Thanks to several sources (wiki.laptop.org Ubuntu installation, wiki.laptop.org XFce, and OLPC News forums), I managed to get Ubuntu working on my OLPC.

The instructions were pretty straightforward, but the process wasn't entirely painless for me so I thought I'd post a few tips:

  1. 2G is absolutely fine. My Ubuntu installation with XFce takes up about 35% of my 2G disk.

  2. You can use the Ubuntu install image linked to from OLPC News forums (1.5G image), but if you want to make your own:

    • When installing qemu you really do want to install the bochs firmware because if you don't, your disk driver won't be detected while doing the Ubuntu install. I missed that part in the instructions, and it was annoying simply because it took a while for the install to get up to that point.

    • Back up your install images at certain stages so you can easily backtrack. For some reason my disk images got corrupted several times after (and during) the xserver install, and I was quite happy to not have to start all over. The Ubuntu install alone took a not insignificant amount of time.

    • The how-to mentioned ata errors and says to ignore them. I thought it would be some small error during bootup, but no, ata errors were scrolling by every second during bootup. It was pretty scary. But yes, apparently it's harmless.

    • After installing sysvinit, the qemu install wouldn't shut down, so I just closed the qemu window and booted back up. It was fine.

  3. I installed it on a microSD card - I have an SD card adapter and a USB adapter. OpenFirmware recognized the SD card, but didn't recognize the USB disk for some reason. My OLPC would mount the microSD/USB drive, but refused to boot off of it. I eventually figured out that it wasn't my olpc.fth, but rather my microSD/USB adapter. A different adapter worked just fine.

  4. Get the files off your OLPC onto a USB disk once (not the one your disk image is on), and copy it elsewhere. It will be much less painful than pulling the files off your OLPC and onto your bootable USB or SD card multiple times.

  5. You can use either the olpc.fth's on the wiki page or the one in the forums. My problem was that OpenFirmware would load the disk image from either the USB drive or the SD drive, but it would hang after loading ramdisk. I spent a huge amount of time reinstalling because I thought I had done something wrong. Apparently OpenFirmware freezes the display but Ubuntu doesn't know to unfreeze it even after the OS is loaded. The solution is to put the line "unfreeze" in your olpc.fth.

  6. It's easier to install xbindkeys and set up scripts, as well get your WPA PSK on your desktop than on the OLPC. The keyboard on the OLPC is a pain to use even for me.

  7. If you use WEP, the following in /etc/network/interfaces works just fine:
    iface eth1 inet dhcp
       wireless-essid SSID
       wireless-key KEY 

I do have some unresolved issues though - if anyone has any suggestions it would be great, as I haven't found solutions yet.

  1. hal-device does not seem to have a charge_level line in Ubuntu, so I haven't figured out how to display battery charge levels in Ubuntu xfce

  2. xrandr doesn't seem to work correctly in Ubuntu, so I can't rotate my display. I get the following error when executing xrandr -o right:
    X Error of failed request:  BadMatch (invalid parameter attributes)
      Major opcode of failed request:  154 (RANDR)
      Minor opcode of failed request:  2 (RRSetScreenConfig)
      Serial number of failed request:  12
      Current serial number in output stream:  12 
    Oddly enough, I get the same error on my desktop and glyf's desktop as well.

Post A Comment | 1 Comment | Share | Link

User: rico99
Date: 2008-09-23 05:18 (UTC)
Subject: Battery issue
I have the same problem with hal-device not showing the charge level. However, the following does seem to work:

olpc# more /sys/devices/platform/olpc-battery.0/power_supply/olpc-battery/status

olpc# more /sys/devices/platform/olpc-battery.0/power_supply/olpc-battery/capacity

So there's probably some missing mojo with hal-device. Anyway, here's the perl script I put together to go with genmon:

#! /usr/bin/perl

$per = `cat /sys/devices/platform/olpc-battery.0/power_supply/olpc-battery/capac
$status = `cat /sys/devices/platform/olpc-battery.0/power_supply/olpc-battery/st


if ($status eq "Discharging") {
$s = "-";
} elsif ($status == "Charging") {
$s = "+";
print "$s", "$per", "%";

Have fun!

Reply | Thread | Link

my journal
May 2009