• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[HOWTO] Reinstallation VMware Kernelmodule nach Kernelupdate

Martin Breidenbach

Ultimate Guru
Nach einem Kernelupdate - z.B. über Yast Online Update (YOU) - passen die VMware Kernelmodule nicht mehr zum laufenden Kernel. Beim Versuch diese neu zu installieren bricht vmware-config.pl ab.

Die Lösung ist::

1. Kernelquellen und Entwicklertools installieren (falls noch nicht geschehen)

- Kernelquellen installieren
- Entwicklertools (gcc, make) installieren
- sicherstellen daß die Kernelquellen zum laufenden Kernel passen (falls die Kernelquellen nachträglich installiert wurden evtl noch einmal YOU ausführen)

2. Gegebenenfalls 'Fehlende' Dateien erzeugen:

Code:
cd /usr/src/linux
make cloneconfig
make prepare

Dieser Schritt ist i.A. nicht erforderlich. Es gab mal irgendeine Kernelversion da ging das nicht ohne. Wenn's Probleme gibt probiert's halt einfach mal aus.

3. VMware Kernelmodule installieren:

Code:
vmware-config.pl

Beim Einsatz einer älteren VMware-Version kann es erforderlich sein diese auf Version 4.5.2 oder 5.0 zu aktualisieren. Der Update von VMware 4.x auf 4.5.2 ist kostenlos. Ebenso der Update von VMware WS 5.x auf 5.5.1.

Manchmal hilft auch der inoffizielle VMware-any-any-Patch (http://ftp.cvut.cz/vmware).

Siehe auch hier:

Installieren eines zusätzlichen Kernelmodules unter SuSE Linux mit Kernel 2.6.x
http://www.linux-club.de/ftopic42156.html

Hier findet man den VMware-Any-Any-Patch mit dem sich VMware auf 'unbekannten' Kerneln oftmals installieren läßt:
http://platan.vc.cvut.cz/ftp/pub/vmware
http://ftp.cvut.cz/vmware

Zum Zeitpunkt wo ich dies Schreibe heißt die Datei:

vmware-any-any-update101.tar.gz

Es gibt dort auch einen Patch den man bei Problemen mit der Installation der Vmware Tools einspielen kann.

Zum Zeitpunkt wo ich dies Schreibe heißt die Datei:

vmware-tools-any-update1.tar.gz

Eine Erklärung des VMware-Any-Any-Patch gibts bei:
http://vmware.itst.org/viewtopic.php?t=2731
 

walt+walt

Newbie
Nochmals: Kernel-Update und Meldung von VMware-Config, dass Kernel nicht stimmt.

Seit 2 Wochen komme ich nicht über dieses Problem hinweg (siehe unten). Ich habe bei vmware-foren gesucht und sonst überall. Nun, Tipps habe ich entdeckt, bloss funktionierte keiner.

Vorausgeschickt muss werden, dass ich kein Unix-Crack bin, aber lesen kann (nicht unbedingt verstehen - aber lesen und nachvollziehen).

Ich habe die oben von Martin beschriebenen Aktionen durchgeführt. Habe letzte nach das ganz Suse neu upgedated. VMware nochmals und nochmals installiert. Den VMware-any-any-Patch war nicht auszuführen, da er mir unbekannte Optionen wollte.

Also: AMD Athlon 3200+, Gigabyte nForce etc. etc. Win XP Pro als Host (leider immer noch) und Dual-Boot mit Suse 10.1. VMware Server unter Suse als Host.

--------------------------------------------------------------------------------------------------------

BEI VMWARE-CONFIG.PL kommt immer dasselbe:

>>Configuring fallback GTK+ 2.4 libraries.

In which directory do you want to install the mime type icons?
[/usr/share/icons]

What directory contains your desktop menu entry files? These files have a
.desktop file extension. [/usr/share/applications]

In which directory do you want to install the application's icon?
[/usr/share/pixmaps]

Trying to find a suitable vmmon module for your running kernel.

None of the pre-built vmmon modules for VMware Server is suitable for your
running kernel. Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include] <<
--------------------------------------------------------------------------

Ich weiss nun echt nicht mehr wie weiter - diese Meldung kommt ja etliche Male in Foren vor - aber keine der Lösungen hat gewirkt.

Bin irrsiinig dankbar um jegwelche Hilfe.

Merci, walt
 
Martin Breidenbach schrieb:
2. 'Fehlende' Dateien erzeugen:
NEIN! Nicht 2. Die sind schon generiert -- zumindest beim kernel-source rpm.
walt+walt schrieb:
What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include] <<
Das sieht mir nach fehlendem kernel-source aus.

NEWS-Flash: Jetzt vmware_kernel-kmp-*-2.6.17.13_jen34*.rpm passend zum passenden Kernel erhältlich ;-)
 
OP
Martin Breidenbach

Martin Breidenbach

Ultimate Guru
jengelh schrieb:
NEIN! Nicht 2. Die sind schon generiert -- zumindest beim kernel-source rpm.

