Installation of VMWare Tools (version 10.3.0) on vSphere Hypervisor

After my upgrade to vSphere Hypervisor 6.7 I (again) had to manually install the VMWare Tools for MacOS (and Solaris). VMware only includes the tools ISO images for Windows and Linux in the vSphere Hypervisor installer and during the installation process, any existing ISO image is removed.

As VMWare published version 10.3.0 of the VMWare Tools a few weeks ago, I will document in this (brief) post both the steps to upgrade VMWare tools on vSphere Hypervisor and the steps install the one for MacOS for future use.

Continue reading “Installation of VMWare Tools (version 10.3.0) on vSphere Hypervisor”

VMWare vSphere Hypervisor 6.7 supports MacOS 12.13 (and 12.14!)

I am running  VMWare’s free vSphere Hypervisor (formerly known as ESXi) on my Mid-2011 Mac Mini Server (Macmini5,3) for many years . Earlier this year VMWare introduced vSphere Hypervisor 6.7 but as it was not really clear what it would add and I had a stable environment I decided not to upgrade (yet) when it came out.

However, ever since Apple introduced the APFS filesystem with MacOS High Sierra, special care was required to install (or upgrade) a MacOS VM on vSphere Hypervisor as the built-in EFI boot did not support this. Since I had to create a new MacOS Server today, I decided to give this update a try to see if it would support MacOS High Sierra. Documentation was not very clear on this, but it turned out that with this version of vSphere Hypervisor, MacOS 12.13 (as well as 12.14!) is supported, as this is how the dropdown when creating a new VM now looks like for MacOS:

This post contains the steps to perform an upgrade from vSphere Hypervisor 6.5u1 to 6.7 on my Mid-2011 Mac Mini Server, including the installation of the (not included) VMWare Tools image for MacOS.

Continue reading “VMWare vSphere Hypervisor 6.7 supports MacOS 12.13 (and 12.14!)”

VMWare ESXi 6.5 Spectre patch available

Today I noticed that VMWare has released a partial solution for the Spectre security issue ( CVE-2017-5715), according to VMWare:

This ESXi patch provides part of the hypervisor-assisted guest mitigation of CVE-2017-5715 for guest operating systems. For important details on this mitigation, see VMware Security Advisory VMSA-2018-0004.3.

It can be downloaded from their site and is also available for the free ESXi 6.5 version, the file to download is ESXi650-201803001.zip, see also VMWare Knowledge Base article 52456. Installation is quite straightforward. Continue reading “VMWare ESXi 6.5 Spectre patch available”

Downgrading grub2 to grub legacy on Debian

Today I attempted to migrate my legacy Linux server to a VM on my ESXi server using VMWare vCenter Converter Standalone. Unfortunately the process failed after about 4 hours of processing with the error message “__FAILED: An error occurred during the conversion.__”… well, that was very helpful!
Fortunately the VMWare Converter allows to save the logs, in which after a bit of digging I found the following error:
{code}
[2011-01-01 22:17:14.338 10552 error ‘App’] [task,344] [LRO] Unexpected Exception: converter.fault.CloneFault
[2011-01-01 22:17:14.401 10552 info ‘App’] [task,373] [task-5] — ERROR — Convert: converter.fault.CloneFault
(converter.fault.CloneFault) {
dynamicType = ,
faultCause = (vmodl.MethodFault) null,
description = “GrubInstaller::InstallGrub: /usr/lib/vmware-converter/installGrub.sh failed with return code: 127, and message:
/vmware-updateGrub.sh: line 37: grub: command not found
Error running GRUB
Error running vmware-updateGrub.sh through chroot into /mnt/p2v-src-root
“,
msg = “”,
}
{code}
Apparently it attempted to make the converted VM bootable by executing grub again. This failed because my Debian system (running testing for a long time) had migrated to grub2 ages ago. Since googling didn’t render any hints and it would be a temporary move anyway as I am migrating everything off to other servers, I decided to downgrade grub to the legacy grub version available. Below is a description of the steps to achieve this.

