Revision 12 as of 2010-12-04 18:35:35

Clear message

Installing ubuntu on n900

*Brain Dump*


  • Maemo5 pr1.3 installed
  • Microsd 8GB, at least, class 6 or better.

Getting started

  • Enable the maemo.org extras-devel repository in n900, see http://wiki.maemo.org/Extras-devel

  • Install the 'uboot-pr13' package with apt-get install or from 'System' section
  • Verify it's installed by restarting your N900. A penguin should show up at startup and U-boot will be mentioned, let it time out and boot into Maemo.
  • Download latest kubuntu-mobile image http://cdimage.ubuntu.com/kubuntu-mobile/ports/daily-preinstalled/current/

  • Create three partitions in the sd card
    • 1. an ext3 partition using the most part of the disc
    • 2. a swap partition
    • 3. a small vfat partition, so maemo will not complain
  • zcat the kubuntu-mobile image to the second microsd partition
  • fsck.ext3 the second partition
  • mount the second microsd partition where you want
  • Clone all repositories in http://meego.gitorious.org/meego-device-adaptation

git clone git://gitorious.org/meego-device-adaptation/n900_libmlocknice.git
git clone git://gitorious.org/meego-device-adaptation/n900_nokia-n900-configs.git
git clone git://gitorious.org/meego-device-adaptation/n900_nokia-n900-rescue-initrd.git
git clone git://gitorious.org/meego-device-adaptation/n900_nokia-usb-networking.git
git clone git://gitorious.org/meego-device-adaptation/n900_udev-rules-nokia-n900.git
git clone git://gitorious.org/meego-device-adaptation/n900_i2c-tools.git
git clone git://gitorious.org/meego-device-adaptation/n900_libdsme.git
git clone git://gitorious.org/meego-device-adaptation/n900_fb_text2screen.git
  • Copy all udev rules files to /where/you/mounted/etc/udev/rules.d/
  • Copy n900_nokia-n900-configs/nokia-n900-input-rules.conf to /where/you/mounted/etc/X11/xorg.conf
  • Comment the line 'Option "Calibration" "200 3910 3761 180"'
  • Copy n900_nokia-n900-configs/*.init to /where/you/mounted/etc/init.d
  • Edit /where/you/mounted/etc/init.d/nokia-n900-keys.init and replace /lib/kbd/keymaps/arm/qwerty/nokia-n900.map by /usr/share/keymaps/nokia-n900-keys.map
  • update-rc.d nokia-n900-keys.init defaults 50 50 # I think we need to set better values here
  • do the same for the others *.init files
  • copy n900_nokia-n900-configs/nokia-n900-keys.map /where/you/mounted/usr/share/keymaps/
  • add setxkbmap -rules evdev -model nokiarx51 -option grp:ctrl_shift_toggle -layout us -variant ",qwerty" to /where/you/mounted/etc/rc.local
  • Get the Meego vmlinuz and raw.bz2 files
    • bunzip the raw.bz2
    • inspect it using sudo fdisk -l -u $FILENAME
      • depending on the image you should see a couple of paritions, eventually you will need to try them
    • to mount you need to specify the offset of the partition, which is calculated by multiplying the start point of the partition (as per fdisk) with 512. e.g. if it starts at 1, the offset will be 1*512=512

sudo mount -o loop,offset=512 -t auto meego-handset-armv7l-n900-1.1-mmcblk0p.raw /mnt/
  • cp /mnt/boot/* /where/you/mounted/boot/
  • cp /mnt/lib/modules/ /where/you/mounted/lib/modules/
  • Turn off device (and unplug USB)
  • sudo flasher-3.5 -l -k meego-handset-armv7l-n900-*-vmlinuz-*-n900 -b
  • plug in USB, device should autostart and kernel should be transfered
  • kubuntu mobile starts Smile :)