Testing Debian Edu in qemu
I test the Debian Edu installation using qemu. And to help do this
efficiently, I have written a script to run the commands in the
correct order. The script has grown over the years, and this is what
it currently do:
- Fetch the latest CD netinst image from ftp.skolelinux.org using
rsync.
- Create the hard disk images for the main-server and the
workstation.
- Start a qemu to install a main-server, using qemu user network to
get online. Terminate qemu when it is done installing and fail to
boot from hard drive.
- Wait for [enter] to be pressed in the terminal, and start (1) a
gateway using floppyfw, (2) the freshly installed main-server, (3)
a PXE booted workstation to be installed, (4) a PXE booted diskless
workstation and (5) a PXE-booted thin client. All of them
networked using qemu multicast.
About 35 GB of disk space is needed if both the virtual hard drives
are filled. If not, around 7 GB is needed.
Here is the script. Please give it a go and let me know if it help
you test the Lenny based Debian Edu. Perhaps it should go into our
svn?
!/bin/bash
#nop=echo
# Which image to test
dist=lenny-test-i386
archlist=i386-CD
gwmem=64
mem=128
ltspmem=32
disksizegb=17
disksize=$(($disksizegb * 1024 * 1024))
if [ -z "$image" ]; then
image=$dist-$archlist-1.iso
fi
if false ; then
$nop rsync -vt ftp.skolelinux.no::cd-$dist/debian-edu-$archlist-1.iso \
$image
fi
pxeimage=eb-5.4.3-rtl8139.iso
if [ ! -f $pxeimage ] ; then
echo "Missing image $pxeimage. Fetch from http://rom-o-matic.net/."
exit 1;
fi
gwimage="floppyfw-3.0.5.iso"
if [ ! -f $gwimage ] ; then
wget http://www.zelow.no/floppyfw/download/floppyfw-3.0/floppyfw-3.0.5/floppyfw-3.0.5.iso
fi
if [ ! -f hda-main ] ; then
$nop qemu-img create hda-main $disksize
fi
if [ ! -f hda-ws ] ; then
$nop qemu-img create hda-ws $disksize
fi
opts="-user-net -pci -fda fda.img"
opts=""
installnet=""
gwnet="\
-net nic,model=rtl8139,vlan=1 \
-net user,vlan=1 \
-net nic,model=rtl8139,vlan=2 \
-net socket,mcast=230.0.0.1:1232,vlan=2 \
"
servernet="\
-net nic,model=rtl8139,vlan=2\
-net socket,mcast=230.0.0.1:1232,vlan=2 \
-net nic,model=rtl8139,vlan=4 \
-net socket,mcast=230.0.0.1:1234,vlan=4 \
"
wclientnet="\
-net nic,model=rtl8139 \
-net socket,mcast=230.0.0.1:1232 \
"
tclientnet="\
-net nic,model=rtl8139 \
-net socket,mcast=230.0.0.1:1234 \
"
$nop qemu $opts -m $mem $installnet \
-redir tcp:2222::22 \
-boot d \
-cdrom $image \
-hda hda-main
echo
echo "Restarting qemu with boot from HD. Press [enter] to continue."
$nop read
# Start gateway
$nop qemu $opts -m $gwmem $gwnet \
-redir tcp:2222::22 \
-boot d \
-cdrom $gwimage &
sleep 2
# Start thin client
$nop qemu $opts -m $ltspmem $tclientnet \
-boot d \
-cdrom $pxeimage &
# Start diskless workstation
$nop qemu $opts -m $ltspmem $wclientnet \
-boot d \
-cdrom $pxeimage &
# Starting workstation
$nop qemu $opts -m $mem $servernet \
-boot d \
-cdrom $image \
-hda hda-ws &
# Starting server
$nop qemu $opts -m $mem $servernet \
-boot c \
-cdrom $image \
-hda hda-main
Happy hacking,
--
Petter Reinholdtsen
Reply to: