From b28e4e88fc41f4adc0da909b0e618c409f3edcc5 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 27 Mar 2019 00:44:36 +0100 Subject: [serversetup-bwlp-ipxe] Localboot: Individual settings for BIOS/EFI --- .../serversetup-bwlp-ipxe/inc/localboot.inc.php | 41 +++++++++++++++++++--- 1 file changed, 36 insertions(+), 5 deletions(-) (limited to 'modules-available/serversetup-bwlp-ipxe/inc/localboot.inc.php') diff --git a/modules-available/serversetup-bwlp-ipxe/inc/localboot.inc.php b/modules-available/serversetup-bwlp-ipxe/inc/localboot.inc.php index 3ab81862..624d10e4 100644 --- a/modules-available/serversetup-bwlp-ipxe/inc/localboot.inc.php +++ b/modules-available/serversetup-bwlp-ipxe/inc/localboot.inc.php @@ -6,10 +6,41 @@ class Localboot const PROPERTY_KEY = 'serversetup.localboot'; const BOOT_METHODS = [ - 'AUTO' => 'iseq efi ${platform} && exit 1 || sanboot --no-describe', - 'EXIT' => 'exit 1', - 'COMBOOT' => 'chain /tftp/chain.c32 hd0', - 'SANBOOT' => 'sanboot --no-describe', + 'PCBIOS' => [ + 'EXIT' => 'exit 1', + 'COMBOOT' => 'set netX/209:string localboot.cfg || +set netX/210:string http://${serverip}/tftp/sl-bios/ || +chain -ar /tftp/sl-bios/lpxelinux.0', + 'SANBOOT' => 'sanboot --no-describe', + ], + 'EFI' => [ + 'EXIT' => 'exit 1', + 'COMBOOT' => 'set netX/209:string localboot.cfg || +set netX/210:string http://${serverip}/tftp/sl-efi64/ || +chain -ar /tftp/sl-efi64/syslinux.efi', + ], ]; -} \ No newline at end of file + public static function getDefault() + { + $ret = explode(',', Property::get(self::PROPERTY_KEY, 'SANBOOT,EXIT')); + if (empty($ret)) { + $ret = ['SANBOOT', 'EXIT']; + } elseif (count($ret) < 2) { + $ret[] = 'EXIT'; + } + if (!isset(self::BOOT_METHODS['PCBIOS'][$ret[0]])) { + $ret[0] = 'SANBOOT'; + } + if (!isset(self::BOOT_METHODS['EFI'][$ret[1]])) { + $ret[1] = 'EXIT'; + } + return ['PCBIOS' => $ret[0], 'EFI' => $ret[1]]; + } + + public static function setDefault($pcbios, $efi) + { + Property::set(self::PROPERTY_KEY, "$pcbios,$efi"); + } + +} -- cgit v1.2.3-55-g7522