You are not logged in.
Hey all,
Just installed VMWare workstation via the wiki, and I am getting the following when I execute vmware from the terminal
No value set for `/desktop/gnome/interface/accessibility'
No value set for `/desktop/gnome/interface/accessibility'
(vmware-modconfig:24225): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-modconfig:24225): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-modconfig:24225): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-modconfig:24225): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-modconfig:24225): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-modconfig:24225): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-modconfig:24225): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-modconfig:24225): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-modconfig:24225): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-modconfig:24225): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-modconfig:24225): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-modconfig:24225): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-modconfig:24225): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
** (vmware-modconfig:24225): DEBUG: This Gtk+ version doesn't have the GtkSettings::gtk-enable-input-feedback-sounds property.
Logging to /tmp/vmware-drave/setup-24225.log
filename: /lib/modules/2.6.38-ARCH/misc/vmmon.ko
supported: external
license: GPL v2
description: VMware Virtual Machine Monitor.
author: VMware, Inc.
depends:
vermagic: 2.6.38-ARCH SMP preempt mod_unload
filename: /lib/modules/2.6.38-ARCH/misc/vmnet.ko
supported: external
license: GPL v2
description: VMware Virtual Networking Driver.
author: VMware, Inc.
depends:
vermagic: 2.6.38-ARCH SMP preempt mod_unload
filename: /lib/modules/2.6.38-ARCH/misc/vmblock.ko
supported: external
version: 1.1.2.0
license: GPL v2
description: VMware Blocking File System
author: VMware, Inc.
srcversion: 3FB966F2EA6C4A6304AA1BE
depends:
vermagic: 2.6.38-ARCH SMP preempt mod_unload
parm: root:The directory the file system redirects to. (charp)
filename: /lib/modules/2.6.38-ARCH/misc/vmci.ko
supported: external
license: GPL v2
description: VMware Virtual Machine Communication Interface (VMCI).
author: VMware, Inc.
depends:
vermagic: 2.6.38-ARCH SMP preempt mod_unload
filename: /lib/modules/2.6.38-ARCH/misc/vsock.ko
supported: external
license: GPL v2
version: 1.0.0.0
description: VMware Virtual Socket Family
author: VMware, Inc.
srcversion: D828937F3EF4CEF857E9D03
depends: vmci
vermagic: 2.6.38-ARCH SMP preempt mod_unload
filename: /lib/modules/2.6.38-ARCH/misc/vmmon.ko
supported: external
license: GPL v2
description: VMware Virtual Machine Monitor.
author: VMware, Inc.
depends:
vermagic: 2.6.38-ARCH SMP preempt mod_unload
No value set for `/desktop/gnome/interface/accessibility'
No value set for `/desktop/gnome/interface/accessibility'
No value set for `/desktop/gnome/interface/accessibility'
No value set for `/desktop/gnome/interface/accessibility'
No value set for `/system/http_proxy/use_http_proxy'
No value set for `/system/proxy/mode'
No value set for `/desktop/gnome/interface/accessibility'
(vmware-tray:24249): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-tray:24249): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-tray:24249): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-tray:24249): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-tray:24249): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-tray:24249): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-tray:24249): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-tray:24249): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-tray:24249): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-tray:24249): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-tray:24249): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-tray:24249): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-tray:24249): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
** (vmware-tray:24249): DEBUG: This Gtk+ version doesn't have the GtkSettings::gtk-enable-input-feedback-sounds property.
Fontconfig error: "conf.d", line 1: no element found
Fontconfig warning: line 73: unknown element "cachedir"
Fontconfig warning: line 74: unknown element "cachedir"
/usr/lib/vmware/bin/vmware: symbol lookup error: /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so: undefined symbol: gtk_widget_is_drawable
[drave@dugr rift]$ No value set for `/desktop/gnome/interface/accessibility'
No value set for `/desktop/gnome/interface/accessibility'
(vmware-unity-helper:24287): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-unity-helper:24287): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-unity-helper:24287): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-unity-helper:24287): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-unity-helper:24287): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-unity-helper:24287): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-unity-helper:24287): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-unity-helper:24287): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-unity-helper:24287): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-unity-helper:24287): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-unity-helper:24287): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-unity-helper:24287): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
(vmware-unity-helper:24287): Gtk-WARNING **: GModule (/usr/lib/gtk-2.0/2.10.0/engines/libmurrine.so) initialization check failed: Gtk+ version too old (micro mismatch)
** (vmware-unity-helper:24287): DEBUG: This Gtk+ version doesn't have the GtkSettings::gtk-enable-input-feedback-sounds property.
(vmware-unity-helper:24287): GLib-WARNING **: goption.c:2132: ignoring no-arg, optional-arg or filename flags (8) on option of type 0
(vmware-unity-helper:24287): GLib-WARNING **: goption.c:2132: ignoring no-arg, optional-arg or filename flags (8) on option of type 0
/usr/lib/vmware/bin/vmware-tray: symbol lookup error: /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so: undefined symbol: gtk_widget_is_drawable
Would this be fixed by this link:
https://wiki.archlinux.org/index.php/VM … .27t_start
--nixIT
Last edited by nixIT (2011-11-12 03:15:20)
ASRock X570 PG VELOCITA AM4 AMD X570 | AMD Ryzen 5900x | 128GB G.SKILL RipjawsV | ASRock Radeon RX 6700 XT Challenger D
Offline
I followed the steps on the link above, and successfully downgraded the glibmm package. However, vmware still won't launch as my users, however, launches just fine as root.
When I'm my normal user, I get the following when I enter "vmware" in the console, I get the same error as above.
Odd, won't work with my user, but does with root. Any ideas?
--nixIT
ASRock X570 PG VELOCITA AM4 AMD X570 | AMD Ryzen 5900x | 128GB G.SKILL RipjawsV | ASRock Radeon RX 6700 XT Challenger D
Offline
anyone know why I can't run vmware workstation as non root user?
--nixIT
ASRock X570 PG VELOCITA AM4 AMD X570 | AMD Ryzen 5900x | 128GB G.SKILL RipjawsV | ASRock Radeon RX 6700 XT Challenger D
Offline
I too am frustrated by this... I guess very few in Arch land really need to use vmware.
Offline
Since I need some virtualization, and was had 3 hard lockups with Arch and XFCE of the past week, I wiped out my arch install for Xubuntu for testing purposes. VMWare works with no problems, and so far no lockups.
Will mark this thread closed for now.
--nixIT
ASRock X570 PG VELOCITA AM4 AMD X570 | AMD Ryzen 5900x | 128GB G.SKILL RipjawsV | ASRock Radeon RX 6700 XT Challenger D
Offline
Unsolving this post. Since I will be coming back to Arch, I need to have some form of virtualization working. I don't need it to be full time ie. a server role, but I do need to have windows in a VM instance to perform some tasks for work.
Any idea why VMWare doesn't launch as a regular user but launches when I'm root? Anyone out there/here running virtualization with Arch64? If so, what virtualization are you running (vmware, virtualbox, kvm, etc)?
--nixIT
ASRock X570 PG VELOCITA AM4 AMD X570 | AMD Ryzen 5900x | 128GB G.SKILL RipjawsV | ASRock Radeon RX 6700 XT Challenger D
Offline
I run virtualbox with Windows 7 (64 bit) and another instance of Slackware 64. No problems whatsoever.
Have you added your user to the vmware group? I know virtualbox requires it, maybe vmware does too. Sorry I have never used vmware.
There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !
Offline
The reason I was going vmware, is because of overhead. I've run virtualbox in the past and the overhead was awful. I have windows 7 flying in vmware, runs as smooth as it does without vmware.
I checked for users, and I didn't see a vmware group, though this doesn't mean it's not there, I will have to check.
--nixIT
ASRock X570 PG VELOCITA AM4 AMD X570 | AMD Ryzen 5900x | 128GB G.SKILL RipjawsV | ASRock Radeon RX 6700 XT Challenger D
Offline
Hmmm, In that case, I will give vmware a go and see if there is as much difference as you say.
If vmware does actually perform better, then I will switch for good.
There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !
Offline
@lnxsible
Let me know if you can get vmware to work on your system.
--nixIT
ASRock X570 PG VELOCITA AM4 AMD X570 | AMD Ryzen 5900x | 128GB G.SKILL RipjawsV | ASRock Radeon RX 6700 XT Challenger D
Offline
You bet. But it will be a while -- at least later tonight.
I am @work right now and supposed to be working
There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !
Offline
I am @work right now and supposed to be working
aren't we all?
Thanx man.
ASRock X570 PG VELOCITA AM4 AMD X570 | AMD Ryzen 5900x | 128GB G.SKILL RipjawsV | ASRock Radeon RX 6700 XT Challenger D
Offline
I have vmware workstation 7.1.4 running fine on arch64 kernel 2.6.39 but I use openbox not xfce, can you give a more detailed idea of how you installed vmware?
Offline
@whompus,
Followed the instructions here: https://wiki.archlinux.org/index.php/Vm … stallation
ASRock X570 PG VELOCITA AM4 AMD X570 | AMD Ryzen 5900x | 128GB G.SKILL RipjawsV | ASRock Radeon RX 6700 XT Challenger D
Offline
I had a problem getting the patch to install on my machine, after deleting everything in /tmp relating to vmware I followed the instructions from audiocomp in this thread http://forums.opensuse.org/english/get- … bit-2.html
Apologies if you have already got the patch installed correctly.
As a comparison this is the output I get from the command line
whompus ~ $ vmware
Logging to /tmp/vmware-whompus/setup-6819.log
filename: /lib/modules/2.6.39-ARCH/misc/vmmon.ko
supported: external
license: GPL v2
description: VMware Virtual Machine Monitor.
author: VMware, Inc.
depends:
vermagic: 2.6.39-ARCH SMP preempt mod_unload
filename: /lib/modules/2.6.39-ARCH/misc/vmnet.ko
supported: external
license: GPL v2
description: VMware Virtual Networking Driver.
author: VMware, Inc.
depends:
vermagic: 2.6.39-ARCH SMP preempt mod_unload
filename: /lib/modules/2.6.39-ARCH/misc/vmblock.ko
supported: external
version: 1.1.2.0
license: GPL v2
description: VMware Blocking File System
author: VMware, Inc.
srcversion: A8EDFECF036D359D3F1817E
depends:
vermagic: 2.6.39-ARCH SMP preempt mod_unload
parm: root:The directory the file system redirects to. (charp)
filename: /lib/modules/2.6.39-ARCH/misc/vmci.ko
supported: external
license: GPL v2
description: VMware Virtual Machine Communication Interface (VMCI).
author: VMware, Inc.
depends:
vermagic: 2.6.39-ARCH SMP preempt mod_unload
filename: /lib/modules/2.6.39-ARCH/misc/vsock.ko
supported: external
license: GPL v2
version: 1.0.0.0
description: VMware Virtual Socket Family
author: VMware, Inc.
srcversion: FE16753D85EDBC693BBF729
depends: vmci
vermagic: 2.6.39-ARCH SMP preempt mod_unload
filename: /lib/modules/2.6.39-ARCH/misc/vmmon.ko
supported: external
license: GPL v2
description: VMware Virtual Machine Monitor.
author: VMware, Inc.
depends:
vermagic: 2.6.39-ARCH SMP preempt mod_unload
No value set for `/system/http_proxy/use_http_proxy'
No value set for `/system/proxy/mode'
No value set for `/system/http_proxy/use_http_proxy'
No value set for `/system/proxy/mode'
(vmware-unity-helper:6887): GLib-WARNING **: goption.c:2132: ignoring no-arg, optional-arg or filename flags (8) on option of type 0
(vmware-unity-helper:6887): GLib-WARNING **: goption.c:2132: ignoring no-arg, optional-arg or filename flags (8) on option of type 0
No value set for `/system/http_proxy/use_http_proxy'
No value set for `/system/proxy/mode'
(vmware-unity-helper:6920): GLib-WARNING **: goption.c:2132: ignoring no-arg, optional-arg or filename flags (8) on option of type 0
(vmware-unity-helper:6920): GLib-WARNING **: goption.c:2132: ignoring no-arg, optional-arg or filename flags (8) on option of type 0
(vmware-unity-helper:6923): GLib-WARNING **: goption.c:2132: ignoring no-arg, optional-arg or filename flags (8) on option of type 0
(vmware-unity-helper:6923): GLib-WARNING **: goption.c:2132: ignoring no-arg, optional-arg or filename flags (8) on option of type 0
(vmware-unity-helper:6926): GLib-WARNING **: goption.c:2132: ignoring no-arg, optional-arg or filename flags (8) on option of type 0
Offline
@whompus,
Do you have vmware running in arch64 as a user?
--nixIT
ASRock X570 PG VELOCITA AM4 AMD X570 | AMD Ryzen 5900x | 128GB G.SKILL RipjawsV | ASRock Radeon RX 6700 XT Challenger D
Offline
@whompus,
Do you have vmware running in arch64 as a user?
--nixIT
Yes but I did not do anything to achieve that.
When you ran vmware in the command line for the first time was it as root or as a user, I vaguely remember having to run as a user (such a long time since I installed vmware from scratch).
Offline
Yes but I did not do anything to achieve that.
When you ran vmware in the command line for the first time was it as root or as a user, I vaguely remember having to run as a user (such a long time since I installed vmware from scratch).
I can't remember at this point, so much has been tried. I will have to bite the bullet one day and re-install Arch64 with XFCE and VMWare following the link you posted to see if I can get it to work.
--nixIT
ASRock X570 PG VELOCITA AM4 AMD X570 | AMD Ryzen 5900x | 128GB G.SKILL RipjawsV | ASRock Radeon RX 6700 XT Challenger D
Offline
.....re-install Arch64 with XFCE and VMWare following the link you posted to see if I can get it to work.
--nixIT
emphasis mine.
That's just not how we do things around here !!!
There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !
Offline
It may be worth checking the permissions of .vmware folder in your /home to make sure they are not set to root.
As Inxsible says no need to reinstall.
###### uninstall procedure :- some names maybe slightly different so check your specific files/folders,
sudo vmware-installer -u vmware-workstation
sudo rm -r /usr/lib/vmware
sudo rm -r /tmp/vmware-user
sudo rm -r /tmp/vmware-root
sudo rm -r /tmp/VMwareDnD
sudo rm /tmp/vmware-user.0
sudo rm /tmp/vmware-user.1
sudo rm /tmp/vmware-root.0
sudo rm /tmp/vmware-root.1
sudo rm /var/run/vmnet-detect.pid
sudo rm /var/run/vmnet-natd-8.mac
sudo rm /var/run/vmnat.8993
sudo rm -r /var/run/vmware
cd /var/abs/local/vmware-workstation/
sudo sh VMware-Workstation-xxxxx-xxxxx-xxxxxx.x86_64.bundle --console --custom
These are the patches from the linked thread as previously posted.
vmware2.6.39fixedv3.patch
diff -u -r source-orig/vmblock-only/linux/dentry.c source/vmblock-only/linux/dentry.c
--- source-orig/vmblock-only/linux/dentry.c 2011-03-26 04:03:06.000000000 +0100
+++ source/vmblock-only/linux/dentry.c 2011-05-27 07:32:17.000000000 +0200
@@ -104,7 +104,11 @@
return actualDentry->d_op->d_revalidate(actualDentry, nd);
}
- if (path_lookup(iinfo->name, 0, &actualNd)) {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)
+ if (compat_path_lookup(iinfo->name, 0, &actualNd)) {
+#else
+ if (kern_path(iinfo->name, 0, &(actualNd.path))) {
+#endif
LOG(4, "DentryOpRevalidate: [%s] no longer exists\n", iinfo->name);
return 0;
}
diff -u -r source-orig/vmblock-only/linux/filesystem.c source/vmblock-only/linux/filesystem.c
--- source-orig/vmblock-only/linux/filesystem.c 2011-03-26 04:03:06.000000000 +0100
+++ source/vmblock-only/linux/filesystem.c 2011-05-27 07:31:58.000000000 +0200
@@ -44,9 +44,14 @@
/* File system operations */
#if defined(VMW_GETSB_2618)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)
static int FsOpGetSb(struct file_system_type *fsType, int flags,
const char *devName, void *rawData, struct vfsmount *mnt);
#else
+static struct dentry *FsOpMount(struct file_system_type *fsType, int flags,
+ const char *devName, void *rawData);
+#endif
+#else
static struct super_block *FsOpGetSb(struct file_system_type *fsType, int flags,
const char *devName, void *rawData);
#endif
@@ -66,7 +71,11 @@
static struct file_system_type fsType = {
.owner = THIS_MODULE,
.name = VMBLOCK_FS_NAME,
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)
.get_sb = FsOpGetSb,
+ #else
+ .mount = FsOpMount,
+ #endif
.kill_sb = kill_anon_super,
};
@@ -336,7 +345,11 @@
goto error_inode;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)
if (compat_path_lookup(iinfo->name, 0, &actualNd)) {
+#else
+ if (kern_path(iinfo->name, 0, &(actualNd.path))) {
+#endif
/*
* This file does not exist, so we create an inode that doesn't know
* about its underlying file. Operations that create files and
@@ -533,18 +546,17 @@
return 0;
}
-
#if defined(VMW_GETSB_2618)
/*
*-----------------------------------------------------------------------------
*
- * FsOpGetSb --
+ * FsOpGetSb/FsOpMount --
*
* Invokes generic kernel code to prepare superblock for
* deviceless filesystem.
*
* Results:
- * 0 on success
+ * 0/dentry on success
* negative error code on failure
*
* Side effects:
@@ -552,7 +564,7 @@
*
*-----------------------------------------------------------------------------
*/
-
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)
static int
FsOpGetSb(struct file_system_type *fs_type, // IN: file system type of mount
int flags, // IN: mount flags
@@ -563,6 +575,16 @@
return get_sb_nodev(fs_type, flags, rawData, FsOpReadSuper, mnt);
}
#else
+struct dentry *
+FsOpMount(struct file_system_type *fs_type, // IN: file system type of mount
+ int flags, // IN: mount flags
+ const char *dev_name, // IN: device mounting on
+ void *rawData) // IN: mount arguments
+{
+ return mount_nodev(fs_type, flags, rawData, FsOpReadSuper);
+}
+#endif
+#else
/*
*-----------------------------------------------------------------------------
*
diff -u -r source-orig/vmci-only/linux/driver.c source/vmci-only/linux/driver.c
--- source-orig/vmci-only/linux/driver.c 2011-03-26 06:37:32.000000000 +0100
+++ source/vmci-only/linux/driver.c 2011-04-02 13:32:12.000000000 +0200
@@ -42,7 +42,6 @@
#include <linux/miscdevice.h>
#include <linux/poll.h>
#include <linux/smp.h>
-#include <linux/smp_lock.h>
#include "compat_file.h"
#include "compat_highmem.h"
diff -u -r source-orig/vmmon-only/linux/driver.c source/vmmon-only/linux/driver.c
--- source-orig/vmmon-only/linux/driver.c 2011-03-26 06:37:28.000000000 +0100
+++ source/vmmon-only/linux/driver.c 2011-04-02 13:26:59.000000000 +0200
@@ -780,7 +780,7 @@
#define POLLQUEUE_MAX_TASK 1000
-static spinlock_t pollQueueLock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;
+static DEFINE_SPINLOCK(pollQueueLock);
static void *pollQueue[POLLQUEUE_MAX_TASK];
static unsigned int pollQueueCount = 0;
@@ -1041,7 +1041,8 @@
* but unfortunately there is no way how to detect that
* we are building for RedHat's kernel...
*/
- static spinlock_t timerLock = SPIN_LOCK_UNLOCKED;
+
+ static DEFINE_SPINLOCK(timerLock);
spin_lock(&timerLock);
mod_timer(&linuxState.pollTimer, jiffies + 1);
diff -u -r source-orig/vmmon-only/linux/hostif.c source/vmmon-only/linux/hostif.c
--- source-orig/vmmon-only/linux/hostif.c 2011-03-26 06:37:27.000000000 +0100
+++ source/vmmon-only/linux/hostif.c 2011-04-02 13:27:58.000000000 +0200
@@ -46,7 +46,6 @@
#include <linux/mman.h>
#include <linux/smp.h>
-#include <linux/smp_lock.h>
#include <asm/io.h>
#include <linux/mc146818rtc.h>
diff -u -r source-orig/vmmon-only/linux/iommu.c source/vmmon-only/linux/iommu.c
--- source-orig/vmmon-only/linux/iommu.c 2011-03-26 06:37:27.000000000 +0100
+++ source/vmmon-only/linux/iommu.c 2011-04-02 13:28:58.000000000 +0200
@@ -44,7 +44,7 @@
static LIST_HEAD(passthruDeviceList);
-static spinlock_t passthruDeviceListLock = SPIN_LOCK_UNLOCKED;
+static DEFINE_SPINLOCK(passthruDeviceListLock);
static void *pciHolePage = NULL;
/*
diff -u -r source-orig/vmnet-only/driver.c source/vmnet-only/driver.c
--- source-orig/vmnet-only/driver.c 2011-03-26 06:37:29.000000000 +0100
+++ source/vmnet-only/driver.c 2011-04-02 14:14:57.000000000 +0200
@@ -28,7 +28,6 @@
#include <linux/poll.h>
#include <linux/smp.h>
-#include <linux/smp_lock.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
@@ -105,7 +104,7 @@
* not have vnetStructureMutex already acquired,
* it is most certainly a bug.
*/
-static rwlock_t vnetPeerLock = RW_LOCK_UNLOCKED;
+static DEFINE_RWLOCK(vnetPeerLock);
/*
* All concurrent changes to the network structure are
@@ -115,6 +114,7 @@
* vnetStructureMutex and vnetPeerLock for write.
*/
compat_define_mutex(vnetStructureMutex);
+compat_define_mutex(vnetMutex);
#if defined(VM_X86_64) && !defined(HAVE_COMPAT_IOCTL)
/*
@@ -264,11 +264,11 @@
struct file * filp) // IN:
{
int ret = -ENOTTY;
- lock_kernel();
+ compat_mutex_lock(&vnetMutex);
if (filp && filp->f_op && filp->f_op->ioctl == VNetFileOpIoctl) {
ret = VNetFileOpIoctl(filp->f_dentry->d_inode, filp, iocmd, ioarg);
}
- unlock_kernel();
+ compat_mutex_unlock(&vnetMutex);
return ret;
}
@@ -1134,9 +1134,9 @@
if (filp && filp->f_dentry) {
inode = filp->f_dentry->d_inode;
}
- lock_kernel();
+ compat_mutex_lock(&vnetMutex);
err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
- unlock_kernel();
+ compat_mutex_unlock(&vnetMutex);
return err;
}
#endif
diff -u -r source-orig/vmnet-only/filter.c source/vmnet-only/filter.c
--- source-orig/vmnet-only/filter.c 2011-03-26 06:37:29.000000000 +0100
+++ source/vmnet-only/filter.c 2011-04-02 14:16:50.000000000 +0200
@@ -85,7 +85,7 @@
* callbacks can be concurrently executing on multiple threads on multiple
* CPUs, so we should revisit locking for allowing for that in the future.
*/
-spinlock_t activeRuleLock = SPIN_LOCK_UNLOCKED;
+DEFINE_SPINLOCK(activeRuleLock);
/*
* Logging.
diff -u -r source-orig/vmnet-only/hub.c source/vmnet-only/hub.c
--- source-orig/vmnet-only/hub.c 2011-03-26 06:37:29.000000000 +0100
+++ source/vmnet-only/hub.c 2011-04-02 14:15:56.000000000 +0200
@@ -81,7 +81,7 @@
* so we use __attribute__((unused)) to quiet the compiler.
*/
-static spinlock_t vnetHubLock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;
+static DEFINE_SPINLOCK(vnetHubLock);
/*
diff -u -r source-orig/vsock-only/linux/af_vsock.c source/vsock-only/linux/af_vsock.c
--- source-orig/vsock-only/linux/af_vsock.c 2011-03-26 04:03:08.000000000 +0100
+++ source/vsock-only/linux/af_vsock.c 2011-04-02 13:33:39.000000000 +0200
@@ -102,7 +102,6 @@
#include <linux/miscdevice.h>
#include <linux/poll.h>
#include <linux/smp.h>
-#include <linux/smp_lock.h>
#include <asm/io.h>
#if defined(__x86_64__) && LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12)
# if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
diff -u -r source-orig/vsock-only/linux/util.c source/vsock-only/linux/util.c
--- source-orig/vsock-only/linux/util.c 2011-03-26 04:03:08.000000000 +0100
+++ source/vsock-only/linux/util.c 2011-04-02 13:35:45.000000000 +0200
@@ -34,7 +34,7 @@
struct list_head vsockBindTable[VSOCK_HASH_SIZE + 1];
struct list_head vsockConnectedTable[VSOCK_HASH_SIZE];
-spinlock_t vsockTableLock = SPIN_LOCK_UNLOCKED;
+DEFINE_SPINLOCK(vsockTableLock);
/*
* snprintf() wasn't exported until 2.4.10: fall back on sprintf in those
patch-modules_2.6.39.sh
#! /bin/bash
# VMWare Workstation/Player _host kernel modules_ patcher v0.6.2 by ©2010 Artem S. Tashkinov
# Tailored and fixed vmblock patching for the 2.6.39 patch by Stefano Angeleri (weltall)
# Use at your own risk.
fpatch=vmware2.6.39fixedv3.patch
vmreqver=7.1.4
plreqver=3.1.4
error()
{
echo "$*. Exiting"
exit
}
curdir=`pwd`
bdate=`date "+%F-%H:%M:%S"` || error "date utility didn't quite work. Hm"
vmver=`vmware-installer -l 2>/dev/null | awk '/vmware-/{print $1substr($2,1,5)}'`
vmver="${vmver#vmware-}"
basedir=/usr/lib/vmware/modules/source
ptoken="$basedir/.patched"
bkupdir="$basedir-$vmver-$bdate-backup"
unset product
[ -z "$vmver" ] && error "VMWare is not installed (properly) on this PC"
[ "$vmver" == "workstation$vmreqver" ] && product="VMWare WorkStation"
[ "$vmver" == "player$plreqver" ] && product="VMWare Player"
[ -z "$product" ] && error "Sorry, this script is only for VMWare WorkStation $vmreqver or VMWare Player $plreqver"
[ "`id -u`" != "0" ] && error "You must be root to run this script"
[ -f "$ptoken" ] && error "$ptoken found. You have already patched your sources"
[ ! -d "$basedir" ] && error "Source '$basedir' directory not found, reinstall $product"
[ ! -f "$fpatch" ] && error "'$fpatch' not found. Please, copy it to the current '$curdir' directory"
tmpdir=`mktemp -d` || exit 1
cp -an "$basedir" "$bkupdir" || exit 2
cd "$tmpdir" || exit 3
find "$basedir" -name "*.tar" -exec tar xf '{}' \; || exit 4
patch -p1 < "$curdir/$fpatch" || exit 5
tar cf vmci.tar vmci-only || exit 6
tar cf vsock.tar vsock-only || exit 7
tar cf vmnet.tar vmnet-only || exit 8
tar cf vmmon.tar vmmon-only || exit 9
tar cf vmblock.tar vmblock-only || exit 10
cp -a *.tar "$basedir" || exit 11
rm -rf "$tmpdir" || exit 12
touch "$ptoken" || exit 13
cd "$curdir" || exit 14
vmware-modconfig --console --install-all
echo -e "\n"
echo "All done, you can now run $product."
echo "Modules sources backup can be found in the '$bkupdir' directory"
I saved the patches in /var/abs/local/vmware-workstation/
sudo cp -R /usr/lib/vmware/modules/source /usr/lib/vmware/modules/source.bak
sudo sh patch-modules_2.6.39.sh
vmware
Hope this helps.
Last edited by whompus (2011-06-16 19:32:47)
Offline