One advantage of the combination of Knoppix and Qemu/kvm is that it is not necessary to do any setup of a virtual machine to run Knoppix, and with Knoppix copies on separate partitions bootable with grub, one may simply run gemu/kvm on the MBR of the harddisk and pick the desired install from the ordinary grub boot menu. The actual partition should be mounted read-only at most, as it gets mounted on /mnt-system in the virtual machine.

One complication with qemu/kvm is only simple networking support out of the box: I can reach the internet through the host, default network-manager works just fine for that, but direct communication with the Knoppix guest system isn't set up. Furthermore, with wireless adapters, the traditional simple bridge techique doesn't work.

There are lots of ways to overcome this, and here I want to report just one rather simple, presented in the blog post

It uses the tunctl, from uml-utilities, and parprouted from parprouted

In this case, my internet connection is through a mobile router ( and wlan0 ( The guest must be on the same subnet.

I issued the following commands

sudo sysctl -w /net/ipv4/ip_forward=1
sudo tunctl -t tap0
sudo ip link set tap0 up
sudo ip addr add dev tap0
sudo parprouted wlan0 tap0
Then I started qemu/kvm to boot an ordinary Knoppix PMI through grub:

sudo qemu -machine accel=kvm  -hda /dev/sda -net nic -net tap,ifname=tap0,script=no -m 1024 &
In the guest, disable network-manager's networking and setup the virtual eth0, as root:

ifconfig eth0 up   # Static IP
echo 'nameserver' > /etc/resolv.conf  # Use the nameserver of the host
route add default gw # Host IP
Somewhat miraculously to me, this worked!

I haven't tried yet, but this should work for at least a few VM's, creating tap1, tap2 etc and using them instead of tap0.

This way, servers can be tested out or routinely run with qemu/kvm just by copying the KNOPPIX directory (to be precise, in this case KNOPPIX705R1, remastering 1 of 7.0.5) to a partition (which may contain just about anything besides), setting up a grub menu entry for the copy and run qemu/kvm.

My practical motivation for this is to run a database server and a web server on separate virtual machines, possibly an application server too. With three extra partitions, I can easily run three VMs simulataneously this way.

I have used VMware Workstation for this earlier, but this approach seems both simpler and more flexible to me. Plus I can spare myself the frequent VMware module compilation blues. (Workstation 8.0.5 works fine with Knoppix 7.0.5, BTW - Workstation 8.0.4 does not.)