- VMware
- Содержание
- DISCLAIMER
- Important kernel precaution
- Building steps
- Optional services
- Arch Linux User Repository
- Search Criteria
- Package Details: vmware-workstation 16.1.2-3
- Package Actions
- Dependencies (12)
- Required by (3)
- Sources (15)
- Pinned Comments
- jihem commented on 2020-02-10 17:29
- Latest Comments
- sh1sh1n11 commented on 2021-08-13 16:50
- jihem commented on 2021-08-13 15:33
- sh1sh1n11 commented on 2021-08-13 12:54
- farwayer commented on 2021-07-22 17:47
- jihem commented on 2021-06-24 20:36
- class101 commented on 2021-06-24 12:34
- gorgiaxx commented on 2021-06-24 06:34
- VMware/Install Arch Linux as a guest
- Contents
- In-kernel drivers
- VMware Tools versus Open-VM-Tools
- Open-VM-Tools
- Utilities
- Modules
- Installation
- Official VMware Tools
- Modules
- Installation (from guest)
- Xorg configuration
- Tips and tricks
- Shared Folders with vmhgfs-fuse utility
- fstab
- Systemd
- Legacy Shared Folders with vmhgfs module
- Enable at boot
- Prune mlocate DB
- 3D Acceleration
- OpenGL and GLSL support
- Time synchronization
- Host machine as time source
- External server as time source
- Troubleshooting
- Network slow on guest
- File share problems with legacy vmhgfs module and newer kernels
- Sound problems
- Mouse problems
- Boot problems
- Slow boot time
- Shutdown/Reboot hangs
- Window resolution autofit problems
- Potential solution 1
- Potential solution 2
- Potential solution 3
- Potential solution 4
- Potential solution 5
- Drag and drop, copy/paste
- Problems when running as a shared VM on Workstation 11
- Shared folder not mounted after system upgrade
VMware
Содержание
DISCLAIMER
VMware is a commercially developed application with a limited list of supported operating systems.
This guide is a courtesy to the forum don’t expect any support on VMware related issues.
As you can see from above reference — Archlinux and derivatives are unsupported platforms for running VMware products and as such it is unsupported on Manjaro.
So even when it is possible to install and run VMware on Manjaro — **do not expect support** on configuration of virtual machines or system issues arising from your VMware installation. You must have the required level of troubleshooting skills to solve these when they arise — and they will.
- If you need help configuring vmware virtual machines — your should look in the VMware documentation.
- If you need help troubleshooting installation issues — use the comment section for the AUR PKGBUILD
There is a lot of AUR helpers and they all mimic what you should do manually — the Arch way is usually the best way.
Important kernel precaution
The AUR PKGBUILD is created for Archlinux and therefore the kernel headers dependency must be solved manually on Manjaro. Archlinux only have two kernel versions — linux and linux-lts.
Archlinux kernels follow the release schedule on kernel.org and on Manjaro you will need to use the same kernel versions which — at the time of writing in March 2021 — is (check with https://kernel.org if in doubt)
Using other kernels — like 5.4LTS — will most likely fail.
Building steps
1. Update your system and install the necessary build tools
2. Then check your kernel version(s) — example — remember to use the same version as Arch
3. Then install the headers for your kernel(s) and dkms. Substitute $KERNELXYY with your currently running kernel
4. Clone the PKGBUILKD script
/vmware-workstation COPY TO CLIPBOARD
5. Familiarize yourself with the content — it is all text files and you should read them and verify what they are doing.
/vmware-workstation COPY TO CLIPBOARD
6. When you are satisfied — cd into the folder
/vmware-workstation COPY TO CLIPBOARD
7. Run makepkg to install dependencies, build and install the package.
The installer will write messages in the terminal on what to do next — follow the directions to load the kernel modules and enable vmware network service and usb service as needed.
Optional services
There are three services that can be optionally be enabled:
- vmware-networks.service: Provides network access inside VMs, most people will want this enabled
- vmware-usbarbitrator.service: Allows USB devices to be connected inside VMs
- vmware-hostd.service: Enables sharing of VMs on the network
To start and enable vmware network
To start and enable usb passthrough
To start and enable the sharing of a virtual machine
There are no special requirements to installing Manjaro on VMWare. open-vmware-tools is pre-installed. It should «just work»
Источник
Arch Linux User Repository
Search Criteria
Package Details: vmware-workstation 16.1.2-3
Package Actions
Git Clone URL: | https://aur.archlinux.org/vmware-workstation.git (read-only, click to copy) |
---|---|
Package Base: | vmware-workstation |
Description: | The industry standard for running multiple operating systems as virtual machines on a single Linux PC. |
Upstream URL: | https://www.vmware.com/products/workstation-for-linux.html |
Keywords: | dkms ovftool player vmplayer vmware workstation |
Licenses: | custom |
Conflicts: | vmware-modules-dkms, vmware-ovftool, vmware-patch, vmware-systemd-services |
Provides: | vmware-ovftool |
Submitter: | Synthead |
Maintainer: | jihem |
Last Packager: | jihem |
Votes: | 152 |
Popularity: | 3.07 |
First Submitted: | 2017-02-10 19:04 |
Last Updated: | 2021-07-14 12:10 |
Dependencies (12)
- dkms
- fuse2
- gcr (gcr-nogtk)
- gtk3 (gtk3-adwaita-3-32-git, gtk3-git, gtk3-ubuntu, gtk3-no_deadkeys_underline, gtk3-classic, gtk3-patched-filechooser-icon-view, gtk3-typeahead)
- gtkmm3
- hicolor-icon-theme (hicolor-icon-theme-git)
- libaio
- libcanberra (libcanberra-git)
- pcsclite (pcsclite-git, pcsclite-nopy)
- vmware-keymaps
- sqlite (sqlite-replication, sqlite-minimal-git, sqlite-fts3-parenthesis, sqlite-fossil) (make)
- linux-headers (linux-surfacepro3-git-headers, linux-aarch64-rock64-bin-headers, linux-ec2-headers, linux-galliumos-headers, linux-zest-git-headers, linux-lts49-kallsyms-headers, linux-bootsplash-headers, linux-sumavision-q5-headers, linux-phicomm-n1-headers, linux-tqc-a01-headers, linux-beikeyun-p1-headers, linux-rk3328-headers) (optional) – build modules against Arch kernel
Required by (3)
Sources (15)
Pinned Comments
jihem commented on 2020-02-10 17:29
After the first installation, please:
1) install the appropriate headers package(s) for your installed kernel(s): linux-headers for default kernel, linux-lts-headers for LTS kernel.
2) reboot or load vmw_vmci and vmmon kernel modules (modprobe -a vmw_vmci vmmon)
3) Enable the services you need (using .service units to activate them during boot or .path units to activate them when a VM is started) :
vmware-networks: to have network access inside VMs
vmware-usbarbitrator: to connect USB devices inside VMs
Latest Comments
sh1sh1n11 commented on 2021-08-13 16:50
@jihem, thank you very much for your to the point and prompt reply! You’re awesome! 🙂
So I did as you said. I first ran the «vmware-netcfg» command, to make sure that the «Use local DHCP service to distribute IP addresses to VMs» option was checked.
I then proceeded with the rest of your instructions. I brought the «vmware-networks.service» down by running «sudo systemctl stop vmware-networks.service», then I got rid of the aforementioned files and folders using «sudo rm -r /etc/vmware/
That fixed all the issues. I noticed that all the deleted files and folders were created anew, and the vmnet* subnets had also changed. The VMs are now able to pick up the IPs upon boot. Thank you so much jihem!
jihem commented on 2021-08-13 15:33
sh1sh1n11: Firstly, check if your virtual network has DHCP enabled. For that, start vmware-netcfg and check if, in the network interface used by your VM, the option «Use local DHCP service to distribute IP addresses to VMs» is activated.
If it is not the problem, you can try to reinitialize network settings. Stop all running VMs and run the following commands:
sh1sh1n11 commented on 2021-08-13 12:54
Thank you for this package! I’ve run into an issue where none of my VM’s are getting an IP address issued. I am currently on Manjaro Linux Kernel 5.10.56-1-MANJARO (I know. But since it is an Arch Linux derivative, here I am.).
Interestingly, when I edit the «/etc/vmware/vmnet8/dhcpd/dhcpd.leases» file manually, and assign an IP to my VM, then it is able to assign that IP to itself upon boot.
I could only get as far as understanding that Manjaro Linux (and maybe even Arch for that matter) does not have dhcpd service, and instead it has the dhcpcd service. where as the «vmware-networks.service» seems to be running «/usr/bin/vmnet-dhcpd». How can I make it so that I don’t have to manually add IPs to the dhcpd.leases file, and the VMs get IPs on boot automatically. Any help in the matter would be awesome! Thank you all.
farwayer commented on 2021-07-22 17:47
I got an error while installing: error: could not extract /usr/lib/vmware/isoimages/VirtualPrinter-Windows.iso (Truncated zstd input)
What can be wrong?
jihem commented on 2021-06-24 20:36
No idea why gorgiaxx didn’t have the libdir variable set, but I can confirm that AUR packages are generating .pacnew files; actually AUR packages work exactly like official packages, the only difference is that they are not built and distributed by official maintainers.
@class101 To explain my choices, I finally didn’t use the PathModified variable because it triggers not only file creation, but also file deletion and modification. During some tests, on one moment I wanted to «reset» my environment by stopping VMware services and removing /run/vmware directory; I realized that removing this directory restarted VMware services, which was clearly not the expected behavior. I know it’s not a big deal because probably nobody will touch this directory in real conditions, but I find the PathExistsGlob solution more adapted: when a directory of this pattern is created, I am sure that it correspond to the start of a VM. Also, if a VMware service is stopped whereas at least one VM is still running, the corresponding directory still exists so the service is restarted immediately.
I admit I haven’t thought about the performance cost of using regular expressions, but in my opinion it is not significant (systemd probably check a filename matching only when there is a change in /var/run/vmware folder, which happen only when a VM is started or stopped).
About services handling, I just follow what is generally made by maintainers which is to not start services by default (except for some core components). It’s especially relevant here because these services are not required for VM execution and some users could want to let them disabled. As you said in a previous message: «It is a good practice under Linux to have the fewest permanent services running» 🙂
class101 commented on 2021-06-24 12:34
I think you have old configuration in /etc/vmware/config and/or maybe a configuration update waiting in /etc/vmware/config.pacnew (not sure if AUR packages are generating .pacnew files, but but these files are good to watch every now and then as they may contain important updates)
@jihem Ty for sharing this idea with others, cool from you 😉
But I haven’t used your implementation yet, I doubt that PathExistsGlob= is necessary over PathModified= . The *Glob variable has its own variable name because it make uses of regular expressions, and they have a performance cost over regular methods.
If it was up to me I would have not used PathExistsGlob if there is no specific reasons to use over the regular method.
But that’s just different way of thinking anyway, not a big deal, I see you prefer to let the user to handle all the servicing stuff, while for me this is to the package responsability to install and remove the necessary files, I would hate to uninstall a systemd package that would leave behind a whole bunch of installed service, same rule for vmware, Arch Way :s
gorgiaxx commented on 2021-06-24 06:34
VMware workstation 16 start failed after install.
Append this line to the vmware configuration file.
Источник
VMware/Install Arch Linux as a guest
This article is about installing Arch Linux in a VMware product, such as Player (Plus), Fusion or Workstation.
Contents
In-kernel drivers
- vmw_balloon — The physical memory management driver. It acts like a «balloon» that can be inflated to reclaim physical pages by reserving them in the guest and invalidating them in the monitor, freeing up the underlying machine pages so they can be allocated to other guests. It can also be deflated to allow the guest to use more physical memory. Deallocated Virtual Machine memory can be reused in the host without terminating the guest.
- vmw_pvscsi — For VMware’s Paravirtual SCSI (PVSCSI) HBA.
- vmw_vmci — The Virtual Machine Communication Interface. It enables high-speed communication between host and guest in a virtual environment via the VMCI virtual device.
- vmwgfx — For 3D acceleration. This is a KMS enabled DRM driver for the VMware SVGA2 virtual hardware.
- vmxnet3 — For VMware’s vmxnet3 virtual ethernet NIC.
- a fuse-based hgfs implementation has been added to open-vm-tools 10.0+ and is supported from kernel version 4.0+.
The following drivers are only needed if you are running Arch Linux on a hypervisor like VMware vSphere Hypervisor. Client-server applications can write to the VMCI Sock (vsock) interface to make use of the VMCI virtual device, when communicating between virtual machines.
- vsock — The Virtual Socket Protocol. It is similar to the TCP/IP socket protocol, allowing communication between Virtual Machines and hypervisor or host.
- vmw_vsock_vmci_transport — Implements a VMCI transport for Virtual Sockets.
Some modules, such as the legacy vmhgfs shared folder module, will require additional work to manually compile and systemd enable in order to function properly.
VMware Tools versus Open-VM-Tools
In 2007, VMware released large partitions of the VMware Tools under the LGPL as Open-VM-Tools. The official Tools are not available separately for Arch Linux.
Originally, VMware Tools provided the best drivers for network and storage, combined with the functionality for other features such as time synchronization. However, now the drivers for the network/SCSI adapter are part of the Linux kernel.
The official VMware Tools also had the advantage of being able to use the Unity mode feature, but as of VMWare Workstation 12, Unity mode for Linux guests has been removed due to lack of use and developer difficulties in maintaining the feature. See this thread.
Open-VM-Tools
Utilities
The open-vm-tools package comes with the following utilities:
- vmtoolsd — Service responsible for the Virtual Machine status report.
- vmware-checkvm — Tool to check whether a program is running in the guest.
- vmware-toolbox-cmd — Tool to obtain Virtual Machine information of the host.
- vmware-user — Tool to enable clipboard sharing (copy/paste) between host and guest.
- vmware-vmblock-fuse — Filesystem utility. Enables drag & drop functionality between host and guest through FUSE (Filesystem in Userspace).
- vmware-xferlogs — Dumps logging/debugging information to the Virtual Machine logfile.
- vmhgfs-fuse — Utility for mounting vmhgfs shared folders.
Modules
- vmhgfs — Legacy filesystem driver. Enables legacy sharing implementation between host and guest.
- vmxnet — for the old VMXNET network adapter.
Installation
Install open-vm-tools . If the legacy vmhgfs shared folder module is desired, the open-vm-tools-dkms AUR [broken link: package not found] package must be installed (the new vmhgfs-fuse driver is included in open-vm-tools ). Start and/or enable vmtoolsd.service and vmware-vmblock-fuse.service .
Try to install gtkmm3 manually if it does not work properly. To enable copy and paste between host and guest gtkmm3 is required.
Official VMware Tools
Modules
- vmblock — Filesystem driver. Enables drag & drop functionality between host and guest (superseded by the vmware-vmblock-fuse utility).
- vmci — High performance communication interface between host and guest.
- vmmon — Virtual Machine Monitor.
- vmnet — Networking driver.
- vsock — VMCI sockets.
Installation (from guest)
Install the dependencies: base-devel (for building), net-tools (for ifconfig , used by the installer) and linux-headers (for kernel headers). A make dependency for checking out open-vm-tools is asp .
Then, create bogus init directories for the installer:
The installer can then be mounted:
Extracted (e.g. to /root ):
The following build failures can safely be ignored:
- VMNEXT 3 virtual network card
- «Warning: This script could not find mkinitrd or update-initramfs and cannot remake the initrd file!»
- Fuse components not found on the system.
Enable vmware-vmblock-fuse systemd services (make sure the dependencies are manually installed, or that the -s flag) used. The open-vm-tools source code should be checked out using the Arch Build System.
Reboot the Virtual Machine:
Log in and start the VMware Tools:
Additionally, to auto start vmware-tools on boot, create a new file /etc/systemd/system/vmwaretools.service :
And enable the new systemd service:
Xorg configuration
These packages should be all that are required to get started with booting into a graphical target : . /etc/xdg/autostart/vmware-user.desktop will get started which will set up most of what is needed to work with the Virtual Machine.
However, if booting into multi-user.target or using an uncommon setup (e.g. multiple monitors), then vmtoolsd.service needs to be enabled. In addition to this, edit:
to give permission for loading drivers.
Tips and tricks
Shared Folders with vmhgfs-fuse utility
Share a folder by selecting Edit virtual machine settings > Options > Shared Folders > Always enabled, and creating a new share.
The shared folders should be visible with:
Now the folder can be mounted:
If the error message fusermount: option allow_other only allowed if ‘user_allow_other’ is set in /etc/fuse.conf is displayed, uncomment the following line in /etc/fuse.conf :
Other vmhgfs-fuse mount options can be viewed by using the -h input flag:
fstab
Add a rule for each share:
Create and mount the Shared Folders (if not done so already):
Systemd
Create the following .service :
Ensure the folder exists on the system. If this folder does not exist then it must be created, as the systemd service depends on it:
Enable the — .service mount target.
If all shared folders should be mounted automatically then omit .
Legacy Shared Folders with vmhgfs module
Share a folder by selecting Edit virtual machine settings > Options > Shared Folders > Always enabled, and creating a new share.
Ensure the vmhgfs driver is loaded:
The shared folders should be viewable with:
Now the folder can be mounted:
Enable at boot
Edit mkinitcpio.conf thusly:
fstab
Add a rule for each share:
Create and mount the Shared Folders:
Systemd
For shared folders to work the vmhgfs driver must be loaded. Create the following .service s:
Ensure the folder exists on the system. If this folder does not exist then it must be created, as the systemd scripts depend on it:
Enable the mnt-hgfs.automount mount target.
If all shared folders should be mounted automatically then omit .
Prune mlocate DB
When using mlocate, it is pointless to index the shared directories in the locate DB . Therefore, add the directories to PRUNEPATHS in /etc/updatedb .
3D Acceleration
If not selected at guest creation time, 3D Acceleration can be enabled in: Edit virtual machine settings > Hardware > Display > Accelerate 3D graphics.
OpenGL and GLSL support
It is possible to update OpenGL and GLSL with new kernel modules, overriding Arch-controlled versions.
Currently, OpenGL 3.3 and GLSL 3.30 can be supported. See https://bbs.archlinux.org/viewtopic.php?id=202713 for more details.
Time synchronization
Configuring time synchronization in a Virtual Machine is important; fluctuations are bound to occur more easily in a guest VM. This is mostly due to the CPU being shared by more than one guest.
There are 2 options to set up time synchronization: the host or an external source.
Host machine as time source
To use the host as a time source, ensure vmtoolsd.service is started. Then enable the time synchronization:
To synchronize the guest after suspending the host:
External server as time source
Troubleshooting
Network slow on guest
Arch Linux, as well as other Linux guests, may have slow network speeds while using NAT. To resolve this, switch the network type to Bridged mode in the guest settings on the host, changing the configuration file for the network on the guest where necessary. For more information on configuration, see Network configuration. If on a Windows host and it is not connecting properly despite correct guest configuration, open the Virtual Network Editor on the host as Administrator and press the Restore defaults button at the bottom left.
File share problems with legacy vmhgfs module and newer kernels
As the open-vm-tools-dkms AUR [broken link: package not found] package is no longer being updated, newer kernels are not patched correctly using it to be compatible with a host-guest file share. The Github repository has some patch files that can be manually applied to restore functionality.
It is also recommended that the AUR comment section be checked for this package.
Sound problems
If unacceptably loud or annoying sounds occur, then it may be related to the PC speaker. The issue may be resolved by disabling the PC speaker within the guest image:
Mouse problems
The following problems may occur with the mouse:
- The automatic grab/ungrab feature does not automatically grab input when the cursor enters the window
- Missing buttons
- Input lag
- Clicks are not registered in some applications
- Mouse cursor jumps when entering/leaving virtual machine
- Mouse position jumps to where it left the guest VM
These may be fixed by uninstalling the xf86-input-vmmouse package. xf86-input-vmmouse and xf86-input-libinput should be sufficient for handling mouse and keyboard inputs.
Adding settings to the .vmx configuration file may help (Mouse position jumps to where it left the guest VM):
VMware also attempts to automatically optimize the mouse for gaming. If problems are experienced, disabling the optimization is recommended: Edit > Preferences > Input > Optimize mouse for games: Never
Alternatively, attempting to disable the catchall event in 60-libinput.conf may be required:
Boot problems
Slow boot time
The following errors may be displayed if VMWare’s memory hot-add feature is enabled:
- add_memory failed
- acpi_memory_enable_device() error
Disable the memory hot-add feature by setting mem.hotadd = «FALSE» to the .vmx .
Shutdown/Reboot hangs
Adjust the timeout for the vmtoolsd service (defaults to 90 seconds).
Window resolution autofit problems
«Autofit» means that when the VMWare window’s size is adjusted in the host, ArchLinux in the guest should automatically follow and readjust its resolution to fit the new size of the host window.
Potential solution 1
Ensure autofit is enabled. For VMware Workstation the setting can be found in: View -> Autosize -> Autofit Guest
Potential solution 2
For some reason, autofit requires the packages gtkmm and gtk2, so ensure they are installed. If X windows is not installed or a non–GTK-based desktop environment (such as KDE) is being used, the might have to be installed independently.
Potential solution 3
The relevant modules may have to be added to mkinitcpio.conf:
Potential solution 4
If this does not work, ensure the vmtoolsd.service is restarted.
Potential solution 5
Drag and drop, copy/paste
The drag-and-drop (copy/paste) feature requires both open-vm-tools and gtkmm3 packages to be installed.
Make the command vmware-user run after X11 by either:
- Ensuring etc/xdg/autostart/vmware-user.desktop exists, and if not, running:
Problems when running as a shared VM on Workstation 11
Workstation 11 has a bug where vmware-hostd crashes if an Arch guest is running as a shared VM and vmtoolsd is running in the guest. A patch to open-vm-tools to work around the bug is here.
Shared folder not mounted after system upgrade
Most likely, this should only happen to open-vm-tools . Since the vmhgfs module belongs to open-vm-tools-dkms AUR [broken link: package not found] , the legacy filesystem driver would not be upgraded by using the command pacman -Syu . Therefore, open-vm-tools-dkms AUR [broken link: package not found] should be manually upgraded before the official repositories.
If a shared folder is not mounted after a system upgrade, then remove the shared filesystem automount, upgrade open-vm-tools-dkms AUR [broken link: package not found] , run pacman -Syu , and finally regenerate the initramfs. Do not forget to restore the filesystem automount.
Источник