Emulating a Nokia N800 with QEMU r2 (See the current copy)

Safe Testing Platform for the Nokia N800

The OpenHanded Project [1] has created patches against QEMU to emulate a Nokia N800 on your desktop PC. Their instructions are geared towards using their platform ("Poky") on the emulated system, but with some work it should be possible to use the Nokia N800 software on the emulated system. Here's how to do it:

  1. Create a scratch area to work in
    1. $ mkdir ~/tmp/qemu-n800
  2. Download the QEMU CVS tree from 2008-03-07 into the scratch area
    1. $ cd ~/tmp/qemu-n800/
    2. $ mkdir qemu-20080307
    3. $ cd qemu-20080307/
    4. $ cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/qemu checkout -D 2008-03-07 -d . qemu
  3. Download the OpenHanded Project's patches against QEMU CVS 2008-03-07
    1. $ cd ~/tmp/qemu-n800/
    2. $ svn checkout 'http://svn.o-hand.com/repos/poky/trunk/meta/packages/qemu/qemu-0.9.1+cvs20080307/' qemu-20080307-patches-poky
  4. Apply the patches to the QEMU source tree
    1. $ cd ~/tmp/qemu-n800/qemu-20080307-patches/poky/
    2. $ cat series | while read patchcmd; do patch -d ~/tmp/qemu-n800/qemu-20080307 ${patchcmd}; done
  5. Compile QEMU
    1. $ cd ~/tmp/qemu-n800/qemu-20080307/
    2. $ ./configure --prefix=${HOME}/tmp/qemu-n800/instroot --disable-linux-user --enable-system --disable-darwin-user --disable-werror --static
    3. $ make
    4. $ make install
  6. Download the Nokia N800 Maemo Firmware
    1. Go to http://maemo.org/community/wiki/HOWTO_FlashLatestNokiaImageWithLinux/
    2. Download the OS for the Nokia N800 by clicking on the appropriate link, probably something like "IT OS Software Edition 2008 (version 2.2007.51-3)"
      1. Note that you may need a Nokia N800 serial number for this -- if you don't have a Nokia N800, now might be a good time to get one.
    3. Save the file to ~/tmp/qemu-n800/
    4. I will assume that the file is called "RX-34_2008SE_2.2007.51-3_PR_COMBINED_MR0_ARM.bin"
  7. Download the Nokia Nseries Firmware Flashing Tool version 3
    1. Download the appropriate version for your operating system from: http://tablets-dev.nokia.com/d3.php
    2. Save the file to ~/tmp/qemu-n800/
    3. I will assume that the file is called "flasher-3.0-static"
  8. Make the Firmware Flashing Tool executable
    1. $ chmod +x ~/tmp/qemu-n800/flasher-3.0-static
  9. Unpack the Nokia N800 OS2008 Firmware
    1. $ cd ~/tmp/qemu-n800/
    2. $ mkdir os2008
    3. $ cd os2008/
    4. $ ../flasher-3.0-static -u -F ../RX-34_2008SE_2.2007.51-3_PR_COMBINED_MR0_ARM.bin