diff options
-rw-r--r-- | boot-env/OpenSLX/BootEnvironment/PXE.pm | 13 | ||||
-rw-r--r-- | lib/OpenSLX/Basics.pm | 1 |
2 files changed, 12 insertions, 2 deletions
diff --git a/boot-env/OpenSLX/BootEnvironment/PXE.pm b/boot-env/OpenSLX/BootEnvironment/PXE.pm index ceb9e1de..8387219d 100644 --- a/boot-env/OpenSLX/BootEnvironment/PXE.pm +++ b/boot-env/OpenSLX/BootEnvironment/PXE.pm @@ -93,7 +93,15 @@ sub writeBootloaderMenuFor # pxe_prefix_ip set and looks like a ip if ($info->{'pxe_prefix_ip'} =~ m/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/) { $pxePrefix = "$info->{'pxe_prefix_ip'}::"; - $tftpPrefix = "tftp://$info->{'pxe_prefix_ip'}" if ! length($bootURI); + $tftpPrefix = "tftp://$info->{'pxe_prefix_ip'}" + if ! length($bootURI); + } + + # set default menu entry + my $pxeDefault = ""; + if ($openslxConfig{'pxe-default-menu-entry'} eq $info->{'external-id'}) + { + $pxeDefault = "\tMENU DEFAULT\n"; } $append .= " initrd=$pxePrefix$vendorOSName/$info->{'initramfs-name'}"; @@ -101,6 +109,7 @@ sub writeBootloaderMenuFor $append .= " file=$tftpPrefix" if length($tftpPrefix); $append .= " $clientAppend"; $slxLabels .= "LABEL openslx-$info->{'external-id'}\n"; + $slxLabels .= $pxeDefault; $slxLabels .= "\tMENU LABEL ^$info->{pxeLabel}\n"; $slxLabels .= "\tKERNEL $pxePrefix$vendorOSName/$kernelName\n"; $slxLabels .= "\tAPPEND $append\n"; @@ -290,7 +299,7 @@ sub _prepareBootloaderConfigFolder return 1; } -# from syslinux 3.73: http://syslinux.zytor.co +# from syslinux 3.73: http://syslinux.zytor.com sub _random_bytes { my $self = shift; diff --git a/lib/OpenSLX/Basics.pm b/lib/OpenSLX/Basics.pm index 676e1b46..4ac40166 100644 --- a/lib/OpenSLX/Basics.pm +++ b/lib/OpenSLX/Basics.pm @@ -107,6 +107,7 @@ I<slxsettings>-script, so please look there if you'd like to know more. 'mirrors-to-try-count' => '20', 'mirrors-to-use-count' => '5', 'ossetup-max-try-count' => '5', + 'pxe-default-menu-entry' => undef, 'pxe-passwd' => 'secret', 'pxe-timeout' => '100', 'pxe-title' => 'Welcome to OpenSLX', |