# VMWare-Workstation ohne BKL, Upgrade 6.5 -> 7.1

## musv

 *Yamakuzure wrote:*   

> Allerdings wäre das Herausfinden, warum die VmWs7 bei dir nicht will einen neuen Thread wert. 

 

Na, dann machen wir das doch gleich mal:

 *Yamakuzure wrote:*   

> Komisch. Bei mir installiert:
> 
> ```
>  $ eix -I vmware -c
> 
> ...

 

vmware-modules sind noch mit BKL für 2.6.37 compiliert:

```
eix -Ic vmware

[I] app-emulation/vmware-modules (238.3-r8@28.03.2011): VMware kernel modules

[I] app-emulation/vmware-tools (8.4.5.324285@28.03.2011): VMware Tools for guest operating systems

[I] app-emulation/vmware-workstation (7.1.3.324285@28.03.2011): Emulate a complete PC on your PC without the usual performance overhead of most emulators

3 Treffer.
```

1. VMWare-Modules:

```
>>> Emerging (1 of 1) app-emulation/vmware-modules-238.3-r8

 * Package:    app-emulation/vmware-modules-238.3-r8

 * Repository: gentoo

 * Maintainer: vadimk@gentoo.org vmware@gentoo.org

 * USE:        amd64 elibc_glibc kernel_linux multilib userland_GNU

 * FEATURES:   sandbox userpriv usersandbox

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Found kernel object directory:

 *     /lib/modules/2.6.38-gentoo-r1/build

 * Found sources for kernel version:

 *     2.6.38-gentoo-r1

 * Checking for suitable kernel configuration options...

 *   CONFIG_BKL:    is not set when it should be.

 * Please check to make sure these options are set correctly.

 * Failure to do so may cause unexpected problems.

 * Once you have satisfied these options, please try merging

 * this package again.

 * ERROR: app-emulation/vmware-modules-238.3-r8 failed (setup phase):

 *   Incorrect kernel configuration options

 * 

 * Call stack:

 *                        ebuild.sh, line  56:  Called pkg_setup

 *   vmware-modules-238.3-r8.ebuild, line  35:  Called linux-info_pkg_setup

 *                linux-info.eclass, line 904:  Called check_extra_config

 *                linux-info.eclass, line 798:  Called die

 * The specific snippet of code:

 *         die "Incorrect kernel configuration options"

 * 

 * If you need support, post the output of 'emerge --info =app-emulation/vmware-modules-238.3-r8',...
