PXE Booting ESXI 6.7u2
-
Hello fogproject community!
The goal is to be able to PXE boot into the ESXI installer, and I have taken a liking to fogproject, also due to its open source nature, I really want to make it work. All I have found on the topic is an old post about ESXI 5.5 but that was not of much help as it seems that the contents of the iso have changed and I do not know what files are needed for it to boot or how to modify the boot.cfg in the root directory. I have extracted the iso image of the installer at /var/www/html/fog/isoimages/esxi67 and it tells me it cannot find the required files from my parameters here:
Menu Item
esxi.BOOTDescription
ESXI 6.7Parameters
kernel -n mboot.c32 http://${next-server}/isoimages/esxi67/mboot.c32
imgargs mboot.c32 -c http://${next-server}/isoimages/esxi67/boot.cfg
boot -
Okay, sorry for being a nuisance, the directory picking works as follows:
“https://{next-server}”
automatically goes to
“/var/www/html”
in my case, then the correct thing to append to this would have been:
“/fog/isoimages/esxi67”I left out the “fog”, sorry, but maybe this helps someone else that is also new to the project.
However, I am not much closer to my solution, as all I get now is a black screen and a blinking cursor. -
I would look at this post to get an idea how to start: https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images/16
I realize its for 6.5, but the concepts should be pretty close for 6.7. -
@george1421 Thanks for the pointer.
I followed your instruction.
( https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images/16 )
Sadly I am getting iPXE error 3e11613b (it doesn’t find the file I guess?) for bootx64.efi (and probably for boot.cfg, too).
I have validated that my parameters in the WebUI entry are correct (I have os.esxi67u2 in the “Menu Item” option) and have otherwise done my best to make sure I am not doing anything incorrectly.A detail that may be important is the fact that the dhcp is being managed by a pfsense firewall, I have set undionly.kpxe in there as I should have. Entering the ipxe shell by pressing “s” and then typing “show dns” returns what I expected, 192.168.1.1 as it is.
I am sorry (especially if it is a noob mistake) that I have to ask again, and I can fully understand if you don’t have time to answer, I would be very thankful though. I will try the tftp option at the bottom of the instructions now, but I would prefer nfs.
Thanks for reading and have a nice day.
-
@nexx34 said in PXE Booting ESXI 6.7u2:
A detail that may be important is the fact that the dhcp is being managed by a pfsense firewall, I have set undionly.kpxe in there as I should have. Entering the ipxe shell by pressing “s” and then typing “show dns” returns what I expected, 192.168.1.1 as it is.
First thing is that the instructions are for a UEFI system but you are sending undionly.kpxe to the target computer. What mode is the target computer in? (bios or uefi)?
-
It is uefi. (It’s a T420 Thinkpad TP00015A)
-
@nexx34 Ok so you need to send ipxe.efi to that target computer not undionly.kpxe. I’m suspecting that you have pfsense configured correctly and just misspoke about the boot file. Because undionly.kpxe should not boot (ever) on a uefi system yet you mentioned an ipxe error number.
I just downloaded ESXi 6.7. I’ll see if I can set it up during my lunch hour. I know I had 6.5 netbooting.
-
@george1421
I am guessing the machine used the CSM module to boot BIOS instead of uefi when I was using undionly.kpxe, but even if I use ipxe.efi or ipxe.kpxe or ipxe.kkpxe in place of it I am still getting that same old error.
Sorry, I have the feeling it is going to be something basic I missed.
I have three option about what to send in the pfsense:
Default BIOS:
UEFI64:
UEFI32:
However the system only seems to react to the first default option, as when I leave that blank and put the corresponding option into the second and third options, I get nothing, it fails to pxe boot. -
@nexx34 said in PXE Booting ESXI 6.7u2:
ipxe.efi or ipxe.kpxe or ipxe.kkpxe
Despite the names those are binaries for different platforms. While the first one is for UEFI, the later two are for legacy BIOS!
-
@Sebastian-Roth
Thanks for clarifying that!
I also tried using a VM to boot with ESXI over PXE, but it didn’t change anything.
So I will now have my config like this?
Default: undionly.kpxe
uefi32: ipxe.efi
uefi64: ipxe.efiAt any rate; it is amazing how supportive you all are! Thanks.
-
@nexx34 I was able to boot a Dell laptop 7240 into the esxi 6.7 installer using my instructions tweaked for 6.7u2
-
I updated the install instructions to include ESXi 6.7u2. https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images/20
Make sure when you update the boot.cfg you remove the curly braces around the IP address of your fog server or NFS won’t work.
-
@george1421 I have removed the curly brackets, I only modified the boot.cfg in the /images/os/esxi/6.7u2/efi/boot/boot.cfg path, but I don’t think the other one matters since the only one being called is the one I modified. Thanks very much for the new instructions, maybe I just have to use tftp for this stuff.
By the way, you may have forgone replacing your IP with {fog-ip} in the section where you give the contents to be added to the “prefix=” line in the boot.cfg.Thanks for all your effort, I must be doing something dumb for it to not work, maybe there’s something with my computer I am using to test? It is pretty a old uefi…(though that shouldn’t be the catch).
-
@nexx34 said in PXE Booting ESXI 6.7u2:
Default: undionly.kpxe
uefi32: ipxe.efi
uefi64: ipxe.efiThere should also be
i386-efi/ipxe.efi
for 32 bit UEFI machines. -
@Sebastian-Roth Thanks, then it’ll be:
Default: undionly.kpxe
uefi32: i386-efi/ipxe.efi
uefi64: ipxe.efi
The weird thing is, that with this even a VM that is set to uefi boot will not work.
It had 386MiB ram, was that too little?
In fact, my T420 that is confirmed to be uefi, will not boot PXE FOG when I set it to boot uefi exclusively.
I am pretty sure it is 64bit, but I can’t find for sure.
I’ll play around a bit with the entries in pfsense and report back in a bit. -
@nexx34 So just to confirm you followed my instructions exactly and didn’t deviate at all?’
Are you seeing the FOG iPXE menu at all when you boot the ipxe.efi?
-
@george1421 Nope, I followed them exactly, I think the problem really lies at the entries about undionly/ipxe.efi/etc in the pfsense dhcp settings, as when using legacy boot it works (but fails to load the esxi image, as that is efi) but that is just what I am guessing right now.
-
@nexx34 ok that is what I needed to know. If the esxi and fog setup is exact then lets focus on pfsense. Set all (2) non-i386 values to ipxe.efi. Yes I know this will break the bios boot systems, but for testing we need to understand if its an iPXE issue or a target system issues (note you might need to make sure the firmware is up to date on those lenovos, they have been known to have a very cruddy first gen bios/firmware)
-
@nexx34 Sorry for being a little bit spammy, for me the suspicion is mounting, that when I boot into fog, the client will not boot with uefi and instead takes the CSM regardless of the option being there in pfsense for the uefi files to load.
@george1421 Okay, I will do that, let us see if it will accept booting fog with uefi enabled and the undionly crutch removed >:)
-
@george1421 Yes, it tells me what it had already told be before when I tried this, “NBP is too big to fit in free base memory”.
I would take this is a client issue, but seeing how I had something along those lines in testing with a VM too, I really am clueless as to why it is happening…I mean, the machine I am testing now is halfway modern, it is a more recent lenovo.