Es gab mal irgendwann irgendeine Version da war das nötig. Ich hab's heute auf meinem SuSE 10.1 Netzknecht 'ohne' gemacht. Habe das oben mal angepaßt.
 

walt+walt

Newbie
Vielen Dank für alle echt schnellen Antworten:

habe den Tipp von jengelh genommen und den Kernel: vmware_kernel-kmp-*-2.6.17.13_jen34*.rpm (für i586) installiert.

Leider, das gleiche Ergebnis wie gehabt.

Vielleicht muss ich doch die Variante "Kauf WS" nehmen um vom Fleck zu kommen.

Soll aber keinesfalls Eure gute Laune verderben. Als alter Mainfram-Fuchs (igitt, seit 1960 auf Assembler, For, Pasc usw usw usw - bin ich mir natürliche nächtliche Uebungen gewohnt. Dachte bloss, es sei ein bisschen anders gworden.

Solong, und klaro, werd den nächsten Tipp einbauen.
 
OP
Martin Breidenbach

Martin Breidenbach

Ultimate Guru
walt+walt schrieb:
What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include]

Was passiert denn wenn man da auf 'enter' drückt ?

Ansonsten:

http://www.linux-club.de/ftopic42156.html

Vergleiche mal die Version des Kernels und der Kernelquellen.
 

walt+walt

Newbie
Vielen Dank. Wenn ich enter drücke kommt die "gehabte" Message : "bla-bla- c Header not found".

Der Tipp mit den Kerneln scheint mir doch gut zu sein, obwohl ich gestern Nacht exakt diese Prozedere laufen liess (inkl YOU).

Hier meine Kernels:

walt@linux-gnnk:~> su
Passwort:
linux-gnnk:/home/walt # uname -r
2.6.16.21-0.13-smp
linux-gnnk:/home/walt # rpm -q kernel-source
package kernel-source is not installed
linux-gnnk:/home/walt # rpm -q kernel-default
package kernel-default is not installed
linux-gnnk:/home/walt # rpm -qa | grep kernel
kernel-smp-2.6.16.21-0.21
kernel-xenpae-2.6.16.21-0.21
kernel-xen-2.6.16.21-0.21
vmware_kernel-kmp-xen-104_2.6.17.13_jen34-jen1
linux-gnnk:/home/walt #

Nun weiss ich leider nicht allzuviel damit anzufangen. Vielleicht ists für einen Fachmann eine klare Sache: Ich hoffe.
 

walt+walt

Newbie
Nun habe ich endlich festgestellt, dass ich den smpt kernel bräuchte: Aber auch dieser legte sich quer:

walt@linux-gnnk:~/downloads> su
Passwort:
linux-gnnk:/home/walt/downloads # rpm -ivh vmware_kernel-kmp-smp-104_2.6.17.13_jen34-jen1.i586.rpm
warning: vmware_kernel-kmp-smp-104_2.6.17.13_jen34-jen1.i586.rpm: Header V3 DSA signature: NOKEY, key ID 844c4360
Preparing... ########################################### [100%]
1:vmware_kernel-kmp-smp ########################################### [100%]
Warning: Module vmmon.ko from kernel 2.6.17.13-jen34-smp has no modversions, so it cannot be reused for kernel 2.6.16.21-0.21-smp
Warning: Module vmnet.ko from kernel 2.6.17.13-jen34-smp has no modversions, so it cannot be reused for kernel 2.6.16.21-0.21-smp
Warning: Module vmmon.ko from kernel 2.6.17.13-jen34-smp has no modversions, so it cannot be reused for kernel 2.6.16.21-0.21-xen
Warning: Module vmnet.ko from kernel 2.6.17.13-jen34-smp has no modversions, so it cannot be reused for kernel 2.6.16.21-0.21-xen
Warning: Module vmmon.ko from kernel 2.6.17.13-jen34-smp has no modversions, so it cannot be reused for kernel 2.6.16.21-0.21-xenpae
Warning: Module vmnet.ko from kernel 2.6.17.13-jen34-smp has no modversions, so it cannot be reused for kernel 2.6.16.21-0.21-xenpae
linux-gnnk:/home/walt/downloads #
 

walt+walt

Newbie
JaJa, da ist (sind) kein(e) Kernel. Aber woher kommen die, wenn nicht via RPM-Package? Habe ausschliesslich RPM-Packages verwendet.

Vielleicht ist diese Frage ziemlich dumm, aber ich habe den letzten Kernel gemäss Anleitung:
-+++++++++++++++++++++++++++++++++++++-
Das sieht mir nach fehlendem kernel-source aus.

NEWS-Flash: Jetzt vmware_kernel-kmp-*-2.6.17.13_jen34*.rpm passend zum passenden Kernel erhältlich Wink
_________________
-–— suser-jengelh repo mit Linux 2.6.17.13-jen34 (Sep 12 2006), jetzt mit NVIDIA und VMware Modulen —–-
+++++++++++++++++++++++++++++++++++++++

installiert.
 
