Want to upgrade your OLPC XO-1, but still not ready to plunk down money on the OLPC XO-2? Install Ubuntu on an SD card! Not only do you suddenly have a faster, more usable machine, but you can just take the SD card out if you want to boot into Sugar. Using this post: XO Hacks: Beyond the Ubuntu Installation, I’ve written up some simplified instructions on how to do it:
NOTE: You will need to get a Developer key before installing any OS on the OLPC!
1. Download the Image
First, make sure you have an SD card. My Ubuntu install uses up 1023MB, so I would consider a 2GB card the minimum.
Next, download OLPCFiles-hardy-20080506.tar.bz2.torrent using BitTorrent, and stick the resulting 243MB file on the OLPC somewhere other than the SD card you intend to use. I used a 4GB USB stick to transfer it to the OLPC, but you can store this file anywhere on the built-in storage if you have space.
More inside the cut…
2. Prepare the System
Most of the next steps must be performed as root. The original OLPC build does not come with sudo, so this will work (the % sign represents the prompt, do not type it in).
% su -
Stop the automount and power management daemon, as they may interfere with the creation of a new volume.
% service haldaemon stop % touch /etc/ohm/inhibit-suspend
If you have inserted the SD card already, you must find the mountpoint and unmount it. Otherwise, you may now put the SD card in.
% df -h | grep mmc /dev/mmcblk0p1 1.9GB 1.1GB 749M 59% /media/NIKON D50 % umount /dev/NIKON\ D50
If you get back “device is busy” when you unmount, it’s because one of the automagic OLPC processes has decided to make use of your SD card. You can use fuser to find these commands, and kill the associated process id:
% fuser -mv /media/NIKON\ D50 USER PID ACCESS COMMAND /media/NIKON D50: olpc 1685 F.... python olpc 1912 F.... cat % kill 1685 1912 % umount /dev/NIKON\ D50
3. Prepare the SD card
Run:
% fdisk /dev/mmcblk0
This will put you in an interactive partitioner. Use “p” to display the partitions that exist:
Device Boot Start End Blocks Id System /dev/mmcblk0p1 1 4829 1960320+ 6 FAT16
- Type “d” [enter] for each of the partitions listed above (usually just one)
- Type “n” to create a new partition
- Select “p” for primary
- Select “1″ for partition number
- Press “enter” for First cylinder
- Press “enter” for Last cylinder
% mke2fs -v -j -L OLPCRoot /dev/mmcblk0p1
3. Installing Ubuntu
Make a mountpoint for the card and mount it:
% mkdir /media/OLPCRoot % mount /dev/mmcblk0p1 /media/OLPCRoot
Copy over the security and boot files from the built-in OLPC storage:
% rsync -vaR /security /boot /lib/modules /lib/firmware /media/OLPCRoot/
Then extract the Ubuntu image onto the SD card:
tar -C /media/OLPCRoot -xvjf /path/to/OLPCFiles-hardy-20080506.tar.bz2
This step will take a really long time, so go grab a coke and a smile.
4. Cleaning up
You’ll want to re-enable power management before you reboot:
rm /etc/ohm/inhibit-suspend
And then do the deed:
reboot
Your machine should now boot into Ubuntu with XFCE. The password for the olpc user is olpcolpc by default. If your machine boots back into Sugar, your SD card might not be in all the way, or may have bad sectors.
5. Post-Install
Configure color scheme
I found the default color scheme to cause tearing and corruption with the OLPC amd video driver. If this happens to you, you can change it by selecting a light background and icon scheme. Right click on the desktop, then select “Settings” and “Settings Manager”. Click on the “Desktop” and “User Interface” icons to get the job done.
Connect to Wireless
On the bottom of the screen, the left-most icon is to select your wireless network configuration. Click and select. This selection is not persistent between reboots.
Update Packages
Once connected to the Internet, the next thing to do is install the latest patches:
% sudo apt-get update % sudo apt-get upgrade
sudo
The next thing I did was set sudo up to not prompt for a password, similar to the OLPC. To do so, you will want to run visudo and uncomment:
%sudo ALL=NOPASSWD: ALL
and comment out:
%sudo ALL=(ALL) ALL
Automatic Login
To make it so that you automatically login like the standard OLPC image, edit /etc/gdm/custom.conf as root using gksudo or sudo, and add the following text to the [daemon] section:
AutomaticLoginEnable=true AutomaticLogin=olpc
Add “Add/Remove Programs” to your menu
By default the OLPC XO build does not include a GUI for installing or removing applications. This adds it:
% sudo apt-get install gnome-app-install
Add New Comment
Viewing 51 Comments
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Add New Comment
Trackbacks
(Trackback URL)