Mesh/Spectrum mapping/XO-1 Laptop

From Sudo Room
Jump to navigation Jump to search

The XO-1 laptop from the One Laptop Per Child project is uniquely suited for mobile mesh operations such as mapping spectrum usage.


  • It uses only 4-6 watts of power.
  • It can run on anything from 11 to 18 volts.
  • The screen is viewable in direct sunlight.
  • Your local hackerspace probably has one or more lying around unused.

This guide show how to get a modern distro (Debian 7.0) on a XO-1 laptop.

Ensure you have a jailbroken XO laptop (how to check).


Full guide here, but a summary follows:

If you need to jailbreak, keep pressing escape while booting the laptop until you get the "ok" prompt. That screen should tell you your laptop serial number and UUID.

Now go here (possibly on a different computer) and enter the serial and uuid and wait 24 hours (remember to bookmark the page). Reload the page after 24 hours.

The developer key is a file called develop.sig.

Download develop.sig to /security on the XO laptop (or I believe it can be on a USB drive or SD card, but still in /security).

Reboot and keep pressing escape until you get the "ok" prompt.

At the prompt, type:


It will automatically reboot to enable access to internal memory, as it reboots, keep pressing escape to get to the "ok" prompt again.

Now again type:


Your XO-1 laptop is now permanently jailbroken.

Installing Debian

The installation procedure is:

  • First install DebXO 0.6 which will give you Debian Squeeze (6.0)
  • Then dist-upgrade to Debian Wheezy (7.0)

Installing DebXO

There's a nice guide here.

Here's a short summary:

Download xfce.img and xfce.dat from here.

Put xfce.img and xfce.dat on a usb stick with a vfat filesystem and plug into XO laptop.

Keep hitting escape while booting until you get the "ok" prompt.

Ensure you're running Q2E20 or later (it should say at the prompt).

At the prompt, type:

update-nand disk:\xfce.img

Wait for the flashing to finish. Reboot into Debian (it may take a while to boot).

Upgrading to Debian Wheezy (7.0)

WARNING: This part has not yet been tested.

First, set the root password:

sudo su -

If you don't do this, then you won't be able to get a recovery terminal later if things don't work out as expected.

For the rest of this guide, it is assumed that you are root.

Now, you can't actually run the upgrade with the amount of space available on the internal flash, so insert an external usb stick with some free space.

Unmount it if it automatically mounted (it probably did):

umount /dev/sda1

Now mount it in /var/cache/apt/archives so downloaded archives during the install are saved to the usb stick instead of the internal flash:

mount /dev/sda1 /var/cache/apt/archives

You'll need an internet connection. I'm assuming you have an unsecured wifi access point you can connect to:

iwconfig wlan0 essid <your_wifi_network_ssid>
dhclient -v wlan0

Ensure you have the newest version of Squeeze:

aptitude update && sudo aptitude safe-upgrade

Edit /etc/apt/sources.list so it only contains:

deb wheezy main
deb wheezy/updates main

Run the upgrade:

 aptitude update
 apt-get dist-upgrade

(note: it is important that you use apt-get instead of aptitude for the dist-upgrade)

After the upgrade is complete, edit /etc/fstab and ensure that the last number of line is 0 instead of 1.

Reboot and hope it works!

Setting up for spectrum mapping

ToDo write this section