PXE Client tries to find wrong file
-
Hi, thanks for reading.
I’m noob and have 0 exp about PXE world.Today i installed FOG server and run it, and tried to pxe-boot client vm.
However, something not work.
My ESXi guest vm found where the pxe server is and tries to boot, but it said “file not found”.
I checked everything, but nothing helped me…So i captured packet and see what’s going on.
When client request ip, my client vm got ip and file name called “undionly.kpxe.0”.This is weird, because i didn’t set my /etc/dnsmasq.d/ltsp.conf to find “undionly.kpxe.0”. It should find “undionly.0”.
Why fog server give the file name “undionly.kpxe.0”, not “undionly.0”?
This is my /etc/dnsmasq.d/ltsp.conf.# Don't function as a DNS server: port=0 # Log lots of extra information about DHCP transactions. log-dhcp # Set the root directory for files available via FTP. tftp-root=/tftpboot # The boot filename, Server name, Server Ip Address dhcp-boot=undionly.0,,10.0.0.182 # Disable re-use of the DHCP servername and filename fields as extra # option space. That's to avoid confusing some old or broken DHCP clients. dhcp-no-override # inspect the vendor class string and match the text to set the tag dhcp-vendorclass=BIOS,PXEClient:Arch:00000 dhcp-vendorclass=UEFI32,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 dhcp-vendorclass=UEFI64,PXEClient:Arch:00009 # Set the boot file name based on the matching tag from the vendor class (above) dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,10.0.0.182 dhcp-boot=net:UEFI,ipxe.efi,,10.0.0.182 dhcp-boot=net:UEFI64,ipxe.efi,,10.0.0.182 # PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds. pxe-prompt="Booting FOG Client", 1 # The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86, # Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI # This option is first and will be the default if there is no input from the user. pxe-service=X86PC, "Boot to FOG", undionly.kpxe, 10.0.0.182 pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi, 10.0.0.182 pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi, 10.0.0.182 dhcp-range=10.0.0.182,proxy,255.255.255.0
I exactly followed this --> https://wiki.fogproject.org/wiki/index.php?title=ProxyDHCP_with_dnsmasq
TFTP working, DNS and DHCP server working…By the way, if i copy “undionly.kpxe”, paste it in directory “/tftpboot” and rename it to “undionly.kpxe.0”
pxe boot successfully works.How this weird fog server behavior happens? No clue…
-
@Beyondlimitation the version of dnsmasq you’re running is old. old versions only allowed .0 to be on the tail end of a file name
-
@Junkhacker
Thank you. It worked.
But now i have a new question.
When i switched to UEFI, it didn’t worked.What should i do? And i want to learn more about pxe-boot. Can you advise me? Tutorial, Official document or something that helps.
-
@Junkhacker
I just found what’s wrong.
I mis-typed file name. : O
Type the right file name and re-try. It worked…Your answer is really great!
-
@Beyondlimitation said in PXE Client tries to find wrong file:
By the way, if i copy “undionly.kpxe”, paste it in directory “/tftpboot” and rename it to “undionly.kpxe.0”
pxe boot successfully worksWhile I see you have it sorted out, requiring the boot file to end in a “.0” was a requirement of DNSMASQ before 2.76 (as well as syslinux). With 2.76 and later its just the file name. The “.0” requirement was removed since that is a bios related thing. What version of dnsmasq are you running (i.e.
dnsmasq -v
)