VMware Cloud Community
morganyang1982
Contributor
Contributor
Jump to solution

32 bit guest OS installed on ESXi 5 but still shows 64 bit CPU

Hi All:

I have installed a 32 bit RH6.2 guest OS on ESXi 5

vmware_install1.jpg

But when I try to build 32 bit applications, it seems the CPU is 64 bits

vmware_install2.jpg

Is it something i'm not doing right?

Much Thanks

Morgan Yang

Tags (4)
Reply
0 Kudos
1 Solution

Accepted Solutions
admin
Immortal
Immortal
Jump to solution

The virtual machine behaves just like a physical machine in this regard.  Installing a 32-bit OS does not make your CPU a 32-bit CPU.

If you want to disable 64-bit operation, add the following advanced configuration option:

monitor_control.disable_longmode = TRUE

View solution in original post

Reply
0 Kudos
9 Replies
a_p_
Leadership
Leadership
Jump to solution

Welcome to the Community,

there's nothing wrong with this. If the host has a 64-bit CPU, this will be presented to the guest too.

André

Reply
0 Kudos
admin
Immortal
Immortal
Jump to solution

The virtual machine behaves just like a physical machine in this regard.  Installing a 32-bit OS does not make your CPU a 32-bit CPU.

If you want to disable 64-bit operation, add the following advanced configuration option:

monitor_control.disable_longmode = TRUE

Reply
0 Kudos
AKostur
Hot Shot
Hot Shot
Jump to solution

What's the output of "uname -a" in your VM?

Reply
0 Kudos
morganyang1982
Contributor
Contributor
Jump to solution

Hi jmattson:

Sorry but I'm relatively new to VMware ESXi (from a virtual box user). What can I find this "monitor_control" feature? Is this on the individual VM (guest OS) side? Or is this accessible from the vSphere client GUI?

Reply
0 Kudos
mcowger
Immortal
Immortal
Jump to solution

Right click VM, choose edit settings. Then Options tab.  Then general.  Then Configuration parameters.  Then Add-Row.  Screen Shot 2012-06-27 at 3.27.10 PM.png

--Matt VCDX #52 blog.cowger.us
morganyang1982
Contributor
Contributor
Jump to solution

Thanks. I added this feature, but will this actually allow me to compile i386 specific code? I'm still seeing the same error

vmware2.png

Reply
0 Kudos
AKostur
Hot Shot
Hot Shot
Jump to solution

OK, you've installed a 32-bit operating system.   You didn't show the gcc command used to create the .o file, you've only shown the final link command.  Please show the gcc command that is actually compiling the .o file.

(BTW: They don't need to be screenshots... simply copy-n-paste of the text is fine....)

Message was edited by: AKostur

morganyang1982
Contributor
Contributor
Jump to solution

Hi Akostur:

Sorry I didn't have guest tools installed so i couldn't copy paste. However, I re-ran the configure scripts and the "make' files are working! This is great, thank you very much for all the help!

Reply
0 Kudos
AKostur
Hot Shot
Hot Shot
Jump to solution

It would appear that at some point your .o file was generated on or from a 64-bit compiler (perhaps this was copied from or is running from a shared directory with a different 64-bit machine).  When the linker attempted to link the 64-bit .o on your 32-bit machine, it correctly determined that it wasn't 32-bit object code and thus failed to link.

Reply
0 Kudos