summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xinitramfs/initrd-stuff/bin/servconfig6
-rwxr-xr-xinitramfs/initrd-stuff/init51
-rwxr-xr-xinitramfs/mkdxsinitrd70
-rw-r--r--theming/openslx/bootsplash/config.xml12
-rw-r--r--theming/openslx/bootsplash/themes/openslx/blank.ttf0
-rw-r--r--theming/openslx/bootsplash/themes/openslx/openslx.pngbin0 -> 125032 bytes
-rw-r--r--theming/openslx/bootsplash/themes/openslx/theme.xml138
-rwxr-xr-xtools/splashybin0 -> 1888220 bytes
-rwxr-xr-xtools/splashy_updatebin0 -> 4320 bytes
9 files changed, 231 insertions, 46 deletions
diff --git a/initramfs/initrd-stuff/bin/servconfig b/initramfs/initrd-stuff/bin/servconfig
index 973ce388..a5f100c1 100755
--- a/initramfs/initrd-stuff/bin/servconfig
+++ b/initramfs/initrd-stuff/bin/servconfig
@@ -431,8 +431,10 @@ fi
#############################################################################
# theming
testmkd /mnt/var/lib/openslx/themes/displaymanager
-cp -a /usr/share/themes/displaymanager /usr/share/themes/Xdialog \
- /usr/share/themes/bootsplash /mnt/var/lib/openslx/themes >/dev/null 2>&1
+[ -d /usr/share/themes/displaymanager ] && \
+ cp -a /usr/share/themes/displaymanager mnt/var/lib/openslx/themes
+[ -d /etc/splashy ] && ( cp -a /etc/splashy /mnt/etc; \
+ cp -a /bin/splashy* /var/lib/openslx/bin )
#############################################################################
# preparation of /tmp directory (partition 44, nfs scratch, ramdisk). there
diff --git a/initramfs/initrd-stuff/init b/initramfs/initrd-stuff/init
index f1f99770..0cb53fb1 100755
--- a/initramfs/initrd-stuff/init
+++ b/initramfs/initrd-stuff/init
@@ -110,6 +110,9 @@ echo "noldap" > /tmp/ldap-done
# standard path (.../tftpboot/client-config/ ...)
file="yes"
+# splashy stuff
+nosplash=0
+
# read kernel commandline
read KCMDLINE < /proc/cmdline
export KCMDLINE
@@ -261,8 +264,15 @@ $0\n# deprecated: please use rootfs=nfs://...\nnfsroot=\"${nfsroot}\"\n" \
vci=${opts#vci=};;
xenbr)
xenbr=1;;
+ # splashy stuff
+ nosplash)
+ nosplash=1;;
esac
done
+
+# splashy stuff
+[ ${DEBUGLEVEL} = 0 -a ${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)
@@ -543,6 +553,10 @@ $(sysup)"
# and should be generalized for nbd, dnbd, iscsi
fi
+# splashy stuff
+[ ${DEBUGLEVEL} = 0 -a ${nosplash} = 0 ] \
+ && /bin/splashy_update "progress 20" 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
@@ -606,6 +620,11 @@ if [ -n "${aufs}" ]; then
modprobe ${MODPRV} -n unionfs && error $init_noaufs_butufs
fi
fi
+
+# splashy stuff
+[ ${DEBUGLEVEL} = 0 -a ${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"
@@ -677,6 +696,11 @@ elif [ -z "${cowloop}" ] ; then
#rm -rf /root/* >/dev/null 2>&1
# run some specific stuff !?
fi
+
+# splashy stuff
+[ ${DEBUGLEVEL} = 0 -a ${nosplash} = 0 ] \
+ && /bin/splashy_update "progress 40" 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
@@ -696,6 +720,10 @@ else
servconfig &
fi
+# splashy stuff
+[ ${DEBUGLEVEL} = 0 -a ${nosplash} = 0 ] \
+ && /bin/splashy_update "progress 50" 2>/dev/null
+
for path in @@@COMDIRINDXS@@@ ${D_DIRINDXS} ${D_DIRINBINDMNT} ; do
testmkd /mnt/${path}
done
@@ -717,6 +745,10 @@ proc\t\t/proc\t\tproc\t\tdefaults\t 0 0\ninitramdevs\t/dev\t\ttmpfs\
echo -e "rootfs / rootfs rw 0 0\ninitramdevs /dev tmpfs rw\
0 0" > /mnt/etc/mtab
+# splashy stuff
+[ ${DEBUGLEVEL} = 0 -a ${nosplash} = 0 ] \
+ && /bin/splashy_update "progress 60" 2>/dev/null
+
# copy library cache if generated
if [ -n "${ldsc}" ] ; then
# creating library cache takes a while ...
@@ -771,6 +803,10 @@ if [ -d /initramfs/plugin-init.d ]; then
done
fi
+# splashy stuff
+[ ${DEBUGLEVEL} = 0 -a ${nosplash} = 0 ] \
+ && /bin/splashy_update "progress 70" 2>/dev/null
+
# post init for some distro specific
postinit
[ -s /initramfs/postinit.local ] && {
@@ -791,6 +827,10 @@ for ticks in 0 1 2 5 10 20 30; do
error "$init_wait" nonfatal
done
+# splashy stuff
+[ ${DEBUGLEVEL} = 0 -a ${nosplash} = 0 ] \
+ && /bin/splashy_update "progress 80" 2>/dev/null
+
mount 2>/dev/null | grep /lib/modules/${KERNEL} >/dev/null 2>&1 \
&& error "$init_errumnt"
# check for inittab file (might fail for new style init -> upstart)
@@ -806,6 +846,10 @@ umount -n /proc/bus/usb >/dev/null 2>&1
chmod 1777 /mnt/dev/shm /mnt/tmp /mnt/tmp/scratch 2>/dev/null
mount -n --move /dev /mnt/dev
+# splashy stuff
+[ ${DEBUGLEVEL} = 0 -a ${nosplash} = 0 ] \
+ && /bin/splashy_update "progress 90" 2>/dev/null
+
# kill hwautocfg, servconfig
killall -9 hwautocfg servconfig 2>/mnt/dev/null
# runtimer
@@ -818,5 +862,12 @@ umount -n /proc
unset client debug date initrd ip bldroot nfsroot rootfs ticks vci vga
unset BOOT_IMAGE KCMDLINE KERNEL MODPRV NWMODULES OLDPWD UDEVD_EVENT_TIMEOUT \
SLXVERSION UDEVD_EXPECTED_SEQNUM PATH
+
+# splashy stuff
+[ ${DEBUGLEVEL} = 0 -a ${nosplash} = 0 ] \
+ && /bin/splashy_update "progress 100" 2>/dev/null
+[ ${DEBUGLEVEL} = 0 -a ${nosplash} = 0 ] \
+ && /bin/splashy_update exit 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"
diff --git a/initramfs/mkdxsinitrd b/initramfs/mkdxsinitrd
index dde6a5f4..1aa5a6e0 100755
--- a/initramfs/mkdxsinitrd
+++ b/initramfs/mkdxsinitrd
@@ -256,60 +256,42 @@ goto_script_dir()
}
-# add a bootsplash image to the initial ramdisk, only SuSE at the moment
# theming
+# add a bootsplash image to the initial ramdisk
+# add a displaymanager theme to use
add_theme() {
theme="${theme}"
-splashsizes="640x480 800x600 1024x768 1280x1024 1400x1050 1600x1200"
-splash_image=
-splash_bin=$(chroot $ROOTDIR which splash)
-themes_dir="${SLX_SHARE_PATH}/themes/openslx/bootsplash"
+themes_dir="${SLX_SHARE_PATH}/themes/openslx"
+if [ -d "${SLX_SHARE_PATH}/themes/${theme}" ]; then
+ themes_dir="${SLX_SHARE_PATH}/themes/${theme}"
+fi
+echo -e "\n\tUsing ${themes_dir} for themes."
+
+echo -e "\tBootsplash theme found:\c"
if [ -d "${SLX_SHARE_PATH}/themes/${theme}/bootsplash" ]; then
- themes_dir="${SLX_SHARE_PATH}/themes/${theme}/bootsplash"
-elif [ -d "$ROOTDIR/etc/bootsplash/themes/${theme}" ]; then
- themes_dir="/etc/bootsplash/themes/${theme}"
-elif [ -d "$ROOTDIR/usr/share/splash/themes/${theme}" ]; then
- themes_dir="/usr/share/splash/themes/${theme}"
+ echo -e "\t\tyes"
+ cp -a ${SLX_SHARE_PATH}/splashy/* ${INSTDIR}/bin
+ mkdir -p ${INSTDIR}/etc/splashy
+ cp -a ${themes_dir}/bootsplash/* ${INSTDIR}/etc/splashy
+ any_themes=1
+else echo -e "\tno"
fi
-#fixme: very ugly ;) shouldn't do anything in $ROOTDIR/tmp
-mkdir -p $ROOTDIR/tmp/bootsplash
-cp -a $themes_dir/* $ROOTDIR/tmp/bootsplash
-themes=${themes_dir%bootsplash}
-echo -e "\n\tUsing ${themes} for themes.\n"
-themes_dir=$ROOTDIR/tmp/bootsplash
-
-if [ -n "$splashsizes" -a -n "$splash_bin" ]; then
- if [ -n "$themes_dir" -a \
- -d "$themes_dir" -o -L "$themes_dir" ]; then
- for size in $splashsizes; do
- bootsplash_picture="$themes_dir/images/bootsplash-$size.jpg"
- cfgname="$themes_dir/config/bootsplash-$size.cfg"
- if [ ! -r $cfgname ] ; then
- echo " disabled for resolution $size "
- elif [ ! -r $bootsplash_picture ] ; then
- echo " no image for resolution $size "
- else
- echo -n "${splash_image:+, }$THEME ($size)"
- splash_image=" $splash_image ${cfgname#$ROOTDIR} "
- fi
- done
- echo
- else
- echo "no theme selected"
- fi
+echo -e "\tDisplaymanager theme found:\c"
+if [ -d "${SLX_SHARE_PATH}/themes/${theme}/displaymanager" ]; then
+ echo -e "\tyes"
+ cp -a ${themes_dir}/displaymanager ${INSTDIR}/usr/share/themes
+ any_themes=1
+else echo -e "\tno"
fi
-# Include bootsplash image
-for image in $splash_image; do
- # fixme: ugly hack to have the splash binary
- chroot $ROOTDIR $splash_bin -s -f $image >> ${INSTDIR}/bootsplash
-done
+if [ -z ${any_themes} ]; then
+ echo -e "Neither bootsplash nor displaymanager theme found in"
+ echo -e "\t${themes_dir}"
+fi
-rm -rf $ROOTDIR/tmp/bootsplash
-# kdm/Xdialog theme
-cp -a ${themes}* ${INSTDIR}/usr/share/themes
+echo
}
diff --git a/theming/openslx/bootsplash/config.xml b/theming/openslx/bootsplash/config.xml
new file mode 100644
index 00000000..16080a07
--- /dev/null
+++ b/theming/openslx/bootsplash/config.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Automatically generated by splashy_config. Do not edit -->
+<splashy>
+ <!-- themes directory: conventional path /etc/splashy/themes -->
+ <themes>/etc/splashy/themes</themes>
+ <!-- current theme could be relative the themes defined above or full path -->
+ <current_theme>openslx</current_theme>
+ <!-- full path to theme to fall back in case of problems. DO NOT CHANGE -->
+ <default_theme>/etc/splashy/themes/openslx</default_theme>
+ <pid>/etc/splashy/splashy.pid</pid>
+ <fifo>/dev/.initramfs/splashy.fifo</fifo>
+</splashy>
diff --git a/theming/openslx/bootsplash/themes/openslx/blank.ttf b/theming/openslx/bootsplash/themes/openslx/blank.ttf
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/theming/openslx/bootsplash/themes/openslx/blank.ttf
diff --git a/theming/openslx/bootsplash/themes/openslx/openslx.png b/theming/openslx/bootsplash/themes/openslx/openslx.png
new file mode 100644
index 00000000..1f61180c
--- /dev/null
+++ b/theming/openslx/bootsplash/themes/openslx/openslx.png
Binary files differ
diff --git a/theming/openslx/bootsplash/themes/openslx/theme.xml b/theming/openslx/bootsplash/themes/openslx/theme.xml
new file mode 100644
index 00000000..6b78ba67
--- /dev/null
+++ b/theming/openslx/bootsplash/themes/openslx/theme.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Automatically generated by splashy_config. Do not edit -->
+<splashy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://splashy.alioth.debian.org/schemas/1.1/themes.xsd">
+ <info>
+ <!-- theme name is case sensitive. use directory name -->
+ <name>openslx</name>
+ <version>0.1</version>
+ <description>...</description>
+ <urls>http://</urls>
+ <author>Author &lt;author@mail.com&gt;</author>
+ </info>
+ <progressbar>
+ <!-- here are tags to set the bar... x coordinate,
+ y coordinate, width and height are for the progress bar.
+ Remember that x, y, width and height are expressed in percentage -->
+ <dimension>
+ <x>5</x>
+ <y>95</y>
+ <width>90</width>
+ <height>1</height>
+ </dimension>
+ <!-- here you can set the color of the progressbar...
+ set the amount of red, green, blue and alpha channel.
+ Remember that the max value is 255 and the minumun value is 0-->
+ <color>
+ <red>255</red>
+ <green>139</green>
+ <blue>0</blue>
+ <alpha>0</alpha>
+ </color>
+ <!-- whether or not you want a border around the progressbar. default: no -->
+ <border>
+ <enable>no</enable>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ <alpha>0</alpha>
+ </color>
+ </border>
+ <!-- here you can set the color of the progressbar background
+ set the amount of red, green, blue and alpha channel.
+ Remember that the max value is 255 and the minumun value is 0-->
+ <background>
+ <color>
+ <red>62</red>
+ <green>93</green>
+ <blue>114</blue>
+ <alpha>0</alpha>
+ </color>
+ </background>
+ <direction>
+ <boot>forward</boot>
+ <shutdown>backward</shutdown>
+ <resume>forward</resume>
+ <suspend>backward</suspend>
+ </direction>
+ <visibility>
+ <boot>yes</boot>
+ <shutdown>yes</shutdown>
+ <resume>yes</resume>
+ <suspend>yes</suspend>
+ </visibility>
+ </progressbar>
+ <!-- conventional path: /etc/splashy/themes + theme-name -->
+ <background>
+ <boot>openslx.png</boot>
+ <shutdown>openslx.png</shutdown>
+ <resume>openslx.png</resume>
+ <suspend>openslx.png</suspend>
+ <errorimg>openslx.png</errorimg>
+ <!-- resolution of the images. this value affects where
+ the progressbar will be drawn. If VALUE <= 0, then percentages
+ of the screen width and hight will be assumed -->
+ <dimension>
+ <!-- NOTE: x and y are not used by splashy -->
+ <x>0</x>
+ <y>0</y>
+ <width>0</width>
+ <height>0</height>
+ </dimension>
+ </background>
+ <textbox>
+ <!-- whether you want the textbox always
+ shown or no. If no, it will be shown only on error,
+ see autoverboseonerror -->
+ <enable>no</enable>
+ <!-- here are tags to set the text area... x coordinate,
+ y coordinate, width and height are for the text area.
+ Remember that x, y, width and height are expressed in percentage
+ or pixel units -->
+ <dimension>
+ <x>24</x>
+ <y>45</y>
+ <width>71</width>
+ <height>45</height>
+ </dimension>
+ <!-- here you can set the color of the text area...
+ set the amount of red, green, blue and alpha channel.
+ Remember that the max value is 255 and the minumun value is 0-->
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ <alpha>10</alpha>
+ </color>
+ <!-- whether or not you want a border around the progressbar. default: no -->
+ <border>
+ <enable>no</enable>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ <alpha>0</alpha>
+ </color>
+ </border>
+ <text>
+ <!-- font file to use, path relative to theme -->
+ <font>
+ <file>blank.ttf</file>
+ <height>2</height>
+ </font>
+ <!-- here you can set the color of the text/font...
+ set the amount of red, green, blue and alpha channel.
+ Remember that the max value is 255 and the minumun value is 0-->
+ <color>
+ <red>62</red>
+ <green>93</green>
+ <blue>114</blue>
+ <alpha>0</alpha>
+ </color>
+ </text>
+ </textbox>
+ <autoverboseonerror>no</autoverboseonerror>
+ <fadein>no</fadein>
+ <fadeout>no</fadeout>
+</splashy>
diff --git a/tools/splashy b/tools/splashy
new file mode 100755
index 00000000..eceb6785
--- /dev/null
+++ b/tools/splashy
Binary files differ
diff --git a/tools/splashy_update b/tools/splashy_update
new file mode 100755
index 00000000..810de9f4
--- /dev/null
+++ b/tools/splashy_update
Binary files differ