diff options
-rwxr-xr-x | initramfs/initrd-stuff/bin/servconfig | 6 | ||||
-rwxr-xr-x | initramfs/initrd-stuff/init | 51 | ||||
-rwxr-xr-x | initramfs/mkdxsinitrd | 70 | ||||
-rw-r--r-- | theming/openslx/bootsplash/config.xml | 12 | ||||
-rw-r--r-- | theming/openslx/bootsplash/themes/openslx/blank.ttf | 0 | ||||
-rw-r--r-- | theming/openslx/bootsplash/themes/openslx/openslx.png | bin | 0 -> 125032 bytes | |||
-rw-r--r-- | theming/openslx/bootsplash/themes/openslx/theme.xml | 138 | ||||
-rwxr-xr-x | tools/splashy | bin | 0 -> 1888220 bytes | |||
-rwxr-xr-x | tools/splashy_update | bin | 0 -> 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 Binary files differnew file mode 100644 index 00000000..1f61180c --- /dev/null +++ b/theming/openslx/bootsplash/themes/openslx/openslx.png 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 <author@mail.com></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 Binary files differnew file mode 100755 index 00000000..eceb6785 --- /dev/null +++ b/tools/splashy diff --git a/tools/splashy_update b/tools/splashy_update Binary files differnew file mode 100755 index 00000000..810de9f4 --- /dev/null +++ b/tools/splashy_update |