From Sugar Labs
Jump to: navigation, search


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


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



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

wget -nd
tar -xjf linux-
cd linux-
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 arch/arm/boot/zImage instead. A copy of the initrd image used for installation is kept for reference.

Base system

wget -nd
wget -O initrd-netboot.gz
qemu-img create -f qcow2 hda.img 10G
qemu-system-arm -M versatilepb -kernel vmlinuz- \
 -initrd initrd-netboot.gz -m 256 -hda hda.img -nographic \
 -append 'root=/dev/ram mem=256M console=ttyAMA0'

Config options:

  • english, Italy
  • mirror Italy,, 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- \
-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/
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- \
-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