Unable to Load bzImage
I am using a bootable usb of ipxe.efi pulled from the FOG server, I am able to load into the FOG menu on the client machine. But when I try to run the full registration it goes to load the bzImage but just hangs at 0%. I have tried making a custom ipxe.efi image from https://rom-o-matic.eu/ following the guides I found in the wiki. But still having the same issue, it is only with these laptops, tested that FOG registration is working on other laptops without issue. Any help or ideas would be appreciated as I have been working on this for two days and I have 100+ of these laptops to deploy.
Client machine: HP Stream x7s44ua
USB Ethernet: Asix AX88179
FOG Server: Centos 7 Running Version 1.3.0-RC-26 SVN Revision: 6021
Good News Everyone!!!
I was able to get ipxe.efi to work, got a new USB to Ethernet adapter. The client was able to load and run the full registration without issue.
USB Ethernet adapter that works is HP P/N829834-001, it’s a USB 3.0 to Gigabit adapter. May want to add this to the confirmed working hardware list.
Thank you @george1421 for all the help was just about to load the bootable usb when the adapters arrived.
@Erek-Beckman whelp, on to plan
I have the fos-usb.img image already created in dropbox or my google drive. Let me get that link. All you need to do is download the .img file and then follow the steps in part 2a (for linux or for windows) to burn the image into a usb flash drive. You should read the entire article so you know whats going on. But with this usb boot drive you will be able to boot bios or uefi systems into the FOS engine directly without using iPXE at all. There are a few caveats, in that you have to create a capture or deploy task before you boot with this usb stick since there isn’t the tight integration between FOS and the FOG server as there is when you iPXE boot.
I have also found that I can login to deploy an image (which I don’t have) and see image names I created. If I try to run a memtest though I get this error. Just trying provide as much info as possible on this.
Also running ipxe.pxe in debug this is what I am seeing.
Ok, I fixed my issue with UEFI pxe booting any have tried all of the .efi boot files, snp and ipxe both pxe boot and load the ipxe fog menu. But again when I select full registration it goes to load the bzimage and hangs at 0%.
@george1421 Ok, yeah sorry I edited my last reply but it loads then aborts when using the ipxe.pxe file. It does this for all ipxe.xxxx files and for the intel files. Yesterday I ran through all of the boot files trying to pxe boot and they either load and abort or load and hang at initializing devices.
@Erek-Beckman What I see is that the iPXE kernel starts to boot then aborts.
I want you to test to see if you can get one of the other iPXE kernels to boot.
Please try ipxe.kpxe, possibly intel.kpxe (you may need to try the kkpxe versions too).
Just as a quick test update the dhcp option 67 to the different options. What I’m thinking is the undi driver (which uses part of the built in network card driver) may be causing it to abort. The undionly.kpxe driver by design uses the most of the onboard undi code. Where something like ipxe.kpxe uses the drivers built into the iPXE kernel. Understand this is just shooting in the dark, but you did mention that ipxe.efi did work, but you got a different error.
If you find one that boots, then we’ll work out a way to deliver the proper one to the right hardware. ipxe.kpxe is much larger than the undionly.kpxe kernel, so the ipxe.kpxe kernel will load slower, but should work for all of your current fleet too.
@george1421 Ok, in legacy mode and using the boot file ipxe.pxe it loads the file but then reboots into windows. I grabbed a video of the boot proccess as it moves to quick after loading the boot file to snap a pic.
Ideally I would just want to pxe boot using legacy in the bios so that I don’t need to use the thumb drive. I have tried pxe booting with uefi turned on but it never receives a DHCP address. So legacy is preferred.
Correction pxe booting with ipxe.pxe is when this happens.
Lets pick just one mode (I understand you have a dual approach here).
Please help me understand this.
With the computer in legacy (bios) mode, the computer will pxe boot? At least it will attempt to download the iPXE kernel right? IF not where does it fail(exactly)? Pictures taken with a mobile speaks more than words because it lets us see messages relative to the error.
If you had your choice which mode would you want to work (bios or uefi)?
@Tom-Elliott I have tried the ipxe.pxe file while running the legacy boot option, but it seems to load but then just reboots into windows.
As for the UEFI USB booting I am using the ipxe.efi file pulled off of the FOG server. I followed the wiki for USB bootable media, I tried both the “easy way” and the “harder way” in the wiki. Both with the same result.
@Erek-Beckman I’d recommend trying the ipxe.pxe file for the “legacy” system.
What file are you using for UEFI booting via the USB? (There shouldn’t necessarily be one but i imagine it just doesn’t know how to pass the information around.)
@george1421 When I am booting using option 67 on the DHCP server with the boot file undionly.kkpxe I have the laptop bios set to legacy so it is not using UEFI. So this is just the standard pxe boot process, it grabs the pxe file attempts to load but never loads the FOG ipxe menu. But when I am booting from the USB I have the bios set to UEFI and I am able to get the FOG ipxe menu. Sorry for any confusion but I hope that clears this up.
Now when I get the fog ipxe menu I have tired using two different USB to Ethernet dongles. One is a Asix AX88179 and the other is a D-Link DUB-E100. The D-link is a supported device and the Asix is not confirmed as working according to the wiki. But if I tried to run the registration with the D-Link connected it times out when trying to get the bzimage. The D-link also does not show any link like on the dongle when connected. When using the Asix it appears to connect but never downloads the bzimage.
I am completely fine testing and however much work it will take I am sure will be less than manually base configuring 100+ laptops.
@Erek-Beckman Ok where this is confusing me is you keep referring to undionly.XXX but you say the system is in uefi mode. The undionly.XXX kernels are for legacy (bios) mode. You need to use the ipxe.efi kernel for uefi mode. A system configured for uefi mode will reject the undionly.kpxe kernel.
Since the target computer is in uefi mode that usb ethernet adapter has to be supported by the target computer to support PXE booting. When it doesn’t then you must go this route with a usb boot drive.
My recommendation would be (with 100+ laptops) to get a supported ethernet adapter so you can pxe boot these boxes directly or get a USB-C dock with an ethernet adapter so you don’t have to mess around with a usb stick and a usb ethernet adapter.
Now once you get past the iPXE booting (to get to the FOG iPXE menu) the customized linux that runs on the target computer (FOS == Fog OS) has to support that usb ethernet adapter in uefi mode too.
So to get this system to register correctly and pxe boot you need to have the uefi firmware support this network adapter -OR- a usb boot stick, the iPXE kernel has to support this network adapter, and FOS has to support the network adapter. If you ware going to go the usb boot drive route, I would personally pick a generic usb-2 drive that I was sure both iPXE and FOS support.
Understand I’m not saying what you want to do is impossible or even a lot of work. I just want you to understand the delicate dance that is required to get all of the bits in line.
There is a quick way you can test this setup without a lot of pain. I haven’t wrote a tutorial for this so I need to grab a usb drive and test something to ensure I don’t create extra work where it not needed.
I am using bootable USB as the laptop will not pxe boot, it is able to pull the boot file I am using undionly.kkpxe, I have tried every boot file. This is the only boot file when trying to PXE that will even get this far, the undionly.kpxe file hangs at initializing devices. The undionly.kkpxe gets to the iPXE load just before it loads the FOG menu and just hangs when booting in legacy mode.
Yes I am using UEFI in boot and secure boot off. This is where is hangs after booting from USB then connecting to FOG and trying to run the registration.
OK lets first start with why are you using a bootable USB?
Since you are using the efi kernel this system is in uefi mode? Did you remember to disable secure boot?