25 April 2009
By chance, I checked my bandwidth usage stats for static.sunriseroad.net, hosted on DreamHost, which serves miscellaneous downloads like my hackergotchi, some pictures, some code downloads, among other things.
Well, my bandwidth usage for April so far was…(drumroll)…405 GB!
I couldn’t believe it! Both March and April were that high — about 40GB a day was the average. (Thanks to John who kindly lets me use his DreamHost account which has unlimited bandwidth.) How could that be? Well, I checked the access logs, and 99% of the access log is filled with basically the following, which sure surprised me:
201.221.x.x - - [23/Apr/2009:16:03:14 -0700] "GET /jeremy/releases/Wesnoth-1452.xo HTTP/1.0" 200 80241354 "http://wiki.laptop.org/go/Activities/All" "Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.9) Gecko/2008072400 OLPC/0.4.6-1.olpc3 (XO) Firefox/3.0"
Wow! Everyone is downloading Battle for Wesnoth for OLPC that I ported! I had no idea it was so popular.
Most of the user-agent strings contain “OLPC/0.4.6-1.olpc3″, which gives a pretty good indication that people are downloading it straight onto their XO using the built-in browser (which is contrary to my recommendation, but anyway). The majority of IPs are from Uruguay, so I suspect it is spreading like wildfire among schools there. Who says Linux doesn’t have viruses?
To continue to keep the Children of the World entertained, I have already ported Wesnoth 1.6a to OLPC, but I haven’t released it yet. Hopefully I will release it to a testing audience in the coming weeks.
Tagged: gaming, Linux, networking, olpc | 1 Comment »
25 October 2008
OLPC XO-1 users around the world, I give you: Battle for Wesnoth for OLPC.

(Screenshot credit: Samy Boutayeb)
Read more…
Tagged: coding, gaming, Linux, olpc, projects | 3 Comments »
18 October 2008
This is possibly one of the most cruel things one could do to an OLPC XO-1:

That’s Windows XP under QEMU under Gentoo on an OLPC XO-1.
It took about two hours to run the mini-setup routine from a previously sysprepped image I had created, and took about 10 minutes to boot. The user interface is virtually unusable, and the VM can only be practically run with 128MB of RAM allocated to it.
I installed Gentoo during yesterday and the day before from a stage3 tarball. I wish I’d found out about GentooXO sooner. Also, I’m running QEMU with the kqemu accelerator installed.
It would be interesting to get Windows XP working natively, but I doubt that will ever happen (apart from Microsoft’s own efforts). I doubt you can kexec() into a Windows kernel, and you would need to initialise the display adapter to the exact right mode (the XO-1 appears to only support one video mode), which Windows would almost certainly not support out of the box.
Tagged: gentoo, hacks, Linux, olpc, windows | No Comments »
12 October 2008
I was just looking through the contents of the olpcrd.img file on my XO build update.1 708, and it seems that the initrd is a minature installation of Debian.
It contains some giveaway files, such as /var/lib/dpkg/status, which contains:
Package: libnss-dns-udeb
Status: install ok unpacked
Version: 2.7-5
Description: GNU C Library: NSS helper for DNS - udeb
Package: wireless-tools-udeb
Status: install ok unpacked
Version: 29-1
Depends: libc6 (>= 2.6.1-1), libiw29-udeb (>= 28+29pre7)
Description: Tools for manipulating Linux Wireless Extensions
Package: python2.5-minimal
Status: install ok unpacked
Version: 2.5.1-1
Depends: zlib1g-udeb, libc6
Description: A minimal subset of the Python language (version 2.5)
Package: module-init-tools-udeb
Status: install ok unpacked
Version: 3.3-pre11-4
Depends: libc6 (>= 2.5-5)
Description: tools for managing Linux kernel modules
Package: olpcrd-rootskel
Status: install ok unpacked
Version: 1.54
Depends: python2.5-minimal, wireless-tools-udeb
Description: Skeleton root filesystem used by OLPC initramfs
Package: busybox-udeb
Status: install ok unpacked
Version: 1:1.1.3-5
Depends: libc6 (>= 2.5-5)
Description: Tiny utilities for the debian-installer
Package: libiw29-udeb
Status: install ok unpacked
Version: 29-1
Depends: libc6 (>= 2.6.1-1)
Description: Tools for manipulating Linux Wireless Extensions
Package: zlib1g-udeb
Status: install ok unpacked
Version: 1:1.2.3.3.dfsg-8
Description: compression library - runtime for Debian installer
Package: debian-installer
Status: install ok installed
Version: olpc-20071227-05:33
Description: debian installation image
The packages installed seem to be udebs, which are basically a lite version of normal Debian packages, designed for specialised uses, such as bootstrapping the Debian installer.
But even worse, it seems that the init script for the XO is written in Python. Seriously. The head of the file /init that runs on the OLPC is:
#!/usr/bin/python2.5
## Add an '-i' to the #! line to enable the interactive shell.
## Remove the -i for deployment, to ensure that an
## error in the script doesn't land us in an interactive shell.
from __future__ import division, with_statement
from initutil import *
from activate import activate
import antitheft
import os, os.path, sys, time
debug = False # set to false for deployment
# let's notify console that we've reached this point and python has launched
print "Hello, (children of the) world!"
No wonder it takes so long to boot up! You have to load a whole Python interpreter before we get anywhere!
I haven’t been able to find much documentation on the reasons or inner workings for this bootstrap process. Probably because it’s too embarrasing to reveal.
Can anybody confirm my findings?
Tagged: hacks, Linux, olpc | 4 Comments »
20 July 2008
Attention people! Battle for Wesnoth for OLPC has now been released! Go here to get it!
Hey OLPC hackers and Wesnoth gamers!
I’ve just created a working Sugar-ised version of Battle for Wesnoth for the OLPC XO-1.
Basically, this is a self-contained Wesnoth within an activity bundle that has been slightly modified to be able to work within Rainbow security on newer OS versions.
This Wesnoth is based on version 1.4.3, and is able to play online on official Wesnoth servers, and between other PCs and Macs running Wesnoth 1.4.3.
Before I post this on the official Activities page, I would just like a handful of testers to download it, test it, and tell me whether it worked or not.
I don’t expect a painstakingly detailed test — a simple “I installed it on my OLPC running build 703, and it ran the tutorial fine, and I totally pwned that guy online today” is enough.
So, if you’re interested in testing it, just fire me a quick e-mail (jeremy AT visser DOT name) or leave a comment, and I’ll give you a download link.
If you test it, I’ll be sure to mention you in the README file when I release it.
Update: Samy Boutayeb has uploaded a screenshot of this port running on a Joyride build:

Tagged: coding, gaming, hacks, olpc | 4 Comments »