Cannot boot local from my Advanced PXE Menu (EXIT Type differences?)
-
Server
- FOG Version: RC9 (49)
Hi,
since some weeks or maybe months i cannot boot local from my pxe advanced menu anymore.
When i hit “Festplatte booten” the clients stick in the Advanced Menu (just screen flashes) it’s like i reentering the same menu again.Below the lines i use in my menu (it’s shortened):
:MENU menu item --gap -- Company - PXE Boot Menu - JOS IT item --gap -- item bootlocal Festplatte booten item --gap -- item return <--- choose --default bootlocal --timeout 60000 target && goto ${target} :bootlocal sanboot --no-describe --drive 0x80 || goto MENU
I already tried exit instead if sanboot but it’s not working.
Any idea?Something else, what about the different exit types, are there more informations about them?
Why is there a difference between the exit types of legacy and efi?
Regards X23
-
I don’t know what’s up with your advanced menu, but maybe it needs the “:return” lines added? Something like:
(Sorry I forget the exact method)
:return chain -ar http://${fog-ip}${booturl}/management/index.php
There are two exit types because exiting back to disk is different from Legacy/CSM and UEFI. With Legacy/CSM your HDD requires an MBR. The BIOS will look for the MBR and find the boot partition marked active. It will then boot using that partition. In UEFI, booting is not handled by MBR/Find where its booting. It’s handled, often times, in NVRAM on the BIOS. It looks there for the boot file required to start. There is an EFI partition that can also tell the machine how to boot, but there is no “marked active boot” in the UEFI world. So efi exit in some/most cases will be different from legacy boot.
-
@x23piracy Because there is a difference.
Typically for bios (legacy) mode the exit mode is SANBOOT (that is the way iPXE attempts to location the hard drive). For uefi system the best exit mode is rEFInd, which is an external program that is used to find the boot drives. You may be able to tweak the refind.conf file to look for legacy stuff but I haven’t tried it.
There is something I just discovered the other day while I was hacking FOG’s boot menus. That is the platform variable. ref: http://ipxe.org/cfg/platform you can use that in your boot local section to test to see if the platform is efi or pc-bios and then select the best exit mode there.
such as in:
(warning I just glued this code together there is no testing done)
:bootlocal iseq ${platform} efi && goto boot-efi || goto boot-bios goto MENU :boot-efi <don't know the syntax for refind> || goto MENU :boot-bios sanboot --no-describe --drive 0x80 || goto MENU