PXE Boot Problem - bzImage Connection Reset
-
Server
- FOG Version: 1.4.0
- OS: Linux Mint
Client
- Service Version:
- OS:
Description
Hi. Hey. I have a problem with the Fog server ( I’m sorry for my English but I’m from Poland. ) Trying to implement a server into an existing school network. The FOG server has been installed correctly and does not have direct access to the DHCP server, so the way was used with DHCPProxy ( DNSMASQ ). Everything worked fine and the menu to register the host is displayed.
Nothing was changed in the configuration except of course files from DNSMASQ (ltsp.conf). Everything worked as it should, but only on the menu began to run problems.Everything works fine when you start up from the network. The menu appears, but when you choose the option of full host registration or any other, you get some error. ( As you can see in the picture )
I know there are specialists here, so I hope they will help me solve the problem.
Thank you for your effort and help. -
Hello and welcome to the FOG forums.
Lets see if we can get your fog server working.
I see you don’t have direct access to the dhcp server. DNSMasq will work if the pxe booting computers and FOG server are on the same subnet. If they are on different subnets we can also make work, but you will need access to your subnet router to make an adjustment.
For starters, please post your ltsp.conf file here for review.
-
The error in the picture says that bzImage could not be downloaded. If you get this far then you must see the iPXE menu. So that tells me that dnsmasq should be working. But we must check first.
I have to ask you this question, because of the error. Does your FOG server have a static IP address -OR- did you change the IP address of your FOG server after FOG was installed?
-
Thank you for your help George.
The server is set to static address before installation and after installation was not changed.
All devices located in the room are on the same subnet as the Fog server.
Below I paste the source code ( Static address of the server : 192.168.4.70 )# 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,,192.168.4.70 # 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", undionly # 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=192.168.4.70,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.4.0,192.168.4.255,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```
-
You have all of the right things enabled in your ltsp.conf. I would like to offer this new configuration to you
but only if you are running dnsmasq 2.76. We will need to adjust a few things if you run this configuraiton file on version less than 2.76
. The following configuration will work for both bios and uefi systems. You may not need it today, but sometimes in the future, maybe.# 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
You MUST replace
<fog_server_ip>
with the actual IP address of your fog server in all places in the configuration file.Also this tutorial shows you how to compile dnsmasq 2.76 which is required if you want to dynamically switch the boot file between bios and uefi systems.
ref: https://forums.fogproject.org/topic/8725/compiling-dnsmasq-2-76-if-you-need-uefi-support/6 -
@maciej12203 Your picture is very interesting to me, because if you have fog running and you did not change fog’s IP address, it should be working.
I want to see what fog is doing when it creates the iPXE boot menu. To view this iPXE boot menu past this into your web browser.
http://192.168.4.70/fog/service/ipxe/boot.php?mac=00:00:00:00:00:00
This will show you the contents of the iPXE boot menu.What will be interesting is the very first lines
#!ipxe set fog-ip 192.168.4.70 set fog-webroot fog set boot-url http://${fog-ip}/${fog-webroot}
But also look down the entire page to make sure only the fog server IP address is being displayed.
-
George also surprised me that something is wrong because everything was created on the new system and properly configured to work.
Unfortunately, I do not have access to the room where the server was created.I did not know how to check the result, so thank you for the hint.
This week ( Friday or Thursday ) I will try to check the effect you have proposed and thank you for your help because I myself would not advise it. -
@george1421
I have had some time and I went to the room where the server was placed and I looked at the code you asked.
Everything looks good but maybe you better look it over. I enclose the whole code.#!ipxe set fog-ip 192.168.4.70 set fog-webroot fog set boot-url http://${fog-ip}/${fog-webroot} cpuid --ext 29 && set arch x86_64 || set arch i386 goto get_console :console_set colour --rgb 0x00567a 1 || colour --rgb 0x00567a 2 || colour --rgb 0x00567a 4 || cpair --foreground 7 --background 2 2 || goto MENU :alt_console cpair --background 0 1 || cpair --background 1 2 || goto MENU :get_console console --picture http://192.168.4.70/fog/service/ipxe/bg.png --left 100 --right 80 && goto console_set || goto alt_console :MENU menu colour --rgb 0xff0000 0 || cpair --foreground 1 1 || cpair --foreground 0 3 || cpair --foreground 4 4 || item --gap Host is NOT registered! item --gap -- ------------------------------------- item fog.local Boot from hard disk item fog.memtest Run Memtest86+ item fog.reginput Perform Full Host Registration and Inventory item fog.reg Quick Registration and Inventory item fog.deployimage Deploy Image item fog.multijoin Join Multicast Session item fog.sysinfo Client System Information (Compatibility) choose --default fog.local --timeout 3000 target && goto ${target} :fog.local sanboot --no-describe --drive 0x80 || goto MENU :fog.memtest kernel memdisk initrd=memtest.bin iso raw initrd memtest.bin boot || goto MENU :fog.reginput kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=192.168.4.70/fog/ consoleblank=0 rootfstype=ext4 storage=192.168.4.70:/images/ storageip=192.168.4.70 loglevel=4 mode=manreg imgfetch init_32.xz boot || goto MENU :fog.reg kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=192.168.4.70/fog/ consoleblank=0 rootfstype=ext4 storage=192.168.4.70:/images/ storageip=192.168.4.70 loglevel=4 mode=autoreg imgfetch init_32.xz boot || goto MENU :fog.deployimage login params param mac0 ${net0/mac} param arch ${arch} param username ${username} param password ${password} param qihost 1 isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme :fog.multijoin login params param mac0 ${net0/mac} param arch ${arch} param username ${username} param password ${password} param sessionJoin 1 isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme :fog.sysinfo kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=192.168.4.70/fog/ consoleblank=0 rootfstype=ext4 storage=192.168.4.70:/images/ storageip=192.168.4.70 loglevel=4 mode=sysinfo imgfetch init_32.xz boot || goto MENU :bootme chain -ar http://192.168.4.70/fog/service/ipxe/boot.php##params || goto MENU autoboot
-
@maciej12203 said in PXE Boot Problem - bzImage Connection Reset:
192.168.4.70
Is this the IP address of your fog server?
-
@george1421 Yes, this is a statically set address
-
@maciej12203 As the kernel (
bzImage
) is being downloaded via HTTP by iPXE could you please check the apache error logs. See my signature on where to find the log on your FOG server. -
@Sebastian-Roth
Thank you for your hint. I will definitely check.
And when logs do not show anything.
@george1421 Are there any other suggestions that could still be checked on the server side? -
I would like to add that I just did a fresh install of fog 1.4 on Ubuntu 16.04 and this same issue is happening. I made a static bond interface then installed fog. The register didn’t work so left it over night and the next day it was working. Now today (a week later) it is giving the same error. My apache error log is also blank. My bzimage gets to 99% then I receive error that the connection reset. I will be happy to provide any info you need.
I have used fog for years and this is the first time I have an issue I can’t fix.
-
@sanman
I see we have a similar problem. I also reinstalled the server, but the problem is still the same.
However, there may be someone who has an idea how to solve the problem. I recently used FOG server, installed it on my home network and everything worked as it should. When I moved my idea to the school network came the problem. -
Please check FOG Configuration Page->FOG Settings->General Settings-FOG_WEB_ROOT
Set to
/fog/
and this should be corrected for. I’m guessing the connection reset came from the 401/403 error being presented to something missed in the Schema settings. This would typically happen on “fresh” installs and shouldn’t have impacted already working systems. -
@Tom-Elliott
In configuration after installing FOG server there was nothing to change. I’m pretty sure that FOG_WEB_ROOT is set to / fog / . Is it possible that the server itself has some options?
I have installed many times a server in my environment either virtual or physical, and somehow there was no problem with different options for FOG server side setting .Probably you are right, because I noticed that it gets access to the GUI just as I enter - http://192.168.4.70/fog/
When I enter http://192.168.4.70 or http://192.168.4.70/ unfortunately, the GUI will not trigger.
Of course I do not know myself so well and I will check this option when I have access to the server. -
I checked everything and was configured correctly. The server still did not work as it should, so I decided to install FOG server again. Maybe I made some mistake when installing the server. I have one more question as to its installation to be 100 percent sure.
I did not want to set up a separate topic so I’m asking a question here. I found on the Wiki page information about how to install for the type of network. Which is not too much access to change anything because it is in the school server to which it does not have access.
All the computers in the room are connected to the switch, the switch itself on the router in the server room.
The network already exists for a year and is fully operational.What type of installation would you like to do? [N] n What is the IP address to be used by this FOG Server? [current address]192.168.4. 70 ( Static Address ) Would you like to setup a router address for the DHCP server? [Y/n] n Would you like to setup a DNS address for the DHCP server and client boot image? [Y/n] n Would you like to change the default network interface from eth0? If you are not sure, select No. [y/N] n Would you like to use the FOG server for dhcp service? [Y/n] Y
Thank you for your help.
-
@maciej12203 Lets take a step back here.
Does your network have an existing dhcp server?
If so are you allowed to make adjustments to this dhcp server?
Is your FOG server on a different subnet than your pxe booting client computers? -
- The network is running a DHCP server and assigns IP addresses.
- I have no rights or access to modify this server.
- The FOG server is on the same subnet as the PXE boot clients
-
@maciej12203 OK now we have something we can work with.
Since your have an existing dhcp server you do not want to run a FOG dhcp server because you will get conflicts.
If you can not modify the dhcp server configuration or request that the configuration can be changed we still have a way to make this work. On your fog server DO NOT enable the dhcp server, that will only cause you a head ache with the clients.
Since your FOG server and pxe booting clients are on the same subnet we will use dnsmasq to provide ProxyDHCP information for your location. The ProxyDHCP will supply the missing information that your main dhcp server can not provide. This ProxyDHCP server will supply the boot file and pxe booting server information to your clients.
Understand that running a ProxyDHCP server is a last choice option. The best solution is to get your dhcp server configured properly. I understand there are conditions where you can not do this, that is why FOG supports ProxyDHCP (dnsmasq) configurations.