Unable to use FOG for PXE booting because of unresponsive menu
-
Well lets make a distinction here. The FOG iPXE menu uses the iPXE kernel (undionly.kpxe or ipxe.efi). The FOG kernel is actually the FOS engine. That is what typically gets called when you make a fog ipxe menu selection. bzImage is the kernel and init.xz is the virtual hard drive for FOS.
It sounds like from your description is that you are attempting to pxe boot a uefi system. Not all uefi systems will display the background image. I have not found (in my experience) found a bios (legacy mode) system that can’t display the fog ipxe background image.
But lets assume something happened to your boot files. Please run this command from the fog server linux console.
ls -la /var/www/html/fog/service/ipxe
You should see bzImage, bzImage32, init.xz and init_32.xz plus many other files. Right now we are concerned about the FOS files and maybe bg.png.
Post your results here.
Also please describe the system you are trying to pxe boot.
-
For clarification this is the iPXE menu, in the past it has worked with no issues (last time it worked was a little over a week ago).
Regardless of the selection on the iPXE menu it goes back to the menu. I am using a HP Compaq tower. I also have VM’s that have worked in the past with no issues with the iPXE behaving the same way. I wonder if there is corruption that has happened in the menu items files?
Here is the list of files:
total 38156
drwxr-xr-x 3 fog www-data 4096 Jul 10 12:03 .
drwxr-xr-x 3 www-data www-data 4096 Jun 30 10:42 …
-rw-r–r-- 1 fog www-data 1966 Jun 30 10:42 advanced.php
drwxr-xr-x 2 fog fog 4096 Jul 10 12:03 backup
-rw-r–r-- 1 fog www-data 16272 Jun 30 10:42 bgdark.png
-rw-r–r-- 1 fog www-data 21280 Jun 30 10:42 bg.png
-rw-r–r-- 1 fog www-data 922 Jun 30 10:42 boot.php
-rwxr-xr-x 1 fog fog 0 Jul 10 11:59 bzImage
-rwxr-xr-x 1 fog fog 0 Jul 10 12:03 bzImage32
-rw-r–r-- 1 fog www-data 234697 Jun 30 10:42 grub.exe
-rw-r–r-- 1 fog www-data 46896 Apr 26 08:19 hp.png
-rw-r–r-- 1 fog www-data 592 Jun 30 10:42 index.php
-rw-r–r-- 1 fog www-data 18646084 Jun 30 10:43 init_32.xz
-rw-r–r-- 1 fog www-data 19605632 Jun 30 10:43 init.xz
-rw-r–r-- 1 fog www-data 25340 Jun 30 10:42 memdisk
-rw-r–r-- 1 fog www-data 1839104 Jun 30 10:42 memtest.bin
-rw-r–r-- 1 fog www-data 20976 Jun 30 10:42 refind.conf
-rw-r–r-- 1 fog www-data 205192 Jun 30 10:42 refind.efi -
@quinniedid said in Unable to use FOG for PXE booting because of unresponsive menu:
I am using a HP Compaq tower
Is the computer that worked a little over a week ago the same compaq computer?
You’ve made you changes to FOG or its environment since the last time it worked?
The files in in the ipxe directory is correct.
What I want you to do is find the mac address of this compaq computer and then append the mac address to this url.
http://<fog_server_ip>/fog/service/ipxe/boot.php?mac=<mac_addresses_without_punctuations>
Key that into a browser. That should produce the contents of the ipxe menu. Make sure the IP addresses shown there are correct for your fog server.
-
That is correct. This PC along with hundreds of others that are the same have all been working. It is just as of late nothing is now working in regards to FOG. In fact we just went through a huge re-image process over the course of a month with FOG. Now can’t get it past the iPXE menu nor for it to allow me to select an image to deploy.
There was some changes in regards to the global kernel arguments and I was trying to activate the advanced menu but have since moved those settings back to default.
#!ipxe set fog-ip set fog-webroot 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:///fog/service/ipxe/hp.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 chain -ar ${boot-url}/service/ipxe/grub.exe --config-file="rootnoverify (hd0);chainloader +1" || 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=/ consoleblank=0 rootfstype=ext4 acpi=off storage=10.86.96.177:/images/ storageip=10.86.96.177 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=/ consoleblank=0 rootfstype=ext4 acpi=off storage=10.86.96.177:/images/ storageip=10.86.96.177 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=/ consoleblank=0 rootfstype=ext4 acpi=off storage=10.86.96.177:/images/ storageip=10.86.96.177 loglevel=4 mode=sysinfo imgfetch init_32.xz boot || goto MENU :bootme chain -ar http:///fog/service/ipxe/boot.php##params || goto MENU autoboot
-
@quinniedid Sorry for my lethargic response. I do see an issue with what you posted.
At several key points your fog server IP address is not being published.
-
@quinniedid As you can see from my home fog-pi server
#!ipxe set fog-ip 192.168.112.24 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.112.24/fog/service/ipxe/bg.png --left 100 --right 80 && goto console_set || goto alt_console
Lets start by looking under your FOG Configuration-> Settings-> TFTP Server. Make sure FOG_TFTP_HOST field lists the IP address of your fog server.
-
The fields are all populated in settings. I even clicked on save changes again and checked the file and it is still showing the same thing.
-
@quinniedid OK there are two other places for the IP address to hide:
In the fog settings page again under Web Server->FOG_WEB_HOST
And then in the storage node configuration for the fog server -> IP Address.
If those are populated then we might need to get the developers involved to tell us where that value comes from. But now that I thing about it, I would lay odds on the FOG_WEB_HOST not being populated.
-
@george1421 I think we found it!
Is there supposed to be anything else populated in those fields?
-
@quinniedid Here is what I have, at least it might get you started:
-
@george1421 That was it!!!
Thank you so much for your time on this!!!
-
@quinniedid Thank you for sticking with me on this. I’m trying to take care of some honey-do projects the same time I’m “playing” on the computer. So my responses are a bit haphazard tonight.
-
@george1421 I have run into one more problem. I cannot image anything. This is the error that I am getting:
Could not select: Exec format error (http://ipxe.org/2e008001)
Could not boot: Exec format error (http://ipxe.org/2e008001)
Chainloading failed, hit’s for the iPXE shellAny ideas?
-
@quinniedid said in Unable to use FOG for PXE booting because of unresponsive menu:
Any ideas?
Lots of ideas, none to make me a million dollars overnight though…
What system are you trying to pxe boot?
Is this device in uefi mode or bios (legacy mode)?
What exactly do you have set for dhcp option 67 {boot-file}?
-
@george1421 This is the same PC’s that I have used before in the past to image, should be BIOS. For DHCP, I am using undionly.kpxe.
-
@quinniedid It would help if you posted a clear screen shot of the actual error taken with a mobile phone. The context of the error is almost as important as the actual error message.
My intuition is telling me that you are trying to send a bios boot kernel (undionly.kpxe) to a uefi system which is expecting ipxe.efi (or the other way around).
-
@george1421 Apologies for the vague details. The menu comes up now and is able to boot to the first hard drive. It was not able to do that till yesterday which you helped me with resolving. Now the issue is after I select Deploy Image and login, I do get a list of all the images. It is not until I select an image to deploy that this message comes up.
-
@quinniedid I’m getting the idea you have a botched install.
Looking at the screen shot I see bzImage (OS kernel) is transferred ok, but I don’t see init.zx (virtual hard drive) being sent to the target computer. They need to be passed in pairs.
I wonder if you are missing other values in the fog configuration page for the tftp server contains the correct info (specifically the *Image values)
-
@george1421 Here are the settings that are currently configured.
-
@quinniedid Has this computer been registered, or are you trying to register it right now?
If you are trying to register it, (stick with me here) manually register this host and then schedule an image capture or image deploy. It doesn’t matter we will not do either. Once the task is schedule, use the url I gave you before, this time use the mac address of the target computer and key that into a browser (you can leave the target computer off for this test). Post the results of the browser query here. As compared to the first time you did this setup, the results from this one should be very small about 5 or 6 lines long. I want to ensure what the client is being told to do.
Also can you confirm the target computer is in bios (legacy mode) and not uefi. If its in uefi mode you will need to disable secure boot and then change your ipxe boot kernel sent by dhcp option 67.