#!/sbin/openrc-run # Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 depend() { need localmount use net } start() { ebegin Starting VMware USB Arbitrator @@BINDIR@@/vmware-usbarbitrator eend $? ebegin Starting VMware services # vmci might be: # 1) built as external kernel module # 2) built as internal kernel module (with name vmw_vmci) # 3) embedded in the kernel for mod in /lib/modules/$(uname -r)/misc/vmci.ko* \ /lib/modules/$(uname -r)/kernel/drivers/misc/vmw_vmci/vmw_vmci.ko* ; do if [[ -f "${mod}" ]] ; then modprobe -v $(basename "${mod}" | cut -d '.' -f 1) eend $? break fi done # vsock might be: # 1) built as external kernel module # 2) built as internal kernel module (with name vmw_vsock_vmci_transport) # 3) embedded in the kernel for mod in /lib/modules/$(uname -r)/misc/vsock.ko* \ /lib/modules/$(uname -r)/kernel/net/vmw_vsock/vmw_vsock_vmci_transport.ko* ; do if [[ -f "${mod}" ]] ; then modprobe -v $(basename "${mod}" | cut -d '.' -f 1) eend $? break fi done # vmblock if [[ -f /lib/modules/$(uname -r)/misc/vmblock.ko* ]]; then modprobe -v vmblock eend $? fi # vmci or vsock were already loaded by the previous modprobe, # no need to do it here # quiet for vmci because it may not be there modprobe -av vmmon vmnet eend $? @@BINDIR@@/vmware-networks --start eend $? } stop() { ebegin Stopping VMware USB Arbitrator killall --wait vmware-usbarbitrator eend $? @@BINDIR@@/vmware-networks --stop eend $? ebegin Stopping VMware services modprobe -rv vmmon vmnet eend $? # vsock might be: # 1) built as external kernel module # 2) built as internal kernel module (with name vmw_vsock_vmci_transport) # 3) embedded in the kernel for mod in /lib/modules/$(uname -r)/misc/vsock.ko* \ /lib/modules/$(uname -r)/kernel/net/vmw_vsock/vmw_vsock_vmci_transport.ko* ; do if [[ -f "${mod}" ]] ; then modprobe -rv $(basename "${mod}" | cut -d '.' -f 1) eend $? break fi done # vmci might be: # 1) built as external kernel module # 2) built as internal kernel module (with name vmw_vmci) # 3) embedded in the kernel for mod in /lib/modules/$(uname -r)/misc/vmci.ko* \ /lib/modules/$(uname -r)/kernel/drivers/misc/vmw_vmci/vmw_vmci.ko* ; do if [[ -f "${mod}" ]] ; then modprobe -rv $(basename "${mod}" | cut -d '.' -f 1) eend $? break fi done # vmblock if [[ -f /lib/modules/$(uname -r)/misc/vmblock.ko* ]]; then modprobe -rv vmblock eend $? fi }