```

Verantwortlich dafür ist im Ebuild dieser nette Block:

```
pkg_setup() {

        CONFIG_CHECK="~HIGH_RES_TIMERS"

        if kernel_is ge 2 6 37; then

                CONFIG_CHECK="${CONFIG_CHECK} BKL"

        fi

        ...

```

Ich könnt den natürlich rausnehmen, aber irgendeinen Sinn wird der wohl haben. 

2. VMWare-Workstation

Seit dem Upgrade von 6.5 auf 7.1 - auch mit 2.6.37 und gestartetem vmware-Initscript geht nichts mehr. Ich tipp in die Konsole ein:

```
vmware
```

Dann bleibt der Cursor für geschätzt 0,5 Sekunden stehen. Das war's dann. Keine Fehlermeldung, keine Warnung - nichts.

```
ps aux | grep -i vmware

sm        3655  0.0  0.0  11456   924 pts/0    S+   09:23   0:00 grep --colour=auto -i vmware
```

```
tail -n 5 /var/log/messages

Apr  6 09:15:32 localhost su[2436]: - /dev/pts/0 sm:root

Apr  6 09:15:35 localhost su[2437]: Successful su for root by sm

Apr  6 09:15:35 localhost su[2437]: + /dev/pts/0 sm:root

Apr  6 09:23:39 localhost su[3669]: Successful su for root by sm

Apr  6 09:23:39 localhost su[3669]: + /dev/pts/0 sm:root
```

```
which vmware

/opt/vmware/bin/vmware

ls -Ffg /opt/vmware/bin/vmware

lrwxrwxrwx 1 root 33 28. Mär 20:39 /opt/vmware/bin/vmware -> /opt/vmware/lib/vmware/bin/vmware*

ls -Ffg /opt/vmware/lib/vmware/bin/vmware

lrwxrwxrwx 1 root 9 28. Mär 20:39 /opt/vmware/lib/vmware/bin/vmware -> appLoader*

la /opt/vmware/lib/vmware/bin/appLoader 

-rwxr-xr-x 1 root root 833192 28. Mär 20:38 /opt/vmware/lib/vmware/bin/appLoader
```

Tja, da fehlt mir dann einfach der Ansatzpunkt.

----------

## Yamakuzure

Also CONFIG_BKL solltest du aktivieren. Die Hilfe hierfür sagt: *make menuconfig->Kernel Hacking->Big Kernel Lock wrote:*   

> This is the traditional lock that is used in old code instead of proper locking. All drivers that use the BKL should depend on this symbol.
> 
> Say Y here unless you are working on removing the BKL.

 Also da du warscheinlich kein Kernel-Entwickler bist, sollte die Option aktiviert sein.  :Wink: 

Bei dem zweiten Problem muss ich ehrlich gesagt in eminem Gedächtnis graben, denn genau das Problem hatte ich auch. Allerdings war das von heute auf morgen nachdem die 7er schon lief. Wenn ich mich richtig erinnere hatte das etwas mit einem ganz anderen Update irgeineines Pakets zu tun gehabt. Ich schreib Bescheid, wenn ich das herausgefunden habe.

Edith hat was gefunden:

Also das Problem, dass ich ahtte, war eine Aktualisierung der libpng. Um herauszufinden woran es bei dir liegt, kannst du mal in "/tmp/vmware-<dein username>" schauen und dort die Logs durchgehen.

----------

## musv

Du hast recht. Danke für den Tipp mit den Logs. Da wär ich nie draufgekommen.

```
LOG NOT INITIALIZED | Unable to load libvmwarebase.so.0 from /opt/vmware/lib/vmware/lib/libvmwarebase.so.0/libvmwarebase.so.0: libpng12.so.0: cannot open shared object file: No such file or directory

LOG NOT INITIALIZED | Unable to load application library dependencies.
```

libpng12.so hab ich nicht mehr drauf. Umlinken von libpng14 auf 12 brachte auch nichts. Ich wart mal bis zum nötigen Update. Windows brauch ich jetzt erstmal sowieso nicht. Und den BKL lass ich auch erstmal weg.

http://www.heise.de/open/meldung/Linux-Kernel-ohne-globales-Locking-1156812.html

 *heise.de wrote:*   

> Das Big Kernel Lock (BKL) ist eine Altlast, die der Linux-Kernel seit der Einführung der Multiprozessorunterstützung mitschleppt. Die Locking-Technik verhindert Konflikte beim gleichzeitigen Zugriff auf Datenstrukturen im Kernel, arbeitet aber subsystemübergreifend. Das beeinträchtig bei mehreren Prozessorkernen die Performance. Die Kernel-Entwickler arbeiten deswegen seit Jahren daran, das BKL durch feiner granulierte Locking-Mechanismen zu ersetzen.
> 
> Mit der zum Jahresende erwarteten Kernel-Version 2.6.37 wird es erstmals möglich sein, einen Linux-Kernel komplett ohne Big Kernel Lock zu übersetzen. Dabei muss man zwar auf einige Treiber und Dateisysteme verzichten, diese werden auf aktuellen Systemen aber nicht mehr gebraucht.

 

Die Edith hat auch grad zu mir gesprochen:

libpng12 ist geslottet und war bei mir installiert. Komischerweise fehlte die /usr/lib64/libpng.12.so.0. Ich hab das Teil nochmal installiert. Jetzt startet vmware.

Und den BKL nehm ich auch wieder rein. Scheint so, als ob unionfs ist ebenfalls daran stört.

Die Edith hat schon wieder was rausgefunden:

Der BKL scheint nicht das Problem für meinen FS-Crash nach einem Portage-Update zu sein. Entweder Reiser4 oder UnionFS oder die Kombination aus beiden ist böse.

----------

## Yamakuzure

Also ich befürchte, dass wir noch eine ganze Weile auf 2.6.37+-fähige (ohne BKL, mit sauber funktionierenden vmware-tools) VM-Workstation warten müssen. Das die Tools immer noch nicht mit 37+ kompilieren nervt mich am Meisten.

Auf der anderen Seite ist die Möglichkeit, BKL abzuschalten, auch quasi "brandneu".

----------

## Max Steel

Da inzwischen 2.6.39 raus ist der ganz ohne BKL ausgeliefert wird, sollte VMWare ihre ganzen Module langsam anfangen zu non-BKL zu "übersetzen".

Aber das kann sich wahrscheinlich noch 2 Kernel-Versionen hinziehen   :Crying or Very sad: 

----------

## musv

Hab ich eigentlich schon mal erwähnt, dass VMWare mit Version 7 den OSS-Support rausgenommen hat? Ich krieg beim Starten 'ne Fehlermeldung, dass libasound nicht gefunden wurde. 

Glücklicherweise brauch ich bei der Steuererklärung (einzige Windowsanwendung) keinen Sound. 

Ist jetzt nach Skype der 2. Closed-Source-Übeltäter, der sich gegenüber OSS verweigert. Xulrunner und Firefox kann man ja wenigstens patchen.

----------

