VMware kann nicht ausgeführt werden - vmnet konnte nicht erstellt werden

25

Ich kann vmware nicht ausführen und im folgenden Fehlerprotokoll wird angegeben, warum.

Jede Idee und Anregungen sind willkommen. Vielen Dank.

2014-02-03T16:32:00.904+08:00| vthread-3| I120: Log for VMware Workstation pid=5707 version=10.0.1 build=build-1379776 option=Release
2014-02-03T16:32:00.904+08:00| vthread-3| I120: The process is 64-bit.
2014-02-03T16:32:00.904+08:00| vthread-3| I120: Host codepage=UTF-8 encoding=UTF-8
2014-02-03T16:32:00.904+08:00| vthread-3| I120: Host is Linux 3.13.0-031300-generic Ubuntu 13.10
2014-02-03T16:32:00.903+08:00| vthread-3| I120: Msg_Reset:
2014-02-03T16:32:00.903+08:00| vthread-3| I120: [msg.dictionary.load.openFailed] Cannot open file "/usr/lib/vmware/settings": No such file or directory.
2014-02-03T16:32:00.903+08:00| vthread-3| I120: ----------------------------------------
2014-02-03T16:32:00.903+08:00| vthread-3| I120: PREF Optional preferences file not found at /usr/lib/vmware/settings. Using default values.
2014-02-03T16:32:00.904+08:00| vthread-3| I120: Msg_Reset:
2014-02-03T16:32:00.904+08:00| vthread-3| I120: [msg.dictionary.load.openFailed] Cannot open file "/root/.vmware/config": No such file or directory.
2014-02-03T16:32:00.904+08:00| vthread-3| I120: ----------------------------------------
2014-02-03T16:32:00.904+08:00| vthread-3| I120: PREF Optional preferences file not found at /root/.vmware/config. Using default values.
2014-02-03T16:32:00.904+08:00| vthread-3| I120: PREF Unable to check permissions for preferences file.
2014-02-03T16:32:00.904+08:00| vthread-3| I120: Msg_Reset:
2014-02-03T16:32:00.904+08:00| vthread-3| I120: [msg.dictionary.load.openFailed] Cannot open file "/root/.vmware/preferences": No such file or directory.
2014-02-03T16:32:00.904+08:00| vthread-3| I120: ----------------------------------------
2014-02-03T16:32:00.904+08:00| vthread-3| I120: PREF Failed to load user preferences.
2014-02-03T16:32:00.904+08:00| vthread-3| W110: Logging to /tmp/vmware-root/vmware-modconfig-5707.log
2014-02-03T16:32:00.935+08:00| vthread-3| I120: Obtaining info using the running kernel.
2014-02-03T16:32:00.935+08:00| vthread-3| I120: Created new pathsHash.
2014-02-03T16:32:00.935+08:00| vthread-3| I120: Setting header path for 3.13.0-031300-generic to "/lib/modules/3.13.0-031300-generic/build/include".
2014-02-03T16:32:00.935+08:00| vthread-3| I120: Validating path "/lib/modules/3.13.0-031300-generic/build/include" for kernel release "3.13.0-031300-generic".
2014-02-03T16:32:00.935+08:00| vthread-3| I120: using /usr/bin/gcc for preprocess check
2014-02-03T16:32:00.950+08:00| vthread-3| I120: Preprocessed UTS_RELEASE, got value "3.13.0-031300-generic".
2014-02-03T16:32:00.950+08:00| vthread-3| I120: The header path "/lib/modules/3.13.0-031300-generic/build/include" for the kernel "3.13.0-031300-generic" is valid.  Whoohoo!
2014-02-03T16:32:01.198+08:00| vthread-3| I120: Reading in info for the vmmon module.
2014-02-03T16:32:01.198+08:00| vthread-3| I120: Reading in info for the vmnet module.
2014-02-03T16:32:01.198+08:00| vthread-3| I120: Reading in info for the vmblock module.
2014-02-03T16:32:01.198+08:00| vthread-3| I120: Reading in info for the vmci module.
2014-02-03T16:32:01.198+08:00| vthread-3| I120: Reading in info for the vsock module.
2014-02-03T16:32:01.198+08:00| vthread-3| I120: Setting vsock to depend on vmci.
2014-02-03T16:32:01.198+08:00| vthread-3| I120: Invoking modinfo on "vmmon".
2014-02-03T16:32:01.203+08:00| vthread-3| I120: "/sbin/modinfo" exited with status 0.
2014-02-03T16:32:01.203+08:00| vthread-3| I120: Invoking modinfo on "vmnet".
2014-02-03T16:32:01.210+08:00| vthread-3| I120: "/sbin/modinfo" exited with status 256.
2014-02-03T16:32:01.210+08:00| vthread-3| I120: Invoking modinfo on "vmblock".
2014-02-03T16:32:01.214+08:00| vthread-3| I120: "/sbin/modinfo" exited with status 256.
2014-02-03T16:32:01.215+08:00| vthread-3| I120: Invoking modinfo on "vmci".
2014-02-03T16:32:01.220+08:00| vthread-3| I120: "/sbin/modinfo" exited with status 256.
2014-02-03T16:32:01.220+08:00| vthread-3| I120: Invoking modinfo on "vsock".
2014-02-03T16:32:01.225+08:00| vthread-3| I120: "/sbin/modinfo" exited with status 0.
2014-02-03T16:32:01.252+08:00| vthread-3| I120: to be installed: vmnet status: 0
2014-02-03T16:32:01.273+08:00| vthread-3| I120: Obtaining info using the running kernel.
2014-02-03T16:32:01.273+08:00| vthread-3| I120: Setting header path for 3.13.0-031300-generic to "/lib/modules/3.13.0-031300-generic/build/include".
2014-02-03T16:32:01.273+08:00| vthread-3| I120: Validating path "/lib/modules/3.13.0-031300-generic/build/include" for kernel release "3.13.0-031300-generic".
2014-02-03T16:32:01.273+08:00| vthread-3| I120: using /usr/bin/gcc for preprocess check
2014-02-03T16:32:01.289+08:00| vthread-3| I120: Preprocessed UTS_RELEASE, got value "3.13.0-031300-generic".
2014-02-03T16:32:01.289+08:00| vthread-3| I120: The header path "/lib/modules/3.13.0-031300-generic/build/include" for the kernel "3.13.0-031300-generic" is valid.  Whoohoo!
2014-02-03T16:32:01.528+08:00| vthread-3| I120: Kernel header path retrieved from FileEntry: /lib/modules/3.13.0-031300-generic/build/include
2014-02-03T16:32:01.528+08:00| vthread-3| I120: Update kernel header path to /lib/modules/3.13.0-031300-generic/build/include
2014-02-03T16:32:01.528+08:00| vthread-3| I120: Validating path "/lib/modules/3.13.0-031300-generic/build/include" for kernel release "3.13.0-031300-generic".
2014-02-03T16:32:01.528+08:00| vthread-3| I120: using /usr/bin/gcc for preprocess check
2014-02-03T16:32:01.542+08:00| vthread-3| I120: Preprocessed UTS_RELEASE, got value "3.13.0-031300-generic".
2014-02-03T16:32:01.542+08:00| vthread-3| I120: The header path "/lib/modules/3.13.0-031300-generic/build/include" for the kernel "3.13.0-031300-generic" is valid.  Whoohoo!
2014-02-03T16:32:01.546+08:00| vthread-3| I120: Found compiler at "/usr/bin/gcc"
2014-02-03T16:32:01.553+08:00| vthread-3| I120: Got gcc version "4.8".
2014-02-03T16:32:01.553+08:00| vthread-3| I120: GCC minor version 4 does not match Kernel GCC minor version 4.  But that is ok.
2014-02-03T16:32:01.553+08:00| vthread-3| I120: Using user supplied compiler "/usr/bin/gcc".
2014-02-03T16:32:01.562+08:00| vthread-3| I120: Got gcc version "4.8".
2014-02-03T16:32:01.563+08:00| vthread-3| I120: GCC minor version 4 does not match Kernel GCC minor version 4.  But that is ok.
2014-02-03T16:32:01.572+08:00| vthread-3| I120: Trying to find a suitable PBM set for kernel "3.13.0-031300-generic".
2014-02-03T16:32:01.572+08:00| vthread-3| I120: No matching PBM set was found for kernel "3.13.0-031300-generic".
2014-02-03T16:32:01.573+08:00| vthread-3| I120: GCC minor version 4 does not match Kernel GCC minor version 4.  But that is ok.
2014-02-03T16:32:01.573+08:00| vthread-3| I120: Validating path "/lib/modules/3.13.0-031300-generic/build/include" for kernel release "3.13.0-031300-generic".
2014-02-03T16:32:01.573+08:00| vthread-3| I120: using /usr/bin/gcc for preprocess check
2014-02-03T16:32:01.587+08:00| vthread-3| I120: Preprocessed UTS_RELEASE, got value "3.13.0-031300-generic".
2014-02-03T16:32:01.588+08:00| vthread-3| I120: The header path "/lib/modules/3.13.0-031300-generic/build/include" for the kernel "3.13.0-031300-generic" is valid.  Whoohoo!
2014-02-03T16:32:02.909+08:00| vthread-3| I120: GCC minor version 4 does not match Kernel GCC minor version 4.  But that is ok.
2014-02-03T16:32:02.910+08:00| vthread-3| I120: Validating path "/lib/modules/3.13.0-031300-generic/build/include" for kernel release "3.13.0-031300-generic".
2014-02-03T16:32:02.910+08:00| vthread-3| I120: using /usr/bin/gcc for preprocess check
2014-02-03T16:32:02.929+08:00| vthread-3| I120: Preprocessed UTS_RELEASE, got value "3.13.0-031300-generic".
2014-02-03T16:32:02.929+08:00| vthread-3| I120: The header path "/lib/modules/3.13.0-031300-generic/build/include" for the kernel "3.13.0-031300-generic" is valid.  Whoohoo!
2014-02-03T16:32:02.929+08:00| vthread-3| I120: Using temp dir "/tmp".
2014-02-03T16:32:02.974+08:00| vthread-3| I120: Obtaining info using the running kernel.
2014-02-03T16:32:02.974+08:00| vthread-3| I120: Setting header path for 3.13.0-031300-generic to "/lib/modules/3.13.0-031300-generic/build/include".
2014-02-03T16:32:02.974+08:00| vthread-3| I120: Validating path "/lib/modules/3.13.0-031300-generic/build/include" for kernel release "3.13.0-031300-generic".
2014-02-03T16:32:02.974+08:00| vthread-3| I120: using /usr/bin/gcc for preprocess check
2014-02-03T16:32:02.995+08:00| vthread-3| I120: Preprocessed UTS_RELEASE, got value "3.13.0-031300-generic".
2014-02-03T16:32:02.995+08:00| vthread-3| I120: The header path "/lib/modules/3.13.0-031300-generic/build/include" for the kernel "3.13.0-031300-generic" is valid.  Whoohoo!
2014-02-03T16:32:03.237+08:00| vthread-3| I120: Invoking modinfo on "vmnet".
2014-02-03T16:32:03.245+08:00| vthread-3| I120: "/sbin/modinfo" exited with status 256.
2014-02-03T16:32:06.212+08:00| vthread-3| I120: Setting destination path for vmnet to "/lib/modules/3.13.0-031300-generic/misc/vmnet.ko".
2014-02-03T16:32:06.241+08:00| vthread-3| I120: Extracting the vmnet source from "/usr/lib/vmware/modules/source/vmnet.tar".
2014-02-03T16:32:06.370+08:00| vthread-3| I120: Successfully extracted the vmnet source.
2014-02-03T16:32:06.370+08:00| vthread-3| I120: Building module with command "/usr/bin/make -j2 -C /tmp/modconfig-mjoI0c/vmnet-only auto-build HEADER_DIR=/lib/modules/3.13.0-031300-generic/build/include CC=/usr/bin/gcc IS_GCC_3=no"
2014-02-03T16:32:19.531+08:00| vthread-3| W110: Failed to build vmnet.  Failed to execute the build command.
harayz
quelle
Ich möchte nur erwähnen, dass dieser Patch für Ubuntu 14.04 und VMWare Player 6.0.1 sofort verfügbar ist. Vielen Dank.
1
Die Lösung gilt auch für Fehler vom Typ 'VNetFilterHookFn' unter 10.0.1 am 14.04.
RobotHumans
3
Nur zu kommentieren, da dies ein Top-Hit auf Google ist, aber veraltet ist und die Top-Antwort nicht funktioniert. Um Ubuntu 15.04 und Workstation 11.1.0 (und wahrscheinlich älter) zum Laufen zu
bringen,
"wahrscheinlich älter" - funktioniert nicht, ich habe es mit Ubuntu 15.04 und Workstation 10.0.2 Build 1744117 versucht :(
Yevgeniy Afanasyev

Antworten:

29

Ich konnte das Problem für den 3.13-Kernel mit dieser Lösung beheben .

Der Autor rät zum Patchen von VMNET-Quellen:

Erstellen Sie eine Datei vmnet313.patchin Ihrem Home-Verzeichnis mit folgendem Inhalt:

205a206
> #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
206a208,210
> #else
> VNetFilterHookFn(const struct nf_hook_ops *ops,        // IN:
> #endif
255c259,263
<    transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
---
>    #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
>       transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
>    #else
>       transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);
>    #endif

Alternativ können Sie diesen Patch in Ihr Home-Verzeichnis herunterladen und in umbenennen vmnet313.patch. Beispielsweise:

wget "http://pastebin.com/raw.php?i=p3bkbAMu" -O vmnet313.patch

Führen Sie als Nächstes die folgenden Befehle aus:

# Change directory into the vmware module source directory
cd /usr/lib/vmware/modules/source
# untar the vmnet modules
tar -xvf vmnet.tar
# run a the patch you should have just saved earlier
patch vmnet-only/filter.c < ~/vmnet313.patch
# re-tar the modules
tar -uvf vmnet.tar vmnet-only
# delete the previous working directory
rm -r vmnet-only
# run the vmware module build program. (alternatively just run the GUI app)
/usr/lib/vmware/bin/vmware-modconfig --console --install-all

Der letzte Befehl (oder vmplayer) sollte jetzt erfolgreich ausgeführt werden.

Nonsleepr
quelle
5
Der in askubuntu.com/questions/414783/… aufgeführte Patch mit den Aktualisierungen für Tippfehler hat bei mir funktioniert.
Speeves
Linux xxx-OptiPlex-7010 3.13.0-32-generic # 57 ~ exact1-Ubuntu SMP Di 15. Jul 03:51:20 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux; VMware: VMware® Workstation 10.0.0 Build-1295980. Dieser Patch ist PASS.
QJGui
Die Lösung gilt auch für Fehler vom Typ 'VNetFilterHookFn' unter 10.0.1 am 14.04.
RobotHumans,
2
/usr/lib/vmware/bin/vmware-modconfig --console --install-allsagt, dass das --consolefür mich nicht unterstützt wird. Failed to parse options. Unknown option --console. Ich habe gerade vmware ausgeführt, um den Build abzuschließen.
Phyatt
Dieser hat bei mir einwandfrei funktioniert. Der erste Patch konnte nicht erfolgreich ausgeführt werden. Vielen Dank für Ihren Einblick!
Eli
9

Durch die Verwendung dieses Patches vmnet313.patch einschließlich einiger Tippfehlerbehebungen (siehe Antwort von @ nonsleepr) wurde das Problem beim Upgrade mit dem Upgrade von 9.0.2 auf 9.02.4 auf Ubuntu 14.04.4 LTS 64-Bit Desktop behoben.

Dieses Snippet ist der Inhalt von pastebin.com/raw.php?i=p3bkbAMu ; aber mit 2 korrigierten Tippfehlern am Ende.

--- vmnet-only/filter.c 2013-10-18 23:11:55.000000000 +0400
+++ vmnet-only/filter.c 2013-12-03 04:16:31.751352170 +0400
@@ -27,6 +27,7 @@
 #include "compat_module.h"
 #include <linux/mutex.h>
 #include <linux/netdevice.h>
+#include <linux/version.h>
 #if COMPAT_LINUX_VERSION_CHECK_LT(3, 2, 0)
 #   include <linux/module.h>
 #else
@@ -203,7 +204,11 @@
 #endif

 static unsigned int
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
 VNetFilterHookFn(unsigned int hooknum,                 // IN:
+#else
+VNetFilterHookFn(const struct nf_hook_ops *ops,        // IN:
+#endif
 #ifdef VMW_NFHOOK_USES_SKB
                  struct sk_buff *skb,                  // IN:
 #else
@@ -252,7 +257,14 @@

    /* When the host transmits, hooknum is VMW_NF_INET_POST_ROUTING. */
    /* When the host receives, hooknum is VMW_NF_INET_LOCAL_IN. */
-   transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+    transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
+#else
+    transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);
+#endif
+    packetHeader = compat_skb_network_header(skb);
+    ip = (struct iphdr*)packetHeader;
user298928
quelle
Dieses Snippet oben ist der Inhalt von " pastebin.com/raw.php?i=p3bkbAMu ", aber mit 2 korrigierten Tippfehlern am Ende. Mit diesem vmnet313.patch kann ich mein Problem mit dem Upgrade auf 9.0.2 auf 9.02.4 auf Ubuntu 14.04.4 LTS 64-bit Desktop
user298928 04.07.14
Dieser hat auch bei mir funktioniert. Ich werde unter dem entsprechenden Beitrag einen Kommentar hinzufügen, um auf Leute hier hinzuweisen.
Speeves
Auf Ubuntu 14.04 LTS funktioniert das immer noch nicht. Dies ist mein Fehler: make [1]: *** [_module_ / tmp / vmware-root / modules / nur vmnet] Fehler 2 make [1]: Verlassen des Verzeichnisses /usr/src/linux-headers-3.13.0-37-generic' make: *** [vmnet.ko] Error 2 make: Leaving directory / tmp / vmware-root / modules / nur vmnet ' Installation von vmnet
hsnm
Ich bekomme "Hunk # 3 war bei 257 mit Fuzz 2 erfolgreich", aber dann treten die Fehler immer noch auf. Anscheinend hat sich etwas geändert, seitdem Sie diesen Patch veröffentlicht haben. Ich verwende Kernel 3.13.0-37-generic
cxrodgers
5

Ich habe genau das gleiche Problem getroffen (Linux Mint 17, Kernel 3.17 )

Die gefundene Lösung ist:

# - as root user
$ cd /usr/lib/vmware/modules/source
$ tar -xvf vmnet.tar
# - edit the file vmnet-only/netif.c and replace the line that looks like
    dev = alloc_netdev(sizeof *netIf, deviceName, VNetNetIfSetup);
to
    dev = alloc_netdev(sizeof *netIf, deviceName, NET_NAME_UNKNOWN, VNetNetIfSetup);
$ tar -cvf vmnet.tar vmnet-only/
$ rm -rf vmnet-only/

Führen Sie dann vmplayer erneut aus.

Quelle

Kirill Feoktistov
quelle
Danke, das hat mir in Ubuntu 15.04 Kernel 3.19.0-15
Fabio Gomes am
Hat für mich gearbeitet, danke! Ubuntu 15.04, Kernel 3.19.0-20-generic
scristalli
Funktioniert nicht unter Linux Mint
Damir Olejar
4

VMware muss einige Module erstellen, da das Installationsprogramm nicht immer die richtige Version für Ihr System hat.

Installieren Sie build-essential.

sudo apt-get install build-essential

Dadurch werden ein Compiler und alle anderen Anforderungen installiert. Starten Sie vmware neu und versuchen Sie es erneut. Dies sollte das Problem beheben.

HTDutchy
quelle
aus anderen Gründen. Ich hatte mein Ubuntu zusammen mit VMware Player neu installiert, aber jetzt jedes Mal, wenn ich es laufen ließ, würde mein GNOME-Desktop abstürzen. eine Idee, warum und welche Protokolldateien soll ich hier erstellen? danke ~
harayz
3

Wenn Sie 12.04 Hardware Enablement Stack auf die Version 14.04 aktualisieren, ohne das gesamte System vollständig zu aktualisieren, kann es vorkommen, dass das vmnet-Modul nicht für vmplayer 6.0.1 kompiliert werden kann. Meine Lösung bestand darin, auf die neueste Version 6.0.3 vmplayer zu aktualisieren. Hatte danach keine Probleme.

Dow Hurst
quelle
1

Ich habe das Kernel-Image auf "linux-image-3.13.0-43-generic" für Version 3.13.0 auf 64-Bit-x86-SMP aktualisiert, während Ubuntu Precise 12.04 mit "linux-image-3.8.0-44-generic" (.. aber Ubuntu nicht upgraden!)

Während des Startens von VMPlayer 6.0 wurde in einer der von VMPLayer protokollierten Fehlermeldungen die Meldung "Fehler beim Erstellen von vmnet. Fehler beim Ausführen des Erstellungsbefehls." Angezeigt, und VMPlayer konnte nicht gestartet werden.

Ich habe das Kernel-Image zurückgesetzt, indem ich das aktualisierte entfernt habe.

apt-get remove 3.13.0-43-generic

Entfernte auch die aktualisierten Linux-Header.

sudo apt-get autoremove

Das Kernel-Image ist jetzt wieder das vorherige:

cat / proc / version: Linux Version 3.8.0-44-generic (buildd @ tipua) (gcc Version 4.6.3 (Ubuntu / Linaro 4.6.3-1ubuntu5)) # 66 ~ precision1-Ubuntu SMP Di 15 Jul 04:01 : 04 UTC 2014

Danach ist VMPlayer 6.0 wieder normal und funktioniert nun ordnungsgemäß.

Mohan Sukumar
quelle
1

Eine andere Lösung ist das Ersetzen /usr/lib/vmware/modules/source/vmnet.tardurch ein aus VMware-Player-7.1.bundle. Sie müssen nicht einmal warten, bis der Installer fertig ist. Kopieren Sie die Datei einfach an eine andere Stelle und brechen Sie den Vorgang ab. Beim nächsten Start VMware-Workstation10.bundle(in meinem Fall) ersetzen Sie vmnet.tarIhre Arbeitsstation und führen Sie sie aus

Mendras
quelle
1

Meine Version von VMware enthielt keine filter.c; Ich stellte fest, dass ich vmnet mit dem hier aufgelisteten Patch patchen musste:

https://communities.vmware.com/message/2531821

diff -ur vmnet-only.a/driver.c vmnet-only/driver.c
--- vmnet-only.a/driver.c    2014-11-20 20:13:56.000000000 -0500
+++ vmnet-only/driver.c    2015-02-09 15:40:10.916640592 -0500
@@ -265,10 +265,17 @@
 {
    int ret = -ENOTTY;

+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
    if (filp && filp->f_op && filp->f_op->ioctl == VNetFileOpIoctl) {
       ret = VNetFileOpIoctl(filp->f_dentry->d_inode, filp, iocmd, ioarg);
    }
    return ret;
+#else
+   if (filp && filp->f_op && filp->f_op->ioctl == VNetFileOpIoctl) {
+      ret = VNetFileOpIoctl(filp->f_path.dentry->d_inode, filp, iocmd, ioarg);
+   }
+   return ret;
+#endif
 }


@@ -1191,11 +1198,19 @@
    struct inode *inode = NULL;
    long err;

+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
    if (filp && filp->f_dentry) {
       inode = filp->f_dentry->d_inode;
    }
    err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
    return err;
+#else
+   if (filp && filp->f_path.dentry) {
+      inode = filp->f_path.dentry->d_inode;
+   }
+   err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
+   return err;
+#endif
 }
 #endif

diff -ur vmnet-only.a/userif.c vmnet-only/userif.c
--- vmnet-only.a/userif.c    2014-11-20 20:13:56.000000000 -0500
+++ vmnet-only/userif.c    2015-02-09 15:41:02.150847338 -0500
@@ -523,7 +523,13 @@
       .iov_base = buf,
       .iov_len  = len,
    };
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
    return skb_copy_datagram_iovec(skb, 0, &iov, len);
