Emulating a different CPU architecture per a VM on VMware ESXI

I currently have a VMWare ESXI server. We plan on having some build machines for compiling and testing software however we've run into a problem.

All of the CPUs that the software will end up running on are i586 however, our VM server is new so when we install the VM the cpu ends up being x86-64. This then causes issues as libraries that are built on i586 are incompatible with x86-64.

Is there a way we can tell the VM to emulate the VM CPU as i586 to match are our normal servers?

Thanks


Solution 1:

Not quite... I'd use a combination of techniques.

  • You will want to build a 32-bit virtual machine.
  • Use a period-correct OS. Maybe?
  • You could investigate CPU capability masking to eliminate newer features. This can be configured on a per-VM level, but is probably not needed.
  • Right-size the VM to your reference architecture. If the target system only has an i586 with 128MB RAM and one CPU, your VM should look like that. Also, if the CPU is 200MHz, limit the VM to that amount.

Solution 2:

You can always run a 32-bit OS on a 64-bit computer. Just install a 32-bit OS on your VMs, and you will have no compatibility issues at all.