Table of Contents

How to install Debian GNU/Linux on OLPC XO-1

This guide (updated 2024) will guide you through the steps of installing Debian GNU/Linux “etch” on an OLPC XO-1 in a dual-boot configuration, and get it online with functioning apt package system.

From there you can install a windowing system, or upgrade your edition of Debian.

There exists guides on the official OLPC website, but they are outdated and have broken links. This page aims to update the documentation from the official source, until the official document is updated. This page will link to local sources, so as long as this page is up, so are all the required resources for downloads etc.

This documentation assumes that you are running a clean install of OLPC XO-1 software, but should work on a system with at least 300 MB free space on the system disk. If you are having issues with any steps documented before booting into Debian, try reimaging the OLPC XO-1 software with version 8.2.0 (also known as build 767). Follow the instructions here under Offline upgrade to reinstall the operating system. All existing files on the OLPC will be erased!

Install Debian as a dual-boot OS

Follow the steps outlined here: Installing Debian as an upgrade mirror of aforementioned document. Please note the changes for some steps you may need to follow outlined below.

Changes to documentation

In Step 1, if you do not have a pre-existing Debian system, you may want to download a prebuilt bootstrap package: xo-debian.tgz Right-click the link and shift-click “Save As” if the file doesn't download automatically.

In Step 2, the TAR command will probably not work as documented. Use the following command instead:

# tar xvf /media/*/xo-debian.tgz

Connect to your WI-FI network

Option 1: Unencrypted WI-FI network

$ modprobe usb8xxx
$ iwconfig eth0 essid "<SSID>"

Replace <SSID> and <PASSWORD> with respective values

Option 2: WEP encrypted WI-FI network

$ modprobe usb8xxx
$ iwconfig eth0 essid "<SSID>" key "s:<PASSWORD>"

Replace <SSID> and <PASSWORD> with respective values

Option 3: WPA or WPA2 encrypted WI-FI network

1. wpasupplicant_05.5.5-2_i386.deb 
2. libdbus-1-3_1.0.2-1+etch3_i386.deb
$ mkdir /media/usb
$ mount -t vfat /dev/sda1 /media/usb
$ cd /media/usb/
$ dpkg --install wpasupplicant_05.5.5-2_i386.deb 
$ dpkg --install libdbus-1-3_1.0.2-1+etch3_i386.deb
$ wpa_passphrase "<SSID>" "<PASSWORD>" | tee /etc/wpa_supplicant.conf
auto lo
iface lo inet loopback
$ modprobe usb8xxx
$ wpa_supplicant -B -Dwext -c /etc/wpa_supplicant.conf -i eth0
$ dhclient eth0
#!/bin/bash
#
wpa_supplicant -B -Dwext -c /etc/wpa_supplicant.conf -i eth0
dhclient eth0
$ chmod 770 wifion.sh
$ ln -s /root/wifion.sh /etc/rc2.d/S99wifion

Restore apt-get functionality for "etch"

deb http://archive.kernel.org/debian-archive/debian etch main
$ aptitude install debian-archive-keyring
$ apt-get update

From here you can install the rest of the system, windowing manager etc. Don't forget to set your root password!

To boot up back into Sugar OS, just hold the “O” game-key button when powering on the unit.