New Lenovo M75s don't Connect to FOG
I have another question about some new computers we got. We got 6 new Lenovo M75s computers that are UEFI only. When I try to PXE boot, this is what happens.
After this, the machine proceeds to boot up to the Windows 10 installation we put via a USB. All of my other machines when we do PXE boot get to this screen by FOG for image deployment.
So I believe the reason why these Lenovo’s are not getting to this screen is because all my current ByteSpeed’s can be chosen to be set to UEFI or BIOS for PXE boot. We set the ByteSpeed’s all for legacy BIOS and they can get to FOG project screen with no issue and deploy my images to them. Although since these Lenovo’s do not have this option, my FOG server must be configured for legacy BIOS only. Someone please let me know if I am correct about this assumption.
In case anyone was wondering what I have done to the Lenovo’s, I have disabled secure boot, disabled IPv6 network stack, and set the primary boot sequence with PXE.
One last thing to mention is that my FOG server is out of date. Would a simple update fix this issue? Perhaps changing the kernel?
If updating or kernel change won’t work, then I believe my options are:
- Since it is only 6 computers just use Windows USB installation.
- Change all ByteSpeed computers from legacy BIOS to UEFI and configure TFTP for snponly.efi or ipxe.efi
- Configure TFTP for BIOS and UEFI Co-Existence
Any help you can give is greatly appreciated. I am still new at this and still learning. If am wrong about anything or my assumptions, please let me know.
@bluedude For a longer term solution I would implement the dhcp policies from the document Sebastian provided. That solution will help you when you have a mix of bios and uefi systems on your campus.
BUT for a test right now, replace undionly.kpxe with snponly.efi then try to pxe boot that troubled target computer. Understand when you move away from the bios boot loader the bios systems will fail to pxe boot. But what we are looking at right now is/does snponly.efi resolve uefi booting on this troubled computer. Once you find out then put back the undionly.kpxe file until you can get the dhcp policies setup. I can tell you they do work because I have them setup in my environment.
Thank you both for your help. I am trying to understand as much as possible before asking questions. I did confirm with my boss that we are using a Windows Server 2012 R2 for DHCP and was able to find this. It looks like we are only setup for undionly.kpxe. Thee were the only entries.
There is an IP address above undionly.kpxe, I just didn’t want to show our internal IP address. That IP address does match what is on the FOG web server.
So I should be able to just follow the link @Sebastian-Roth sent me for Using Windows Server 2012 (R1 and later) DHCP Policy, correct? My question for that is for Step 3, does the “ASCII” field value determine the string value for Step 10? If I go with PXEClient:Arch:00007 in step 3, can I still choose the string value of snponly.efi or would I have to use ipxe.efi?
Another idea I had wanted to ask about is the possibility of editing the scope option for 067 Bootfile Name from undionly.kxpe to snponly.efi. Would this be a quicker and easier way to test if snponly.efi or ipxe.efi will work before doing the DHCP policy?
@bluedude The picture you posted showing “Downloading NBP file…” is a clear sign this machine is in UEFI mode as far as I know. So if you have just undionly.kpxe setup in your Windows DHCP server this could explain why it doesn’t load iPXE on these Lenovo M75s.
Please talk to the person who manages and read through this wiki article: https://wiki.fogproject.org/wiki/index.php/BIOS_and_UEFI_Co-Existence
@bluedude Issues before the FOG iPXE menu are related to the pxe bootloader program (undionly.kpxe and ipxe.efi). After you pick a menu item and see bzImage and init.xz then if you have problems its with FOS Linux (a.k.a “kernel”). I skimmed this thread and it looks like you are having issues with the pxe boot loader.
Without going too deep in the innerworking of pxe booting. The bios boot loader undionly.kpxe only has one network driver in it. That is the undi driver. Almost all bios based network adapter has a rom chip on it and it contains the undi specific driver for its hardware. This undi driver is written by the hardware manufacturer and provides a common interface for the operating system (undionly.kpxe in this example).
Now on the uefi side, FOG is using ipxe.efi. This specific boot loader has network drivers built in for most all network adapters. Where undionly.kpxe only has one network driver built in, ipxe.efi might have 100. Its possible that ipxe.efi doesn’t have the specific network driver for your NIC adapter. UEFI also has something similar to the bios undi driver its called snp. So what Sebastian is asking you to test is to swap out the ipxe.efi (all network drivers) for the snponly.efi driver that only contains the snp interface hoping that the snp driver built into the network adapter will work better.
I don’t believe I am using dnsmasq or an isc-dhcp server. I believe we are using a Windows Server 2012 R2 for DHCP. I would have to ask my boss about that to be sure.
Although I am confused, I thought FOG wasn’t setup to handle UEFI originally. I thought you would have to change it from legacy BIOS to UEFI to allow for ipxe.efi. I mean none of our ByteSpeed’s would connect to FOG unless we configured the BIOS for each machine CSM for legacy BIOS.
So should I try updating FOG and the kernel first before changing anything?
So to configure with snponly.efi how do I do that? I haven’t found any instruction on how to do so.
Secondly, you mentioned to do a firmware upgrade to the latest version. Are you referring to FOG or the Lenovo’s? I believe the Lenovo’s M75s BIOS are fully updated.
@bluedude The M75s seems to be a bit flacky…
Those people would see iPXE come of at least but it did not get an IP from the DHCP. Using
ipxe.efi) helped in those two cases. You might give that a try as well.
As well do a firmware upgrade to the latest version.