Hoe u de VMware Workstation Pro Kernel-modules op Ubuntu/Debian compileert

Hoe U De Vmware Workstation Pro Kernel Modules Op Ubuntu Debian Compileert



Zodra de VMware Workstation Pro desktopvirtualisatiesoftware (Type-II hypervisor) op uw Ubuntu/Debian-systeem is geïnstalleerd, moet u de VMware Workstation Pro-kernelmodules voor uw Ubuntu/Debian-systeem compileren voordat het werkt.

In dit artikel laat ik u zien hoe u de VMware Workstation Pro-kernelmodules op Ubuntu/Debian compileert. Ik zal ook de problemen bespreken waarmee u te maken kunt krijgen bij het compileren van de VMware Workstation Pro-kernelmodules en hoe u deze kunt oplossen.







De methoden die in dit artikel worden getoond, zouden moeten werken op de volgende Linux-distributies:



  • Ubuntu



  • Debian





  • Linux Munt

  • Elementair besturingssysteem



  • Diep in Linux

  • KDE Neon

  • Andere op Ubuntu/Debian gebaseerde Linux-distributies

 

 

Inhoudsopgave

  1. Bestaande Ubuntu/Debian-pakketten upgraden
  2. Het installeren van de vereiste VMware Kernel Module Build Tools op Ubuntu/Debian
  3. UEFI Secure Boot uitschakelen vanuit de BIOS/UEFI Firmware van uw moederbord
  4. Methode 1: Het compileren van de officiële VMware Workstation Pro Kernel-modules op Ubuntu/Debian
  5. Methode 2: Patched VMware Workstation Pro Kernel-modules downloaden en compileren op Ubuntu/Debian
  6. Oplossing voor het oplossen van problemen met het starten van VMware Workstation Pro Services op Ubuntu/Debian
  7. Conclusie
  8. Referenties

 

 

 

Bestaande Ubuntu/Debian-pakketten upgraden

Voordat u probeert VMware Workstation Pro-kernelmodules te compileren, moet u alle beschikbare updates op uw Ubuntu/Debian-systeem installeren.

Om te controleren of er nieuwe updates beschikbaar zijn op uw Ubuntu/Debian-systeem, voert u de volgende opdracht uit:

$ sudo apt-update

 

Als er updates beschikbaar zijn voor uw Ubuntu/Debian-systeem, ziet u deze in de uitvoer van de opdracht.

Zoals je kunt zien, kunnen er 28 pakketten worden geüpgraded op mijn Ubuntu/Debian-systeem.

 

Om alle beschikbare updates op uw Ubuntu/Debian-systeem te installeren, voert u de volgende opdracht uit:

$ sudo apt volledige upgrade

 

Om de installatie te bevestigen, drukt u op EN en druk vervolgens op .

 

De updates worden gedownload en geïnstalleerd. Het zal een tijdje duren voordat het voltooid is.

 

Op dit punt moeten alle updates op uw Ubuntu/Debian-systeem zijn geïnstalleerd.

 

Om de wijzigingen door te voeren, start u uw Ubuntu/Debian-systeem opnieuw op.

$ sudo opnieuw opstarten

 

 

Het installeren van de vereiste VMware Kernel Module Build Tools op Ubuntu/Debian

Om de vereiste tools voor het bouwen van de VMware Kernel Modules op Ubuntu/Debian te installeren, voert u de volgende opdracht uit:

$ sudo apt install build-essential linux-headers-$(uname -r) git

 

Om de installatie te bevestigen, drukt u op EN en druk vervolgens op .

 

Alle vereiste pakketten worden gedownload en geïnstalleerd. Het zal een tijdje duren voordat het klaar is.

 

 

Op dit punt moeten alle vereiste bouwtools worden geïnstalleerd.

 

 

 

UEFI Secure Boot uitschakelen vanuit de BIOS/UEFI Firmware van uw moederbord

Standaard worden VMware Workstation Pro-kernelmodules niet geladen tijdens het opstarten als UEFI Secure Boot is ingeschakeld in de BIOS/UEFI Firmware van uw moederbord.

Om de VMware Workstation Pro-kernelmodule tijdens het opstarten te laden en VMware Workstation Pro te gebruiken, moet u: schakel UEFI Secure Boot uit via de BIOS/UEFI-firmware van uw moederbord .

Als u de VMware Workstation Pro-kernelmodules wilt laden zonder UEFI Secure Boot uit te schakelen, moet u dit doen onderteken de VMware Workstation Pro-kernelmodules nadat ze zijn gecompileerd en geïnstalleerd op uw Ubuntu/Debian-systeem.

 

 

Methode 1: Het compileren van de officiële VMware Workstation Pro Kernel-modules op Ubuntu/Debian

