10. February 2007
vmware and kernel 2.6.20
Doesn’t go too well toghether. At least VMware Server 1.0.1 build-29996 and vanilla kernel 2.6.20. However there are things that can be done:
cd /usr/lib/vmware/modules tar xf vmmon.tar ; rm vmmon.tar patch -p0 <vmmon.patch tar cf vmnet.tar vmnet-only tar xf vmnet.tar ; rm vmnet.tar patch -p0 < vmnet.patch tar cf vmnet.tar vmnet-only
Use the following patches: vmmon.patch
iff -Naur vmmon-only/include/compat_kernel.h vmmon-only.20/include/compat_kernel.h — vmmon-only/include/compat_kernel.h 2006-08-10 01:59:13.000000000 +0300 +++ vmmon-only.20/include/compat_kernel.h 2007-02-10 04:45:48.928389823 +0200 @@ -18,7 +18,9 @@ * provided by x86-64, arm and other (but not by i386). */ #define __NR_compat_exit __NR_exit +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 4, 20) static inline _syscall1(int, compat_exit, int, exit_code); +#endif
/*
and for vmnet.patch use:
diff -Naur vmnet-only/bridge.c vmnet-only-20/bridge.c — vmnet-only/bridge.c 2006-08-10 01:59:13.000000000 +0300 +++ vmnet-only-20/bridge.c 2007-02-10 04:53:48.205619624 +0200 @@ -1176,7 +1176,7 @@ return 0; } #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 4) - if (skb->ip_summed == CHECKSUM_HW) { + if (skb->ip_summed == CHECKSUM_COMPLETE) { /* * Unbelievable… Caller sets h.raw = nh.raw before invoking us… */ diff -Naur vmnet-only/userif.c vmnet-only-20/userif.c — vmnet-only/userif.c 2006-08-10 01:59:13.000000000 +0300 +++ vmnet-only-20/userif.c 2007-02-10 04:53:24.235258028 +0200 @@ -626,7 +626,7 @@ * faster. */ if (skb->pkt_type == PACKET_OUTGOING && /* Packet must be outgoing */ - skb->ip_summed == CHECKSUM_HW && /* Without checksum */ + skb->ip_summed == CHECKSUM_COMPLETE && /* Without checksum */ skb->h.raw != skb->nh.raw && /* We must know where header is */ skb->len == count) { /* No truncation may occur */ size_t skl;
I also had to do a touch /usr/include/linux/config.h
Happy vmwareing