Problem Solved
Edit Log
1/28/2017: Edited to correct Step#5. Adds add-esxsofwaredepot before add-esxsoftwarepackage which places RealTek Driver VIB package in memory.
1/28/2017: Edited to add highlighted notes on switches -force and -nosignaturecheck in Steps #7 and #8.
HP ENVY 750-425qe
i7-6700 4.0GHz
12GB DDR4 RAM
2TB SATA HDD
RealTek RT-8168 On-board NIC
UEFI Boot/Bios
For those who just bought the same HP ENVY 750-425qe shown with the above specs, you will run into the same problems if you merely downloaded the installable ESXi 6.5 ISO from vMWare. Below you will find the same notes outline that worked for me, which I created in real-time while I was attempting to solve this problem. I spent six (6) full days from knowing nothing about ESXi accept that I wanted to test out a new kind of data center concept unique for my business using a Type I Hypervisor for its unique capabilities. Thus, I wanted to build a POC before investing harder earned capital into a larger Type I Hypervisor deployment. I'm now finally able to build that POC using the HP ENVY 750-425qe "as a server" no pun intended. To get through this process, you need a computer with internet access and the following:
Required Installed Components
My Step-by-Step Notes (below)
Windows OS (must be compatible with PowerCLI 6.5 R1)
PowerCLI (https://my.vmware.com/group/vmware/details?downloadGroup=PCLI650R1&productId=615# )
PowerCLI Documentation (https://www.vmware.com/support/developer/PowerCLI/index.html)
Rufus (http://rufus.akeo.ie/)
Required Initial WorkBench Files
ESXi-Customizer-PS Script (http://vibsdepot.v-front.de/tools/ESXi-Customizer-PS-v2.5.ps1)
Offline Bundle: ESXi-6.5.0-4564106-standard.zip (will be downloaded in Step #1 below)
Offline Bundle: net55-r8168-8.039.01-napi-offline_bundle.zip (vibsdepot.v-front.de/depot/bundles/net55-r8168-8.039.01-napi-offline_bundle.zip)
Problem Summary
One of the reasons people are having difficulty with getting beyond this problem has to do with many of the blogs and videos on YouTube that accurately show you how to inject VIB packages, but that do not explain to you the need to manually check the Acceptance Level of the VIB you are injecting. The other problem is that you cannot merely download the ESXi ISO or Offline Bundle having an Acceptance Level higher than the VIB Offline Bundle that you are injecting. That injection will work and PowerCLI will not stop you from doing it. However, the ESXi installer will cough up blood and taunt you with an exception on screen that tells you it cannot "Validate Acceptance Level." Your install will then fail and you will swear that something is broken. You will go back over the blogs and YouTube videos and confirm that you did everything correctly and indeed you did do everything correctly according to the blogs and YouTube videos.
The problem is that nobody connected all of the dots for you in a single Blog or a single YouTube video. The dots are out there but you have to find a way to connect them for yourself. Or, why bother. Just continue with this singularly focused workaround to produce your Custom HP ENVY 750-425qe ESXi Standard ISO.
Dot #1: Merely "cloning" the vMWare Offline Depot for ESXi is not enough
Dot #2: Merely lowering the "Acceptance Level" of the cloned ESXi Image Profile to match the RealTek RT8168 VIB is not enough
Dot #3: Merely using ESXi-Customizer-PS to inject missing drivers into an ESXi Offline Bundle is not enough
Dot #4" The World Is Not Enough
Ok, we can dispense with Dot #4 as this won't require 007 to solve the problem, but it will require some understanding on your part.
I've seen many posts and some videos that do cover each one of these things in isolation and they do them very well. However, for the HP ENVY 750-425qe, you must connect the dots and understand the order of operations required to produce the desired net effect and that is what this post is about.
First, I'll cover the things that I found necessary to produce my Custom HP ENVY 750-425qe ESXi Standard ISO. Then, I will cover the Step-by-Step process I used to finalize the ESXi ISO itself. Let's get going.
Preparing the Workbench
You will need to house specific working files on your HDD in order to complete this process and you will need to know where those files are at all times throughout this process. If you are new to PowerCLI, get over it quick. So, was I, until I ran into this issue. Learning a tiny amount of PowerCLI never hurt anyone and down the road you will want to learn more as you go about maintaining your ESXi installation, no doubt.
It will be important to create a single working directory (Workbench) on your HDD for the purpose of completing this process. I used c:\esxi as my Workbench which you will find throughout the Step-by-Step process below. You will use that Workbench (c:\esxi) numerous times throughout the process as you will fill that workbench with files created during this process.
You may have already noted that others have managed their files using multiple directories on their HDD. I do not recommend this for any new PowerCLI user (such as myself) as this will eventually cause confusion when you begin typing CLI switches and commands against those directory locations on your HDD. It will be too easy to lose track of where you have located certain files required for completing this process. Therefore, maintaining a single Workbench Directory (c:\esxi) will help you keep track of where your files are located throughout the entire process.
Now, go ahead and create your Workbench (c:\esxi) on your HDD (you will thank me for the "Workbench" concept later). It is a small step, but it will carry lots of weight later in removing risk and causing other problems downrange in this process.
Switches and Commands You Will Used in PowerCLI
The following is not intended to be an exhaustive list of vSphere PowerCLI or ESXi-Customizer-PS switches and/or commands. This is a short list of combined switches and commands from both vSphere PowerCLI and the ESXi-Customizer-PS Script which I used to create my Custom HP ENVY 750-425qe ESXi Standard ISO for installation without error and without installer exceptions.
Note that these are command line arguments. Therefore, misspelling any of them will result PowerCLI Console errors in red type appearing on your screen. It is very easy to typo these arguments while not initially seeing your typo, then believing this process failed or that PowerCLI has failed. Read all PowerCLI Console error exceptions very carefully and 99% of the time you will see that you more than likely might have made a typo somewhere in the switch or the command line argument itself. If this is not the case and you still receive PowerCLI Console errors, or your resultant ESXi ISO will not install correctly on your HP ENVY 750-425qe, then the problem you are facing more than likely extends beyond the scope of this workaround and you have my sincerest condolences in such a case. Keep researching your solution and I wish you the best of outcomes.
Remember, this is a combined short list of what was required to build my Custom HP ENVY 750-425qe ESXi Standard ISO. These switches will ALWAYS be used in conjunction with other specific ESXi-Customizer-PS Script switches and/or with specific PowerCLI commands.
Combined Short List of PowerCLi & ESXi-Customizer-PS Switches:
-ozip
-nosignaturecheck
-force
-load
-cloneprofile
-name
-acceptancelevel
-imageprofile
-exporttoiso
-exporttobundle
The next set of switches are for downloading original vmWare ESXi Image Profiles from inside PowerCLI. You will see later that these switches are used only after you initialize the ESXi-Customizer-PS Script (ESXi-Customizer-PS-v2.5.ps1) from inside the Workbench Directory (c:\esxi) that you create expressly for the purpose of getting through this process in an organized fashion. Still don't think creating that Workbench is important? Better create it now and save yourself some heartache later. Use my headaches to your advantage and learn from my mistakes. Create that Workbench on your HDD now, if you have not done so already. This will be my last warning about the importance of new PowerCLI user's to use a singular directory for all workflows related to getting through this process.
Specific Short List of ESXi-Customizer-PS Script Switches (for Downloading Original vMWare Image Profiles):
-v50 : Create the latest ESXi 5.0 ISO
-v51 : Create the latest ESXi 5.1 ISO
-v55 : Create the latest ESXi 5.5 ISO
-v60 : Create the latest ESXi 6.0 ISO
-v65 : Create the latest ESXi 6.0 ISO
You will see these switches posted at https://www.v-front.de/p/esxi-customizer-ps.html exactly the same way. I merely cut and pasted them here for you. These ESXi-Customizer-PS -vXX switches must be used in conjunction with the PowerCLI -ozip switch if you are trying download (create) the ESXi Offline Bundle from the vMWare Depot in the form of a ZIP file. If you merely want to download the installable ESXi ISO Image from the vMWare Depot, then do not include the PowerCLI -ozip switch on the command line after the ESXi-Customizer-PS -vXX switch. For the purposes of this workaround however, you will use the PowerCLI -ozip switch, as it will be absolutely necessary in order to edit the Acceptance Level of the ESXi Offline Bundle (ZIP) that you will download from the vMWare Depot.
Specific PowerCLI Commands:
add-esxsoftwaredepot (used to places OLB Zip into memory)
add-esxsoftwarepackage (used to inject OLB VIB into Cloned Image Profile in memory)
new-esximageprofile (used to creates new Image Profile in memory)
set-esximageprofile (used to change Acceptance Level of OLB in memory)
get-esximageprofile (used to list available Image Profiles which are in memory)
export-imageprofile (used to physically output a Custom Image Profile in either .zip or .iso format to HDD)
For the new CLI users, notice carefully here what this short list of specific PowerCLI Commands are doing. One of the problems I had as a new PowerCLI user was that I did not know how PowerCLI was working on files in memory. Until I understood that concept, issuing commands at the command line made little sense to me. It is extremely important for you to understand that for the purpose of this workaround, PowerCLI will be working on "files" that you place into "memory" with these commands.
Only the export-imageprofile command physically places the finished product (ESXi ISO Image) into your Workbench (c:\esxi). Oh, don't have a Workbench yet? Well, you better get one quick because that's it. We are about to get into the Step-by-Step phase. The preceding was intended to get you up to speed on the concepts that will be used down below in the following Step-by-Step Instructions. From this point forward there will be no hand-holding and only line-by-line inputs used in PowerCLI to get the job done.
Everything subsequent to this already assumes that you have already taken care of the Required Installed Components and Required Initial Workbench Files at the top of this post. Now, let's commence with the solution.
============================================================================================
Creating a Custom HP ENVY 750-425qe ESXi Standard ISO
Note1: For the purpose of this post and process, I have shortened the Offline Bundle to OLB
Note2: All of the commands and switches will be run in PowerCLI
Purpose:
- Download OLB Image Profile "ESXi-6.5.0-4564106-standard.zip"
- Clone the OLB Image Profile as "ESXi-6.5.0-4564106-standard-Clone#1"
- Change the Clone's Acceptance Level to match the OLB VIB (net55-r8168-8.039.01-napi-offline_bundle.zip)
- Inject OLB VIB "net55-r8168-8.039.01-napi-offline_bundle.zip" into OLB Image Profile "ESXi-6.5.0-4564106-standard-Clone#1"
- Verify the injection
- Export "ESXi-6.5.0-4564106-standard-Clone#1.zip" to Workbench
- Export "ESXi-6.5.0-4564106-standard-Clone#1.iso" to Workbench
- Rufus "ESXi-6.5.0-4564106-standard-Clone#1.iso" to bootable USB
- Install "ESXi-6.5.0-4564106-standard-Clone#1.iso" to bare metal HP ENVY 750-425qe
Step #0:
Open PowerCLI
From "PowerCLI C:\>" change directory to Workbench
--> cd c:\esxi <press enter>
Step #1:
From PowerCLI C:\esxi> run ESXi-Customizer-PS Script, select ESXi OLB Version (-vXX), select ZIP (-ozip) and download to Workbench
PowerCLI C:\esxi> .\ESXi-Customizer-PS-v2.5.ps1 -vXX -ozip <press enter>
Wait for CLI to complete the task. After download is complete, verify that ESXi OLB for the -vXX you selected has been downloaded onto the Workbench. Running this script with these two switches will cause CLI to write the ESXi OLB into the Workbench.
Step #2:
Check Acceptance Level of the ESXi OLB you just downloaded to your Workbench
add-esxsoftwaredepot [specify full path to the ESXi OLB now in your Workbench] <press enter>
get-esximageprofile [type just the command only] <press enter>
--> Note "Acceptance Level" of the ESXi OLB sitting in your Workbench
--> More than likely the acceptance level is not "CommunitySupported" and will need to be changed
Step #3:
Change Acceptance Level of ESXi OLB sitting in Workbench
new-esximageprofile -cloneprofile [name of OLB only. do not include .zip file extension] -name ["name of clone in quotes"] <press enter>
---> Vendor: [enter a new vendor name for the clone] <press enter>
set-esximageprofile -name [enter name of clone] -acceptancelevel [enter CommunitySupported] <press enter>
---> ImageProfile: [enter name of clone] <press enter>
Step #4:
List Available Image Profiles
get-esximageprofile <press enter>
---> Note Acceptance Level of new Clone
Step #5:
Inject OLB VIB into ESXi Clone and confirm post-injection Acceptance Level of Clone
add-esxsoftwaredepot [type full path to: net55-r8168-8.039.01-napi-offline_bundle.zip] <press enter>
---> Note that Depot Url shows full path to the RealTek Driver OLB VIB
add-esxsoftwarepackage [type just the command only] <press enter>
---> ImageProfile: [enter name of clone] <press enter>
---> SoftwarePackage: [enter name of driver being injected 'net55-r8168' without quotes
] <press enter>
---> <press enter> again to return cursor to Workbench
get-esxsoftwarepackage -acceptancelevel [type 'CommunitySupported' without quotes] <press enter>
---> This will list all VIBs within the Clone that have an Acceptance Level = CommunitySupported
---> You should now see "net55-r8168" with vendor RealTek version 8.039.01-napi in the list
Step #6:
Confirm OLB VIB (net55-r8168) Injection
(get-esximageprofile ESXi-6.0.0-20161104001-standard-clone#1).viblist <press enter>
---> Note1: The above command must be wrapped with parenthesis (string here).viblist
---> Note2: Scroll through the list of Vibs and make certain that net55-r8186 is now within the Vib list
Step #7:
Export ESXi Clone to Workbench as ZIP (Bundle)
export-esximageprofile -imageprofile [enter name of clone] -exporttobundle -filepath [full path to c:\esxi\"name_of_clone.zip"] -nosignaturecheck -Force <press enter>
---> Wait for CLI to complete task then check file path to Workbench for existence of ZIP
Note here the use of switches"-nosignaturecheck" and "-force"as this is often
missed causing headache and frustration later when ESXi 6.5 fails to install.
Step #8:
Export ESXi Clone to Workbench as ISO (Installable)
export-esximageprofile -imageprofile [enter name of clone] -exporttoiso -filepath [full path to c:\esxi\"name _of_clone.iso"] -nosignaturecheck -Force <press enter>
---> Wait for CLI to complete task the check file path to Workbench for existence of ISO
Note here the use of switches"-nosignaturecheck" and "-force"as this is often
missed causing headache and frustration later when ESXi 6.5 fails to install.
Step #9:
Create Bootable USB Using Rufus
Insert USB into available USB port
Launch Rufus (accept option to use corrective file if prompted)
Select USB drive where you wish to install the Image
Select ESXi ISO on file directory in Workbench
Issue a volume name
Start Rufus and wait for task to be completed (takes less than 3min)
Close Rufus when completed
EXTREMELY IMPORTANT: Open Windows Exporer and Select the USB drive.
Make certain that "Net55_r8.t00" appears under the "T00 File (3)" section of the
bootable USB you just created. This is the final check for whether or not the
driver injection procedure worked correctly.
Eject USB from Windows using "Safely Remove Hardware" on Windows Taskbar
Step #10:
Make sure HP ENVY 750-425qe bios is set to boot from USB (either Legacy Boot or UEFI mode works)
Shut down HP ENVY 750-425qe
Insert USB in available USB port on HP ENVY 750-425qe
Power-up HP ENVY 750-425qe and follow on-screen prompts to complete ESXi Installation & Configuration
That's it. I've done the best that time will allow here helping with this workaround. I will not be available for follow-up posts. I hope this helps those who have purchased the HP ENVY 750-425qe and who had difficulty like I did getting vMWare ESXi installed.
Regards,
Tim