VMware

This Question is Possibly Answered

1 "correct" answer available (10 pts) 2 "helpful" answers available (6 pts)
1 2 Previous Next 27 Replies Last post: Oct 22, 2009 12:28 PM by csabo  

ICH8 full support (AHCI non-RAID and non-AHCI non-RAID) under ESXi posted: Oct 26, 2008 7:45 PM

Click to view Scottish Captain's profile Enthusiast 29 posts since
Jul 27, 2008
Greetings to all.

I've recently managed to "fix" the ata_piix driver included with ESXi so that it recognizes the Intel 965 (and others?)/82801x ICH8 chipset. The included ata_piix.o module will recognize the 8086:2820 and 8086:2825 device ID's of the ICH8 in non-AHCI mode (aka "native" mode) and allow you to use attached SATA drives as vmhba devices. The included simple.map and pci.ids files are setup to recognize the ICH8 in either non-AHCI mode (using ata_piix.o) or AHCI mode (using the stock ahci.o module). This is NOT a patch to simple.map and pci.ids (though those had to be modified anyways), the included ata_piix.o is different from the ata_piix.o included by VMware (so don't bother adding the ICH8 devices to simple.map/pci.ids yourself and wondering why it's not working- the stock ata_piix.o does not support ICH8 properly).

I've wrapped everything up in a custom oem.tgz file that should handle most ICH8 cases regardless. If you are running a ICH7, or ICH9 chipset- DO NOT USE THIS FILE. If you fall under either of /those/ categories, you'll have to manually modify simple.map and pci.ids yourself to get things rolling. Once again, the attached oem.tgz file is for ICH8 chipsets ONLY.

My test rig for this little project is a SFF IBM box running a Core 2 Duo 1.86ghz processor, 4GB of RAM, Q965/GMA3000 graphics, ICH8 (non-AHCI) SATA controller, one 80GB Seagate drive, two Pro/1000 Intel NIC's and an onboard Broadcom BCM5755 NIC. Thusfar, everything in the machine is now supported (including of course the SATA). I've had this particular box sitting here for about 4 hours now installing various VM's and compiling software/benchmarking the OS's under each VM with no ill results. For all intensive purposes, this is a hack and is completely unsupported by anyone including myself- but it works, so hey... I know there's a few other people out there with ICH8 boxes, so this should help you get things rolling if you can't enable AHCI mode.

If you can't figure this stuff out for yourself (what oem.tgz, simple.map, or pci.ids is/are), then I will try to help, but you should be able to figure this stuff out via Google. Yes, it is possible to use this file to actually install ESXi to disk drive (which is what I did) and run off a ICH8 directly (rather then USB boot), but again, this is beyond my willingness to explain here and is documented sufficiently on Google.

Cheers.
-SC
Attachments:
Click to view Dave.Mishchenko's profile Guru 8,943 posts since
Nov 15, 2005
I've deleted your other thread. Do you mind if I put a copy of this on my website and what's the specific model of IBM PC?
Click to view franc@bcn's profile Novice 19 posts since
Oct 22, 2008

Hi,

I am so impressive about that because I think that's all I need but I have to ask you two questions to be more clear .....

First I want to know if after the installation it will be possible for me to create the datastore inside the same SATA disk or will have to create a NFS disk or install a Raid controller?

Secondly could you point me to the links you find out to add the new oem.tgz in your ESXi installation?

Many thanks

Click to view Dave.Mishchenko's profile Guru 8,943 posts since
Nov 15, 2005
With this file, ESXi will be able to recognize your ICH8 controller and you will be able to create a datastore on drives attached to it. To add the custom oem.tgz it would be best to boot from a USB flash drive (see www.vm-help.com) . After you get the host to boot ESXi you can
1) Copy the oem.tgz file to the host with SSH (see the link above on how to enable that)
2) Then follow steps 20 and following here - http://www.vm-help.com/esx/esx3i/customize_oem_tgz.php.
Click to view Quad9's profile Novice 11 posts since
Oct 27, 2008
Thank you Scottish.

Following the steps (http://www.vm-help.com/esx/esx3i/customize_oem_tgz.php.) It works for my MB Intel DG35EC booting from USB drive and I can add SATA HDD as storage.

However, I am trying to install ESXi on SATA HDD and boot from it, instead booting from USB. Is a reverse way to put the new "oem.tgz" back to the installation ISO image? So that I can install ESXi from it to local drive.

if anyone know, please reply here.

I appreciate your effort to fix this issue.

Cheers,
DX
Click to view Dave.Mishchenko's profile Guru 8,943 posts since
Nov 15, 2005
If you want to modify the CD, you have to replace oem.tgz on the root of the CD and also within the DD image in install.tgz. As an alternative to rebuilding the CD, you could do this from a PXE server. But basically you could

1) replace oem.tgz on the CD in the root folder and then boot from the CD. The oem.tgz in the root folder is used to boot ESXi for the install process.
2) after you install ESXi, you could boot the host with a Linux live CD and replace oem.tgz in the Hypervisor1 partition and then you should be able to boot ESXi from the SATA HD.

Or as an alternative to step 2, if you're able to get step 1 to work then after the install of ESXi (when you're prompted to rebooted) you should be able to access the console. From there you may be able to get the file (i.e. copy it with SCP in the console) and then replace oem.tgz on Hyperviser1. The Linux boot CD might be an easier option.
Click to view Quad9's profile Novice 11 posts since
Oct 27, 2008
You guys are amazing!

Following your guidance, I got it working.

Thank you very much!!

DX
Click to view setauR's profile Lurker 5 posts since
Oct 14, 2008

Hi All,


Click to view setauR's profile Lurker 5 posts since
Oct 14, 2008

Hi everyone,

I have a case where I've updated the bootable esxi usb with the oem.tgx for ICH8 but the storage is still not detected. The device is intel 2820 and in bios for the storage I can set only SATA mode "IDE emulation" or "RAID". When set to IDE and booted to esxi the "lspci -v" shows my controller as

"IDE interface mass storage controller: Intel Corp. 4 port SATA IDE Cntroller (ICH8) vmhba0"

But the "fdisk -l" does not show this drive as well as "esxcfg-vmhbadevs.

What migh be the case here?

Click to view Dave.Mishchenko's profile Guru 8,943 posts since
Nov 15, 2005
What device ID is it coming up with the controller in IDE mode and what about if you switch it to RAID mode and try the install again.
Click to view setauR's profile Lurker 5 posts since
Oct 14, 2008

The dev ID when set to "SATA Emulation - IDE" is "PCI\VEN_8086&DEV_2820&SUBSYS_2802103C&REV_02\3&B1BFB68&0&FA"

When in "SATA Emulation - RAID" the dev ID is "PCI\VEN_8086&DEV_2822&SUBSYS_2802103C&REV_02\3&B1BFB68&0&FA"(in Windows it shows up as "Intel(R) ICH8R/DO/DH SATA RAID Controller")

But in raid mode the controller is not listed by "fdisk -v", so I gues it is not recognized by the installer.

I have tried to modify the installer with BIOS in IDE mode to support installation on IDE drives ("http://www.vm-help.com/esx/esx3i/ESXi_install_to_IDE_drive/ESXi_install_to_IDE_drive.php") but that didn't help either. The PC itself (HP dc7700) is mentioned in the forums and so far nobody has installed esxi with the native controller (only with additional raid card). We have 5 of those PCs at work and no supported raid card to buy in my country (at least one that will not cost more than the PC itself).

Click to view Dave.Mishchenko's profile Guru 8,943 posts since
Nov 15, 2005
In either mode, ESXi by default will not recognize the controller. Here's the extract from simple.map for that range.

8086 27df 0000 0000 storage ide 82801G (ICH7 Family) IDE Controller
8086 2828 0000 0000 storage ata_piix Mobile SATA Controller IDE (ICH8M)
8086 2920 0000 0000 storage ata_piix 4 port SATA IDE Controller (ICH9)

But the modified oem.tgz file does recognize the 2820 device, so you would want to copy that to your USB drive (you'll need to copy it as oem.tgz).
Click to view setauR's profile Lurker 5 posts since
Oct 14, 2008

I did update the installer with Your oem.tgz file. After doing that the controller shows up if I execute "lspci -v". This only happens in IDE bios mode (2820). And it even asigns a drive for it "vmhba0". But still no storage shows up in vmware console.

I have created two usb bootable disks - one that does an installation (I have updated the oem.tgz and the TargetFilter.py to support installing on IDE drives) but this didn't help as the installer still complains that there is no storage to install to. Anotrher usb with bootable esxi where I have also changed the oem.tgz - it boots but has no persistant storage.

VMware Developer

SDKs, APIs, Videos, Learn and much more in the Developer community.

Learn More

Developer Sample Code

Increase your developer productivity with VMware API sample code.

Learn More

VMworld Sessions & Labs

Online access to the latest VMworld Sessions & Labs and online services.

Learn more

Purchase PSO Credits Online

Purchase credits to redeem training and consulting services online.

Buy Now

Community Hardware Software

View reported configurations or report your own.

Learn More

VMware vSphere

Come witness the next giant leap in virtualization.

Register Today

Communities