De officiële VMware Kernel Modules (geïnstalleerd naast de VMware Workstation Pro-installatie) zouden prima kunnen worden gecompileerd op de meeste Ubuntu/Debian-versies en op Ubuntu/Debian gebaseerde Linux-distributies.

 

Om de officiële VMware Kernel Modules op Ubuntu/Debian te compileren, voert u de volgende opdracht uit:

$ sudo vmware-modconfig --console --install-all

 

De nieuwste versie van de VMware Workstation Pro (v17.5.2) kernelmodules zal op het moment van schrijven niet compileren op Ubuntu 24.04 LTS.

Als u probeert VMware Workstation Pro v17.5.2 op Ubuntu 24.04 LTS te compileren, ziet u mogelijk de volgende foutmeldingen. Het probleem is dat de kernelmodules van VMware Workstation Pro v17.5.2 de nieuwste Linux-kernels nog niet ondersteunen. Het compileren mislukt dus.

Om dit probleem op te lossen, moet je compileer de gepatchte versie van de VMware Workstation Pro-kernelmodules .

 

Hier is de volledige foutmelding.

[AppLoader] Gebruik de AIO-toegangsbibliotheek van de Linux-kernel.
Een up-to-date 'libaio' of 'libaio1' pakket van uw systeem heeft de voorkeur.
[AppLoader] GLib heeft geen GSettings-ondersteuning.
VMware-services stoppen:
VMware Authenticatie Daemon voltooid
Virtuele machinemonitor voltooid
make: Directory '/tmp/modconfig-14X4lZ/vmmon-only' openen
Kernelbuildsysteem gebruiken.
/usr/bin/make -C /lib/modules/6.8.0-31-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: map '/usr/src/linux-headers-6.8.0-31-generic' openen
waarschuwing: de compiler verschilt van degene die werd gebruikt om de kernel te bouwen
De kernel is gebouwd door: x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
U gebruikt: gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/linux/driver.o
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/linux/driverLog.o
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/linux/hostif.o
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/common/apic.o
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/common/comport.o
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/common/cpuid.o
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/common/crosspage.o
CC [M] /tmp/modconfig-14X4lZ/vmmon-only/common/memtrack.o
/tmp/modconfig-14X4lZ/vmmon-only/common/crosspage.o: waarschuwing: objtool: CrossPage_CodePage+0x207: 'naked' return gevonden in RETHUNK build
make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-14X4lZ/vmmon-only/common/crosspage.o] Fout 255
make[3]: *** Bestand verwijderen '/tmp/modconfig-14X4lZ/vmmon-only/common/crosspage.o'
make[3]: *** Wachten op onvoltooide taken....
/tmp/modconfig-14X4lZ/vmmon-only/linux/hostif.c:2926:1: waarschuwing: geen eerder prototype voor \u2018HostIFCheckTrackedMPN\u2019 [-Wmissing-prototypes]
2926 | HostIFCheckTrackedMPN(VMDriver *vm, // IN: het VM-exemplaar
| ^~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-14X4lZ/vmmon-only/linux/hostif.c:3046:1: waarschuwing: geen eerder prototype voor \u2018HostIFWritePhysicalWork\u2019 [-Wmissing-prototypes]
3046 | HostIFWritePhysicalWork(MA ma, // MA waarnaar moet worden geschreven
| ^~~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-14X4lZ/vmmon-only/linux/hostif.c:3205:1: waarschuwing: geen eerder prototype voor \u2018HostIFStartTimer\u2019 [-Wmissing-prototypes]
3205 | HostIFStartTimer(Bool rateChanged, //IN: Is de snelheid gewijzigd?
| ^~~~~~~~~~~~~~~~
/tmp/modconfig-14X4lZ/vmmon-only/linux/driver.c:271:1: waarschuwing: geen eerder prototype voor \u2018LinuxDriverInit\u2019 [-Wmissing-prototypes]
271 | LinuxDriverInit (ongeldig)
| ^~~~~~~~~~~~~~~
/tmp/modconfig-14X4lZ/vmmon-only/linux/driver.c:339:1: waarschuwing: geen eerder prototype voor \u2018LinuxDriverExit\u2019 [-Wmissing-prototypes]
339 | LinuxDriverExit(ongeldig)
| ^~~~~~~~~~~~~~~
make[2]: *** [/usr/src/linux-headers-6.8.0-31-generic/Makefile:1926: /tmp/modconfig-14X4lZ/vmmon-only] Fout 2
make[1]: *** [Makefile:240: __sub-make] Fout 2
make[1]: map '/usr/src/linux-headers-6.8.0-31-generic' verlaten
make: *** [Makefile:117: vmmon.ko] Fout 2
make: map '/tmp/modconfig-14X4lZ/vmmon-only' verlaten
make: Directory '/tmp/modconfig-14X4lZ/vmnet-only' openen
Kernelbuildsysteem gebruiken.
/usr/bin/make -C /lib/modules/6.8.0-31-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: map '/usr/src/linux-headers-6.8.0-31-generic' openen
waarschuwing: de compiler verschilt van degene die werd gebruikt om de kernel te bouwen
De kernel is gebouwd door: x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
U gebruikt: gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/driver.o
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/hub.o
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/userif.o
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/netif.o
/tmp/modconfig-14X4lZ/vmnet-only/userif.c:1091:1: waarschuwing: geen eerder prototype voor \u2018VNetUserIf_Create\u2019 [-Wmissing-prototypes]
1091 | VNetUserIf_Create(VNetPort **ret) // UIT
| ^~~~~~~~~~~~~~~~~
/tmp/modconfig-14X4lZ/vmnet-only/netif.c:173:1: waarschuwing: geen eerder prototype voor \u2018VNetNetIf_Create\u2019 [-Wmissing-prototypes]
173 | VNetNetIf_Create(char *devName, // AND:
| ^~~~~~~~~~~~~~~~
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/bridge.o
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/procfs.o
/tmp/modconfig-14X4lZ/vmnet-only/userif.o: waarschuwing: objtool: VNetCsumAndCopyToUser+0x2d: aanroep naar csum_partial_copy_nocheck() met UACCESS ingeschakeld
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/smac_compat.o
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/smac.o
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/vnetEvent.o
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/vnetUserListener.o
/tmp/modconfig-14X4lZ/vmnet-only/bridge.c:258:1: waarschuwing: geen eerder prototype voor \u2018VNetBridge_Create\u2019 [-Wmissing-prototypes]
258 | VNetBridge_Create(const char *devName, // IN: naam van apparaat (bijvoorbeeld 'eth0')
| ^~~~~~~~~~~~~~~~~
/tmp/modconfig-14X4lZ/vmnet-only/bridge.c:1411:1: waarschuwing: geen eerder prototype voor \u2018VNetBridgeSendLargePacket\u2019 [-Wmissing-prototypes]
1411 | VNetBridgeSendLargePacket(struct sk_buff *skb, // IN: pakket om te splitsen
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-14X4lZ/vmnet-only/vnetUserListener.c:87:1: waarschuwing: geen eerder prototype voor \u2018VNetUserListener_Create\u2019 [-Wmissing-prototypes]
87 | VNetUserListener_Create(uint32 classMask, // IN: het klassenmasker van de luisteraar
| ^~~~~~~~~~~~~~~~~~~~~~~~
LD [M] /tmp/modconfig-14X4lZ/vmnet-only/vmnet.o
MODPOST /tmp/modconfig-14X4lZ/vmnet-only/Module.symvers
CC [M] /tmp/modconfig-14X4lZ/vmnet-only/vmnet.mod.o
LD [M] /tmp/modconfig-14X4lZ/vmnet-only/vmnet.ko
BTF [M] /tmp/modconfig-14X4lZ/vmnet-only/vmnet.ko
BTF-generatie overslaan voor /tmp/modconfig-14X4lZ/vmnet-only/vmnet.ko vanwege de onbeschikbaarheid van vmlinux
make[1]: map '/usr/src/linux-headers-6.8.0-31-generic' verlaten
/usr/bin/make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= nabouw
make[1]: map '/tmp/modconfig-14X4lZ/vmnet-only' openen
make[1]: 'postbuild' is up-to-date.
make[1]: map '/tmp/modconfig-14X4lZ/vmnet-only' verlaten
cp -f vmnet.ko ./../vmnet.o
make: map '/tmp/modconfig-14X4lZ/vmnet-only' verlaten
Kan niet alle modules installeren. Zie logboek voor details.

 

Methode 2: Patched VMware Workstation Pro Kernel-modules downloaden en compileren op Ubuntu/Debian

De GitHub-opslagplaats mkubecek/vmware-host-modules brengt regelmatig gepatchte versies uit van de VMware Workstation Pro-kernelmodules, zodat de VMware Workstation Pro-kernelmodules kunnen worden gecompileerd voor de nieuwste Linux-kernels.

Als de officiële VMware Workstation Pro-kernelmodules niet kunnen worden gecompileerd op uw Ubuntu/Debian-systeem, is uw enige optie het compileren en gebruiken van de gepatchte VMware Workstation Pro-kernelmodules.

In dit gedeelte laat ik u zien hoe u gepatchte VMware Workstation Pro-kernelmodules voor de geïnstalleerde VMware Workstation Pro-versie kunt downloaden en deze op uw Ubuntu/Debian-systeem kunt compileren. Ter demonstratie gebruik ik VMware Workstation Pro v17.5.2 op Ubuntu 24.04 LTS (Linux kernelversie 6.8.0).

Navigeer eerst naar de /tmp map als volgt:

$ cd/tmp

 

Kloon de GitHub-opslagplaats mkubecek/vmware-host-modules met het volgende commando:

$ git-kloon https://github.com/mkubecek/vmware-host-modules.git

 

Een nieuwe map vmware-host-modules/ gecreëerd moeten worden. Navigeer naar de vmware-host-modules/ map als volgt:

$ cd vmware-host-modules/

 

Voer de volgende opdracht uit om te controleren welke VMware Workstation Pro-versie u hebt geïnstalleerd:

$ vmware --versie

 

Zoals je kunt zien, heb ik VMware Workstation Pro v17.5.2 geïnstalleerd op mijn Ubuntu 24.04 LTS-systeem.

 

 

Om de beschikbare gepatchte VMware Workstation Pro 17-kernelmodules op de gekloonde GitHub-repository te controleren, voert u de volgende opdracht uit:

$ git branch --remotes | grep-werkstation-17

 

Zoals u kunt zien is VMware Workstation Pro v17.5.2 nog niet beschikbaar, maar v17.5.1 is wel beschikbaar. Kernelmodules van VMware Workstation Pro v17.5.1 zouden prima moeten werken op VMware Workstation Pro v17.5.2.

Tegen de tijd dat u dit artikel leest, zou de gepatchte kernelmodule beschikbaar moeten zijn voor uw VMware Workstation Pro-versie. Of het kan zijn dat VMware problemen met hun officiële kernelmodules oplost, waardoor u de gepatchte VMware Workstation Pro-kernelmodules niet langer nodig heeft.

 

Bekijk de werkstation-17.5.1 vertakking als volgt:

$ git checkout werkstation-17.5.1

 

U vindt twee mappen alleen vmmon/ En alleen vmnet/ in de /tmp/vmware-host-modules map.

 

Comprimeer de alleen vmmon/ map naar vmmon.tar En alleen vmnet/ map naar vmnet.tar als volgt:

$ tar -cf vmmon.tar alleen vmmon/

$ tar -cf vmnet.tar alleen vmnet/

 

Kopieer het gecomprimeerde vmmon.tar En vmnet.tar bestand van de /tmp/vmware-host-module map naar /usr/lib/vmware/modules/source directory om de officiële VMware Workstation Pro-kernelmodules te vervangen door de gepatchte kernelmodules.

$ sudo cp -v vmmon.tar vmnet.tar /usr/lib/vmware/modules/source/

 

Voer de volgende opdracht uit om de gepatchte VMware Workstation Pro-kernelmodules te compileren:

$ sudo vmware-modconfig --console --install-all

 

De VMware Workstation Pro-kernelmodules worden gecompileerd. Het duurt een paar seconden om te voltooien.

 

Op dit punt moeten de gepatchte VMware Workstation Pro-kernelmodules worden gecompileerd en geïnstalleerd.

 

Oplossing voor het oplossen van problemen met het starten van VMware Workstation Pro Services op Ubuntu/Debian

VMware Workstation Pro-kernelmodules worden niet geladen op Ubuntu/Debian-systemen met UEFI Secure Boot, waardoor de VMware Workstation Pro-services niet kunnen starten. Daarom ziet u de gemarkeerde fouten net na het compileren van de VMware Workstation Pro-kernelmodules.

Om dit probleem op te lossen, schakel UEFI Secure Boot uit via de BIOS/UEFI Firmware van uw moederbord . Of, onderteken de VMware Workstation Pro-kernelmodules voor uw UEFI Secure Boot-enabled Ubuntu/Debian-systeem.

 

Conclusie

In dit artikel heb ik je laten zien hoe je de officiële VMware Workstation Pro-kernelmodules op Ubuntu/Debian compileert. Ik heb je ook laten zien hoe je gepatchte VMware Workstation Pro-kernelmodules op Ubuntu/Debian kunt downloaden en compileren voor het geval de officiële VMware Workstation Pro-kernelmodules niet kunnen compileren. Ten slotte heb ik de problemen besproken waarmee u te maken kunt krijgen bij het laden van de VMware Workstation Pro-kernelmodules en het starten van de VMware Workstation Pro-systemd-services op Ubuntu/Debian-systemen met UEFI Secure Boot en gekoppeld aan aanvullende artikelen die het proces van het oplossen van de problemen demonstreren.

 

 

Referenties