New iPXE Entries Not Showing
-
@zer0cool said in New iPXE Entries Not Showing:
Does the host need to be registered prior to seeing this menu entry?
There should be a setting when editing the entry to allow it to be seen by registered only, non-registered only, or both.
-
@wayne-workman Is that the “Menu Show With”? I have it set to all hosts, I would presume that includes non-registered but there is an entry specifically for not registered.
Also here is the snippet from boot.php:
:os.Centos7 kernel tftp://${fog-ip}/centos7/images/vmlinuz initrd tftp://${fog-ip}/centos7/images/initrd.img imgargs vmlinuz initrd=initrd.img root=live:nfs://${fog-ip}/images/centos7/LiveOS/squashfs.img ip=dhcp repo=nfs://${fog-ip}/images/centos7 splash quiet boot || goto MENU param sysuuid ${uuid}
I dont see anything out of place with it
-
@zer0cool said in New iPXE Entries Not Showing:
Is that the “Menu Show With”?
That’s the one.
Let’s back up a moment and start troubleshooting this. We need to figure out where the problem is and where it isn’t. Are you trying to boot an un-registered host? If not, try it. Are you trying to boot a registered host? If not, try it. Also try to add other menu entries - exact copies of what others have used - don’t worry about setting up the files on the server, we just want to see if the menu will display a known-good item or not.
Also, do you have two FOG Servers by chance, and these hosts are booting to the other one you didn’t modify? Just a thought.
-
@wayne-workman Ok heres the setup
Single fog server on its own subnet for staging. It acts as DHCP, etc.
I have a workstation on the same network that I am using to PXE boot and check things from acting as a host.
Currently its a clean slate, nothing registered.
The entry for CentOS is the only entry I have attempted creating in PXE.
I have so far tried changing the All hosts to Unregistered hosts in the “Menu Show With” and have also rebooted the server after creating the menu, neither changed anything.
The host boots, and shows the standard menu via BIOS or UEFI boot, with these options:
“local, memtest, full registration, quick reg, deploy image, join multicast and client system info.”I will try and add another “dummy” entry to PXE and see if it displays. I will also try registering the host to see if that matters. Ill report back
-
@wayne-workman No change.
I created another menu entry, just gave it a name and set to all menus, no parameters. It also did not show up but is in the boot.php.
I then did a quick register on the host, it shows up as registered in the web gui, but doesnt have either menu entry as expected in the PXE boot.
Again to confirm here, are we expecting these entries to be at the top level right after boot, along with entries like memtest and deploy image or are they a sub menu to something?
-
@zer0cool There is an advanced menu item if I recall, best to try that too. At this point, I’m going to ask the @developers and @moderators to take a look at this because I’m stumped.
-
Can you post the entire boot.php output?
If I had to guess, when you created the menu entry you did not enter anything in the description field? If not that is your issue (it would show up in the complete ipxe boot menu as missing).
The web gui text label needs to be changed from
description
tomenu title
or something to make it a bit more obvious that its required. -
@wayne-workman said in New iPXE Entries Not Showing:
@zer0cool There is an advanced menu item if I recall, best to try that too.
In what capacity do you mean? I see some options in the Web GUI for advanced (enabling a login and the entry under menu item settings), but only the options I listed are available on the PXE booted host, no advanced option there.
-
In boot.php do you see your item listed under the
:MENU
: entry? -
@quazz Yep noted here:
@zer0cool said in New iPXE Entries Not Showing:
@wayne-workman Is that the “Menu Show With”? I have it set to all hosts, I would presume that includes non-registered but there is an entry specifically for not registered.
Also here is the snippet from boot.php:
:os.Centos7 kernel tftp://${fog-ip}/centos7/images/vmlinuz initrd tftp://${fog-ip}/centos7/images/initrd.img imgargs vmlinuz initrd=initrd.img root=live:nfs://${fog-ip}/images/centos7/LiveOS/squashfs.img ip=dhcp repo=nfs://${fog-ip}/images/centos7 splash quiet boot || goto MENU param sysuuid ${uuid}
I dont see anything out of place with it
Sorry, think this is what you meant:
: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) item os.Centos7 item test.menu choose --default fog.local --timeout 120000 target && goto ${target}
Looks like both the entries I created are listed there (os.Centos7 and test.menu)
-
@zer0cool Not what I mean. In Boot.php there is a :MENU entry that will have a structure like so:
: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)
If your entry isn’t part of the :MENU then it will never show in PXE boot.
-
@quazz Just relized that, edited prior reply with it
-
@quazz Ok wait a second, just noticed neither of my menus kept the description which I assume is the visible part i nthe menu, ie:
item fog.multijoin Join Multicast Session item fog.sysinfo Client System Information (Compatibility) item os.Centos7 item test.menu
My Centos7 and test entries have nothing to the right of them, which I assume comes from the description field…I did fill those in but now they are empty
-
@zer0cool Are they still filled in on the FOG server?
-
@quazz Nope, this was the issue…
When I created the entries new, I did put in a description and saved them, the saved entry did not keep the description field, thus it was empty and the menu items were in the PXE boot menu, but blank under everything else (invisible).
I went back to the entry and gave it a description again via the “iPXE menu item settings” category and clicking o nthe menu entry and adding a description to the description field, then re-saving it. Checked and now shows in the PXE boot menu on the host.
Possible I made this mistake 2x…I guess but unlikely considering I recall deciding what I would make the description.
-
When I created the entries new, I did put in a description and saved them, the saved entry did not keep the description field, thus it was empty and the menu items were in the PXE boot menu, but blank under everything else (invisible).
@Developers you might want to take a peek at the code to confirm that on an edit of a fog ipxe menu that the updates are being saved back to the database.
-
@george1421 editing works it sounds like when saving a new item it’s not?
-
@tom-elliott This is accurate for me. When creating a new entry description doesnt save but the rest does. I am then able to edit it and add description.
I will be blowing out the server and rebuilding from the ground up in the near future as this was just testing, so I can revisit it then and confirm if it was an issue with my specific setup or a repeatable issue.
-
@zer0cool no need it’s easy enough to replicate I think and I can get it fixed pretty quick.
-
Fixed in working branch.