Apophis-r4

Known issues

Conventions

$ = (normal) user prompt outside scratchbox
> = user prompt inside scratchbox

Kernel related issues

In linux kernels 2.6.23 onward there's support for additional security check for mmap operations which is used for example in kernel that ships with latest Ubuntu, Hardy Heron. Ubuntu ships with 65536 as a default value for mmap_min_addr, which prevents qemu from mmapping the low address spaces, thus breaking the qemu based cpu transparencies inside Scratchbox as well. The problem can fixed with assigning a reasonably low value in mmap_min_addr.

$ sudo 'echo 4096 > /proc/sys/vm/mmap_min_addr' 

The host side glibc inside Scratchbox is a bit out-of-date and doesn't behave well with the new, randomized VDSO. If you get an error message like the one below when logging in scratchbox, it's about the VDSO.

Inconsistency detected by ld.so: rtld.c: 1192: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
Inconsistency detected by ld.so: rtld.c: 1192: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
Inconsistency detected by ld.so: rtld.c: 1192: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!

To fix this problem, use

$ sudo 'echo 0 > /proc/sys/vm/vdso_enabled'

or for the older kernels

$ sudo 'echo 0 > /proc/sys/kernel/vdso'

For the above to work, your kernel has to be compiled with

CONFIG_COMPAT_VDSO=y

If you're using a 64-bit kernel, you have to set the following kernel parameter as boot option, the VDSO setting cannot be changed later from the proc.

vdso32=0

Fakeroot related issues

You have to have loopback interface set up for fakeroot to work. If you see messages like

libfakeroot: connect: Connection timed out

make sure your loopback interface is running. You can activate the interface with

$ ifconfig lo 127.0.0.1 up

The fakeroot inside Scratchbox uses local tcp sockets to communicate with the faked daemon. If you handle many files during a fakeroot session, system may run out of sockets. If you see messages like

libfakeroot: connect: Cannot assign requested address

try increasing ip_local_port_range using

$ sudo 'echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range'

Compatibility among packages

Maemo SDK

APT

> sb-conf st my-target -c my-compiler -d cputransp:perl:debian-etch:apt-https -t /scratchbox/devkits/cputransp/bin/qemu-my-arch-cvs
> sb-conf in my-target -c -d -e -F -G -S
> sb-conf se my-target
> sb-conf st my-bora -c cs2005q3.2-glibc2.5-arm -d cputransp:perl:debian-sarge:maemo3-debian:apt-https -t /scratchbox/devkits/cputransp/bin/qemu-arm-0.8.2-sb2
> sb-conf in my-bora -c -d -e -F -G -S
> sb-conf se my-bora

Crocodile

$ mkdir /scratchbox/users/${USER}/targets/`sb-conf cu`_deb_list
$ cat > /scratchbox/users/${USER}/targets/`sb-conf cu`_deb_list/flex << EOF
Source: flex
Version: 2.5.31
Binary: flex
EOF

Legacy toolchains

Scratchbox 0.9.8 toolchains can be used with Scratchbox Apophis r4, but there are some known limitations when using them:

Change logs

Repository

Binary packages

Version

[WWW] scratchbox

scratchbox-core,
scratchbox-libs,
scratchbox-toolchain-host-gcc

1.0.6 (updated to 1.0.11)

[WWW] sb-apt-https-devkit

scratchbox-devkit-apt-https

1.0 (new devkit, updated to 1.0.3)

[WWW] sb-cputransp-devkit

scratchbox-devkit-cputransp

1.0.1 (updated to 1.0.7)

[WWW] sb-debian-devkit

scratchbox-devkit-debian

1.0.4 (updated to 1.0.10)

[WWW] sb-doctools-devkit

scratchbox-devkit-doctools

1.0.5 (updated to 1.0.9)

[WWW] sb-git-devkit

scratchbox-devkit-git

1.0 (new devkit, updated to 1.0.1)

[WWW] sb-maemo3-devkit

scratchbox-devkit-maemo3

1.0 (new devkit, updated to 1.0.3)

[WWW] sb-svn-devkit

scratchbox-devkit-svn

1.0 (new devkit)

[WWW] sb-perl-devkit

scratchbox-devkit-perl

1.0.4

[WWW] sb-toolchain-extras

all foreign toolchain packages

1.0.4 (updated to 1.0.8)

last edited 2008-09-30 14:22:13 by JussiHakala