I was able to convert an existing Windoes 2003 server installation to use these drivers using the procedure Tom described. But I can't figure out how to use them during the initial installation.
You can use the virtio disk drivers in the initial install, I tested this with 2003 server 64bit. The net driver can easily be installed after machine has booted.
Login to the proxmox server via ssh.
First create a floppy image containing the drivers using the standard linux dd & loop mount tools.
Create the floppy image
Code:
# dd bs=512 count=2880 if=/dev/zero of=virtiodrivers.img
# mkfs.msdos virtiodrivers.img
# mkdir /media/floppy1/
# mount -o loop virtiodrivers.img /media/floppy1/
Assuming the virtio drivers cdrom is mounted at /cdrom, copy the contents of the driver cd to the floppy.
Code:
# cp -r /cdrom/ /media/floppy1/
Unmount the disk image
Copy the image file somewhere handy e.g. /tmp.
Code:
# cp virtiodrivers.img /tmp
From the proxmox web interface:
Perform a normal KVM install but select virtio for both disk type and network card. Installation media was set to OS cd1 (previously uploaded).
The output of the create command looks like this:
Code:
/usr/sbin/qm create 106 --ostype w2k3 --memory 512 --onboot no --cdrom ms2003std64-1.iso --name virtiotest --vlan0 virtio=1A:5D:EE:B8:D4:AB --smp 1 --virtio0 8 --bootdisk virtio0
Formatting '/var/lib/vz/images/106/vm-106-disk.qcow2', fmt=qcow2, size=8388608 kB
VM 106 created
Now start the vm, but don't do anything else - we need to grab the output of 'ps' and modify it so that the virtual floppy is also mounted.
Back at the ssh prompt, search for the kvm command associated with the above vm (vmid106), e.g.
Code:
# ps auxwww | grep kvm
root 2415 75.3 0.3 630008 30468 ? Sl 15:38 0:12 /usr/bin/kvm -monitor unix:/var/run/qemu-server/106.mon,server,nowait -vnc unix:/var/run/qemu-server/106.vnc,password -pidfile /var/run/qemu-server/106.pid -daemonize -usbdevice tablet -name virtiotest -smp 1 -id 106 -cpuunits 1000 -vga cirrus -tdf -localtime -k en-us -drive file=/var/lib/vz/template/iso/ms2003std64-1.iso,if=ide,index=2,media=cdrom -drive file=/var/lib/vz/images/106/vm-106-disk.qcow2,if=virtio,index=0,boot=on -m 512 -net tap,vlan=0,ifname=vmtab106i0,script=/var/lib/qemu-server/bridge-vlan0 -net nic,vlan=0,model=virtio,macaddr=1A:5D:EE:B8:D4:AB
Now copy the output to the clipboard, then kill the process.
Code:
# kill 2415
# kill 2415
-bash: kill: (2415) - No such process
Finally (this is the fun part!) restart this process with the addition of the virtual floppy drive. e.g. (the following should be all on one line)
Code:
# /usr/bin/kvm -monitor unix:/var/run/qemu-server/106.mon,server,nowait -vnc unix:/var/run/qemu-server/106.vnc,password -pidfile /var/run/qemu-server/106.pid -daemonize -usbdevice tablet -name virtiotest -smp 1 -id 106 -cpuunits 1000 -vga cirrus -tdf -localtime -k en-us -drive file=/var/lib/vz/template/iso/ms2003std64-1.iso,if=ide,index=2,media=cdrom -drive file=/var/lib/vz/images/106/vm-106-disk.qcow2,if=virtio,index=0,boot=on -drive file=/tmp/virtiodrivers.img,index=0,if=floppy -m 512 -net tap,vlan=0,ifname=vmtab106i0,script=/var/lib/qemu-server/bridge-vlan0 -net nic,vlan=0,model=virtio,macaddr=1A:5D:EE:B8:D4:AB
Note the added "-drive file=/tmp/virtiodrivers.img,index=0,if=floppy"
You have to now quickly open the vnc console to the machine so you can hit "F6", you should then be able to load the virtio driver for the hard drive and continue with the install.