Latest revision |
Your text |
Line 4: |
Line 4: |
| All steps in this section are executed as root, directly on the host. | | All steps in this section are executed as root, directly on the host. |
| | | |
- | Using lenny (old, from the archives):
| + | $ aptitude install debootstrap |
- | # aptitude install debootstrap | + | $ debootstrap --arch i386 lenny /srv/lenny-ia32 http://ftp.debian.org/debian/ |
- | # debootstrap --arch i386 lenny /srv/lenny-ia32 <nowiki>http://archive.debian.org/debian/</nowiki> | + | $ echo "deb http://maemo-sdk.garage.maemo.org/download/host debian-lenny free" >> /srv/lenny-ia32/etc/apt/sources.list |
- | # echo "deb <nowiki>http://maemo-sdk.garage.maemo.org/download/host debian-lenny</nowiki> free" >> /srv/lenny-ia32/etc/apt/sources.list | + | $ aptitude install schroot |
- | # aptitude install schroot | + | $ cat >> /etc/schroot/schroot.conf <<EOF |
- | | + | |
- | Or using sqeeze (current stable):
| + | |
- | # aptitude install debootstrap | + | |
- | # debootstrap --arch i386 squeeze <nowiki>/srv/lenny-ia32 http://ftp.debian.org/debian/</nowiki>
| + | |
- | # echo "deb <nowiki>http://maemo-sdk.garage.maemo.org/download/host debian-squeeze</nowiki> free" >> /srv/lenny-ia32/etc/apt/sources.list
| + | |
- | # aptitude install schroot
| + | |
- | You may want to adjust the /srv/lenny-ia32 directory, but then you'd have to adjust it in the rest of the instructions as well (together with any other lenny references if you like).
| + | |
- |
| + | |
- | <s># cat >> /etc/schroot/schroot.conf <<EOF
| + | |
| [lenny] | | [lenny] |
| description=Debian lenny | | description=Debian lenny |
| type=directory | | type=directory |
- | '''location'''=/srv/lenny-ia32 | + | location=/srv/lenny-ia32 |
| priority=3 | | priority=3 |
- | users='''''<YOUR_USERNAME_HERE!!>''''' (A comma-separated list of users on the host which are allowed access to the chroot) | + | users='''''<YOUR_USERNAME_HERE!!>''''' |
- | groups='''''<YOUR_USER_GROUPNAME_HERE!!>''''' (A comma-separated list of groups on the host which are allowed access to the chroot. probably "users") | + | groups=users |
| root-groups=root | | root-groups=root |
- | aliases=stable,default | + | run-setup-scripts=true |
- | EOF</s>
| + | run-exec-scripts=true |
- |
| + | aliases=unstable,default |
- | # eval $(sed -rne '/^(FIRST|LAST)_.ID/p' /etc/adduser.conf)
| + | EOF |
- | # '''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 | + | |
- | # echo "export PS1='(lenny)\w \\$ '" >> /srv/lenny-ia32/root/.bashrc | + | |
| | | |
| ===Installing Maemo SDK+=== | | ===Installing Maemo SDK+=== |
- | While still logged in as root on the host:
| + | As root on the host: |
- | # schroot -c lenny | + | $ schroot -c lenny |
- | (lenny)~ #
| + | |
- | or
| + | |
- | # chroot /srv/lenny-ia32/ /bin/bash
| + | |
- | (lenny)/ #
| + | |
- | | + | |
| You are now logged in as root in the chrooted environment as ''root''. | | You are now logged in as root in the chrooted environment as ''root''. |
- | (lenny)~ # aptitude update | + | $ aptitude update |
- | (lenny)~ # aptitude install maemo-sdk | + | $ aptitude install maemo-sdk |
- | (lenny)~ $ maemo-sdk reload catalogue | + | $ maemo-sdk install tools lenny-2009 |
- | (lenny)~ # maemo-sdk list available tools
| + | $ maemo-sdk install tools lenny-2009-1 |
- | etch
| + | As user on the host: |
- | etch-2008
| + | |
- | lenny-2009-1
| + | |
- | | + | |
- | Install tools:
| + | |
- | (lenny)~ # maemo-sdk --mirror <nowiki>http://archive.debian.org/debian/ install tools lenny-2009-1</nowiki> | + | |
- | | + | |
- | (lenny)~ # maemo-sdk list available toolchains
| + | |
- | arm-2005q3
| + | |
- | arm-2007q3
| + | |
- | i386-2007q3
| + | |
- | | + | |
- | Install toolchain:
| + | |
- | (lenny)~ # maemo-sdk install toolchain arm-2007q3
| + | |
- | | + | |
- | As the SDK needs to use sudo to gain root access later, we need to configure sudo: | + | |
- | (lenny)~ # 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
| + | |
- | | + | |
- | Now, log out of the schroot section, log out of the root account, and as a normal user on the host, log in to the chroot:
| + | |
- | (lenny)~ # logout
| + | |
- | # logout
| + | |
| $ schroot -c lenny | | $ schroot -c lenny |
- | (lenny)~ $
| + | You are now logged in as root in the chrooted environment as a ''user''. |
- | You are now logged in <s>as root in</s> to the chrooted environment as a ''normal (non-root) user''. | + | $ maemo-sdk install rootstrap diablo4.1.2_armel |
- | | + | |
- | Now, choose a rootstrap to install:
| + | |
- | (lenny)~ $ 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
| + | |
- | | + | |
- | (lenny)~ $ maemo-sdk install rootstrap '''''diablo4.1.2_armel'''''
| + | |
- | (lenny)~ $ sb2 -eR apt-get update
| + | |
- | (lenny)~ $ sb2 -eR apt-get install maemo-sdk-runtime maemo-sdk-dev maemo-sdk-debug
| + | |
| | | |
| ===Preparing host for target GUI=== | | ===Preparing host for target GUI=== |
| As root on the host: | | As root on the host: |
- | # aptitude install xserver-xephyr | + | $ aptitude install xserver-xephyr |
| | | |
| ===Building Maemopad to test the build environment=== | | ===Building Maemopad to test the build environment=== |
- | As a normal (non-root) user on the host: | + | As user on the host: |
| $ schroot -c lenny | | $ schroot -c lenny |
- | You are now logged in <s>as root in</s> to the chrooted environment as a ''normal (non-root) user''. | + | You are now logged in as root in the chrooted environment as a ''user''. |
- | (lenny)~ $ mkdir -p ~/src/mytest | + | $ mkdir -p ~/src/mytest |
- | (lenny)~ $ cd ~/src/mytest | + | $ cd ~/src/mytest |
- | (lenny)~/src/mytest $ sb2 -eR apt-get update | + | $ sb2 -eR apt-get update |
- | (lenny)~/src/mytest $ sb2 apt-get -eR build-dep maemopad | + | $ sb2 apt-get source maemopad |
- | (lenny)~/src/mytest $ sb2 apt-get source maemopad
| + | $ cd maemopad-2.4 |
- | (lenny)~/src/mytest $ cd maemopad-2.6 | + | $ export SBOX_REDIRECT_FORCE=/usr/bin/perl |
- | (lenny)~/src/mytest/maemopad-2.6 $ export SBOX_REDIRECT_FORCE=/usr/bin/perl | + | $ sb2 dpkg-buildpackage -rfakeroot -d -b |
- | (lenny)~/src/mytest/maemopad-2.6 $ sb2 dpkg-buildpackage -rfakeroot -d -b | + | |
| | | |
| ===Running Maemopad=== | | ===Running Maemopad=== |
- | As ''user'' on the host: | + | As user on the host: |
- | $ Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac & | + | $ Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -extension Composite |
| $ schroot -c lenny | | $ schroot -c lenny |
- | You are now logged in <s>as root in</s> to the chrooted environment as a ''normal (non-root) user''. | + | You are now logged in as root in the chrooted environment as a ''user''. |
- | (lenny)~ $ export DISPLAY=:2 | + | $ export DISPLAY=:2 |
- | (lenny)~ $ cd ~/src/mytest/ | + | $ sb2 -eR dpkg -i maemopad_2.4_armel.deb |
- | (lenny)~/src/mytest $ sb2 -eR dpkg -i maemopad_2.6-3+0m5_armel.deb
| + | $ maemo-sdk start gui |
- | (lenny)~/src/mytest $ maemo-sdk start gui | + | Notice that Maemopad appears in the x11 window. |
- | <s>Notice that Maemopad appears in the x11 window.</s><br />
| + | $ maemo-sdk stop gui |
- | Now you can launch MaemoPad from the Extras menu in the Xephyr window.
| + | |
- | (lenny)~/src/mytest $ maemo-sdk stop gui | + | |
- | | + | |
- | ===Installing Qt===
| + | |
- | As ''root'' in the chrooted environment:
| + | |
- | (lenny)~ # 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.
| + | |
- | | + | |
- | I have ~/.maemo-sdk/rootstraps/armel/diablo4.1.2_armel/usr/bin/run-standalone.sh and ~/.maemo-sdk/rootstraps/armel/diablo4.1.2_armel/usr/bin/af-sb-init.sh
| + | |
- | I'm not sure where I got them --[[User:swajime|SwaJime]] 22:50, 5 August 2010 (UTC)
| + | |
| | | |
| ===Guides used as a source for this document=== | | ===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. | | 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
| + | https://alioth.debian.org/docman/view.php/30192/21/debian-amd64-howto.html |
- | * http://www.debian-administration.org/articles/566
| + | http://www.debian-administration.org/articles/566 |
- | * http://nion.modprobe.de/blog/archives/539-Setting-up-build-chroots-on-Debian.html
| + | 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://repository.maemo.org/stable/4.1.2/INSTALL.txt |
- | * http://maemo-sdk.garage.maemo.org/install-debian.html
| + | http://maemo-sdk.garage.maemo.org/install-debian.html |
| | | |
- | This page has been brought up to date.--[[User:swajime|SwaJime]] 23:03, 5 August 2010 (UTC)
| |
| [[Category:Development]] | | [[Category:Development]] |