Just a note that based on the USE flags for vmci and vsock, the systemd units to modprobe the modules should be altered to use the kernel module names (vmw_vmci and vmw_vsock_vmci_transport). At the moment using systemd start vmware.target will not allow a virtual machine to boot because the correct modules are not loaded.
Adding modprobe calls to the systemd units is bad practice. Ideally, the modules would be autoloaded when something needs to use them. If the modules cannot be made to load on-demand, one alternative would be to install a modules-load.d file in the vmware-modules ebuild.
I agree, but I'm not recommending adding them, I'm recommending changing the existing modprobe calls in the units installed by vmware itself, to the kernel modules when our USE flags tell us that's what the user's chosen. All this bug is calling for is an appropriate sed script to be run during install...
Ok, sorry if I misinterpreted.
I agree, Here is the sed line sed -i 's/vmci/vmw_vmci/g' /usr/lib64/systemd/system/vmware-vmci.service How can we insert that into an ebuild, I have tried unsuccessfully.
Here is an existing sed line in the same ebuild if use server; then # install the init.d script local initscript="${T}/vmware-workstation-server.rc" sed -e "s:@@ETCDIR@@:/etc/vmware:g" \ -e "s:@@PREFIX@@:${VM_INSTALL_DIR}:g" \ -e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \ -e "s:@@LIBDIR@@:${VM_INSTALL_DIR}/lib/vmware:g" \ "${FILESDIR}/vmware-server-${major_minor}.rc" > ${initscript} newinitd "${initscript}" vmware-workstation-server fi I tried using it as an example but it wouldn't work right.
*** Bug 548056 has been marked as a duplicate of this bug. ***
From the duplicated bug this also affects the init.d scripts.
Created attachment 403204 [details, diff] Modprobe.d file for vmware vmci and vsock modules to be aliased to the in-kernel versions One method that will solve both (and can be deployed locally as a workaround until this is integrated) is to define aliases in /etc/modprobe.d as in this attachment. To apply. drop the file in /etc/modprobe.d, run depmod -a, and then whenever an attempt is made to modprobe vmci, it'll actually attempt to modprobe vmw_vmci. Note, this file should only be present when the kernel internal modules are used, not when the vmware custom modules are used.
(In reply to Mike Auty from comment #8) > Created attachment 403204 [details, diff] [details, diff] > Modprobe.d file for vmware vmci and vsock modules to be aliased to the > in-kernel versions > > One method that will solve both (and can be deployed locally as a workaround > until this is integrated) is to define aliases in /etc/modprobe.d as in this > attachment. > > To apply. drop the file in /etc/modprobe.d, run depmod -a, and then whenever > an attempt is made to modprobe vmci, it'll actually attempt to modprobe > vmw_vmci. > > Note, this file should only be present when the kernel internal modules are > used, not when the vmware custom modules are used. This is in vmware-modules-308.1.0 now autogenerated depending on use-flag settings. The init scripts may still need some polishing...