Install vmxnet network driver on your Debian VM
After installing Debian 4 RC2 (Etch) as a VM under VMWare ESX 3.5 it was decided to change the default PCNet32 virtual network driver to the VMWare tools open source vmxnet driver to see if this alleviated a performance response timing issue with some peripheral network servers. No direct benchmarking was undertaken to verify any possible performance gains.
If you need to figure out what ethernet driver is being run under your VM you can refer to this article Find your ethernet driver under Debian.
The following installation procedure has been testing under the VMWare GSX 1.06 and ESX 3.5 environments with Debian Etch setup as server installs with no GUI environment.
Show Plain Text- Check /etc/apt/sources.list is only set to stable
- apt-get update
- apt-get install linux-headers-$(uname -r)
- Add unstable to /etc/apt/sources.list
- deb http://http.us.debian.org/debian/ unstable main contrib non-free
- apt-get update
- apt-get install open-vm-source
- module-assistant prepare open-vm
- module-assistant auto-install open-vm
Now add the vmxnet module to the initrd image.
Show Plain Text- cp /initrd.img ~/initrd.img.cpio.gz
- gunzip ~/initrd.img.cpio.gz
- mkdir ~/tmpspace
- cd ~/tmpspace
- cpio -i < ~/initrd.img.cpio
- cp /lib/modules/`uname -r`/misc/vmxnet.ko ~/tmpspace/lib/modules/`uname -r`/kernel/drivers/net/
- cd ~/tmpspace
- find . | cpio -o -H newc | gzip -9 > ../newinitrd.gz
- mv /boot/initrd.img-`uname -r` /boot/initrd.img-`uname -r`.old
- cp ~/newinitrd.gz /boot/initrd.img-`uname -r`
- edit /etc/modprobe.d/blacklist add 'blacklist pcnet32'
- update-initramfs -u
If the update-initramfs fails you may net need to run it like this
Show Plain Text- update-initramfs -k `uname -r` -t -u
After a reboot you can verify the driver has been installed by running "ethtool -i eth0" which should return something similar to the following :-
Show Plain Text- driver: vmxnet
- version: 2.0.1.1
- firmware-version: N/A
- bus-info: 0000:00:11.0
Reference
- WMWare - Performance Comparison Virtual Network Devices
- AstroArch - Virtualization, has some good install articles in regard to virtualization