in Geeky

Maemo SDK installation on Linux

There are 3 Options on how to install the Maemo 5 SDK,
1. The GUI Installer (recommended)
2. Script based installer.
Instruction for both can be found here
3. Manual installation

This is a Manual Installation instruction, covering the installation of Scratchbox, Nokia + Maemo binaries and Xephyr X server – which are the prerequisites for development. The host machine here is Debian based machine. so k/ubuntu will work. I’ve tried this on Kubuntu 9.10 with a 32-bit architecture and can confirmt that it works. I can’t guarantee you it will work on a 64-bit machine.

  1. Install Xephyr
  2. sudo aptitude install xserver-xephyr

  3. Download / Install scratchbox
  4. Note: before you start, take note that scratchbox installs by default in “/scratchbox” so make sure you have about 4GB’s in your “/” partition.
    sudo sh -c 'echo "deb http://scratchbox.org/debian/ maemo5-sdk main" > /etc/apt/sources.list.d/scratchbox.list'
    sudo aptitude update
    sudo aptitude install scratchbox-core scratchbox-libs scratchbox-devkit-qemu scratchbox-devkit-debian scratchbox-devkit-doctools scratchbox-devkit-perl scratchbox-toolchain-host-gcc scratchbox-toolchain-cs2007q3-glibc2.5-arm7 scratchbox-toolchain-cs2007q3-glibc2.5-i486 scratchbox-devkit-svn scratchbox-devkit-git scratchbox-devkit-apt-https

  5. Setup Scratchbox
  6. in the terminal, first make user you are logged in as your default user. Not the root user. And type:
    sudo /scratchbox/sbin/sbox_adduser $USER yes
    sudo ln -s /scratchbox/users/$USER/home/$USER /scratchbox/users/$USER/home/user
    This is optional, But I’d do it anyway just in case : sudo sh -c 'echo "nameserver 8.8.8.8" >> /scratchbox/etc/resolv.conf'
    sudo sh -c 'echo "nameserver 8.8.4.4" >> /scratchbox/etc/resolv.conf'

  7. Setup Mamemo Packages
  8. You will need to ensure:
    1. your group membership is registered in the current terminal
    2. VDSO support is disabled,
    to do so run these in the terminal: newgrp sbox
    sudo sh -c 'echo 0 > /proc/sys/vm/vdso_enabled'

  9. Log into scratchbox environment
  10. /scratchbox/login If this works, you will be inside of the scratchbox environment; and you will see something this in the terminal: [sbox->:~]>

  11. Configure the scratchbox x86 and armel target as such:
  12. sb-conf st FREMANTLE_X86 -c cs2007q3-glibc2.5-i486 -d perl:debian-etch:doctools:svn:git -t none
    sb-conf st FREMANTLE_ARMEL -c cs2007q3-glibc2.5-arm7 -d qemu:perl:debian-etch:doctools:svn:git -t qemu-arm-sb
    it is safe to ignore the warnings here.

  13. Now download the rootstraps:
  14. wget http://repository.maemo.org/stable/5.0/armel/maemo-sdk-rootstrap_5.0_armel.tgz http://repository.maemo.org/stable/5.0/i386/maemo-sdk-rootstrap_5.0_i386.tgz
    If networking doesn’t work inside of scratchbox, check your DNS server settings. Unfortunately there’s no `ping` inside of scratchbox so the only way to do this is to edit /scratchbox/etc/resolv.conf from OUTSIDE of scratchbox and paste the following:
    nameserver 8.8.8.8
    nameserver 8.8.4.4
    From inside scratchbox, paste the same lines to “/etc/resolv.conf”

  15. Now switch to the x86 target and install the binaries,
  16. sb-conf se FREMANTLE_X86
    sb-conf rs maemo-sdk-rootstrap_5.0_i386.tgz
    sb-conf in -edFL

  17. Add the nokia repos
  18. You’ll need to do some apt trickery here for maemo related items. So first accept the EULA here and copy the URL, paste the it into /etc/apt/sources.list (inside scratchbox) and then:
    apt-get update
    fakeroot apt-get install maemo-sdk-debug nokia-binaries nokia-apps
    Keep the url, you will need it later on in this installation

  19. fix the scratchbox symlinks
  20. According to the instructions from maemo you will need to remove a symlink and replace it with a folder so do this in the terminal: rm /targets/FREMANTLE_X86/opt
    mkdir /targets/FREMANTLE_X86/opt

  21. repeat the same for armel architecture
  22. At this point the x86 target is setup, you will need to do the same for the armel target.
    edit the file /etc/apt/sources.list and paste the URL that you got previously after agreeing to the EULA
    sb-conf se FREMANTLE_ARMEL
    sb-conf rs maemo-sdk-rootstrap_5.0_armel.tgz
    sb-conf in -edFL
    apt-get update
    fakeroot apt-get install maemo-sdk-debug nokia-binaries nokia-apps
    rm /targets/FREMANTLE_ARMEL/opt
    mkdir /targets/FREMANTLE_ARMEL/opt

  23. Startup Xephyr, with the x86 targets pointing the output to it
  24. export DISPLAY=:2
    af-sb-init.sh start
    And from OUTSIDE the scratchbox environment: Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -kb & And you will be greeted with a very reassuring emulator-like environment emulating the Maemo 5 on a Nokia N900 😀

Related Posts

Written By:

Add a Comment