Dnsmasq proxy booting with UEFI
-
@Killklli Try this. And you are filling in your IP where it has x.x.x.x right?
port=0 log-dhcp tftp-root=/tftpboot # I commented this line out because we don't want to blast out one file for everything. #dhcp-boot=undionly.0,x.x.x.x,x.x.x.x dhcp-option=17,/images dhcp-no-override #Commented this line out #dhcp-option=vendor:PXEClient,6,2b #Here, I define netboot types dhcp-vendorclass=BIOS,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 #Set bootfile names depending on the client vendor identifier dhcp-boot=BIOS,undionly.0 dhcp-boot=UEFI,ipxe.0 pxe-prompt="Press F8 for boot menu", 3 pxe-service=X86PC, “Boot from network”, undionly pxe-service=X86PC, "Boot from local hard disk", 0 dhcp-range=x.x.x.x,proxy
-
I’ll try to revisit the BIOS & UEFI co-existence topic in the following days.
This is just something that I have to sit down and work on for a good while.
-
@Wayne-Workman I was working with a non production server at first but I hit a point where I needed to take it out of that and try to get it to work with the pre existing one. Its for the Comp Sci departments computer lab on my campus. They actually set us up in such a way where if we screw up with DHCP it doesn’t mess up the rest of campus. Its been broken too man times. I’ll give that new one a shot, and yep I’ve been filling in the static IP.
-
@Wayne-Workman Hmm, I’m still having an issue with PXE-E18. There’s a good chance its on their end. When I can physically get to the machine in the morning I’ll hook it back up to my network and see if having the UEFI DHCP running. If it works at least then I know for a fact its on their end and not mine.
—Edit—
Turns out that config is working with the Legacy version as well. As of writing this UEFI still is not working but its working for legacy. -
@Killklli @Wayne-Workman Sadly its still not working. I tried on a non production DHCP server and its still not pushing it out with the code you gave me. The DHCP server I have even has factors set for a UEFI gateway and dns. I’m using a Server 2012 DHCP/DNS server and Ubuntu 12.04 running fog 1.20 for it by the way. Is there anything else I can try?
-
@Killklli I’m not sure the code I gave you even works - it was just a guess. I was hoping you’d play around with it. I’ll have to find time to sit down and work with it.
-
@Wayne-Workman I’ve been trying multiple things in the meantime but have still yet to be successful with it. It was a good jumping off point but I’ve still yet to hit the right point. Thanks for your help.
-
@Wayne-Workman Turns out it was an issue with having both the Legacy vendor and the UEFI vendor listed. Its at least seeing the server now but now I dive into the hole of “Failed Secure Boot Verification”
-EDIT-
Scratch that. Still hates me. It was an issue with a VM. It is downloading now though.–Edit Edit–
I had an extra DHCP option still on. Still not downloading. But If I go back to legacy mode those options work. -
@Killklli In the mean time, the link I gave you about BIOS UEFI coexistence gives step-by-step instructions for Server 2012 and later.
You could pass that link off to your network guys and just respectfully ask that they look at this.
NOTE: that the method described there won’t work for server 2008 and lower.
-
@Killklli Wait… what does the ltsp.conf file look like right now?
can you add comments so we know what you’ve done?
-
@Wayne-Workman Sorry about the delay right now it looks like. I’ve tried multiple configs so this one is more or less a start over of where I was originally. So not much has changed currently.
port=0 log-dhcp tftp-root=/tftpboot dhcp-option=17,/images #Removed dhcp-option=vendor:PXEClient,6,2b dhcp-no-override #removed dhcp-vendorclass=BIOS,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 dhcp-boot-UEFI,ipxe.0 pxe-prompt="Press F8 for boot menu", 3 pxe-service=X86PC, "Boot from network", undionly #removed local boot its un-needed dhcp-range=192.168.1.2,proxy
-
@Killklli and the contents of your tftpboot directory?
ls -lahRt /tftpboot
-
@Wayne-Workman Here’s a screenshot.
-
@Killklli you don’t have a copy or a symbolic link of ipxe.efi for ipxe.0
so lets fix that first:
ln -s /tftpboot/ipxe.efi /tftpboot/ipxe.0 or cd /tftpboot ln -s ipxe.efi ipxe.0
Then try the scripts I gave you - and play around with them a little.
-
@Killklli I’m not 100% sure you need to specify the file as ipxe.0. With Proxy dhcp the .0 extension is automatically appended, and I can’t keep it from appending it. So If my suspicions are correct, it may actually be looking for a file called: ipxe.0.0 as well. I don’t know for sure though.
-
@Tom-Elliott It does. At least it did in my environment when I was fighting with it. Getting close to being able to revisit this subject myself. Expect to be migrating our DHCP servers to WinSrv 2012R2 in the next 30 days.
-
This post is deleted! -
@need2 @Tom-Elliott well that complicates things… why did it work for me then? gah. I really need to sit down and tackle this.
@Killklli Run the below commands and then try the attached script.
ln -s /tftpboot/ipxe.efi /tftpboot/ipxe.efi.0 ln -s /tftpboot/ipxe.efi /tftpboot/ipxe.0 ln -s /tftpboot/undionly.kpxe /tftpboot/undionly.kpxe.0 ln -s /tftpboot/undionly.kpxe /tftpboot/undionly.0
port=0 log-dhcp tftp-root=/tftpboot dhcp-option=17,/images dhcp-no-override #this line is suspicious to me. What the heck does 6,2b mean ? dhcp-option=vendor:PXEClient,6,2b #Here, I define netboot types dhcp-vendorclass=BIOS,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 #Set bootfile names depending on the client vendor identifier dhcp-boot=BIOS,undionly.kpxe dhcp-boot=UEFI,ipxe.efi pxe-prompt="Press F8 for boot menu", 3 pxe-service=X86PC, “BIOS and LEGACY Network Boot”, undionly pxe-service=X86PC, “UEFI Network Boot”, ipxe dhcp-range=x.x.x.x,proxy
-
@Wayne-Workman Hmmmm. UEFI still isn’t grabbing. But Legacy still is.
-
@Killklli I just tested on my system - all I had was failure with using symbolic links.
So - lets get rid of those and just use copies:
rm -f /tftpboot/undionly.kkpxe.0 rm -f /tftpboot/undionly.0 rm -f /tftpboot/ipxe.efi.0 rm -f /tftpboot/ipxe.0 cp /tftpboot/undionly.kkpxe /tftpboot/undionly.0 cp /tftpboot/ipxe.efi /tftpboot/ipxe.0
Please stand by, I’m testing the code I gave you (it’s been a long day).