+#else
+   struct iov_iter to;
+   iov_iter_init(&to, READ, &iov, 1, len);
+   return skb_copy_datagram_iter(skb, 0, &to, len);
+#endif
 }
David Bau
quelle
1

Für mich haben diese Lösungen nicht funktioniert. Ich benutze Ubuntu 14, also habe ich mich auf eine Suche gemacht und hier die Lösung gefunden .

Die Befehle sind die folgenden:

sudo apt-get install build-essential linux-headers-`uname -r`

Unter einem 32-Bit-System können Sie VMware Player mit den folgenden Befehlen installieren:

mkdir ~/VMware && cd ~/VMware 
wget -c http://goo.gl/kkfRJg -O VMware-Player-i386.bundle.tar 
tar -xvf VMware-Player-i386.bundle.tar 
chmod +x VMware-Player-6.0.1-1379776.i386.bundle  
sudo sh VMware-Player-6.0.1-1379776.i386.bundle
mkdir ~/VMware && cd ~/VMware 
wget -c http://goo.gl/Uxia2s -O VMware-Player-x86_64.bundle.tar 
tar -xvf VMware-Player-x86_64.bundle.tar 
chmod +x VMware-Player-6.0.1-1379776.x86_64.bundle 
sudo sh VMware-Player-6.0.1-1379776.x86_64.bundle

