diff options
Diffstat (limited to 'modules-available/serversetup-bwlp-ipxe/inc/localboot.inc.php')
-rw-r--r-- | modules-available/serversetup-bwlp-ipxe/inc/localboot.inc.php | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/modules-available/serversetup-bwlp-ipxe/inc/localboot.inc.php b/modules-available/serversetup-bwlp-ipxe/inc/localboot.inc.php index 4203f931..4d1a56c7 100644 --- a/modules-available/serversetup-bwlp-ipxe/inc/localboot.inc.php +++ b/modules-available/serversetup-bwlp-ipxe/inc/localboot.inc.php @@ -7,38 +7,49 @@ class Localboot const BOOT_METHODS = [ 'PCBIOS' => [ - 'EXIT' => 'exit 1', + 'EXIT' => 'set slx_exit 1 || +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', + 'EXIT' => 'set slx_exit 1 || +exit 1', + 'SANBOOT' => 'imgfree || +console || +set filename \EFI\Boot\bootx64.efi || +set i:int32 0 || +:blubber +sanboot --no-describe --drive ${i} --filename ${filename} || +inc i +iseq ${i} 10 || goto blubber', + 'GRUB' => 'chain /tftp/grub-boot.img', ], ]; - public static function getDefault() + /** + * @return array{PCBIOS: string, EFI: string} + */ + public static function getDefault(): array { - $ret = explode(',', Property::get(self::PROPERTY_KEY, 'SANBOOT,EXIT')); + $ret = explode(',', Property::get(self::PROPERTY_KEY, 'SANBOOT,GRUB')); if (empty($ret)) { - $ret = ['SANBOOT', 'EXIT']; + $ret = ['SANBOOT', 'GRUB']; } elseif (count($ret) < 2) { - $ret[] = 'EXIT'; + $ret[] = 'SANBOOT'; } - if (null === self::BOOT_METHODS['PCBIOS'][$ret[0]]) { + if (!isset(self::BOOT_METHODS['PCBIOS'][$ret[0]])) { $ret[0] = 'SANBOOT'; } - if (null === self::BOOT_METHODS['EFI'][$ret[1]]) { - $ret[1] = 'EXIT'; + if (!isset(self::BOOT_METHODS['EFI'][$ret[1]])) { + $ret[1] = 'GRUB'; } return ['PCBIOS' => $ret[0], 'EFI' => $ret[1]]; } - public static function setDefault($pcbios, $efi) + public static function setDefault(string $pcbios, string $efi) { Property::set(self::PROPERTY_KEY, "$pcbios,$efi"); } |