Files
local-ci-cd-system/deploy/systemd/vmware-host.service
T
Simone 19186981a5 fix(host): bring up VMware host stack at boot via native systemd units
Build VMs stopped starting after a reboot into a new kernel: vmmon/vmnet
were left unloaded and vmnet1/vmnet8 (DHCP/NAT) never came up, so
vmware-vmx died (status=237/KEYRING) and clones got no IP. Root cause:
the LSB->systemd sysv-generated vmware.service intermittently fails to
generate at early boot ("systemd-sysv-generator: Cannot find unit
vmware.service"), and the existing module-rebuild guard only builds the
modules -- it never loads them or starts vmnet networking.

Add a native vmware-host.service that runs `/etc/init.d/vmware start`
(loads vmmon/vmci + brings up vmnet), ordered after the rebuild guard,
and mask the flaky sysv vmware.service so the native unit is the sole
owner. Provisioned by scripts/install-vmware-host-services.sh and wired
into setup-host-linux.sh (new step 8/9). VMware ships no native unit and
no kernel postinst hook, so this native wrapper around VMware's own
tools is the reliable boot path.

Verified: linked clone boots and gets a vmnet8 DHCP IP.
2026-07-19 19:47:16 +02:00

22 lines
812 B
Desktop File

[Unit]
Description=Start VMware Workstation host stack (vmmon/vmci + vmnet networking)
Documentation=man:vmware(1)
# Native replacement for the flaky LSB->systemd sysv-generated vmware.service,
# which intermittently fails to generate at early boot ("Cannot find unit
# vmware.service"), leaving vmmon unloaded and vmnet DHCP/NAT down so VMs
# cannot start. The rebuild guard ensures the modules are built first; this
# unit loads them and brings up vmnet1/vmnet8 via VMware's own init script.
Wants=vmware-modules-rebuild.service
After=vmware-modules-rebuild.service network-pre.target local-fs.target
ConditionPathExists=/etc/init.d/vmware
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/init.d/vmware start
ExecStop=/etc/init.d/vmware stop
TimeoutStartSec=120
[Install]
WantedBy=multi-user.target