Nach der Installation hat alles gut funktioniert und ich konnte eine Windows XP-VM mit minimalen Problemen einbinden. Ich musste noch ein paar Treiber updaten, aber es ging ohne Probleme. VMWare Player 6 scheint mit meiner Ubuntu-Version am besten zu funktionieren.

user273601
quelle
Wie für das Linux-Header-Paket. Es gibt ein Metapaket "linux-headers-amd64", mit dem die neueste Version installiert wird, ohne dass manuell eine feste Kernelversion angegeben werden muss.
basic6
0

Dies funktionierte für mich auf Lubuntu 18.04 LTS. Ich verwende vmware-player-14.0.0-6661328.x86_64.bundle. Nach dem Herunterladen und Installieren des vmplayer, wenn ich es versuche, die Module zu bauen, aber fehlgeschlagen. Um dies zu beheben, müssen Sie die Patches von dieser Version herunterladen: https://github.com/mkubecek/vmware-host-modules/tree/player-14.1.1 . Laden Sie den Master nicht herunter, weil:

Der Zweig "master" kann nicht zum Erstellen von Modulen verwendet werden. Er enthält nur allgemeine Dateien, sodass Änderungen in allen anderen Zweigen problemlos zusammengeführt werden können. Um aktuelle Quellen zu erhalten, überprüfen Sie einen "echten" Zweig

nach dem herunterladen entpacken und cd in das entpackte verzeichnis und fertig

make
sudo make install

Starten Sie jetzt vmplayer und es sollte funktionieren

ptetteh227
quelle