FOG .33b PXE Boot woes
-
make sure you didn’t set DNSMasq to be the tftp server in the conf settings.
[code]
sudo apt-get purge ufw
[/code]
Usually the disable command stops the Firewall from running, if it is still running after you have disabled it, that will get rid of the firewall for you.also why are you restarting the tftp service? you need to restart dnsmasq.
-
TFTP Is not enabled in the dnsmasq.conf or ltsp.conf. I think at this point I may reconfigure the machine. I did create a clone of the drive before installing fog so that i could roll back. Would you recommend that I just use eth0 to make the setup more straightforward?
Thank you both for your assistance.
-
[quote=“Tom Elliott, post: 25142, member: 7271”]restart the service:
[code]sudo ufw disable
sudo service tftpd-hpa restart[/code][/quote]I was restarting as per this post by Tom. I will remove the firewall and try again.
-
It doesn’t matter which NIC you use but you need to be consistent, I have only ever used one NIC so I am not much help in setting up or configuring the other NIC but it can’t be too difficult, just remembering to supply the new NIC information anytime you run across one mentioning the OLD NIC.
If I remember correctly someone raid bonded two NIC and was getting some insane speeds… Maybe I should look into this…
[quote=“Paul Freeman, post: 25150, member: 23545”]I was restarting as per this post by Tom. I will remove the firewall and try again.[/quote]
ahh, I see, sorry I missed his post that makes sense now haha
-
Well after purging UFW and a reboot i get something slightly different when trying to boot a client. Rather than immediately stopping at the TFTP boot sequence the HP8300 pauses there for a minute as though its trying to connect. Though still does not connect…
The HP8000 still gives the same error.
-
I set up a new fog server on my linksys router last night and ran into the same issue, I am going to look over my configurations when I get back to my working box this afternoon and make sure everything is in it’s place.
-
The only major trick to running dual nic’s is when you set the one FOG will use for imaging to static for whatever network it will be using you need to leave off the default gateway on it or you will lose all internet connectivity(Assuming the network used is not connected to your actual network), if it is connected to your actual network then you should not be using a second NIC in the first place.
-
I Just tried my set up on my switch and the settings in the walk through work. The only thing I noticed is I forgot to tell you where to put the tftpboot and the pxelinux.cfg.
First make sure your default file is in the correct location. open your command prompt and type
[code]
cd /tftpboot
ls
[/code]
It will display a list of the files and directories in the folder tftpboot.There should be a folder named pxelinux.cfg if not, create it, and make it readable. If it’s already there apply the chmod command below to make it readable.
[code]
sudo mkdir pxelinux.cfg
sudo chmod 0755 pxelinux.cfg
[/code]Now navigate into the folder and create the default file we spoke of above, I don’t have any linksys routers here, or I would try the set up now. I can try again when I get home, but I have this working on my production environment. As long as these settings are correct it should work, unless we have some hoops to jump through to get it working on linksys.
For now, check the settings, the default file, and the folders and try to boot again. If I fails, try setting up a different machine and use only one NIC and run through the settings again.
-
Actually, what I have found, is my machine still had a lingering pxelinux.0 and it was using that to boot with.
I am attempting to get dnsmasq to work with undionly.kpxe and I am not having much luck.
-
Could this help you in your venture?
[url]http://www.dd-wrt.com/phpBB2/viewtopic.php?t=9195[/url]
-
[quote=“Wolfbane8653, post: 25219, member: 3362”]Could this help you in your venture?
[url]http://www.dd-wrt.com/phpBB2/viewtopic.php?t=9195[/url][/quote]
Thanks for this, I have tried supplying the dhcp options. the problem is when I supply the boot file
dhcp-boot=undionly.kpxe
it still tries to boot pxelinux.0
the only way I have found to get around it is to leave the pxelinux.0 and make a default file that forces it to use the boot.php file included in the /var/www/fog/service/ipxe folder.
I have also tried dhcp-match options to no avail -.-
[url]http://www.richud.com/wiki/Network_iPXE_dnsmasq_Examples_PXE_BOOT[/url]
-
Is this the example your are using?
[QUOTE]
[SIZE=5][B][FONT=sans-serif][SIZE=19px][COLOR=#000000]dnsmasq.conf real DHCP server[/COLOR][/SIZE][/FONT][/B][/SIZE][FONT=sans-serif][COLOR=#000000]This acts as a normal DHCP server, passing out dhcp options 209/210 to pxelinux[/COLOR][/FONT]
[FONT=sans-serif][COLOR=#000000]How it works[/COLOR][/FONT]
[LIST]
[]Client boots and net card does a DHCP Discover, it will get a DHCP offer from dnsmasq
[]Client does a DHCP Request, which dnsmasq will ACK, telling it to get undionly.kkpxe.0 (as no option 175 “Etherboot”).
[]Client then gets undionly.kkpxe.0 via TFTP.
[]ipxe then does a DHCP Discover/offer/request/ack and dnsmasq should respond this time telling it to load pxelinux.0 via TFTP (now option 175 is set, so it no longer tries to pass unidonly.kpxe.0)
[]Passes DHCP options 209/210 passed, which pxelinux later looks at for the config path and document root.
[]pxelinux.0 loads via TFP.
[*]pxelinux then takes over boot process, all data now going via HTTP.
[/LIST]
[COLOR=#000000][FONT=monospace]enable-tftp[/FONT][/COLOR]
[COLOR=#000000][FONT=monospace]dhcp-match=ipxe,175[/FONT][/COLOR]
[COLOR=#000000][FONT=monospace]dhcp-range=192.168.2.100,192.168.2.200[/FONT][/COLOR]
[COLOR=#000000][FONT=monospace]tftp-root=/tmp/memstick/host0_part1/[/FONT][/COLOR]
[COLOR=#000000][FONT=monospace]dhcp-boot=net:#ipxe,undionly.kkpxe.0[/FONT][/COLOR]
[COLOR=#000000][FONT=monospace]dhcp-boot=pxelinux.0[/FONT][/COLOR]
[COLOR=#000000][FONT=monospace]dhcp-option-force=209,pxelinux.cfg/default[/FONT][/COLOR]
[FONT=monospace][COLOR=#000000]dhcp-option-force=210,[url]http://xxx.xxx.xx.xx:81/[/url][/COLOR][/FONT][/QUOTE]It looks like you will may need to change dhcp-option-force=209,pxelinux.cfg/default also it seems like you may need to look into a undionly.kpxe config file.
[SIZE=4][B][FONT=sans-serif][SIZE=17px][COLOR=#000000] [/COLOR][/SIZE][/FONT][/B][/SIZE][QUOTE]
[SIZE=4][B][FONT=sans-serif][SIZE=17px][COLOR=#000000]pxelinux[/COLOR][/SIZE][/FONT][/B][/SIZE][FONT=sans-serif][COLOR=#000000]DHCP options 209/210 are use to configure pxelinux. These can either come forcibly set in a ipxe script or via the DHCP server normally.[/COLOR][/FONT]
[LIST]
[]209 = pxelinux config path, “pxelinux.cfg/default” . This relative to the ‘root’
[]210 = pxelinux ‘root’, “[URL=‘http://xxx.xxx.xx.xx:81/’][COLOR=#663366]http://xxx.xxx.xx.xx:81/[/COLOR][/URL]” . This is prefixed with HTTP (in this case on port 81) , so pxelinux will use instead of slow TFTP . It can also use FTP.
[/LIST]
[/QUOTE] -
The suggestion to “dhcp-option-force=209,pxelinux.cfg/default” is what I already do with the default file manually, but using the pxelinux.0 file because the undionly.kpxe file can not be found to boot from.
The problem is, with these settings it still wants to look for pxelinux.0 and not undionly.kpxe.
I am attempting to utilize the new undionly.kpxe file and ipxe system, but I am being forced to load the old pxe method to load the new pxe method. I don’t mind doing this, it gets my items working, but for the best interest of the community I would like to move to the new system using undionly.kxpe that Tom has set up.
I will try the ipxe config file
-
Alright here is a working ltsp.conf for ipxe, delete those symlinks, make sure pxelinux.0 does not exist rename it, also rename or delete your pxelinux.cfg. Make sure your undionly.kpxe is in the root of your tftpboot folder.
Edit your ltsp.conf to look like the following
[code]
Don’t function as a DNS server:
port=0
Log lots of extra information about DHCP transactions.
log-dhcp
Dnsmasq can also function as a TFTP server. You may uninstall
tftpd-hpa if you like, and uncomment the next line:
enable-tftp
Set the root directory for files available via FTP.
tftp-root=/tftpboot
The boot filename, Server name, Server Ip Address
dhcp-boot=undionly.kpxe,x.x.x.x
rootpath option, for NFS
#dhcp-option=17,/images
kill multicast
#dhcp-option=vendor:PXEClient,6,2b
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
PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds.
#pxe-prompt=“Press F8 for boot menu”, 3
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 from network”, pxelinux
A boot service type of 0 is special, and will abort the
net boot procedure and continue booting from local media.
#pxe-service=X86PC, “Boot from local hard disk”, 0
If an integer boot service type, rather than a basename is given, then the
PXE client will search for a suitable boot service for that type on the
network. This search may be done by multicast or broadcast, or direct to a
server if its IP address is provided.
pxe-service=x86PC, “Install windows from RIS server”, 1
This range(s) is for the public interface, where dnsmasq functions
as a proxy DHCP server providing boot information but no IP leases.
Any ip in the subnet will do, so you may just put your server NIC ip here.
Since dnsmasq is not providing true DHCP services, you do not want it
handing out IP addresses. Just put your servers IP address for the interface
that is connected to the network on which the FOG clients exist.
If this setting is incorrect, the dnsmasq may not start, rendering
your proxyDHCP ineffective.
dhcp-range=10.0.0.10,proxy
This range(s) is for the private network on 2-NIC servers,
where dnsmasq functions as a normal DHCP server, providing IP leases.
dhcp-range=192.168.0.20,192.168.0.250,8h
For static client IPs, and only for the private subnets,
you may put entries like this:
dhcp-host=00:20:e0:3b:13:af,10.160.31.111,client111,infinite
[/code]
Save and restart dnsmasq.
-
Awesome! After making the changes the machines are now able to boot to iPXE. HOWEVER, now it is saying it cannot find /default.ipxe. FOG is set as the owner for everything in the /tftpboot folder so i cant imagine its a permissions problem. Perhaps is there another config elsewhere that needs to be changed?
[ATTACH=full]665[/ATTACH]
[url=“/_imported_xf_attachments/0/665_IMG_20140414_120339.jpg?:”]IMG_20140414_120339.jpg[/url]
-
Make sure the /tftpboot/default.ipxe file actually exists.
-
File exists and FOG has permission to use it. The contents are pointing to the IP of the Server. It was set to Net0 so i changed that to net1 as I am using eth1 for the connections but that had no effect.
This is what my default.ipxe file looks like.
[CODE]#!ipxe
chain http://192.168.1.99/fog/service/ipxe/boot.php?mac=${net1/mac}[/CODE] -
net net0/mac is for the client’s network interface, not the FOG Server’s network interface.
Are you sure 192.168.1.99 is being hosted properly then?
Can you tftp the default.ipxe file:
[code]tftp -i 192.168.1.99 get default.ipxe[/code] -
I was able to download default.ipxe with that command successfully. I am thinking I will start over on my FOG config using what I have learned with this thread and see where that gets me.
-
Okay, I hope all goes well.
I don’t know why it’s not pulling the default file, but before you start all over, maybe try restarting the tftpd-hpa service.