This file is indexed.

/usr/bin/sb2-build-qemuserver is in scratchbox2 2.2.4-1debian1.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
#!/bin/sh -e

function error_not_inside_sb2()
{
	echo "SB2: This script can only be used from inside"
	echo "the scratchbox 2'ed environment"
	exit 1
}

if [ -z "$SBOX_SESSION_DIR" ]
then
	error_not_inside_sb2
fi

. $SBOX_SESSION_DIR/sb2-session.conf

. ~/.scratchbox2/config

[ ! -z "$sbox_target" ] || sbox_target=$DEFAULT_TARGET

. ~/.scratchbox2/$sbox_target/sb2.config

# Read in primary toolchain config, if it has been defined;
# SBOX_CROSS_* variables are there nowadays
if [ -f $HOME/.scratchbox2/$sbox_target/sb2.config.d/gcc.config.sh ]; then
	. $HOME/.scratchbox2/$sbox_target/sb2.config.d/gcc.config.sh 
else
	echo "$HOME/.scratchbox2/$sbox_target/sb2.config.d/gcc.config.sh does not exist;"
	echo "Can't build qemuserver"
	exit 1
fi

# ------------
# FIXME: / LTA 2008-09-18:
# Export variables from sb2.config; These used to be exported from sb2.config,
# but the export statements were moved out from the config file.
# I'm not sure how many of these are really needed by this script.

export SBOX_CONFIG_VERSION

export DEB_BUILD_ARCH
export DEB_BUILD_ARCH_CPU
export DEB_BUILD_ARCH_ABI
export DEB_BUILD_GNU_CPU
export DEB_BUILD_GNU_TYPE
export DEB_BUILD_GNU_SYSTEM

export DEB_HOST_ARCH
export DEB_HOST_ARCH_OS
export DEB_HOST_ARCH_CPU

export DEB_HOST_GNU_CPU
export DEB_HOST_GNU_TYPE
export DEB_HOST_GNU_SYSTEM

export LD_LIBRARY_PATH
# ------------

export COMPILER=$SBOX_CROSS_GCC_DIR/$SBOX_CROSS_GCC_SUBST_PREFIX

# uh evil hack sb2 need --copy-clibrary
for linker in $(find $SBOX_CROSS_GCC_DIR/.. -name 'ld-linux.so*'); do
	export LIBCDIR=`dirname $linker`
done

if [ -z "$LIBCDIR" ]; then
	echo "could not find libc!"
	exit 2;
fi

[ ! -z "$K_COMPILER" ] || export K_COMPILER=$COMPILER

rm -rf builddir/*
mkdir -p builddir/.downloads

cd builddir/.downloads

[ -r busybox-1.9.0.tar.bz2 ] || wget http://www.busybox.net/downloads/busybox-1.9.0.tar.bz2
[ -r linux-2.6.23.13.tar.bz2 ] || wget http://ftp.fi.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.13.tar.bz2
[ -r sbrsh_7.6.tar.gz ] || wget http://ftp.fi.debian.org/debian/pool/main/s/sbrsh/sbrsh_7.6.tar.gz

cd ..

tar xjf .downloads/busybox-1.9.0.tar.bz2
tar xjf .downloads/linux-2.6.23.13.tar.bz2
tar xzf .downloads/sbrsh_7.6.tar.gz

cd linux-2.6*

if [ -r ../.downloads/.config ]; then
	cp ../.downloads/.config .
	ARCH=arm CROSS_COMPILE=$K_COMPILER make oldconfig
else
	ARCH=arm CROSS_COMPILE=$K_COMPILER make realview_defconfig
	echo make sure you have initrd support
	echo add eabi support
	echo add tmpfs support
	echo add loopback mount support
	echo ok? - press enter to continue
	read
	ARCH=arm CROSS_COMPILE=$K_COMPILER make menuconfig
	cp .config ../.downloads/
fi
ARCH=arm CROSS_COMPILE=$K_COMPILER make
cp arch/arm/boot/zImage ..

cd ..

cd busybox-*
	ARCH=arm CROSS_COMPILE=$COMPILER make defconfig
	ARCH=arm CROSS_COMPILE=$COMPILER make
	ARCH=arm CROSS_COMPILE=$COMPILER make install
	cp -a _install/ ../initramfs
cd ..


cd sbrsh-*
	make CC=${COMPILER}gcc
cd ..

mkdir -p initramfs/{boot,etc,proc,sys,mnt,sbin,dev,lib,usr/bin,tmp}
cp $LIBCDIR/* initramfs/lib/
cp sbrsh-7.6/optimize/bin/sbrshd initramfs/sbin/
echo '*' > initramfs/etc/sbrshd.conf
cat > initramfs/init <<EOF
#!/bin/sh
echo "Loading, please wait..."
mount -t proc proc /proc
mount -t sysfs sysfs /sys
ifconfig eth0 10.0.2.15 netmask 255.255.255.0 up
ifconfig lo 127.0.0.1 netmask 255.0.0.0 up
route add default gw 10.0.2.2
# The daily WTF: qemu enables networking only after guest
# communicates to you
ping -c 3 10.0.2.2
# The daily WTF #2: binmounts fail if mount source dir
# is initramfs
cp -a /dev /dev2
mount -t ramfs ramfs /dev
mv /dev2/* /dev
mount -t devpts devpts /dev/pts
mount -t sysfs sysfs /sys
mount -t ramfs ramfs /tmp
chmod a+rwx /tmp
/sbin/sbrshd

/bin/sh </dev/console >/dev/console
EOF
chmod a+x initramfs/init
chmod a+x initramfs/lib/ld-linux*

fakeroot sb2-mkinitramfs initramfs initramfs.gz

echo Add following in your /etc/exports
echo
echo "$HOME 127.0.0.1(rw,all_squash,anonuid=$UID,anongid=$UID,sync,insecure)"
echo
echo for sbox target config:
echo
echo "sb2-init -sn -r 127.0.0.1 -l 10.0.2.2 -c sbrsh MAEMO $COMPILER"