Projects/Maemo/KDE4 on n810

From KDE Community Wiki

The flash memory which stores the maemo operating system on the n810 is too small to install KDE or do program development. In order to install KDE, you need to copy the maemo system from flash to the SD card, and enable booting from there.

Flash your n810 with the R&D version of Nokia OS

Update the n810 to the latest version of the operating system and software development environment:

  • Optional: Create backup on internal storage device (original state)
  • Download flasher-3.0 and Nokia OS2008 to the computer you will be flashing the n810 from
  • You will need your Product ID (MAC address) to download the Nokia OS. It can be found on your n810 in the Control Panel in About the product, or printed on your battery.
  • Turn off your n810 and unplug the power supply; be sure it is fully charged
  • Attach the USB cable to your n810 and computer.
  • Flash with diablo
sudo ./flasher-3.0 -F RX-44_DIABLO_5.2008.43-7_PR_COMBINED_MR0_ARM.bin -f -R
  • When you get the message "Suitable USB device not found, waiting", plug the power supply in to the n810. The flashing will commence.
  • When prompted, reboot the n810. You can also disconnect the USB cable.

Set Up Partitions and Boot Menu

Partition the SD card, clone the maemo system to it, and set up a boot menu: WARNING: This will erase all existing data on the SD card.

  • After booting in to the freshly flashed system...
  • Setup networking on the device; this may involve typing your WPA key if it is a secure network.
  • Do NOT install the Nokia Operating System update that's offered by the flashing button in the top bar, that will cause a mismatch in the initfs version and you won't get the boot menu (for a dual boot method that works with updated OS too see the tutorial at http://wiki.maemo.org/Booting_from_a_flash_card)
  • Open the Application manager and enable the maemo Extras repository
  • Install openssh and set root password
  • Optional: Create another backup (mainly as shortcut for enabling the extras repository
  • As root, ssh into the n810. /sbin/ifconfig will tell you the associated IP address if you don't know it.
  • Install wget and download console-tools.deb in to /root
apt-get install wget
cd /root
wget http://penguinbait.com/console-tools.deb
  • Unmount your external media card; if they are not already mounted you don't have to do this
umount /media/mmc1
umount /media/mmc2
  • Install the n810 console-tools:
dpkg -i console-tools.deb
  • Disable virtual memory if active, in the Control Panel.
  • The next step is to repartition and format your SD card. NOTE: This will ERASE all the data on it, so be careful when doing it.
  • Run pbeasy in an X-terminal on the n810, as a user (not root). Select the Partition option, and for a 1920 Mb SD card, enter 120 Mb for both VFAT and swap partitions, which leaves the rest for an EXT3 partition which will be used for the software development system. After partitioning, it will reboot.
  • After the reboot, run pbeasy again, and select the Clone option. This formats the new partitions, clones the maemo system from the flash onto the SD card's EXT3 partition and sets up a boot menu to allow either flash or SD card system to be selected at boot time.
  • Reboot the n810 and you should now see boot menu options.
  • Select the Internal MMC card option and check that it boots successfully. If not, try repeating the Clone process - it should work on the second attempt.

Install KDE4

  • During the boot up, hold the memory key (lower left on the drawer keyboard, right under the direction pad) and you'll get a boot menu. Choose the third option (External MMC card) to boot from SD, the first one will boot from flash.
  • From your computer, use Kwrite or Kate, and point it to sftp://[email protected]/etc/apt/sources.list.d/hildon-application-manager.list and add Marijn's repos. Alternatively you can ssh in to the n810 and edit the file with vi. Here is my complete list of repositories:
deb http://catalogue.tableteer.nokia.com/certified/ diablo user
deb http://catalogue.tableteer.nokia.com/non-certified/ diablo user
deb http://catalogue.tableteer.nokia.com/updates/diablo/ ./
deb http://repository.maemo.org/extras/ diablo free non-free
deb http://repository.maemo.org/extras-devel/ diablo free non-free
deb http://93.157.1.37/~marijn/maemo binary/
deb http://qt4.garage.maemo.org/ diablo extras
  • SSH in to the n810 and update the package list
apt-get update, 
  • Remove the install tools since you don't need them anymore
dpkg --purge install-tools-n810e 
  • Install KDE4. This should pull in all the necessary dependencies (75MB of packages) as well. I had to force install kdebase-workspace to start plasma on the device. You can do that from a remote ssh session with su user and setting the display export DISPLAY=:0.
apt-get install kdebase-workspace kdebase-runtime kdeplasma-addons
  • If you get a conflict between libqt4-phonon and libphonon4 you have to go to the /var/cache/apt/archives directory and install one manually via
dpkg --force-overwrite --install libphonon4_4\%3a4.3.0-1_armel.deb
  • If that all works, you can replace the hildon desktop with plasma. At the moment it crashes and reboots the n810, so you might not want to do this.
cd /usr/bin/ && mv hildon-desktop hildon-desktop-real && ln -s plasma hildon-desktop
  • Have fun!

This is an updated version of Sebas' HowTo.