Machine/bender/Buildslave-debian-squeeze-armel

Description
buildslave-debian-squeeze-armel is an ARM VM running Debian squeeze for the BuildBot network.

TODO

 * proper networking (on virbr0, including IPv6)
 * libvirtd integration

Kernel
All kernels I could find had (different) issues that prevented the installation from finishing, so I built my own:

wget -nd http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.5.tar.bz2 tar -xjf linux-2.6.30.5.tar.bz2 cd linux-2.6.30.5 make ARCH=arm versatile_defconfig make ARCH=arm menuconfig [many changes] make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- targz-pkg

The resulting tarball will contain the uncompressed kernel image which won't work with qemu. You need to use  instead. A copy of the initrd image used for installation is kept for reference.

Base system
wget -nd http://people.sugarlabs.org/~silbe/armel/vmlinuz-2.6.30.50-ss1 wget -O initrd-netboot.gz http://people.debian.org/~joeyh/d-i/armel/images/daily/versatile/netboot/initrd.gz qemu-img create -f qcow2 hda.img 10G qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.30.50-ss1 \ -initrd initrd-netboot.gz -m 256 -hda hda.img -nographic \ -append 'root=/dev/ram mem=256M console=ttyAMA0'

Config options:
 * english, Italy
 * buildslave-debian-squeeze-armel.sugarlabs.org
 * mirror Italy, ftp.it.debian.org, no proxy
 * continue without kernel modules, ignore LVM warning, continue without installable kernel
 * use entire disk (no LVM/encryption), all in one, set noatime + user_xattr for /
 * user "administrator" (not used) with root password
 * no package sets, not even "Standard system"
 * continue without boot loader

After the VM has rebooted, kill it (otherwise it boots into the installer again): killall qemu-system-arm

Boot into early shell on installed system: qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.30.50-ss1 \ -m 256 -hda hda.img -nographic \ -append 'root=/dev/sda1 mem=256M console=ttyAMA0 init=/bin/bash'

Inside the VM, work around/fix Debian bugs #544202 / 544184 and set up a serial console: for x in /etc/rcS.d/S* ; do "$x" start ; done sed -i -e 's/logsave .*\(fsck[^&]*\)$/\1/' /etc/rcS.d/S10checkroot.sh echo ttyAMA0 >> /etc/securetty echo 'T0:2345:respawn:/sbin/getty -L ttyAMA0 115200 vt100' >> /etc/inittab pkill dhclient3 mount -o remount,ro / Kill the VM again (poweroff doesn't work): killall qemu-system-arm

Boot into installed system: qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.30.50-ss1 \ -m 256 -hda hda.img -nographic \ -append 'root=/dev/sda1 mem=256M console=ttyAMA0'

Log in as root and install packages for next steps: aptitude install openssh-server git-core etckeeper sudo

Initial set up
adduser --uid 1666 --gecos 'Bernie H. Innocenti,,,' --disabled-password bernie adduser --uid 8193 --gecos 'Sascha Silbe,,,' --disabled-password silbe adduser --uid 1001 --gecos ,,, --disabled-password buildslave gpasswd -a bernie sudo gpasswd -a silbe sudo