summaryrefslogtreecommitdiffstats
path: root/boot-env
diff options
context:
space:
mode:
authorDirk von Suchodoletz2009-05-28 23:04:33 +0200
committerDirk von Suchodoletz2009-05-28 23:04:33 +0200
commit6a11137ad53a15990c1ae60c6adcb4b75463bc6a (patch)
treecc6b430d5acd2bebddf0a97725ca2cb3da641d83 /boot-env
parenttypo (diff)
downloadcore-6a11137ad53a15990c1ae60c6adcb4b75463bc6a.tar.gz
core-6a11137ad53a15990c1ae60c6adcb4b75463bc6a.tar.xz
core-6a11137ad53a15990c1ae60c6adcb4b75463bc6a.zip
Next steps onto the new WAN boot configuration environment ...
git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2897 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'boot-env')
-rw-r--r--boot-env/OpenSLX/BootEnvironment/PrebootCD.pm41
-rwxr-xr-xboot-env/preboot/http-server/user_settings.pl6
-rwxr-xr-xboot-env/preboot/preboot.sh7
-rwxr-xr-xboot-env/preboot/uclib-rootfs/init7
4 files changed, 51 insertions, 10 deletions
diff --git a/boot-env/OpenSLX/BootEnvironment/PrebootCD.pm b/boot-env/OpenSLX/BootEnvironment/PrebootCD.pm
index ae71bf8d..aaa42bf5 100644
--- a/boot-env/OpenSLX/BootEnvironment/PrebootCD.pm
+++ b/boot-env/OpenSLX/BootEnvironment/PrebootCD.pm
@@ -62,17 +62,44 @@ sub _createImage
PROMPT 0
TIMEOUT 100
DEFAULT menu.c32
- MENU TITLE Welcome to OpenSLX PreBoot ISO/CD
-
- LABEL OpenSLX
- MENU LABEL OpenSLX PreBoot Environment (Mini Linux/Kexec)
- SAY Now loading OpenSLX preboot environment ...
+ MENU TITLE Welcome to OpenSLX PreBoot ISO/CD (Mini Linux/Kexec)
+ LABEL SLXSTDBOOT
+ MENU LABEL OpenSLX PreBoot - Direct Boot / Direct Start
+ MENU DEFAULT
KERNEL vmlinuz
- APPEND initrd=initramfs debug=3 vga=0x317
+ APPEND initrd=initramfs vga=0x317
TEXT HELP
- Your chance to edit the kernel commandline by hitting the
+ 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
+ LABEL SLXKIOSKBOOT
+ MENU LABEL OpenSLX PreBoot - Kiosk / Direct Start
+ KERNEL vmlinuz
+ APPEND initrd=initramfs vga=0x317 type=directkiosk
+ TEXT HELP
+ Use this entry if you would like to start your machine into
+ the standard SLX kiosk. At the same time you have the chance
+ to edit the kernel commandline by hitting the TAB key ...
+ ENDTEXT
+ LABEL SLXCFGBOOT
+ MENU LABEL OpenSLX PreBoot - Client Configuration Interface
+ KERNEL vmlinuz
+ APPEND initrd=initramfs vga=0x317 type=slxconfig
+ TEXT HELP
+ Use this entry if you would like to configure/modify your
+ SLX client. At the same time you have the chance to edit
+ the kernel commandline by hitting the TAB key ...
+ ENDTEXT
+ LABEL SLXCFGKIOSK
+ MENU LABEL OpenSLX PreBoot - Kiosk Configuration Interface
+ KERNEL vmlinuz
+ APPEND initrd=initramfs vga=0x317 type=cfgkiosk
+ TEXT HELP
+ Use this entry if you would like to configure / modify your
+ OpenSLX kiosk. At the same time you have the chance to edit
+ the kernel commandline by hitting the TAB key ...
+ ENDTEXT
End-of-Here
spitFile("$imageDir/iso/isolinux/isolinux.cfg", $isolinuxConfig);
diff --git a/boot-env/preboot/http-server/user_settings.pl b/boot-env/preboot/http-server/user_settings.pl
index 3469dce0..b92027e9 100755
--- a/boot-env/preboot/http-server/user_settings.pl
+++ b/boot-env/preboot/http-server/user_settings.pl
@@ -42,8 +42,10 @@ die "must give 'system' ($system), 'client' ($client) and 'preboot_id' ($preboot
my $webPath = "$openslxConfig{'public-path'}/preboot";
my $src = "$webPath/client-config/$system/$prebootID.tgz";
my $destPath = "$webPath/$prebootID/client-config/$system";
-mkpath($destPath);
-system(qq{cp $src $destPath/$client.tgz});
+mkpath($destPath/$client);
+system(qq{tar -xz $src -C $destPath/$client/});
+system(qq{cd $destPath/$client; tar -czf $destPath/$client.tgz *});
+unlink("$destPath/$client");
print
$cgi->header(-charset => 'iso8859-1'),
diff --git a/boot-env/preboot/preboot.sh b/boot-env/preboot/preboot.sh
index b14532ed..58112306 100755
--- a/boot-env/preboot/preboot.sh
+++ b/boot-env/preboot/preboot.sh
@@ -15,6 +15,13 @@
# get configuration
. /etc/initramfs-setup
+# Switch here for several boot TYPE=fastboot/directkiosk/cfgkiosk/slxconfig
+# fastboot - no interaction use system from client config
+# directkiosk - start the default slx system into kiosk (using vmchooser)
+# cfgkiosk - offer the user changes to his kiosk system (GUI environment)
+# slxconfig - offer the user set of configuration options, like setting a non-
+# priviledged user, root password, standard gui, plugins to activate ...
+
# we expect to have a system selection dialog file in /preboot/bootmenu.dialog
while [ "x$(cat result)" = "x" ] ; do
dialog --file bootmenu.dialog 2>result
diff --git a/boot-env/preboot/uclib-rootfs/init b/boot-env/preboot/uclib-rootfs/init
index a194e5e7..7336e3ae 100755
--- a/boot-env/preboot/uclib-rootfs/init
+++ b/boot-env/preboot/uclib-rootfs/init
@@ -86,7 +86,9 @@ for mod in ${ramfs_nicmods} \
fi
done
-# read kernel commandline
+# set the default for boot type and read kernel commandline (for this and
+# other options)
+export TYPE=fastboot
read KCMDLINE </proc/cmdline
# read the system wide machine-setup and then the kernel commandline
for opts in ${KCMDLINE} ; do
@@ -99,6 +101,9 @@ for opts in ${KCMDLINE} ; do
# WLAN ssid (most probably passed that way, unused yet ...)
ssid=*)
SSID=${opts#SSID=};;
+ # Boot type (fastboot)/directkiosk/cfgkiosk/slxconfig
+ type=*)
+ TYPE=${opts#type=};;
esac
done