walt+walt schrieb:
kernel-smp-2.6.16.21-0.21
vmware_kernel-kmp-xen-104_2.6.17.13_jen34-jen1
Und dir fällt nichts auf? Ich sagte vmware_kernel-kmp-*-2.6.17.13_jen34*.rpm passend zum passenden Kernel. Aber 16.21 und 17.13 passt doch nicht. Oder ist die Zahlentheorie bei dir anders?
 

walt+walt

Newbie
Ist mir schon aufgefallen. Hab aber den Kernel vmware_kernel_kmp***16.21 nicht gefunden und auf der vmware-seite kein RPM für *****17.13 .
Folgedessen pokerte ich auf Abwärtskompatibilität.

Allerdings bin ich so wenig schlau wie anno - in Sachen gleiche Kernels hinzukriegen. Meine Suse-Bücher schweigen hier diskret.
 
OP
Martin Breidenbach

Martin Breidenbach

Ultimate Guru
Warum machst Du nicht einfach das was da ganz oben steht ? VMware Workstation läuft definitiv auf SuSE 10.1 mit dem durch YOU installierten Kernelupdate.

Siehe auch hier.
http://www.linux-club.de/ftopic61701.html

Welche VMware Version hast Du eigentlich ? WS 5.5.2 ?
 

walt+walt

Newbie
Primäre: Ich habe den kostenlosen VMware SERVER installiert.
also: "VMware-server-1.0.1-29996.i386.rpm". Install erfolgte über ZEN-installer.

Versuchte, vor dem Kauf der WS die Machbarkeit und Einsatz für meine Bedürfnisse abzuschätzen.

Ob diese Prozedere

color=redWelche VMware Version hast Du eigentlich ? WS 5.5.2 ?
Siehe auch hier.
http://www.linux-club.de/ftopic61701.html /color

auch dem Server gut bekommt weiss ich nicht, wenn ja, leg ich pronto los:
 
jengelh schrieb:
Versuch halt eins der vmware-any-any-update-Tarballs..

Geht nicht. Bei 2.6.22 muss der Kernel etwas übersetzungsfreundlicher für
vmware gemacht werden. Mein Link zeigt auf eine Lösung,
nicht auf ein Problem :)

Viele Grüße,
Haveaniceday
 
haveaniceday schrieb:
jengelh schrieb:
Versuch halt eins der vmware-any-any-update-Tarballs..
Geht nicht.
Natürlich geht das.

Gentoo Patch:
Code:
+++ vmnet-only/bridge.c	2007-06-19 15:46:52.000000000 +0200
@@ -1072,12 +1072,22 @@
 VNetBridgeComputeHeaderPos(struct sk_buff *skb) // IN: buffer to examine
 {
    /* Maybe some kernel gets it right... */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
+   if (skb->transport_header != skb->network_header) {
+      return;
+   }
+#else
    if (skb->h.raw != skb->nh.raw) {
       return;
    }
+#endif
bridge.c aus any-any-up110:
Code:
static INLINE_SINGLE_CALLER void                                                
VNetBridgeComputeHeaderPos(struct sk_buff *skb) // IN: buffer to examine        
{                                                                               
   /* Maybe some kernel gets it right... */                                     
   if (compat_skb_network_header_len(skb)) {                                    
      return;                                                                   
   }
und compat_skbuff.h:
Code:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22) || \                         
   (LINUX_VERSION_CODE == KERNEL_VERSION(2, 6, 21) && defined(SKB_WITH_OVERHEAD)
#define compat_skb_mac_header(skb)         skb_mac_header(skb)                  
#define compat_skb_network_header(skb)     skb_network_header(skb)              
...
#else                                                                           
#define compat_skb_mac_header(skb)         (skb)->mac.raw                       
#define compat_skb_network_header(skb)     (skb)->nh.raw                        
...
 
jengelh schrieb:
Natürlich geht das.

Bei mir aber nur mit vmware-any-any-100 _und_ dem Patch von hier:
http://bugs.gentoo.org/show_bug.cgi?id=182595#c10

Nur mit dem vmware-any-any kam bei mir der Kompilierfehler.

Code:
diff -u -r a/include/asm-i386/page.h b/include/asm-i386/page.h
--- a/include/asm-i386/page.h	2007-07-08 19:32:17.000000000 -0400
+++ b/include/asm-i386/page.h	2007-07-09 13:49:45.192519323 -0400
@@ -76,7 +76,10 @@
 
 static inline pte_t native_make_pte(unsigned long long val)
 {
-	return (pte_t) { .pte_low = val, .pte_high = (val >> 32) } ;
+	pte_t pte;
+	pte.pte_low = val;
+	pte.pte_high = (val >> 32);
+	return pte;
 }
 
 #ifndef CONFIG_PARAVIRT
@@ -109,7 +112,9 @@
 
 static inline pte_t native_make_pte(unsigned long val)
 {
-	return (pte_t) { .pte_low = val };
+	pte_t pte;
+	pte.pte_low = val;
+	return pte;
 }
 
 #define HPAGE_SHIFT	22
 
Oben