2 Error in iPXE (time out and sand device)
-
@george1421 I cant access to the router, so lest go whit plan B
(I will try dnsmasq in the server)
-
@FrancoDin Ok then for plan b.
I want you to install the DNSMASQ service on your FOG server.
sudo apt-get install dnsmasq
We will use dnsmasq to “override” what your dhcp server is telling the clients to boot from.
Once dnsmasq is installed inspect
/etc/dnsmasq.d
directory. There shouldn’t be any files in that directory. We need to create a new one calledltsp.conf
.Paste the following into that file
# 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.kpxe,,<fog_server_IP> # 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,,<fog_server_IP> dhcp-boot=net:UEFI,ipxe.efi,,<fog_server_IP> dhcp-boot=net:UEFI64,ipxe.efi,,<fog_server_IP> # 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 pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi dhcp-range=<fog_server_ip>,proxy
Don’t forget to replace <fog_server_ip> in the above text with the IP address of your fog server. The tag appears many times.
Then issue the following commands to:
# enable dnsmasq to start every time sudo systemctl enable dnsmasq # restart the dnsmasq service to pick up the new config files sudo systemctl restart dnsmasq
Make sure before you install dnsmaq you already disabled and remove isc-dhcp server from the previous post. Both services use the same network ports.
pxe boot your target computer and see if you can get to the FOG iPXE menu.
-
I did as you say, reinstall complety fog, and remove dhcp from the server
-
@FrancoDin Can you confirm that dnsmasq is running in memory.
sudo ps aux|grep dnsmasq
I’m also not seeing it pick up a dhcp address. Is the target computer on the same subnet as your dhcp server? Your Mikrotik is your normal dhcp server right?
-
The target computer is in the same subnet as the dhcp server, and yes the mikrotik is the normal dhcp server.
-
@FrancoDin well from the screen shot I don’t see dnsmasq running.
sudo systemctl start dnsmasq
then make sure it starts every reboot
sudo systemctl enable dnsmasq
Also lets capture the version of dnsmasq to make sure its 2.76 or newer
sudo dnsmasq -v
-
@FrancoDin I also see from the screen shot you are editing the /etc/dnsmasq.conf file. This file should not be adjusted. It should have a reference to load any files in the /etc/dnsmasq.d directory. The dnsmasq.d directory is where the ltsp.conf file goes.
Also, is your FOG server running on virtual box? If so, you need to ensure you are using a bridged network adapter for both the fog server and pxe booting client. Using a nat network adapter will cause you pains trying to get things to pxe boot.
-
So its fail at running, and the version of dnsmasq is 2.75
I am editing that file whit nano, because I am using Putty, and I cant coppy paste files in the ubuntu server at the moment. The fog isent runing in virtual box.I just realized the error is in spanish, sorry my bad, that red line says:
Rank of dhcp not valid, in line 26 of lstp.conf
Fail at the start -
@FrancoDin well I can see from your screen shot that you have extra text in the config file. <10.0.0.2> should be 10.0.0.2 (assuming that 10.0.0.2 is your FOG server’s IP)
PS: Look at the FOG Forum chat bubble for additional hits
-
Now it works, but when I go to the PC and boot:
Auto-Select:
Boot to FOGBOOT Server ip:10.0.0.2
TFTP.
PXE-T01: File not Found
Pxe-E3B: TFTP Error - File not found
PXE-M0F: Exiting intel PXE ROm.
Fatal: Could not read from the boot mediumAlso I see that maybe there is a problem in the IP, because there is another device whit the ip 10.0.0.2 so I will fix that tomorrow and tell you what happen
-
@FrancoDin said in 2 Error in iPXE (time out and sand device):
BOOT Server ip:10.0.0.2
fwiw: In a previous post you had the fog server at 10.0.0.27
Also the fog server must have a static IP address or one created via dhcp reservation. FOG does not fog support servers that are configured to use dhcp. Your fog deployment will break if the IP address of your fog server changes after FOG is installed.
-
Yhep, that broke the fog.
But I managed it, to update the dnsmasq, after manually instaling 80 packes from https://www.debian.org/distrib/packages , that seems to work for the pxe boot error, but it direct me to my previous IP, so I will reinstall ubuntu server, and try all again, because I try to reinstall fog, but have a problem deleting it and when try to reinstall its gets an error instalin packges,(maybe I broke that aswell). -
@FrancoDin Well if you want to go through the process again, just make sure that the FOG server has a static IP address before you install FOG. Just install a normal FOG server without dhcp services.
Then install dnsmasq and use the config file I provided. (hint: if you are using putty to connect to your fog server, you can use copy and paste to copy the text file into nano and ltsp.conf easily).
Once dnsmasq is setup correctly using my config file it should work. If not then we will use the fog server and tcpdump to capture what is going wrong with the pxe booting process. We are far from just giving up. This WILL work.
-
Thank you a Lot, all working now.
Just one think, I follow this guide (https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images/9) to add Linux Mint, to the fog menu. But when I boot from there Its says “Connection time out”, its has anything to deal whit dnsmasq?Also, in the parameters:
kernel tftp://${fog-ip}/mint/18.1/vmlinu
Should go like this
kernel tftp://${10.0.0.7}/mint/18.1/vmlinuz
or
kernel tftp://$10.0.0.7/mint/18.1/vmlinuz
in the 3 different times its appears. -
@FrancoDin said in 2 Error in iPXE (time out and sand device):
kernel tftp://${fog-ip}/mint/18.1/vmlinu
If you use the fog parameter ${fog-ip} that will be replaced by the actual IP address of the fog server. That makes the fog menu entry portable between different fog servers.
Also be aware that you typed in your post
kernel tftp://${fog-ip}/mint/18.1/vmlinuI hope its just a type-o but you missed the z on the end
kernel tftp://${fog-ip}/mint/18.1/vmlinuzBack to your question you can also enter it as this:
kernel tftp://10.0.0.7/mint/18.1/vmlinuzIn programming terms the ${ } denote a variable used in the iPXE menu. Where the variable name is between the curly braces.
-
@FrancoDin
Also… why the route is
kernel tftp://${fog-ip}/mint/18.1/vmlinuz
when actually the vmlinuz is in /tftpboot/mint/18.1 -
@FrancoDin said in 2 Error in iPXE (time out and sand device):
But when I boot from there Its says “Connection time out”, its has anything to deal whit dnsmasq?
If you are seeing the FOG iPXE menu then the issue is beyond dnsmasq. If you didn’t see the FOG iPXE menu then we would focus on the dnsmasq settings.
I’m suspecting that there is something wrong with the custom iPXE menu you created or the needed files are missing.
-
@FrancoDin said in 2 Error in iPXE (time out and sand device):
@FrancoDin
Also… why the route is
kernel tftp://${fog-ip}/mint/18.1/vmlinuz
when actually the vmlinuz is in /tftpboot/mint/18.1well this will become clear when you know that the tftp server’s base directory is /tftpboot. Just like the http server’s base directory is /var/www/html/. And the nfs servers base export directory is /images on the fog server. So knowing what tranfer protocol you want use, you would place the files in the correct base file directory.
Your menu entry is using the tftp protocol so your base directory is /tftpboot. I can tell you that tftp is the slowest protocol of the three. Depending on how you want to use this configuration you might want to change some things. If its just a test or something you use once a month its fine. But for now get it working then improve on what you have once its works.
-
@george1421
ahh ok.
I get to here:
When I enter Linux MInt 17.3 It first load 100%, then ok.
and I get to this
-
@FrancoDin I don’t have this configuration setup any more, but from the error message tells me the fog bits are working correctly (even if FOG was not designed to do what you are doing). You are at the point of netbooting linux mint.
Did you remember to add the kernel argument line after the initrd line?
imgargs vmlinuz root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:/images/os/mint/18.1/ locale=en_US.UTF-8 keyboard-configuration/layoutcode=us quiet splash
(also make sure your paths are correct)
What I’m doing in this configuration its loading the linux mint kernel and inital virtual drive using the tftp protocol then by using the kernel arguments (imgargs) I’m telling the kernel to get the rest of the files via the nfs protocol (hint: nfs base directory is /images) in the path provided. From your error message I would say that linux mint has started but can’t get the rest of the files over nfs.