The Definitive Guide to Installing ESXi using iPXE...
|
2012-01-14, 07:49
(This post was last modified: 2012-01-16 04:11 by MultimediaMan.)
Post: #1
|
|||
|
|||
The Definitive Guide to Installing ESXi using iPXE...
There are currently
1) Boot from Physical Media of some kind... (Slow, boring, mundane, provincial, tragically manual...) _ a) There are several methods of doing this via CD, DVD and USB Sticks, with and without Kickstart files. All of them, no matter how sophisticated, are like pulling oars on a slave ship; slow, painful and ultimately a waste of time and energy. 2) Boot from Mounted Image (using a RAC Card - DRAC, iDRAC, iLO iLO2, iLO3) SLOW...did I mention SLOW? 3rd. Party Automation tools are horribly cobbled-together and inefficient. 3) PXE Boot using pxelinux.0 (Slow, fraught with corruption opportunities) 4) PXE Boot using ipxelinux.0 (Faster, lacking Scripting Support) 5) iPXE Boot using Memdisk (Excellent Scripting support, CD is Emulated, no Media Depot Required - RAM requirements can be a problem). 6) iPXE Boot from HTTP-Mounted ISO (Sexy, Faster and will get you dates with beautiful women...Oh, and VMware might take a slightly dim view of this). Requires editing the ISO file; Bespoke workaround. 7) iPXE Boot from HTTP-Mounted ISO (Sexy, Faster and will get you dates with beautiful women, all of whom want to bear your children...Oh, and VMware may support you if someting goes awry). Requires editing the ISO file; Supported workaround. Method 1) RTFM. Method 2) Ditto. Method 3) RTFM... specifically this document on Page 26. The most important parts are Creating a Media Depot, but invoking the Media Depot [sarcasm] was thoughtfully somewhat glossed over...[/sarcasm] This is the most important part... Code: install http://example.com/VMware/ESXi Note: Followed by page 34 Code: default 1 The Kickstart file needs the statement "install http://example.com/VMware/ESXi" placed in it... There are many, many great sites out there that can show the user how to write kickstart files that discover, configure and tweak ESXi out there. This post will not go into that level of detail... Example: Code: vmaccepteula Method 4) RFTM... substituting iPXE for the obsolete gPXE; paying close attention to the requirements of Method 3. Method 5) Robinsmidsrod's Way, using Memdisk: No Media Depot or Kickstart file required. Code: echo Method 6) Create a Media Depot, and Modify the ISO; Mount the ISO and edit the following file in the root of the ISO: isolinux.cfg Add "install=http://epimetheus.olympus.bv.ar.us.local/vmware/4.1/x86_64/os/ESXi_4_1_U2" after vmkboot.gz but before vmkernel.gz Example: Code: default menu.c32 Copy the ISO to your webserver: I renamed mine "ESXi_4_1_U2_MAN.iso". Code: #!ipxe This way of doing it will allow a manual installation of the ESXi without a kickstart file. Method 7) Create a Media Depot and a Kickstart file with the Media Depot referenced in it. Mount the ISO and edit the following file in the root of the ISO: isolinux.cfg Add "ks=http://xx.xx.xxx.xxx/kickstart/ks.cfg" after vmkboot.gz but before vmkernel.gz Example: Code: default menu.c32 Copy the ISO to your webserver: I renamed mine "ESXi_4_1_U2_MOD.iso". Now you can setup the boot in iPXE (undionly.kpxe or other); Code: #!ipxe Viola! Working iPXE ESXi Installs. "Thus far, you have been adrift within the sheltered harbor of my patience..." |
|||
2012-01-14, 17:35
Post: #2
|
|||
|
|||
RE: The Definitive Guide to Installing ESXi using iPXE...
That was very complicated. Maybe ESXi 5.0 has come a long way from 4.x, but I only do like this:
Code: #!ipxe Of course, I don't have a kickstart file, which means I have to manually fill in configuration stuff, but the iSCSI volume is detected without effort. |
|||
2012-01-14, 19:48
(This post was last modified: 2012-01-14 19:57 by MultimediaMan.)
Post: #3
|
|||
|
|||
RE: The Definitive Guide to Installing ESXi using iPXE...
I know it's complicated: it's also a variation on a supported method by VMware; and since I've a couple of hundred hosts to install, quite necessary.
My boot LUN setup is very close to yours. The big thing is how the ISO is presented to the Host. For instance, your method could be altered to use a Kickstart file by editing the ISO. There are no right or wrong answers here. But I did learn something new: I didn't know you could present an ISO as a ramdisk. The reason I went with the install the way I did is mostly for support: By using a Media Depot, and standardized kickstart, if I have a problem which requires VMware Support, I am likely covered. One thing is certain: it's fast. "Thus far, you have been adrift within the sheltered harbor of my patience..." |
|||
2012-01-15, 10:38
Post: #4
|
|||
|
|||
RE: The Definitive Guide to Installing ESXi using iPXE...
Actually, the sanboot http iso support in iPXE is very similar to how memdisk does things, it only uses much less memory, as it uses ranged HTTP requests instead of downloading everything before starting. But as long as the ISO in question supports running purely from ramdisk things just work (and ESXi 5.0 seems to do that).
|
|||
2012-01-15, 16:13
Post: #5
|
|||
|
|||
RE: The Definitive Guide to Installing ESXi using iPXE...
I agree: ESXi 5.0 doesn't need the Media Depot... ESXi 4.x does: VMware's hokey installation CD Scheme really wasn't given too much thought until vSphere 4... and it was too late to change anything before the release. They fixed it in vSphere 5.
"Thus far, you have been adrift within the sheltered harbor of my patience..." |
|||
2012-01-16, 03:37
(This post was last modified: 2012-01-16 03:57 by MultimediaMan.)
Post: #6
|
|||
|
|||
RE: The Definitive Guide to Installing ESXi using iPXE...
Memdisk via iPXE vs. ISO Boot HTTP via iPXE:
Memdisk via iPXE does the following things: 1) Emulates a CD-ROM allowing a Network-Based Install. 2) Masks actual system RAM because the environment memdisk creates "hides" a certain amount of RAM to allow for the ISO - This amount is generally 2x ISO Size (Maximum 2GB - I think). 3) Preloads the ISO into memory before executing the ISO. This slows boot time a bit. ISO Boot over HTTP via iPXE: 1) Does not emulate a CD-ROM. It is a Block Device. 2) Does not mask system RAM. 3) Executes as it reads: Faster than memdisk and no "preloading" of the ISO is required. 4) Does not hold the ISO as a readable device once the ISO is loaded unless loaded into the iBFT. Updated to reflect two more methods of installing ESXi using iPXE. "Thus far, you have been adrift within the sheltered harbor of my patience..." |
|||
2014-04-14, 09:08
Post: #7
|
|||
|
|||
RE: The Definitive Guide to Installing ESXi using iPXE...
(2012-01-14 17:35)robinsmidsrod Wrote: That was very complicated. Maybe ESXi 5.0 has come a long way from 4.x, but I only do like this: How would you use a kickstarter file with your method? |
|||
2014-04-18, 13:06
Post: #8
|
|||
|
|||
RE: The Definitive Guide to Installing ESXi using iPXE...
stokbaek: You can't (at least not without editing the ISO).
|
|||
2014-09-03, 01:40
Post: #9
|
|||
|
|||
RE: The Definitive Guide to Installing ESXi using iPXE...
Sorry for the bumping of this thread - I'm not very familiar with ESXI but I'm supposed to migrate our ESXI boot configs from PXE to iPXE, and we currently have the configs set up mostly as described in http://pubs.vmware.com/vsphere-50/index....1E0E5.html
. How should I migrate this to an iPXE config? setting the target_args (including boot.cfg) in a .ipxe file seems to make it hang when it chainloads mboot.c32 with set target_args -c location of boot.cfg. Looking at this definite guide I don't see any method by which boot.cfg is utilized at all. Thanks for any help you can offer! |
|||
2014-09-05, 10:49
Post: #10
|
|||
|
|||
RE: The Definitive Guide to Installing ESXi using iPXE...
You might be able to use a similar trick to boot ESXi as used in the XenServer appnote. The only thing you need to figure out are which of the modules are compressed, as iPXE does not support transparent decompression, as mboot.c32 does.
Also take note that when using multiboot, each module can take cmdline parameters, as shown in the appnote above. |
|||
2016-05-18, 15:55
Post: #11
|
|||
|
|||
RE: The Definitive Guide to Installing ESXi using iPXE...
RE: The Definitive Guide to Installing ESXi using iPXE..
Below is what the procedure I followed: 1) Downloaded the ipxe.iso 2) Mounted and edited isolinux.cfg with below lines: append vmkboot.gz ks=http://myloc/ks.cfg --- vmkernel.gz --- sys.vgz --- cim.vgz --- ienviron.vgz --- install.vgz 3) Edited the kickstart file in the remote location with below lines inside: autopart --firstdisk=remote --overwritevmfs install http://myloc/myOriginIsoImage.iso 4) Then rebooted in the ilo of server. Didn't work! Anything else that's missed! |
|||
2019-01-15, 20:08
Post: #12
|
|||
|
|||
RE: The Definitive Guide to Installing ESXi using iPXE...
I successfully booted 6.7.0 with iPXE using this method below.
--- I was looking for the `kernel` line to pass to iPXE so that I could boot ESXi-6.7.0. User `dontlook` found this page for me which shows the correct lines used to boot the ESXi kernel using iPXE. Code: :esxi67 Also on that reversengineered.com page is a boot.cfg. You must remove all the `/` characters from the boot.cfg that comes with your install media, and add the `prefix=` line which will prepend your server to each lookup for the kernel modules. I booted, but had a problem like this one here, but THIS VMWARE COMMUNITY POST IS A RED HERRING. All I had to do was add the `netdevice=vmnic<N>` to the `kernelopt=` and it solved the issue "There was a problem with the Network Device specified on the command line. Error: No NIC found with MAC address." Code: bootstate=0 The content of my `vmware-ks.php` file is here Code: # Sample scripted installation file Then I finally booted but still had trouble with my password. I used the password. Code: rootpw Password123!@# That password has a hash at the end, and I'm afraid that the hash made the password fail whenever I tried to log in. So I tried encrypting the password, and mixing the location of the hash. I used this page to help me with how to generate the password. Code: bash$ openssl passwd -1 P#ssword123 Then back in the kickstart file, change the password line like so Code: rootpw $1$1lyb51Fp$e13aQCVYaRpICJnEWoL9n1 I can now log in. |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)