You have probably already heard of the One Laptop Per Child Project, which aims to equip children in developing nations with low cost laptops to aid their education. The XO-1 is the first machine to be made by this project, and is very innovative in both hardware and software design. Getting your hands on one of these machines is quite difficult, especially if you don't live in North America, but what you can do is get hold of an image of the machine's operating system and run it inside a virtual machine.
This is well worth doing as you might want to contribute to the project, or you may just want to see the Sugar interface, which is designed to be a "fun, easy to use, social experience that promotes sharing and learning". Sugar is very different to other user interfaces that exist today and a radical rethink of what a user interface should look like.
To get the image working on my computer I again used VirtualBox as I did to get Solaris working under Kubuntu, this is software that pretends to be a self contained PC so you can experiment with different operating systems without needing a dedicated machine. The commercial version is free for personal and academic use and there is also a GPL version available. The company that makes VirtualBox, Innotek, was recently bought by Sun Microsystems, so it will be interesting to see what happens to the product. It is also available for Mac and Windows, so if you are stuck using one of these you can probably still use the intructions here.
To get the image working I followed the instructions on the OLPC Wiki: http://wiki.laptop.org/go/VirtualBox, which also details how to get hold of the images. This worked very well, but there was one small problem, by default the emulated OLPC had a screen resolution of 1024x768, which is actually lower than the 1200x900 resolution of a real XO-1(which is quite a high resolution fo a 7.5" screen!). This means that some programs, known as Activities on the OLPC might not display properly. This was particularly an issue with Pippy, the Python development environment for the OLPC. By the way, I think it is great that they have included a programming environment on the machine. In the mid-80s when I first started using computers (I was very young at the time!) every computer had a programming environment built in, making it much easier for a child to start learning programming. Hopefully for children using this machine, the inclusion of Pippy will give these children a similar advantage.
After a bit of digging around, a solution was found to the screen resolution issue on the OLPC wiki on a talk page: http://wiki.laptop.org/go/Talk:Emulating_the_XO#VirtualBox_and_1200x900 . You'll need a high resolution monitor for this, but the steps that worked for me were:
1. Make VirtualBox aware of the extra display mode by entering this on a command line:
VBoxManage setextradata "olpc" "CustomVideoMode1" "1200x900x16"
2. Boot up the OLPC image
3. Go to the shell activity on the OLPC (the one with a $ in the icon)
4. Edit the boot up options by typing:
sudo nano /boot/grub/grub.conf
5. Look for first entry that specifies a vga parameter, it will say vga=0x317, change this to vga=0x360
6. Save and reboot the OLPC image
You should now see the OLPC environment at the screen resolution that is was meant for.
Have fun!
Re: Emulating the OLPC XO-1 on (K)ubuntu
I've had the emulation running on my Windows laptop; it's been whetting my appetite for some time now. I've got an OLPC on order, via the G1G1 programme, via a friend in Canada. They still haven't delivered it, despite us getting in the order the day they announced the programme. She's coming to the UK for a conference in May, so I'm hoping that it arrives before then... (the last she heard was "mid march"...
Re: Emulating the OLPC XO-1 on (K)ubuntu
That looks cool! I must say that these OLPC's are hard to get! I have been searching on ebay and was still not able to get one for a good price! Is there any news of a new version coming out?