Univention Bugzilla – Bug 43728
support PXE for BIOS and UEFI clients automatically and simultaneously
Last modified: 2021-05-14 16:34:51 CEST
A larger customer reported that all new machines are configured by default to use UEFI and by customer policy they have to use UEFI. The PXE client send some information that makes it possible to detect if the PXE client uses BIOS or UEFI. This is important since the bootimage has to match to the currently active architecture, otherwise the client won't boot. Possible automatic detection rules are documented e.g. at https://wiki.fogproject.org/wiki/index.php?title=BIOS_and_UEFI_Co-Existence
---[/etc/dhcp/local.conf]-- option arch code 93 = unsigned integer 16; if (exists arch and (option arch = 00:07 or option arch = 00:09)) { filename "uefi/ipxe/ipxe.efi"; } else { filename "pxelinux/pxelinux.0"; } ---[cut]--- 00:07 and 00:09 are afair UEFI 64bit.
This would be very useful for UCC as well. The PXELinux documentation [1] has other examples: option architecture-type code 93 = unsigned integer 16; class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; if option architecture-type = 0 { filename "path/to/BIOS/pxelinux.0"; } elsif option architecture-type = 9 { filename "path/to/EFIx64/syslinux.efi"; } elsif option architecture-type = 7 { filename "path/to/EFIx64/syslinux.efi"; } elsif option architecture-type = 6 { filename "path/to/EFIia32/syslinux.efi"; } } There is also an example about organizing the directories by architecture number: class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; filename concat("path/to/PXE-", binary-to-ascii(16, 16, "", option architecture-type), "/pxelinux.0"); } http://www.syslinux.org/wiki/index.php?title=PXELINUX#UEFI
There is a Customer ID set so I set the flag "Enterprise Customer affected".
Today discussed with a partner and a customer
This issue has been filed against UCS 4.3. UCS 4.3 is out of maintenance and many UCS components have changed in later releases. Thus, this issue is now being closed. If this issue still occurs in newer UCS versions, please use "Clone this bug" or reopen it and update the UCS version. In this case please provide detailed information on how this issue is affecting you.