VMWare Player 17 Module rekompilieren funktioniert nicht mit systemd

Hallo zusammen,

ich habe ein Problem mit dem neuen VMWare Player 17 und openSUSE 15.5. Bisher verwenden wir VMWare Player 16 folgendermaßen:

Nach einem Linux-Kernel-Update müssen die Module vmmon und vmnet für VMWare neu kompiliert werden. Das haben wir in ein systemd-Service ausgelagert, um nicht nach jedem Update das Root-Passwort eingeben zu müssen.

[Unit]
Description=Recompiles vmware modules
Requires=vmware.service
Before=vmware.service
ConditionPathExists=!/dev/vmmon

[Service]
Type=oneshot
ExecStart=/usr/bin/vmware-modconfig --console --install-all

[Install]
WantedBy=multi-user.target

Seit der neuen VMWare Version 17 funktioniert dieser systemd Service nicht mehr und bricht mit folgenden Fehlern ab:

Oct 22 21:08:56 lftcluslin12 systemd[1]: Starting Recompiles vmware modules...
Oct 22 21:08:56 lftcluslin12 vmware-modconfig-console[2713]: [AppLoader] GLib does not have GSettings support.
Oct 22 21:08:57 xxx vmware-modconfig-console[2713]: Failed to initalize system information.
Oct 22 21:08:57 xxx systemd[1]: vmware-modules-rebuild.service: Main process exited, code=exited, status=1/FAI>
Oct 22 21:08:57 xxx systemd[1]: vmware-modules-rebuild.service: Failed with result 'exit-code'.
Oct 22 21:08:57 xxx systemd[1]: Failed to start Recompiles vmware modules.

An der neuen VMWare Version scheint es nicht zu liegen, da der Befehl /usr/bin/vmware-modconfig --console --install-all einwandfrei funktioniert, wenn man diesen manuell als root ausführt.

Habt ihr eine Idee, woran das liegen könnte?

Vielen Dank

Viele Grüße

Vorausgesetzt sei das ich VMWare nicht kenne, aber nur das gelesen habe was du zeigst.

Mir scheint das

Die richtige Fehlermeldung ist. Alles was folgt sind nur die Folgen.

Anscheinend, wie dus sagst, hat sich was geändert mit Version 17. Das das manuell funktioniert zeigt nach meiner Meinung das die Umgebung von root(process environment variables) anders ist als die Umgebung wo systemd Prozessen drehen.

Release documentation von VMWare version 17 finden?

1 Like

Hallo Hevv,

danke für Deine Antwort. Die Meldung GLib does not have GSettings support erscheint auch als Ausgabe, wenn ich den Befehl manuell ausführe.

In den release Notes von VMWare konnte ich nichts hilfreichen finden: VMware Workstation 17.0 Pro Release Notes

Anscheinend, wie dus sagst, hat sich was geändert mit Version 17. Das das manuell funktioniert zeigt nach meiner Meinung das die Umgebung von root (process environment variables) anders ist als die Umgebung wo systemd Prozessen drehen.

Kannst du das mit den “process environment variables” genauer erläutern?

Viele Grüße

Hallo,
ich benutze ein ähnliches Script um die VMware Module automatisch zu übersetzen und für Secure Boot zu signieren. Dabei hatte ich auch Probleme mit dem Environment und benutze nun das folgende Kommando um die Module zu übersetzen:

Type=oneshot
ExecStart=/usr/bin/bash -lc '/usr/bin/vmware-modconfig --console --install-all;'
...

Da ich die fehlenden Environment Settings nicht kenne wird eine Login bash gestartet die erst das Environment von root lädt und dann vmware-modconfig ausführt. Funktioniert hier mit Leap 15.5 und Workstation 17.5.

1 Like

Hallo rawar,

Vielen Dank für deine Antwort.

Das Aufrufen der Login-Shell hat bei mir leider nichts verändert. Hast du eventuell andere Randbedingungen innerhalb des Services gesetzt?

Viele Grüße

Wenn ich die Conditions auf den vmware.service weglasse (Require und Before), funktioniert erstaunlicherweise.

Vielen Dank für die Hilfestellungen. :slight_smile:

Hallo SeglerEDCE,

ja bei mir gibt es kein Requires= in der Unit das wird vermutlich der wesentliche Unterschied sein.

1 Like

Solltest du doch kennen. Eine suche sollte viel garüber geben, vielleicht sogar auf deutsch.

Gerdade gefunden das es auf deutsch “Umgebungsvariable” heißt:

1 Like

Ich hatte mich grfrat, welche der Umgebungsvariablen beim Ausführen eines Systemd-Services nicht bzw. anders gesetzt sind als in der root-Umgebung. Das hat sich aber geklärt durch die Antwort von @rawar.

Danke, damit hat sich mein Problem gelöst. :slight_smile: