-
Notifications
You must be signed in to change notification settings - Fork 8
ESXi 6 AHCI
WARNING!
In my case I have problem - my ASMedia AHCI (Class: 0106, VID:DID 1b21:1164) is not listed on https://vibsdepot.v-front.de/wiki/index.php/Sata-xahci so it will be not detected. But you aye have more luck than me... (at least for driver 1.42).
My AHci controller is:
lspci -v | grep "Class 0106" -B 1 0000:03:00.0 SATA controller Mass storage controller: Class 0106: 1b21:1164
This may help to build custom driver package:
Here is my step-by-step guide how to prepare necessary environment to create customized ESXi 6.0 ISO with AHCI driver using Andreas's Peetz ESXi-Customizer-PS script from v-front.de.
As discussed on several websites:
- https://tinkertry.com/for-esxi-6-0-those-esxi-5-1-vibs-for-asmedia-sata-ports-and-realtek-nics-still-seem-to-be-working-but-unsupported
- https://communities.vmware.com/t5/forums/forumtopicprintpage/board-id/2006/message-id/119210/print-single-message/true/page/1
- https://www.v-front.de/p/esxi-customizer-ps.html#download
- https://vibsdepot.v-front.de/wiki/index.php/Sata-xahci
ESXi 5.5+ removed universal AHCI driver. Because I now use additional PCIe AHCI (from ASMedia) I need
AHCI driver (I can still use sata_nv
for onboard NVidia Ultra MCP55, but I want to make things simpler in future).
There is perfect guide and PowerShell script "ESXi Customizer" that will do it:
- https://www.v-front.de/p/esxi-customizer-ps.html#download
- https://vibsdepot.v-front.de/wiki/index.php/Sata-xahci
However for inexperienced VMware user (as I'm) I have found that it is not easy to install all necessary Dependencies. You need:
- Proper Python Version (3.7.1+ recommended)
- Proper Python Modules
- install VI PowerShell modules
We have to follow:
I decided to use latest 3.7 series Python
- download: https://www.python.org/ftp/python/3.7.9/python-3.7.9-amd64.exe
- install Python, I strongly recommend to use target directory WITHOUT spaces,
in my case:
c:\python37
Once Python is installed you have to:
- Upgrade PIP to latest version:
c:\python37\python.exe -m pip install --upgrade pip
- Install python dependencies for VMware PowerShell modules (yes PowerShell will call Python)...
c:\Python37\Scripts\pip.exe install six psutil lxml pyopenssl
Now python3.7 should be ready for Powershell modules
Downloads these two files:
- https://vdc-repo.vmware.com/vmwb-repository/dcr-public/2142f98d-f49c-4972-8f73-c2697aa744cd/37af7f1b-e6d5-47ac-9daf-7eecf86358f1/VMware-PowerCLI-13.1.0-21624340.zip
- https://vdc-repo.vmware.com/vmwb-repository/dcr-public/718285df-1ec9-491a-bb3e-5032803bb06d/d65211c1-55ac-4552-8ca4-9a3d8a9e4d93/vmware-powercli-131-user-guide.pdf
Run Powershell and enter these commands (you will likely need to Update some paths).
# see where PowerShell Expects modules
$env:PSModulePath
# here is target module Path I selected for installation:
[string]$Target = "$HOME\Documents\WindowsPowerShell\Modules"
mkdir $Target
Expand-Archive -Path ..\VMware-PowerCLI\VMware-PowerCLI-13.1.0-21624340.zip -DestinationPath $Target
Get-ChildItem -Path $Target -Recurse | Unblock-File
# May take long
Get-Module VMware* -ListAvailable
# May take long
Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false
Set-PowerCLIConfiguration -PythonPath c:\python37\python.exe -Scope User
Before running script (I strongly recommend run it in offline mode) you need:
- ESXi ZIP bundle (customized ISO will be created from it)
To download it do this:
- go to https://customerconnect.vmware.com/patch
- select
- ESXi (Embedded and Installable)
- 6.0.0
- Download: ESXi600-202002001
- ensure that you will download this file:
ESXi600-202002001.zip
-
"backported" SATA AHCI Driver:
-
Customized ISO creation script:
Now we can follow great guide and script from
In my case ensure that you put sata-xahci-1.42-1-offline_bundle.zip
(or other bundles)
into subdirectory drivers
.
Really important:
Close all your CMD and PowerShell windows and open fresh one directly from Explorer menu. You will save lot of problems with strange errors by doing this!
Here is example command I used to generate customized ISO:
.\ESXi-Customizer-PS-v2.6.0.ps1 -v60 -izip ..\ESXi600-202002001.zip -pkgdir .\drivers
Log output should look like:
Running with PowerShell version 5.1 and VMware PowerCLI version 13.1.0.21606170
Adding base Offline bundle ..\ESXi600-202002001.zip ...
[OK]
Getting Imageprofiles, please wait ...
[OK]
Using Imageprofile ESXi-6.0.0-20200204001-standard ...
(dated 02/07/2020 11:37:43, AcceptanceLevel: PartnerSupported,
Updates ESXi 6.0 Image Profile-ESXi-6.0.0-20200203001-standard)
Loading Offline bundles and VIB files from .\drivers\ ...
Loading C:\PUBLIC\Hypervisor\ESXi5or6-AHCI-Driver\Example\drivers\sata-xahci-1.42-1-offline_bundle.zip ...
[OK]
Add VIB sata-xahci 1.42-1
[New AcceptanceLevel: CommunitySupported]
[OK, added]
Exporting the Imageprofile to 'C:\PUBLIC\Hypervisor\ESXi5or6-AHCI-Driver\Example\ESXi-6.0.0-20200204001-standard-customized.iso'. Please be patient ...
All done.
And there should be created new ISO file:
ESXi-6.0.0-20200204001-standard-customized.iso
Directly Downloading Ubuntu Server ISO to datastore:
cd /vmfs/volumes/datastore1
mkdir INSTALL
cd INSTALL
esxcli network firewall ruleset set -e true -r httpClient
wget http://ftp.linux.cz/pub/linux/ubuntu-releases/22.04.3/ubuntu-22.04.3-live-server-amd64.iso
Export/Import of VM:
- the only relibable way, in case of ESX 6.0, is ovftool. Please see Ovftool for details.
SSD on ESXi:
-
comprehensive article: https://www.v-front.de/2013/10/faq-using-ssds-with-esxi.html
-
however in case of my hardware (or software? - free licensse - so no vSphere) it does not support VAAI and so UNMAP:
esxcli storage core device vaai status get -d t10.ATA_____KINGSTON_SA400S37480G___________________XXXXX____ t10.ATA_____KINGSTON_SA400S37480G___________________XXXXX____ VAAI Plugin Name: ATS Status: unsupported Clone Status: unsupported Zero Status: unsupported Delete Status: unsupported esxcli storage filesystem list esxcli storage vmfs unmap -l datastore1 Devices backing volume 6579681d-e7ec1e41-d3d1-605040302010 do not support UNMAP
- in that case I don't care much (Kingston SA400 480G is crap anyway - it slows down access to old data to 20MB/s - see SSD.
-
example getting partitions - default ESXI 6.0U3 install:
partedUtil getptbl /dev/disks/t10.ATA_____KINGSTON_SA400S37480G___XXXXX gpt 58369 255 63 937703088 1 64 8191 C12A7328F81F11D2BA4B00A0C93EC93B systemPartition 128 5 8224 520191 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0 6 520224 1032191 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0 7 1032224 1257471 9D27538040AD11DBBF97000C2911D1B8 vmkDiagnostic 0 8 1257504 1843199 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0 9 1843200 7086079 9D27538040AD11DBBF97000C2911D1B8 vmkDiagnostic 0 2 7086080 15472639 EBD0A0A2B9E5443387C068B6B72699C7 linuxNative 0 3 15472640 937703054 AA31E02A400F11DB9590000C2911D1B8 vmfs 0
-
getting ESXi version:
vmware -v VMware ESXi 6.0.0 build-15517548
Copyright © Henryk Paluch. All rights reserved.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License