diff options
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | boot-env/OpenSLX/BootEnvironment/PXE.pm | 12 | ||||
-rw-r--r-- | boot-env/OpenSLX/BootEnvironment/Preboot/CD.pm | 99 | ||||
-rwxr-xr-x | boot-env/preboot/cd/iso/isolinux/menu.c32 | bin | 57140 -> 0 bytes | |||
-rw-r--r-- | boot-env/syslinux/LICENSE (renamed from boot-env/preboot/cd/iso/LICENSE) | 0 | ||||
-rw-r--r-- | boot-env/syslinux/README.iso (renamed from boot-env/preboot/cd/iso/README) | 0 | ||||
-rw-r--r-- | boot-env/syslinux/README.pxe (renamed from boot-env/pxe/Readme.pxe) | 11 | ||||
-rw-r--r-- | boot-env/syslinux/initramfs-shutdown (renamed from boot-env/pxe/initramfs-shutdown) | bin | 665088 -> 665088 bytes | |||
-rw-r--r-- | boot-env/syslinux/isolinux.bin (renamed from boot-env/preboot/cd/iso/isolinux/isolinux.bin) | bin | 14336 -> 14336 bytes | |||
-rw-r--r-- | boot-env/syslinux/kernel-shutdown (renamed from boot-env/pxe/kernel-shutdown) | bin | 688752 -> 688752 bytes | |||
-rwxr-xr-x | boot-env/syslinux/mboot.c32 (renamed from boot-env/pxe/mboot.c32) | bin | 31148 -> 31148 bytes | |||
-rw-r--r-- | boot-env/syslinux/pxechain.com (renamed from boot-env/pxe/pxechain.com) | bin | 998 -> 998 bytes | |||
-rw-r--r-- | boot-env/syslinux/pxelinux.0 (renamed from boot-env/pxe/pxelinux.0) | bin | 16138 -> 16138 bytes | |||
-rw-r--r-- | boot-env/syslinux/pxemenu-bottom.example (renamed from boot-env/pxe/menu-bottom.example) | 2 | ||||
-rw-r--r-- | boot-env/syslinux/pxemenu-include.example (renamed from boot-env/pxe/menu-include.example) | 2 | ||||
-rw-r--r-- | boot-env/syslinux/themes/openslx/openslx.png (renamed from boot-env/pxe/themes/openslx/openslx.png) | bin | 20453 -> 20453 bytes | |||
-rw-r--r-- | boot-env/syslinux/themes/openslx/theme.conf (renamed from boot-env/pxe/themes/openslx/theme.conf) | 2 | ||||
-rwxr-xr-x | boot-env/syslinux/vesamenu.c32 (renamed from boot-env/pxe/vesamenu.c32) | bin | 147728 -> 147728 bytes | |||
-rw-r--r-- | lib/OpenSLX/Basics.pm | 2 |
19 files changed, 92 insertions, 44 deletions
@@ -135,7 +135,7 @@ supported."; \ plain-install: @if test "${TRACE_INSTALLATION}" = "1"; then set -x; fi; \ echo "Installing OpenSLX project files"; \ - mkdir -p $(SLX_BUILD_PATH)$(SLX_CONFIG_PATH)/boot-env/pxe/themes \ + mkdir -p $(SLX_BUILD_PATH)$(SLX_CONFIG_PATH)/boot-env/syslinux/themes \ -p $(SLX_BUILD_PATH)$(SLX_BASE_PATH)/lib \ -p $(SLX_BUILD_PATH)$(SLX_BASE_PATH)/bin \ -p $(SLX_BUILD_PATH)$(SLX_BASE_PATH)/share/boot-env \ @@ -192,8 +192,8 @@ plain-install: tar -xp -C $(SLX_BUILD_PATH)$(SLX_BASE_PATH)/share; \ tar --exclude=.svn --exclude *.example --exclude OpenSLX -cp boot-env | \ tar -xp -C $(SLX_BUILD_PATH)$(SLX_BASE_PATH)/share/; \ - cp -p boot-env/pxe/menu-*.example boot-env/pxe/Readme.pxe \ - $(SLX_BUILD_PATH)$(SLX_CONFIG_PATH)/boot-env/pxe/; \ + cp -p boot-env/syslinux/pxemenu-*.example boot-env/syslinux/README.pxe \ + $(SLX_BUILD_PATH)$(SLX_CONFIG_PATH)/boot-env/syslinux/; \ cp -p tools/mksquashfs $(SLX_BUILD_PATH)$(SLX_BASE_PATH)/share/squashfs/; \ tar --exclude=.svn -cp -C initramfs tpm | \ tar -xp -C $(SLX_BUILD_PATH)$(SLX_BASE_PATH)/share; \ diff --git a/boot-env/OpenSLX/BootEnvironment/PXE.pm b/boot-env/OpenSLX/BootEnvironment/PXE.pm index 35b0a3b8..ceb9e1de 100644 --- a/boot-env/OpenSLX/BootEnvironment/PXE.pm +++ b/boot-env/OpenSLX/BootEnvironment/PXE.pm @@ -166,7 +166,7 @@ sub writeBootloaderMenuFor $pxeConfig .= $slxLabels; # fetch PXE-bottom iclude, if exists (overwrite existing definitions) my $pxeBottomFile - = "$openslxConfig{'config-path'}/boot-env/pxe/menu-bottom"; + = "$openslxConfig{'config-path'}/boot-env/syslinux/pxemenu-bottom"; if (-e $pxeBottomFile) { $pxeConfig .= "\n# configuration from include $pxeBottomFile\n"; $pxeConfig .= slurpFile($pxeBottomFile); @@ -189,7 +189,7 @@ sub _getTemplate my $basePath = $openslxConfig{'base-path'}; my $configPath = $openslxConfig{'config-path'}; - my $pxeTheme = $openslxConfig{'pxe-theme'}; + my $pxeTheme = $openslxConfig{'syslinux-theme'}; my ($sec, $min, $hour, $day, $mon, $year) = (localtime); $mon++; @@ -210,9 +210,9 @@ sub _getTemplate # let user stuff in config path win over our stuff in base path my $pxeThemePath; my $pxeThemeInConfig - = "$configPath/boot-env/pxe/themes/${pxeTheme}"; + = "$configPath/boot-env/syslinux/themes/${pxeTheme}"; my $pxeThemeInBase - = "$basePath/share/boot-env/pxe/themes/${pxeTheme}"; + = "$basePath/share/boot-env/syslinux/themes/${pxeTheme}"; if (-e "$pxeThemeInConfig/theme.conf") { $pxeThemePath = $pxeThemeInConfig; } @@ -251,7 +251,7 @@ sub _getTemplate # fetch PXE-include, if exists (overwrite existing definitions) my $pxeIncludeFile - = "$openslxConfig{'config-path'}/boot-env/pxe/menu-include"; + = "$openslxConfig{'config-path'}/boot-env/syslinux/pxemenu-include"; if (-e $pxeIncludeFile) { $pxeTemplate .= "\n# configuration from include $pxeIncludeFile\n"; $pxeTemplate .= slurpFile($pxeIncludeFile); @@ -279,7 +279,7 @@ sub _prepareBootloaderConfigFolder 'mboot.c32', 'kernel-shutdown', 'initramfs-shutdown') { if (!-e "$pxePath/$file") { slxsystem( - qq[cp -p "$basePath/share/boot-env/pxe/$file" $pxePath/] + qq[cp -p "$basePath/share/boot-env/syslinux/$file" $pxePath/] ); } } diff --git a/boot-env/OpenSLX/BootEnvironment/Preboot/CD.pm b/boot-env/OpenSLX/BootEnvironment/Preboot/CD.pm index 7fc61875..a6c36cd7 100644 --- a/boot-env/OpenSLX/BootEnvironment/Preboot/CD.pm +++ b/boot-env/OpenSLX/BootEnvironment/Preboot/CD.pm @@ -29,7 +29,7 @@ sub createImage my $self = shift; my $client = shift; my $info = shift; - + vlog( 0, _tr( @@ -39,48 +39,95 @@ sub createImage ); my $imageDir = "$openslxConfig{'public-path'}/images/$client->{name}/cd"; - mkpath($imageDir) unless $self->{'dry-run'}; + my $isoDir = "$imageDir/iso/isolinux"; + mkpath($isoDir) unless $self->{'dry-run'}; # copy static data - my $dataDir = "$openslxConfig{'base-path'}/share/boot-env/preboot/cd"; - slxsystem(qq{rsync -rlpt $dataDir/iso "$imageDir/"}) - unless $self->{'dry-run'}; + my $dataDir = "$openslxConfig{'base-path'}/share/boot-env/syslinux"; + for my $file ('LICENSE', 'README.iso', 'vesamenu.c32', 'isolinux.bin') { + if (!-e "$isoDir/$file") { + slxsystem( + qq[cp -p "$dataDir/$file" "$isoDir/"] + ) + unless $self->{'dry-run'}; + } + } # copy kernel (take the one from the given system info) my $kernelFile = $info->{'kernel-file'}; my $kernelName = basename($kernelFile); - slxsystem(qq{cp -p "$kernelFile" "$imageDir/iso/isolinux/vmlinuz"}) + slxsystem(qq{cp -p "$kernelFile" "$isoDir/vmlinuz"}) unless $self->{'dry-run'}; # create initramfs - my $initramfsName = qq{"$imageDir/iso/isolinux/initramfs"}; + my $initramfsName = qq{"$isoDir/initramfs"}; $self->makePrebootInitRamFS($info, $initramfsName, $client); # write trivial isolinux config - my $isolinuxConfig = unshiftHereDoc(<<" End-of-Here"); - PROMPT 0 - TIMEOUT 100 - DEFAULT menu.c32 + # include static defaults + my $isolinuxConfig = "DEFAULT vesamenu.c32\n"; + $isolinuxConfig .= "PROMPT 0\n"; + $isolinuxConfig .= "TIMEOUT 100\n"; + + # theme stuff + my $basePath = $openslxConfig{'base-path'}; + my $configPath = $openslxConfig{'config-path'}; + my $isoTheme = $openslxConfig{'syslinux-theme'}; + + my $isoThemePath; + my $isoThemeInConfig + = "$configPath/boot-env/syslinux/themes/${isoTheme}"; + my $isoThemeInBase + = "$basePath/share/boot-env/syslinux/themes/${isoTheme}"; + if (-e "$isoThemeInConfig/theme.conf") { + $isoThemePath = $isoThemeInConfig; + } + else { + if (-e "$isoThemeInBase/theme.conf") { + $isoThemePath = $isoThemeInBase; + } + } + # include theme specific stuff + if (defined $isoThemePath) { + $isolinuxConfig .= slurpFile("$isoThemePath/theme.conf"); + } + + # copy background picture if exists + my $pic; + if (defined $isoTheme) { + while ($isolinuxConfig =~ m{^\s*MENU BACKGROUND (\S+?)\s*$}gims) { + chomp($pic = $1); + } + } + if (defined $pic) { + my $isoBackground = "$isoThemePath/$pic"; + if (-e $isoBackground && !$self->{'dry-run'}) { + slxsystem(qq[cp "$isoBackground" "$isoDir/"]); + } + } + + # write trivial isolinux config + $isolinuxConfig .= unshiftHereDoc(<<" End-of-Here"); MENU TITLE Welcome to OpenSLX PreBoot ISO/CD (Mini Linux/Kexec) LABEL SLXSTDBOOT - MENU LABEL OpenSLX PreBoot - Stateless Netboot Linux ... - MENU DEFAULT - KERNEL vmlinuz - APPEND initrd=initramfs vga=0x317 - TEXT HELP + MENU LABEL OpenSLX PreBoot - Stateless Netboot Linux ... + MENU DEFAULT + KERNEL vmlinuz + APPEND initrd=initramfs vga=0x317 + TEXT HELP Use this (default) entry if you have configured your client. - You have chance to edit the kernel commandline by hitting the - TAB key (e.g. for adding debug=3 to it for bug hunting) ... - ENDTEXT + You have chance to edit the kernel commandline by hitting + the TAB key (e.g. for adding debug=3 to it for bug hunting). + ENDTEXT LABEL LOCALBOOT - MENU LABEL Boot locally (skip OpenSLX PreBoot) ... - LOCALBOOT -1 - TEXT HELP - Gets you out of here by booting from next device in BIOS boot - order. - ENDTEXT + MENU LABEL Boot locally (skip OpenSLX PreBoot) ... + LOCALBOOT -1 + TEXT HELP + Gets you out of here by booting from next device in BIOS + boot order. + ENDTEXT End-of-Here - spitFile("$imageDir/iso/isolinux/isolinux.cfg", $isolinuxConfig); + spitFile("$isoDir/isolinux.cfg", $isolinuxConfig); my $mkisoCmd = unshiftHereDoc(<<" End-of-Here"); mkisofs diff --git a/boot-env/preboot/cd/iso/isolinux/menu.c32 b/boot-env/preboot/cd/iso/isolinux/menu.c32 Binary files differdeleted file mode 100755 index 9413ec46..00000000 --- a/boot-env/preboot/cd/iso/isolinux/menu.c32 +++ /dev/null diff --git a/boot-env/preboot/cd/iso/LICENSE b/boot-env/syslinux/LICENSE index 7233bc7e..7233bc7e 100644 --- a/boot-env/preboot/cd/iso/LICENSE +++ b/boot-env/syslinux/LICENSE diff --git a/boot-env/preboot/cd/iso/README b/boot-env/syslinux/README.iso index f9abdbea..f9abdbea 100644 --- a/boot-env/preboot/cd/iso/README +++ b/boot-env/syslinux/README.iso diff --git a/boot-env/pxe/Readme.pxe b/boot-env/syslinux/README.pxe index 84fea704..9a14ee52 100644 --- a/boot-env/pxe/Readme.pxe +++ b/boot-env/syslinux/README.pxe @@ -26,12 +26,12 @@ Example how the PXElinux information is gathered: ##### ##### # # # TIMEOUT 100 # -# TOTALTIMEOUT 600 # +# TOTALTIMEOUT 600 # # MENU MASTER PASSWD secret # # MENU TITLE Welcome to OpenSLX # # # -##### after this /etc/opt/openslx/boot-env/pxe/menu-include is included ##### -##### if it is existing, overriding above statements ##### +##### after this /etc/opt/openslx/boot-env/syslinux/pxemenu-include is ##### +##### included if it is existing, overriding above statements ##### # # # MENU PASSPROMPT Gesicherter Bereich, bitte Passwort eingeben: # # MENU AUTOBOOT Auswahl startet in # Sekunden # @@ -54,8 +54,9 @@ Example how the PXElinux information is gathered: # . # # . # # # -##### at the end /etc/opt/openslx/boot-env/pxe/menu-bottom is being incl. ##### -##### if existing, please specify only systems and further menus ##### +##### at the end /etc/opt/openslx/boot-env/syslinux/pxemenu-bottom is ##### +##### being incl. if existing ##### +##### please specify only systems and further menus ##### # # # MENU SEPARATOR # # LABEL test # diff --git a/boot-env/pxe/initramfs-shutdown b/boot-env/syslinux/initramfs-shutdown Binary files differindex 3e4376bd..3e4376bd 100644 --- a/boot-env/pxe/initramfs-shutdown +++ b/boot-env/syslinux/initramfs-shutdown diff --git a/boot-env/preboot/cd/iso/isolinux/isolinux.bin b/boot-env/syslinux/isolinux.bin Binary files differindex 80f71c98..80f71c98 100644 --- a/boot-env/preboot/cd/iso/isolinux/isolinux.bin +++ b/boot-env/syslinux/isolinux.bin diff --git a/boot-env/pxe/kernel-shutdown b/boot-env/syslinux/kernel-shutdown Binary files differindex ddb180dd..ddb180dd 100644 --- a/boot-env/pxe/kernel-shutdown +++ b/boot-env/syslinux/kernel-shutdown diff --git a/boot-env/pxe/mboot.c32 b/boot-env/syslinux/mboot.c32 Binary files differindex dfff3789..dfff3789 100755 --- a/boot-env/pxe/mboot.c32 +++ b/boot-env/syslinux/mboot.c32 diff --git a/boot-env/pxe/pxechain.com b/boot-env/syslinux/pxechain.com Binary files differindex 8c4e0c5b..8c4e0c5b 100644 --- a/boot-env/pxe/pxechain.com +++ b/boot-env/syslinux/pxechain.com diff --git a/boot-env/pxe/pxelinux.0 b/boot-env/syslinux/pxelinux.0 Binary files differindex 743948e3..743948e3 100644 --- a/boot-env/pxe/pxelinux.0 +++ b/boot-env/syslinux/pxelinux.0 diff --git a/boot-env/pxe/menu-bottom.example b/boot-env/syslinux/pxemenu-bottom.example index 6e580a03..29ceee3c 100644 --- a/boot-env/pxe/menu-bottom.example +++ b/boot-env/syslinux/pxemenu-bottom.example @@ -2,7 +2,7 @@ # labels, please define only further menus and systems # for theme configuration use theme.conf in your theme directory # general settings can be set via slxsettings -# please copy to menu-bottom if needed +# please copy to pxemenu-bottom if needed ## example: shutdown label in menu #LABEL shutdown diff --git a/boot-env/pxe/menu-include.example b/boot-env/syslinux/pxemenu-include.example index 9f36df23..c09f8e70 100644 --- a/boot-env/pxe/menu-include.example +++ b/boot-env/syslinux/pxemenu-include.example @@ -3,7 +3,7 @@ # it will overwrite existing defs # for theme configuration use theme.conf in your theme directory # general settings can be set via slxsettings -# please copy to menu-include if needed +# please copy to pxemenu-include if needed ## example german help: #MENU PASSPROMPT Gesicherter Bereich, bitte Passwort eingeben: diff --git a/boot-env/pxe/themes/openslx/openslx.png b/boot-env/syslinux/themes/openslx/openslx.png Binary files differindex ccf8cc0a..ccf8cc0a 100644 --- a/boot-env/pxe/themes/openslx/openslx.png +++ b/boot-env/syslinux/themes/openslx/openslx.png diff --git a/boot-env/pxe/themes/openslx/theme.conf b/boot-env/syslinux/themes/openslx/theme.conf index c1fab72b..e28562d6 100644 --- a/boot-env/pxe/themes/openslx/theme.conf +++ b/boot-env/syslinux/themes/openslx/theme.conf @@ -1,7 +1,7 @@ # openslx theme style definition # please define only look of your theme # for non-theme definitions use slxsettings -# or include file in /etc/opt/openslx/boot-env/pxe/menu-include +# or include file in /etc/opt/openslx/boot-env/syslinux/pxemenu-include MENU BACKGROUND openslx.png MENU WIDTH 78 diff --git a/boot-env/pxe/vesamenu.c32 b/boot-env/syslinux/vesamenu.c32 Binary files differindex d9884770..d9884770 100755 --- a/boot-env/pxe/vesamenu.c32 +++ b/boot-env/syslinux/vesamenu.c32 diff --git a/lib/OpenSLX/Basics.pm b/lib/OpenSLX/Basics.pm index e125cd7e..c14046eb 100644 --- a/lib/OpenSLX/Basics.pm +++ b/lib/OpenSLX/Basics.pm @@ -107,8 +107,8 @@ 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', + 'syslinux-theme' => 'openslx', 'pxe-passwd' => 'secret', - 'pxe-theme' => 'openslx', 'pxe-timeout' => '100', 'pxe-title' => 'Welcome to OpenSLX', 'pxe-totaltimeout' => '600', |