From db3bdeb697a06b35cce61b52d83858757e82b8ec Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Sun, 13 Jan 2008 18:19:14 +0000 Subject: reimplemented splashy stuff via Theme plugin: * activated invocation of init-hooks * removed explicit splashy calls from init (they are now done in several init-hooks provided by the Theme plugin) * the stage3 plugins are now invoked via '.' instead via a separate shell, such that they can export changed environment variables * changed invocation of initial_boot() - we now pass in the list of initscripts as otherwise I have been unable to let this function access a changed D_INITSCRIPTS variable (it would only see initial content) * moved invocation of initial_boot from servconfig to init (again such that a changed D_INITSCRIPTS will be handled correctly) * config-demuxer now passes the active plugins into mkdxsinitrd * mkdxsinitrd accepts a list of active plugins (-p) and copies the hooks directly into the initialramfs, such that they are available immediately in stage3 The bootsplash stuff (splashy) seems to work properly, but the handling of displaymanager themes is currently broken. I will look into that tomorrow. git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1472 95ad53e4-c205-0410-b2fa-d234c58c8868 --- initramfs/initrd-stuff/init | 38 ++++++-------------------------------- 1 file changed, 6 insertions(+), 32 deletions(-) (limited to 'initramfs/initrd-stuff/init') diff --git a/initramfs/initrd-stuff/init b/initramfs/initrd-stuff/init index 7cfba25b..28a98459 100755 --- a/initramfs/initrd-stuff/init +++ b/initramfs/initrd-stuff/init @@ -113,15 +113,6 @@ echo "noldap" > /tmp/ldap-done # standard path (.../tftpboot/client-config/ ...) file="yes" -# splashy stuff seems to depend on /proc/fb with VESA!? -# only activate with kernel option quiet -if grep -E "(VESA|VGA)" /proc/fb > /dev/null 2>&1 \ - && grep -qi " quiet " /proc/cmdline > /dev/null 2>&1; then - export nosplash=0 -else - export nosplash=1 -fi - # read kernel commandline read KCMDLINE < /proc/cmdline export KCMDLINE @@ -137,14 +128,12 @@ in $0\ncountry=\"${COUNTRY}\"" >> /etc/machine-setup # single token for debugging ... debug) DEBUGLEVEL=1 - nosplash=1 ;; # ... or a specified debug level debug=*) DEBUGLEVEL=${opts#debug=} [ $DEBUGLEVEL -eq 8 -o $DEBUGLEVEL -eq 20 ] && \ echo "** SLX init started near $(sysup)" - [ ${DEBUGLEVEL} != 0 ] && nosplash=1 ;; # essid for WLAN boot (experimental, might be moved to a module component # in later versions @@ -281,9 +270,6 @@ done runinithook '05-have-kernelvars' -# splashy stuff -[ ${nosplash} = 0 ] && /bin/splashy boot 2>/dev/null - # at this point a timer should be started to ensure an automated reboot # or halt of the machine if SLX init does not succeed (e.g. missing kernel # module for the network adaptor) @@ -566,9 +552,6 @@ $(sysup)" # and should be generalized for nbd, dnbd, iscsi fi -# splashy stuff -[ ${nosplash} = 0 ] && /bin/splashy_update "progress 10" 2>/dev/null - # if no type of root filesystem is passed via kernel command line try # information gathered from dhcp process (only valid for nfs) if [ -z "${bldmod}" -a -z "${bldhost}" -a -z "${nfsroot}" ] ; then @@ -637,9 +620,6 @@ if [ -n "${aufs}" ]; then fi fi -# splashy stuff -[ ${nosplash} = 0 ] && /bin/splashy_update "progress 30" 2>/dev/null - # setup of client root filesystem dependent on the availability of UnionFS if [ -n "${unionfs}" -o -n "${aufs}" ] ; then echo "Using ${union_type} for rw access" @@ -714,9 +694,6 @@ fi runinithook '50-have-layered-fs' -# splashy stuff -[ ${nosplash} = 0 ] && /bin/splashy_update "progress 50" 2>/dev/null - # script for stuff to execute during early bootup d_mkrlscript init boot.slx "Running configuration postponed from InitRamFS" echo "fs complete at $(sysup)" >/tmp/fscmpl @@ -772,9 +749,6 @@ fi runinithook '60-have-servconfig' -# splashy stuff -[ ${nosplash} = 0 ] && /bin/splashy_update "progress 80" 2>/dev/null - # wait a while for hardware setup to complete and copy stuff to stage4 waitfor /tmp/hwcfg 20000 || error "$init_errhw" [ -f /tmp/scanner-udev ] && cat /tmp/scanner-udev \ @@ -817,14 +791,17 @@ runinithook '70-before-plugins' # check for any plugin-specific runlevel scripts and run them, if found: if [ -d /initramfs/plugin-init.d ]; then for plugin_starter in /initramfs/plugin-init.d/*; do - [ $DEBUGLEVEL -gt 0 ] && \ - echo "Running plugin starter $plugin_starter ..." - /bin/sh $plugin_starter + [ $DEBUGLEVEL -gt 0 ] \ + && echo "Running plugin starter $plugin_starter ..." + . $plugin_starter done fi runinithook '80-after-plugins' +# create links for initial stage4 boot scripts +initial_boot $D_INITSCRIPTS + # post init for some distro specific postinit [ -s /initramfs/postinit.local ] && { @@ -875,8 +852,5 @@ unset BOOT_IMAGE KCMDLINE KERNEL MODPRV NWMODULES OLDPWD UDEVD_EVENT_TIMEOUT \ runinithook '99-handing-over' -# splashy stuff -[ ${nosplash} = 0 ] && /bin/splashy_update "progress 100" 2>/dev/null - # new style of pivoting (switch_root or run-init) exec /bin/switch_root -c dev/console /mnt /sbin/init || error "$init_runinit" -- cgit v1.2.3-55-g7522