Skip to content

Setting up my Nokia N800

I’m going to use this blog entry to capture everything I do to my new Nokia N800 when setting it up. Hopefully this will serve as a resource to other N800 users, but will also serve as a record for my own use in case I need to reinstall everything at a future date.

  • Download the latest firmware (latest at time of writing is OS 2008 edition v. 2.2007.51-3).
  • Flash it using the Nokia Internet Tablet Software Update Wizard.
  • Set up an internet connection.
  • (Optional) Enable Red Pill Mode (New Application catalogue, Web address: matrix, Cancel).
  • Add the Maemo Repositories to the Application Manager
  • Update all packages
  • Install openssh-server (so you can do the rest of this more comfortably from a remote ssh client window)
  • Install some necessary applications that are not in the Maemo repositories:
    • becomeroot (you only need this if you aren’t able to ssh in – use “sudo gainroot” in an xterm instead)
  • Change the host name in /etc/hosts and /etc/hostname
  • Install a suitable authorized_keys file for password-less ssh login
  • Reboot and log back in as root
  • Reformat the internal SD card (/dev/mmcblk0, /media/mmc2):
  • # apt-get install e2fsprogs
    # umount /media/mmc1
    # umount /media/mmc2
    # sfdisk -uM /dev/mmcblk0
    /dev/mmcblk0p1 :0,6000,0C
    /dev/mmcblk0p2 :6000,,
    /dev/mmcblk0p3 :,,
    /dev/mmcblk0p4 :,,
    # mkdosfs /dev/mmcblk0p1
    # mke2fs -j /dev/mmcblk0p2
    # shutdown -r now

  • Note that to mount the new ext3 filesystem, you need to:
  • # cd /mnt/initfs/lib/modules/current/
    # insmod mbcache.ko jbd.ko ext3.ko

  • Setup booting from the internal SD card
  • # cd
    # curl -o initfs_flasher.tgz http://fanoush.wz.cz/maemo/initfs_flasher.tgz
    # tar zxvf initfs_flasher.tgz
    # cd initfs_flasher
    # cp bootmenu.conf.n800.example bootmenu.conf
    # vi bootmenu.conf
    # ./initfs_flash

  • Add the timezone for Adelaide and set it as my Home city.
  • Modify the mmc mount script (/usr/sbin/osso-mmc-umount.sh) to ignore a mounted root directory
    • grep “$MP ” /proc/mounts | grep -v ” / ” > /dev/null