—-
1 Downgrade from grub2 to grub legacy
Before you start make a backup of the current grub2 configuration with:
{code}
sudo tar -cvzf /boot/grub2-backout.tar.gz /etc/grub.d /boot/grub
{code}
~~Please note that I am using sudo to execute commands as root. If you don’t use sudo, simply login as root and remove the sudo from each command.~~

To get starte with the downgrade, get the list of grub packages installed as you need to remove them all (sounds more dangerous than it is). Get the list and store and show it with the following command:
{code}
dpkg -l grub\* | egrep “^ii ” | tee /boot/grub2-backout.list
{code}
which on my system gave:
{code}
ii grub 0.97-63 GRand Unified Bootloader (dummy package)
ii grub-common 1.98+20100804- GRand Unified Bootloader, version 2 (common
ii grub-doc 0.97-63 Documentation for GRand Unified Bootloader (
ii grub-legacy-do 0.97-63 Documentation for GRUB Legacy
ii grub-pc 1.98+20100804- GRand Unified Bootloader, version 2 (PC/BIOS
{code}
With the above 2 pieces of output in /boot/ you should be able to recover and rollback the procedure below in case anything goes wrong. See under Rollback below for the steps to revert this procedure.

First purge the current grub installation (please note this __is__ dangerous as it makes your system unbootable) and install the “~~legacy~~” grub package. Please be aware that the following statements will not just remove the packages, but also your all configuration (that’s why you needed the backup).
{code}
sudo apt-get remove –purge `dpkg -l grub\* | egrep “^ii ” | cut -d\ -f 3`
sudo apt-get install grub-legacy
{code}
The first line above automatically deinstalls all grub packages and their configuration automatically. You can also specify yourself which packages to remove by writing your ~~apt-get remove~~ statement yourself, just make sure you get rid of everything!

Next let grub install itself on your MBR of your primary harddisk ~~/dev/sda~~ in my case with:
{code}
sudo grub-install /dev/sda
{code}
which should give output like:
{code}
Searching for GRUB installation directory … found: /boot/grub
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install’.

(hd0) /dev/sda
(hd1) /dev/sdb
{code}

If the output is similar (the list of devices is obviously depending on your system’s configuration), you have succesfully installed grub on your harddisk, now it is time to let grub regenerate its configuration with the following command:
{code}
sudo update-grub
{code}
Which should produc output similar to
{code}
Searching for GRUB installation directory … found: /boot/grub
Searching for default file … found: /boot/grub/default
Testing for an existing GRUB menu.lst file …

Generating /boot/grub/menu.lst
Searching for splash image … none found, skipping …
Found kernel: /boot/vmlinuz-2.6.32-trunk-686-bigmem
Found kernel: /boot/vmlinuz-2.6.32-5-686-bigmem
Updating /boot/grub/menu.lst … done
{code}
If your output again looks similar (obviously the list of kernels may differ), congratulations! You have successfully downgraded to grub.

Please note that the grub boot menu created has been automatically generated, so any customizations you made to the boot menu are lost. In case you originally had made customizations made in your menu.lst before you upgraded to grub2, you may be able to see those by executing
{code}
diff -wu /boot/grub/menu.lst /boot/grub/menu.lst_backup_by_grub2_postinst | more
{code}
Putting them back in ~~/boot/grub/menu.lst~~ is unfortunately a manual step, but doable if you have something to start with.

Now it’s time to test the downgrade by rebooting… fingers crossed!

Now I still need to retry to virtualize my legacy Linux server, but that’s something for tomorrow…

—-
1 Rollback
In case anything goes bad during your downgrade, you should be able to roll things back with the following three commands:
{code}
sudo apt-get remove –purge `dpkg -l grub\* | egrep “^ii ” | cut -d\ -f 3`
sudo apt-get install `cut -d\ -f 3 < /boot/grub2-backout.list`
sudo tar -xzf /boot/grub2-backout.tar.gz
{code}