Editing Maemo SDK+ installation on Debian (AMD64)

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
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]]

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)