Maemo SDK+ installation on Debian (AMD64)
(→Building the chrooted platform) |
(→Building the chrooted platform) |
||
Line 11: | Line 11: | ||
# echo "deb http://maemo-sdk.garage.maemo.org/download/host debian-lenny free" >> /srv/lenny-ia32/etc/apt/sources.list | # echo "deb http://maemo-sdk.garage.maemo.org/download/host debian-lenny free" >> /srv/lenny-ia32/etc/apt/sources.list | ||
# aptitude install schroot | # aptitude install schroot | ||
- | + | ||
- | + | xxx # cat >> /etc/schroot/schroot.conf <<EOF | |
- | + | xxx [lenny] | |
- | + | xxx description=Debian lenny | |
- | + | xxx type=directory | |
- | + | xxx location=/srv/lenny-ia32 | |
- | + | xxx priority=3 | |
- | + | xxx users='''''<YOUR_USERNAME_HERE!!>''''' (A comma-separated list of users on xxxthe host which are allowed access to the chroot) | |
- | + | xxx groups='''''<YOUR_USER_GROUPNAME_HERE!!>''''' (A comma-separated list of xxxgroups on the host which are allowed access to the chroot. probably "users") | |
- | + | xxx root-groups=root | |
- | + | xxx aliases=stable,default | |
+ | xxx EOF | ||
+ | |||
+ | # eval $(sed -rne '/^(FIRST|LAST)_.ID/p' /etc/adduser.conf) | ||
+ | # USER_LIST=$(sed -e 's/ /,/' <<< $(awk -F: $FIRST_UID'<=$3 && $3<='$LAST_UID' {print $1}' /etc/passwd)) | ||
+ | # GROUP_LIST=$(sed -e 's/ /,/' <<< $(awk -F: $FIRST_GID'<=$3 && $3<='$LAST_GID' {print $1}' /etc/passwd)) | ||
+ | echo -e "[lenny] | ||
+ | description=Debian lenny | ||
+ | type=directory | ||
+ | directory=/srv/lenny-ia32 | ||
+ | priority=3 | ||
+ | users=$USER_LIST | ||
+ | groups=$GROUP_LIST | ||
+ | root-groups=root | ||
+ | aliases=stable,default" >> /etc/schroot/schroot.conf | ||
===Installing Maemo SDK+=== | ===Installing Maemo SDK+=== |
Revision as of 19:19, 5 August 2010
This article is out-of-date, and needs to be updated. Please see the talk page for discussion. |
The Maemo SDK+ package includes scratchbox 2 and Qt, but it will only install on 32-bit platforms. If you're running Debian with a 64-bit kernel, Maemo SDK+ can be installed into a chrooted 32-bit environment that sits on top of your 64-bit platform. This guide takes you through all the steps to the point of compilation and running the test.
Contents |
Building the chrooted platform
All steps in this section are executed as root, directly on the host.
# aptitude install debootstrap # debootstrap --arch i386 lenny /srv/lenny-ia32 http://ftp.debian.org/debian/ # echo "deb http://maemo-sdk.garage.maemo.org/download/host debian-lenny free" >> /srv/lenny-ia32/etc/apt/sources.list # aptitude install schroot
xxx # cat >> /etc/schroot/schroot.conf <<EOF xxx [lenny] xxx description=Debian lenny xxx type=directory xxx location=/srv/lenny-ia32 xxx priority=3 xxx users=<YOUR_USERNAME_HERE!!> (A comma-separated list of users on xxxthe host which are allowed access to the chroot) xxx groups=<YOUR_USER_GROUPNAME_HERE!!> (A comma-separated list of xxxgroups on the host which are allowed access to the chroot. probably "users") xxx root-groups=root xxx aliases=stable,default xxx EOF
- eval $(sed -rne '/^(FIRST|LAST)_.ID/p' /etc/adduser.conf)
- USER_LIST=$(sed -e 's/ /,/' <<< $(awk -F: $FIRST_UID'<=$3 && $3<='$LAST_UID' {print $1}' /etc/passwd))
- GROUP_LIST=$(sed -e 's/ /,/' <<< $(awk -F: $FIRST_GID'<=$3 && $3<='$LAST_GID' {print $1}' /etc/passwd))
echo -e "[lenny] description=Debian lenny type=directory directory=/srv/lenny-ia32 priority=3 users=$USER_LIST groups=$GROUP_LIST root-groups=root aliases=stable,default" >> /etc/schroot/schroot.conf
Installing Maemo SDK+
As root on the host:
# schroot -c lenny
or
# chroot /srv/lenny-ia32/ /bin/bash
You are now logged in as root in the chrooted environment as root.
# aptitude update # aptitude install maemo-sdk # maemo-sdk install tools lenny-2009-1
As the SDK needs to use sudo to gain root access later, we need to configure sudo:
# visudo
You will be in an editor session now. Modify the file so that it looks like this (remove the comment sign in front of the last lign):
Defaults env_reset root ALL=(ALL) ALL %sudo ALL=NOPASSWD: ALL
As user on the host:
$ schroot -c lenny
You are now logged in as root in the chrooted environment as a user.
Now, choose a rootstrap to install:
$ maemo-sdk list available rootstraps
You get a list of rootstraps
$ diablo4.1.2_armel $ diablo4.1.2_i386 $ diablo4.1.1_armel $ diablo4.1.1_i386 $ diablo4.1_armel $ diablo4.1_i386 $ fremantle5.0minimal_armel $ fremantle5.0minimal_i386 $ fremantle5.0beta1_armel $ fremantle5.0beta1_i386 $ scirocco2.2_armel $ scirocco2.2_i386 $ mistral2.0_armel
Now, install your desired rootstrap. For example
$ maemo-sdk install rootstrap fremantle5.0beta1_armel $ sb2 -eR apt-get update $ sb2 -eR apt-get install maemo-sdk-runtime maemo-sdk-dev maemo-sdk-dbg
Preparing host for target GUI
As root on the host:
$ aptitude install xserver-xephyr
Building Maemopad to test the build environment
As user on the host:
$ schroot -c lenny
You are now logged in as root in the chrooted environment as a user.
$ mkdir -p ~/src/mytest $ cd ~/src/mytest $ sb2 -eR apt-get update $ sb2 apt-get source maemopad $ cd maemopad-2.4 $ export SBOX_REDIRECT_FORCE=/usr/bin/perl $ sb2 dpkg-buildpackage -rfakeroot -d -b
Running Maemopad
As user on the host:
$ Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -kb $ schroot -c lenny
You are now logged in as root in the chrooted environment as a user.
$ export DISPLAY=:2 $ sb2 -eR dpkg -i maemopad_2.4_armel.deb $ maemo-sdk start gui
Notice that Maemopad appears in the x11 window.
$ maemo-sdk stop gui
Installing Qt
As root in the chrooted environment:
$ aptitude install qt4-dev-tools
Known Issues
The procedures above work quite well, other than the fact that the following scripts are missing from the chrooted environment:
* run-standalone.sh * af-sb-init.sh
They don't seem to be important.. just a cosmetic matter.
Guides used as a source for this document
Parts of the following sites were used to compose this guide. These sites should be visited to get more detail on the process.
- https://alioth.debian.org/docman/view.php/30192/21/debian-amd64-howto.html
- http://www.debian-administration.org/articles/566
- http://nion.modprobe.de/blog/archives/539-Setting-up-build-chroots-on-Debian.html
- http://repository.maemo.org/stable/4.1.2/INSTALL.txt
- http://maemo-sdk.garage.maemo.org/install-debian.html