Mobile/Build/cs2007q3
Setting up scratchbox with the cs2007q3 toolchain
sudo su
echo "deb http://scratchbox.org/debian/ stable main" >> /etc/apt/sources.list
apt-get update
apt-get install scratchbox-toolchain-cs2007q3-glibc2.5-arm6
exit
##############
# do the section below if on ubuntu 8.04, skip for Ubuntu 7.1. Other OS may also have this problem. If you see a problem when running nsinstall that says something "mmap - permission denied", come back here an try this.
##############
add the following to /etc/sysctl.conf
vm.vdso_enabled = 0
vm.mmap_min_addr = 4096
Then run
sudo sysctl -p
##############
# Continue from here for all versions of Ubuntu, including 7.10
##############
wget http://repository.maemo.org/stable/chinook/maemo-scratchbox-install_4.0.1.sh
sudo chmod a+x ./maemo-scratchbox-install_4.0.1.sh
sudo ./maemo-scratchbox-install_4.0.1.sh -s /scratchbox
sudo /scratchbox/sbin/sbox_adduser $USER yes
# you may need to relog into your machine here.
sudo /scratchbox/sbin/sbox_ctl start
wget http://tablets-dev.nokia.com/4.0.1/maemo-sdk-install_4.0.1.sh
chmod +x maemo-sdk-install_4.0.1.sh
bash maemo-sdk-install_4.0.1.sh
/scratchbox/login
sb-conf setup CHINOOK-ARMEL-2007 -c cs2007q3-glibc2.5-arm6 \
-d cputransp:debian-etch:doctools:maemo3-tools:perl \
-t /scratchbox/devkits/cputransp/bin/qemu-arm-cvs-m
sb-conf rootstrap CHINOOK-ARMEL-2007 http://repository.maemo.org/stable/4.0.1/armel/maemo-sdk-rootstrap_4.0.1_armel.tgz
sb-conf install CHINOOK-ARMEL-2007 -cedFGS
sb-conf select CHINOOK-ARMEL-2007
wget http://people.mozilla.com/~vladimir/misc/execstack.armel
chmod a+x execstack.armel
fakeroot mv execstack.armel /usr/bin/execstack
execstack -c `find /lib/ -name \*.so.\* -type f`
execstack -c `find /usr/lib/ -name \*.so.\* -type f`
fakeroot echo "deb http://repository.maemo.org/extras-devel chinook free non-free" >> /etc/apt/sources.list
fakeroot echo "deb file:/home/$USER/maemo-sdk-nokia-binaries_4.0.1 chinook explicit" >> /etc/apt/sources.list
fakeroot yes | apt-get update
fakeroot apt-get install libgtk2.0-dev libxaw7-dev libfreetype6-dev libxi-dev libhildonmime-dev libosso-dev libidl-dev liblocation-dev libasound2-dev
exit
Notes on 64 Bit Ubuntu Ibex
Scratchbox contains 32 bit binaries which must be accommodated on a 64 bit system. The easiest way to do this is with a 32 bit chroot. Scratchbox also uses a chroot - so they will be executing 2 deep when the build is done.
Steps 1 through 4 in http://danielkitta.org/howto/maemo-amd64 provide a guide to setting up a 32 bit chroot under ubuntu. Use "hardy" or "intrepid" instead of "dapper" in the instructions in order to have a glibc current enough to run scratchbox.
When that is complete, change to the chroot (linux32 dchroot -c hardy-i386 -d) and you can install scratchbox largely based on the instructions above, with a few modifications:
- change `uname -m` in maemo-scratchbox-install to be `linux32 uname -m`
- in sysctl.conf, instead of vm.vdso_enabled =0 , use abi.vsyscall32 = 0 (do this in the real root, not the chroot), Indeed this is needed for either 32 or 64 bit Ibex.
- make certain binfmt_misc is loaded (modprobe -a binfmt_misc)
- inside chroot make sure /proc is mounted (mount /proc)
Upgrading a centos ref vm with scratchbox installed
These instructions are now moved to [1].
OBSOLETE - DO NOT USE - START.
On Centos5, need to make the following changes to sysctl.conf
$ su
# vi /etc/sysctl.conf
...and append
vm.vdso_enabled = 0
vm.mmap_min_addr = 4096
#
# /sbin/sysctl -p
...
vm.vdso_enabled = 0
vm.mmap_min_addr = 4096
# exit
su -
cd ~
wget http://scratchbox.org/download/files/sbox-releases/stable/tarball/scratchbox-toolchain-cs2007q3-glibc2.5-arm6-1.0.7-3-i386.tar.gz
wget http://scratchbox.org/download/files/sbox-releases/stable/tarball/scratchbox-devkit-cputransp-1.0.7-i386.tar.gz
cd /
tar zxvf ~/scratchbox-toolchain-cs2007q3-glibc2.5-arm6-1.0.7-3-i386.tar.gz
tar zxvf ~/scratchbox-devkit-cputransp-1.0.7-i386.tar.gz
cd /scratchbox
wget https://bugzilla.mozilla.org/attachment.cgi?id=334232
chmod a+x moz_scratchbox
cd /scratchbox/etc
mv resolv.conf resolv.conf.orig
cp /etc/resolv.conf .
# exit from running as root, now back to cltbld account.
/scratchbox/moz_scratchbox
sb-conf setup CHINOOK-ARMEL-2007 -c cs2007q3-glibc2.5-arm6 -d cputransp:debian-etch:doctools:maemo3-tools:perl -t /scratchbox/devkits/cputransp/bin/qemu-arm-cvs-m
sb-conf rootstrap CHINOOK-ARMEL-2007 http://repository.maemo.org/stable/4.0.1/armel/maemo-sdk-rootstrap_4.0.1_armel.tgz
sb-conf install CHINOOK-ARMEL-2007 -cedFGS
sb-conf select CHINOOK-ARMEL-2007
exit
wget http://repository.maemo.org/stable/chinook/maemo-sdk-nokia-binaries_4.0.1.sh
chmod +x maemo-sdk-nokia-binaries_4.0.1.sh
## following line failed out with permission errors
## sh ./maemo-sdk-nokia-binaries_4.0.1.sh
## so did the following instead:
$ su -
# cd /scratchbox
# sh /home/cltbld/maemo-sdk-nokia-binaries_4.0.1.sh
## you'll have to type 'I accept'
## you'll have to space/more to the end of the EULA, and then enter 'I accept'
/scratchbox/login
wget http://people.mozilla.com/~vladimir/misc/execstack.armel
chmod a+x execstack.armel
fakeroot mv execstack.armel /usr/bin/execstack
execstack -c `find /lib/ -name \*.so.\* -type f`
execstack -c `find /usr/lib/ -name \*.so.\* -type f`
fakeroot echo "deb http://repository.maemo.org/extras-devel chinook free non-free" >> /etc/apt/sources.list
fakeroot echo "deb file:/home/$USER/maemo-sdk-nokia-binaries_4.0.1 chinook explicit" >> /etc/apt/sources.list
fakeroot apt-get update
fakeroot apt-get install libgtk2.0-dev libxaw7-dev libfreetype6-dev libxi-dev libhildonmime-dev libosso-dev libidl-dev liblocation-dev libasound2-dev
exit
Also, need to do https://wiki.mozilla.org/ReferencePlatforms/Linux-CentOS-5.0#Move_Scratchbox to avoid filling root partition.
OBSOLETE - DO NOT USE - END.