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.
- Install Xephyr
sudo aptitude install xserver-xephyr
- Download / Install scratchbox
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
- Setup Scratchbox
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'
- Setup Mamemo Packages
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'
- Log into scratchbox environment
/scratchbox/login If this works, you will be inside of the scratchbox environment; and you will see something this in the terminal: [sbox->:~]>
- Configure the scratchbox x86 and armel target as such:
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.
- Now download the rootstraps:
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.4From inside scratchbox, paste the same lines to “/etc/resolv.conf”
- Now switch to the x86 target and install the binaries,
sb-conf se FREMANTLE_X86
sb-conf rs maemo-sdk-rootstrap_5.0_i386.tgz
sb-conf in -edFL
- Add the nokia repos
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-appsKeep the url, you will need it later on in this installation
- fix the scratchbox symlinks
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
- repeat the same for armel architecture
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
- Startup Xephyr, with the x86 targets pointing the output to it
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