Easier than full blown data centre style virtualisation solution for a local lab environment
If you don't need a full scale data centre style virtualisation solution then Workstation Player uses VMware vSphere Hypervisor technology to provide simple and secure local virtualisation on modest hardware. It is far easier for a small local testing or technology exploration lab than ESXi or OpenStack.
Why VMware Workstation?
VMware Workstation supports hundreds of 32-bit and 64-bit guest operating systems. Best of all, VMware Workstation Player is free for personal, non-commercial use (business and nonprofit use is considered commercial use). VMware say "If you would like to learn about virtual machines or use them at home, you are welcome to use VMware Workstation Player for free".
TL:DR — This was actually moderately difficult to do, because it involved signing a module and installing it for secure boot. Also because my Lunix Distribution - Ubuntu 24.04 is unreleased at this point and not supported by VMware Workstation Player for Linux, and my processor architecture, 'skylake' is not supported by the latest version of VMware Workstation Player so I had to fall back to a previous version, and compile the VMware modules into my Ubuntu 24.04 kernel. I got it working. YMMV.
Contents
Installing VMware Workstation Player for Linux
This can be a bit of a headache
You run the Linux bundle installer to install Workstation Player on your Linux host system.
- Download VMware Workstation Player - https://www.vmware.com/products/workstation-player.html on your chosen computer logged in to the account you are going to use.
Warning — Not all distrubutions of Linux, Processors, and kernels are supported. My chosen machine, a Lenovo ThinkCentre 710q is based on an Intel 6th generation 'skylake' i5-6400T, and it won't run the latest version of VMware Workstation Player. All is not lost! It can, with some modifications, run the previous version! - Become root. $ sudo su
- Change directories to the directory that contains the Workstation Pro installer file e.g. # cd ~/Downloads
- Run the Workstation Player installer e.g. # sh ./VMware-Player-Full-16.2.5-20904516.x86_64.bundle
#sh ./VMware-Player-Full-16.2.5-20904516.x86_64.bundle Extracting VMware Installer...done. Installing VMware Player 16.2.5 Configuring... [######################################################################] 100% Installation was successful.
- Now you can see VMware Workstation Player in your Apps List
- Double click the VMware Workstation Player Icon to run it! You'll probably see that you need to add some (possibly scary) kernel dependencies
- First, you need a compliler, gcc 13 which is the default now in Ubuntu 24.04. You'll need some other build tools too so install them all $ sudo apt install build-essential
- Next run VMware Workstation Player again. You'll be prompted that several modules need to be complied and added to your Linux Kernel. Assuming you are OK with that, and that your Linux distribution kernel supports VMware Workstation Player, click 'Install'
- If your Linux distribution's kernel isn't supported by VMware Workstation Player, the installation will fail. But all is not lost. You can download the modules needed from https://github.com/mkubecek/vmware-host-modules/blob/master/INSTALL and $ make and sudo make install them.
wget https://github.com/mkubecek/vmware-host-modules/archive/workstation-16.2.5.tar.gz tar -xzf workstation-16.2.5.tar.gz cd vmware-host-modules-workstation-16.2.5 make sudo make install
- Now you can run VMware Workstation Player for Linux and get to the licence agreement
- Click through, and I decided not to check for product updates on startup, this computer is old, and this is an older version of VMware Workstation Player.
- Enter a licence or choose the free for non commercial use option
- Now it looks like you can create or open and run a virtual machine.
- There are a few more steps if you have secure boot enabled: To correct the issue with secure boot enabled: Generate a key pair using the openssl to sign vmmon and vmnet modules:
$openssl req -new -x509 -newkey rsa:2048 -keyout mypcvmware.priv -outform DER -out mypcvmware.der -nodes -days 36500 -subj "/CN=VMware/"
(Replace mypcvmware with the name of the file you want for the key). Sign the modules using the generated key by running these commands:$sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./mypcvmware.priv ./mypcvmware.der $(modinfo -n vmmon)
$sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./mypcvmware.priv ./mypcvmware.der $(modinfo -n vmnet)
Import the public key to the system's mypcvmware list by running this command:$sudo mokutil --import mypcvmware.der
Confirm a password for this mypcvmware enrollment request. Reboot your machine. - Follow the instructions to complete the enrollment from the UEFI console. (Sorry I could'nt figure out how to take screenshots of UEFI console but its essentially saying yes to enrolling the new key and rebooting).
See also
Supported host operating systems for Workstation Pro 16.x, 17.x and Workstation Player 16.x, 17.x (80807) https://kb.vmware.com/s/article/80807
VMware host modules https://github.com/mkubecek/vmware-host-modules
Cannot open /dev/vmmon: No such file or directory" error when powering on a VM (2146460) https://kb.vmware.com/s/article/2146460
Recommended ways to enter BIOS - ThinkPad, ThinkCentre, ThinkStation – https://support.lenovo.com/us/en/solutions/ht500222-recommended-ways-to-enter-bios-boot-menu-thinkpad-thinkcentre-thinkstation