summaryrefslogtreecommitdiffstats
path: root/initrd/distro-specs
diff options
context:
space:
mode:
authorNico Dietrich2006-01-12 18:44:55 +0100
committerNico Dietrich2006-01-12 18:44:55 +0100
commit6e7ef11152c910101d66d10b418d1b27f566ec3a (patch)
treead5e4b53e28ddf8bb8b5015b60e9f3f41a8783f3 /initrd/distro-specs
downloadcore-6e7ef11152c910101d66d10b418d1b27f566ec3a.tar.gz
core-6e7ef11152c910101d66d10b418d1b27f566ec3a.tar.xz
core-6e7ef11152c910101d66d10b418d1b27f566ec3a.zip
Ersteinstellung von ld v4 ins SVN
git-svn-id: http://svn.openslx.org/svn/openslx/dxs/ld4@11 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initrd/distro-specs')
-rw-r--r--initrd/distro-specs/debian/config40
-rw-r--r--initrd/distro-specs/debian/servconf19
-rw-r--r--initrd/distro-specs/gentoo/config38
-rw-r--r--initrd/distro-specs/gentoo/servconf19
-rw-r--r--initrd/distro-specs/servconf26
-rw-r--r--initrd/distro-specs/suse-10.0/.servconf.swpbin0 -> 12288 bytes
-rw-r--r--initrd/distro-specs/suse-10.0/config47
-rwxr-xr-xinitrd/distro-specs/suse-10.0/files/etc/init.d/boot293
-rwxr-xr-xinitrd/distro-specs/suse-10.0/files/etc/init.d/halt90
-rw-r--r--initrd/distro-specs/suse-10.0/functions-suse-10.0161
10 files changed, 733 insertions, 0 deletions
diff --git a/initrd/distro-specs/debian/config b/initrd/distro-specs/debian/config
new file mode 100644
index 00000000..ca2bb2aa
--- /dev/null
+++ b/initrd/distro-specs/debian/config
@@ -0,0 +1,40 @@
+# Description: distro specific settings for Debian/Sarge
+#
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 06-01-2006
+#
+# Copyright: (c) 2003, 2005 - RZ Universitaet Freiburg
+
+# SYSCONFDIR - system wide configuration settings - /etc/sysconfig in SuSE
+# and RedHat, /etc/default in Debian and Ubuntu
+# DISETCEXCL - list of files, wildcards to be excluded from /etc when using
+# bind mounts
+# DIRINBINDMNT - lists of directories to be created in bind mounted rw
+# part of the client filesystem
+# RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on
+# TempFS usage
+# DISDIRINDXS - directories in client filesystem which should be present
+# anyhow
+# DISBINDMNT - any code which is specific in bind mount environment
+# RCDIRS - runlevel directories relative to /etc
+
+
+SYSCONFDIR=/default
+DISETCEXCL="opt/gnome/gconf/*\n*.old\n*-\n\
+*.YaST2save\netc/autoinstall\nlogrotate*\nbootloader\n*~\n\
+*.SuSEconfig.saved\npptp.d\nisdn\nyouservers\nhardware/hwcfg*\n\
+X11/xdm/pixmaps\n*.rpmsave\ndhclient.script\ninit.d/boot.d/*\n\
+init.d/rc3.d/*\ninit.d/rc5.d/*"
+BINDMPTS="tmp root home"
+DIRINBINDMNT="/var/run /var/log /var/tmp"
+RODIRSINRW="/etc/opt/gnome/gconf /etc/X11/xkb /var/adm /var/lib/texmf /var/lib/rpm"
+DISDIRINDXS="/var/X11R6/compose-cache \
+/var/run/sysconfig/tmp /var/adm /var/lib/rpm /var/lib/nobody \
+/var/lib/pam_devperm /var/lib/bluetooth \
+/var/lib/texmf /var/lib/nfs/sm \
+/var/lib/misc /var/lib/acpi /var/spool/cron \
+/var/lock/subsys/sysconfig"
+DISBINDMNT="# "
+INITDIR="/init.d"
+INITBOOTD="/rc.boot"
+RCDIRS="/rc0.d /rc1.d /rc2.d /rc3.d /rc4.d /rc5.d /rc6.d /rcS.d"
+INITSCRIPTS="boot.udev boot.proc boot.shm boot.klog boot.loadmodules boot.clock boot.localnet boot.sysctl boot.ipconfig"
diff --git a/initrd/distro-specs/debian/servconf b/initrd/distro-specs/debian/servconf
new file mode 100644
index 00000000..9e711042
--- /dev/null
+++ b/initrd/distro-specs/debian/servconf
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# Description: configuration script for Debian/Sarge to configure
+# linux diskless clients (executed within initial
+# ramdisk after genconfig)
+#
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 13-12-2005
+# Blabla
+# Blub
+#
+# Copyright: (c) 2003, 2005 - RZ Universitaet Freiburg
+#
+# Version: 0.3.5k
+
+# check for configuration files to source
+
+# ldap, dhcp, file
+
+
diff --git a/initrd/distro-specs/gentoo/config b/initrd/distro-specs/gentoo/config
new file mode 100644
index 00000000..04b3f5f2
--- /dev/null
+++ b/initrd/distro-specs/gentoo/config
@@ -0,0 +1,38 @@
+# Description: distro specific settings for Gentoo
+#
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 13-12-2005
+#
+# Copyright: (c) 2003, 2005 - RZ Universitaet Freiburg
+
+# SYSCONFDIR - system wide configuration settings in /etc - sysconfig in
+# SuSE and RedHat, default in Debian and Ubuntu, conf.d in Gentoo
+# DISETCEXCL - list of files, wildcards to be excluded from /etc when using
+# bind mounts
+# DIRINBINDMNT - lists of directories to be created in bind mounted rw
+# part of the client filesystem
+# RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on
+# TempFS usage
+# DISDIRINDXS - directories in client filesystem which should be present
+# anyhow
+# DISBINDMNT - any code which is specific in bind mount environment
+# RCDIRS - runlevel directories relative to /etc
+SYSCONFDIR=conf.d
+DISETCEXCL="opt/gnome/gconf/*\n*.old\n*-\n\
+*.YaST2save\netc/autoinstall\nlogrotate*\nbootloader\n*~\n\
+*.SuSEconfig.saved\npptp.d\nisdn\nyouservers\nhardware/hwcfg*\n\
+X11/xdm/pixmaps\n*.rpmsave\ndhclient.script\ninit.d/boot.d/*\n\
+init.d/rc3.d/*\ninit.d/rc5.d/*"
+BINDMPTS="tmp root home"
+DIRINBINDMNT="/var/run /var/log /var/tmp"
+RODIRSINRW="/var/adm /var/lib/texmf"
+DISDIRINDXS="/var/X11R6/compose-cache \
+/var/run/sysconfig/tmp /var/adm /var/lib/rpm /var/lib/nobody \
+/var/lib/pam_devperm /var/lib/bluetooth \
+/var/lib/texmf /var/lib/nfs/sm /var/lib/nfs/state \
+/var/lib/misc /var/lib/acpi /var/spool/cron \
+/var/lock/subsys/sysconfig"
+DISBINDMNT="# spielspass fuer splash"
+INITDIR="/init.d"
+INITBOOTD="/runlevels/boot"
+RCDIRS="/runlevels/default /runlevels/nonetwork /runlevels/single"
+INITSCRIPTS=""
diff --git a/initrd/distro-specs/gentoo/servconf b/initrd/distro-specs/gentoo/servconf
new file mode 100644
index 00000000..36c10d3c
--- /dev/null
+++ b/initrd/distro-specs/gentoo/servconf
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# Description: configuration script for Gentoo to configure
+# linux diskless clients (executed within initial
+# ramdisk after genconfig)
+#
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 13-12-2005
+# Blabla
+# Blub
+#
+# Copyright: (c) 2003, 2005 - RZ Universitaet Freiburg
+#
+# Version: 0.3.5k
+
+# check for configuration files to source
+
+# ldap, dhcp, file
+
+
diff --git a/initrd/distro-specs/servconf b/initrd/distro-specs/servconf
new file mode 100644
index 00000000..1a5897f1
--- /dev/null
+++ b/initrd/distro-specs/servconf
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# Description: universal (distro independent) configuration script
+# for linux diskless clients (executed within initial
+# ramdisk)
+#
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 06-01-2006
+# Blabla
+# Blub
+#
+# Copyright: (c) 2003, 2005 - RZ Universitaet Freiburg
+#
+# Version: 0.0.1a
+
+# check for configuration files to source
+
+# functions common for all distros
+. /etc/functions
+# configuration settings (several file and directory variables)
+. /etc/sysconfig/config
+
+#
+
+# ldap, dhcp, file
+
+
diff --git a/initrd/distro-specs/suse-10.0/.servconf.swp b/initrd/distro-specs/suse-10.0/.servconf.swp
new file mode 100644
index 00000000..2452cd37
--- /dev/null
+++ b/initrd/distro-specs/suse-10.0/.servconf.swp
Binary files differ
diff --git a/initrd/distro-specs/suse-10.0/config b/initrd/distro-specs/suse-10.0/config
new file mode 100644
index 00000000..f0f99b4b
--- /dev/null
+++ b/initrd/distro-specs/suse-10.0/config
@@ -0,0 +1,47 @@
+# Description: distro specific settings for SuSE 10.0
+#
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 06-01-2006
+#
+# Copyright: (c) 2003, 2005 - RZ Universitaet Freiburg
+
+
+# SYSCONFDIR - system wide configuration settings - /etc/sysconfig in SuSE
+# and RedHat, /etc/default in Debian and Ubuntu
+# DISETCEXCL - list of files, wildcards to be excluded from /etc when using
+# bind mounts
+# DIRINBINDMNT - lists of directories to be created in bind mounted rw
+# part of the client filesystem
+# RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on
+# TempFS usage
+# DISDIRINDXS - directories in client filesystem which should be present
+# anyhow
+# DISBINDMNT - any code which is specific in bind mount environment
+# RCDIRS - runlevel directories relative to /etc
+# XF86CONFFILE - name and location of XFree/Xorg config file, e.g.
+# /etc/X11/xorg.conf or /etc/X11/XF86config, ...
+# XFONTPATH - path(es) where X11 fonts are installed (with trailing /*)
+# DEFAULTCOUNTRY - localization (see common functions)
+
+SYSCONFDIR=/sysconfig
+DISETCEXCL="opt/gnome/gconf/*\n*.old\n*-\n*.rpmorig\n*.rpmnew\n\
+*.YaST2save\netc/autoinstall\nlogrotate*\nbootloader\n*~\n\
+*.SuSEconfig.saved\npptp.d\nisdn\nyouservers\nhardware/hwcfg*\n\
+X11/xdm/pixmaps\n*.rpmsave\ndhclient*script\ninit.d/boot.d/*\n\
+init.d/rc3.d/*\ninit.d/rc5.d/*\nX11/xorg.conf*\n"
+BINDMPTS="tmp root media home"
+DIRINBINDMNT="/var/run /var/log /var/tmp"
+RODIRSINRW="/etc/opt/gnome/gconf /etc/X11/xkb /var/adm /var/lib/texmf /var/lib/rpm"
+DISDIRINDXS="/var/X11R6/compose-cache \
+/var/run/sysconfig/tmp /var/adm /var/lib/rpm /var/lib/nobody \
+/var/lib/pam_devperm /var/lib/bluetooth \
+/var/lib/texmf /var/lib/nfs/sm \
+/var/lib/misc /var/lib/acpi /var/spool/cron \
+/var/lock/subsys/sysconfig"
+DISBINDMNT="# spielspass fuer splash"
+INITDIR="/init.d"
+INITBOOTD="${INITDIR}/boot.d"
+RCDIRS="/init.d/rc0.d /init.d/rc1.d /init.d/rc2.d /init.d/rc3.d /init.d/rc4.d /init.d/rc5.d /init.d/rc6.d /init.d/rcS.d"
+INITSCRIPTS="boot.udev boot.proc boot.shm boot.klog boot.loadmodules boot.clock boot.sysctl boot.ipconfig"
+XF86CONFFILE="/etc/X11/xorg.conf"
+XFONTPATH="/usr/X11R6/lib/X11/fonts/*"
+DEFAULTCOUNTRY="de"
diff --git a/initrd/distro-specs/suse-10.0/files/etc/init.d/boot b/initrd/distro-specs/suse-10.0/files/etc/init.d/boot
new file mode 100755
index 00000000..6db53181
--- /dev/null
+++ b/initrd/distro-specs/suse-10.0/files/etc/init.d/boot
@@ -0,0 +1,293 @@
+#!/bin/sh
+#
+# Description: Modificated /etc/init.d/boot for use with Diskless
+# X Stations (v4.0) -> replaces /etc/init.d/boot
+# simply copied over the original file in initrd
+#
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 08-01-2006
+# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg
+#
+# Version: 0.0.2b
+#
+# Some parts taken from /etc/init.d/boot by
+#
+# Copyright (c) 1996-2004 SuSE Linux AG, Nuernberg, Germany.
+# All rights reserved.
+#
+# Author: Ruediger Oertel <ro@suse.de>, 1996-2002
+# Werner Fink <werner@suse.de>, 1996-2003
+# Burchard Steinbild, 1996-2000
+# Florian La Roche, 1996
+#
+# first script to be executed from init on system startup
+#
+# Most of preparation is done within the initial ramdisk
+#
+################################################################
+LD_LIBRARY_PATH=/usr/lib
+
+# Before we do anything else, try at first to activate SELinux support
+test -d /selinux && mount -n -t selinuxfs none /selinux &>/dev/null
+
+# Configuration and coloring of the boot messages
+. /etc/rc.status
+. /etc/sysconfig/boot
+. /etc/sysconfig/logfile
+
+# Avoid be interrupted by child or keyboard
+trap "echo" SIGINT SIGSEGV SIGQUIT
+set +e
+
+# reasonable start values for bootsplash progress
+export progress=0
+export sscripts=45
+export kscripts=45
+
+echo -n "System Boot Control: "
+echo "Running $0"
+
+################################################################
+#
+
+# some important (un)mounts
+rc_reset
+echo -n "Mounting /proc, /sys and /dev/pts filesystems"
+# file /etc/fstab in some scenarios not available
+mount -n -t proc proc /proc &>/dev/null
+rc_status -v -r
+
+echo -n "Mounting /dev/pts"
+mount -t devpts -o mode=0620,gid=5 devpts /dev/pts
+rc_status -v -r
+if [ -d /sys ] ; then
+ while read a b c ; do
+ case "$b" in
+ sysfs)
+ echo -n "Mounting /sys filesystem"
+ echo -e "sysfs\t\t/sys\t\tsysfs\t\trw\t\t 0 0\n" \
+ >>/etc/fstab
+ mount -t sysfs sysfs /sys
+ rc_status -v -r
+ break
+ ;;
+ esac
+ done < /proc/filesystems
+fi
+
+# script stuff written within initrd
+if [ -s /etc/init.d/boot.ld ] ; then
+ rc_reset
+ echo -n "Running post configuration required by initrd"
+ chmod u+x /etc/init.d/boot.ld && /etc/init.d/boot.ld
+ rc_status -v -r
+fi
+# Start blogd, requires /proc and /dev/pts.
+# Export the real device in variable REDIRECT.
+test -x /sbin/blogd -a -n "$REDIRECT" && /sbin/blogd $REDIRECT
+if test -z "$REDIRECT" ; then
+ if (echo -n > /dev/tty) 2>/dev/null ; then
+ REDIRECT=/dev/tty
+ else
+ REDIRECT=/dev/console
+ fi
+fi
+
+################################################################
+#
+# Save old terminal settings and set -nl to avoid staircase
+# effect, do not lock scrolling, and avoid break characters.
+otty=$(stty -g)
+if test "$FLOW_CONTROL" = "yes" ; then
+ stty -nl ixon ignbrk -brkint
+else
+ stty -nl -ixon ignbrk -brkint
+fi
+
+################################################################
+#
+# Should we ask for interactive boot mode
+DO_CONFIRM=""
+read -t 2 check < /proc/cmdline 2> /dev/null
+case "$check" in
+ *confirm*) DO_CONFIRM=yes ;;
+esac
+test -z "$CONFIRM_PROMPT_TIMEOUT" && CONFIRM_PROMPT_TIMEOUT=5
+if test "$PROMPT_FOR_CONFIRM" = "yes" -a "$DO_CONFIRM" != "yes" ; then
+ echo -en "${extd}Enter Interactive startup mode?${norm}"
+ rc_timer_on "$CONFIRM_PROMPT_TIMEOUT" 37
+ read -t "$CONFIRM_PROMPT_TIMEOUT" -n 1 \
+ -p " ${extd}y${norm}/[${extd}n${norm}]\
+("${CONFIRM_PROMPT_TIMEOUT}s") " answer
+ rc_timer_off
+ case "$answer" in
+ [yYiI]) DO_CONFIRM=yes ;;
+ *) DO_CONFIRM= ;;
+ esac
+ unset answer
+ echo
+fi
+export DO_CONFIRM
+
+################################################################
+#
+# Common used variables
+bootrc=/etc/init.d/boot.d
+rex="[0-9][0-9]"
+failed=""
+skipped=""
+callord=""
+
+#
+# Initialize boosplash progressbar variables
+#
+. /etc/rc.splash B
+splashtrigger "rlchange B"
+
+################################################################
+#
+# Do we stop/start script in parallel?
+startpar=$(type -p startpar)
+test "$RUN_PARALLEL" = "yes" || startpar=""
+test "$DO_CONFIRM" = "yes" && startpar=""
+
+# Start bootup client scripts.
+if test -d ${bootrc}/ ; then
+ for i in ${bootrc}/S*; do
+ test -f $i || continue
+
+ B=${i##*/}
+ script=${B#*S$rex}
+ B=${B%$script}
+
+ rc_splash "$script start"
+
+ if test "$DO_CONFIRM" = "yes" ; then
+ rc_confirm -t 5 "Start bootup script ${script}" \
+ < $REDIRECT > $REDIRECT 2>&1
+ case "$?" in
+ 0) true ;;
+ 1) continue ;;
+ 2) DO_CONFIRM=""
+ esac
+ fi
+
+ if test -z "$startpar" ; then
+ blogger "$script start"
+
+ if test -x "$i" ; then
+ $i start
+ else
+ echo Running $i
+ /bin/sh $i b
+ rc_status -v1 -r
+ fi
+ status=$?
+ echo -en "$rc_reset"
+
+ case $status in
+ [1-4]) failed="${failed:+$failed }$script" ;;
+ [56]) skipped="${skipped:+$skipped }$script" ;;
+ [07]|*) ;;
+ esac
+
+ blogger "'$script start' exits with status $status"
+ else
+ # Parallel boot only for valid scripts
+ test -x $i || continue
+
+ # Current vector
+ eval cur=\${$B}
+ test -n "$cur" || callord="${callord:+$callord }$B"
+
+ # Remember scripts
+ eval $B="\${cur:+$i }\${cur:-$i}"
+ fi
+ done
+fi
+
+################################################################
+#
+# Call the scripts in correct order
+if test -n "$startpar" ; then
+ declare -i s
+ for p in $callord ; do
+ vect=$p
+ eval p=(\${$p})
+
+ blogger "run boot scripts (${p[@]##*S$rex})"
+ if test ${#p[@]} -eq 1 ; then
+ ${p} start
+ status=($?)
+ else
+ status=($($startpar -t 30 -T 3 -a start ${p[@]}))
+ fi
+ echo -en "$rc_reset"
+ blogger "exit status of (${p[@]##*S$rex}) is (${status[@]})"
+
+ s=0
+ for script in ${p[@]##*S$rex} ; do
+ case "${status[$s]}" in
+ [1-4]) failed="${failed:+$failed }$script" ;;
+ [56]) skipped="${skipped:+$skipped }$script" ;;
+ 0|*) ;;
+ esac
+ : $((s++))
+ done
+ done
+fi
+
+################################################################
+#
+# Be verbose and print stats
+echo -n "System Boot Control: "
+echo -e "The system has been ${stat}${extd}set up${norm}"
+if test -n "$failed" ; then
+ n=$((${#failed} + 7))
+ echo -n "Failed features: "
+ test $n -lt 47 && echo -en "\033[${COLUMNS}C\033[${n}D"
+ echo -e "${warn}${failed}${norm}"
+fi
+if test -n "$skipped" ; then
+ n=$((${#skipped} + 7))
+ echo -n "Skipped features: "
+ test $n -lt 47 && echo -en "\033[${COLUMNS}C\033[${n}D"
+ echo -e "${attn}${skipped}${norm}"
+fi
+
+
+################################################################
+#
+# Check for boot cycle detection
+test -s /lib/bootcycle/stats && . /lib/bootcycle/stats
+
+
+# Remember for master resource script
+if test "$DO_CONFIRM" = "yes" ; then
+ touch /var/run/do_confirm
+fi
+
+# Restore old terminal settings
+stty $otty
+
+################################################################
+#
+# Let zic set timezone - if present (from boot.ldconfig).
+if test -n "$TIMEZONE" -a -x /usr/sbin/zic ; then
+ echo -n Setting up timezone data
+ /usr/sbin/zic -l $TIMEZONE
+ rc_status -v -r
+fi
+
+################################################################
+#
+# start user defined bootup script.
+if test -f /etc/init.d/boot.local ; then
+ ECHO_RETURN=$rc_done_up
+ echo "Running /etc/init.d/boot.local"
+ /bin/sh /etc/init.d/boot.local || rc_failed
+ rc_status -v1; rc_reset
+ rc_splash "boot.local start"
+fi
+
+rc_reset
+exit 0
diff --git a/initrd/distro-specs/suse-10.0/files/etc/init.d/halt b/initrd/distro-specs/suse-10.0/files/etc/init.d/halt
new file mode 100755
index 00000000..65e5b0ad
--- /dev/null
+++ b/initrd/distro-specs/suse-10.0/files/etc/init.d/halt
@@ -0,0 +1,90 @@
+#! /bin/sh
+#
+# Description: Modificated /etc/init.d/halt for use with Diskless
+# X Stations (v4.0)
+# -> replaces /etc/init.d/halt
+#
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 13-12-2005
+# Copyright: (c) 2003, 2005 - RZ Universitaet Freiburg
+#
+# Version: 0.0.3a
+#
+# Some parts taken from /etc/init.d/halt by
+#
+# Copyright (c) 1996-2004 SuSE Linux AG, Nuernberg, Germany.
+# All rights reserved.
+
+. /etc/rc.status
+. /etc/sysconfig/clock
+. /etc/sysconfig/suseconfig
+
+#
+# Avoid being interrupted by child or keyboard
+trap "echo" SIGINT SIGSEGV SIGQUIT SIGTERM
+set +e
+
+rc_reset
+case "$0" in
+ *halt)
+ message="The system is halted."
+ command="halt"
+ modprobe -q apm &>/dev/null
+ if test -e /proc/apm -o -e /proc/acpi -o -e /proc/sys/acpi ; then
+ command="halt -p"
+ else
+ read cmdline < /proc/cmdline
+ case "$cmdline" in
+ *apm=smp-power-off*|*apm=power-off*)
+ command="halt -p" ;;
+ esac
+ fi
+ ;;
+ *reboot)
+ message="Please stand by while rebooting the system..."
+ command="reboot"
+ ;;
+ *)
+ echo "$0: call me as \"halt\" or \"reboot\" please!"
+ exit 1
+ ;;
+esac
+
+# Write to wtmp file before unmounting /var (only needed with
+# persistent mounted filesystem)
+# $command -w
+
+rc_reset
+echo "Turning off swap"
+sync ; sync
+swapoff -a || rc_failed
+rc_status
+
+UMOUNT_FAILED=false
+rc_reset
+echo "Unmounting file systems and devices"
+for unmount in /media/* ; do
+ umount -fnt $unmount &>/dev/null
+done
+umount -fnt /tmp/scratch &>/dev/null
+eject /dev/zip &>/dev/null &
+rc_status -v1
+
+umount -anft noproc,nonfs &>/dev/null
+
+rc_reset
+# maybe we use multiple devices
+if test -f /etc/mdtab -a -x /sbin/mdadd ; then
+ echo -n "Disable Multiple Devices"
+ /sbin/mdstop -a || rc_failed
+ rc_status -v1
+fi
+
+sync
+
+# show "the system is down" message
+if test "$SPLASH" = yes ; then
+ /sbin/splash -q -p 65535 -t "isdown"
+fi
+
+echo $message
+exec $command -d -f
diff --git a/initrd/distro-specs/suse-10.0/functions-suse-10.0 b/initrd/distro-specs/suse-10.0/functions-suse-10.0
new file mode 100644
index 00000000..f6523a53
--- /dev/null
+++ b/initrd/distro-specs/suse-10.0/functions-suse-10.0
@@ -0,0 +1,161 @@
+# Description: configuration script for SuSE 10.0 to configure
+# linux diskless clients (executed within initial
+# ramdisk after genconfig)
+#
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 08-01-2006
+# Blabla
+# Blub
+#
+# Copyright: (c) 2006 - RZ Universitaet Freiburg
+#
+# Version: 0.2.1a
+
+# linking runlevel scripts
+rllinker () {
+local script="$1"
+local start="$2"
+local stop="$3"
+# empty runlevel links - decision on running certain services is
+# passed via configuration
+for i in rc3.d/K$stop$script rc5.d/K$stop$script \
+ rc3.d/S$start$script rc5.d/S$start$script ; do
+ ln -sf ../$script /mnt/etc/init.d/$i
+done
+}
+
+# group of functions for the normal runlevels - first parameter is start
+# second stop
+# function for ntp configuration
+config_ntp () {
+local start=$1
+local stop=$2
+if [ -f /mnt/etc/init.d/ntp ] ; then
+ echo -e "ntp:x:74:65534:NTP daemon:/var/lib/ntp:/bin/false" \
+ >>/mnt/etc/passwd
+ testmkd /mnt/var/lib/ntp/var/run/ntp &>/dev/null
+ if [ "x$start_ntp" = "xinitial" ] ; then
+ echo -e "# entry added by $0: $date" \
+ >>/mnt/etc/${INITDIR}/boot.ld
+ echo "ntpdate -s -b $ntp_servers >${LOGFILE} 2>&1 &" \
+ >>/mnt/etc/${INITDIR}/boot.ld
+ else
+ rllinker "ntp" "$start" "$stop"
+ fi
+fi
+}
+
+# function for atd
+config_atd () {
+if [ "x$start_atd" = "xyes" ]; then
+ rllinker "atd" "$1" "$2"
+fi
+}
+
+# function for configuration of cron services
+config_cron () {
+if [ "x$start_cron" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/cron ] ; then
+ testmkd /mnt/var/spool/cron/lastrun
+ testmkd /mnt/var/spool/cron/tabs
+ echo -e "# /etc/crontab - file generated by $0:\n\
+#\t$date\nSHELL=/bin/sh\nPATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin\
+\nMAILTO=\n-*/15 * * * *\troot\ttest -x /usr/lib/cron/run-crons && \
+/usr/lib/cron/run-crons >/dev/null 2>&1\n" >/mnt/etc/crontab
+ else
+ error " The cron start script seems not to be installed, so requesting \
+\n the start of cron services make no sense." nonfatal
+ fi
+fi
+}
+
+# secure shell service
+config_sshd () {
+if [ "x$start_sshd" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/sshd ] ; then
+ testmkd /mnt/var/lib/sshd; testmkd /mnt/var/lib/empty
+ rllinker "sshd" "$1" "$2"
+ fi
+fi
+}
+
+# snmp agent for remote monitoring
+config_snmp () {
+if [ "x$start_snmp" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/snmpd ] ; then
+ rllinker "snmpd" "$1" "$2"
+ testmkd /mnt/var/lib/net-snmp >/dev/null 2>&1
+ fi
+ # fixme!!
+ # write service monitor depending on services started
+ fi
+}
+
+# x11 stuff
+descsession () {
+if [ "x$desktop_session" != "x" ] ; then
+ windowmanagers="$desktop_session"
+ # write script for desktop-session chooser
+ if [ "x$vmware" != "xno" ] ; then
+ debug=""
+ [ ${DEBUGLEVEL} -gt 0 ] && debug="--debug 1"
+ echo -e "#!/bin/sh\n#\n# file generated by\n#\t$0:\n#\t$date\n
+OSTYPE=\`echo \$0 | sed -e \"s,-, ,\" -e \"s,.*/,,\" | awk '{print \$1}'\`
+SPECTYPE=\`echo \$0 | sed -e \"s,-, ,\" -e \"s,.*/,,\" | awk '{print \$2}'\`\n
+OPTS=\"-o \$OSTYPE \${SPECTYPE:+\"-s \$SPECTYPE\"}\"\n
+xterm -bg black -fg white -geometry 170x30+0-0 +sb \
+-e \"runvmware \$OPTS $debug\"\n" > /mnt/var/X11R6/bin/desktop-session
+ chmod a+x /mnt/var/X11R6/bin/desktop-session
+ addpath="true";
+ fi
+else
+ windowmanagers="kde,gnome,icewm,failsafe"
+fi
+# check if /usr/X11R6/bin is writeable, else use /var/X11R6/bin
+if [ -w /mnt/usr/X11R6/bin/WM-Session ] ; then
+ sesspath="/usr/X11R6/bin"
+else
+ sesspath="/var/X11R6/bin"
+ addpath="true"
+fi
+
+# create links to desktop-session chooser
+[ -f /mnt/usr/bin/X11/wmlist ] && wmlist=`cat /mnt/usr/bin/X11/wmlist`
+
+for i in `echo $windowmanagers|sed -e "s/,/ /g"` ; do
+ # beware!! quickhack for VMware sessions
+ strinstr "$i" "$wmlist" || \
+ test -x /mnt/usr/X11R6/bin/$i || \
+ echo -e "[Desktop Entry]\nX-SuSE-translate=true\nEncoding=UTF-8\n\
+Type=XSession\nExec=$i\nTryExec=$sesspath/$i\n\
+Name=$i\n" > /mnt/etc/X11/sessions/$i.desktop
+ # does not work correctly (add /var/X11R6/bin to path!!)
+ test -x /mnt/usr/X11R6/bin/$i || \
+ ln -fs /var/X11R6/bin/desktop-session /mnt/$sesspath/$i
+done
+
+# add special path /var/X11R6/bin to the PATH variable
+[ "x$addpath" != "x" ] && \
+ echo -e "# added path component by $0: $date\n\
+PATH=\"\$PATH:/var/X11R6/bin\"" >>/mnt/etc/SuSEconfig/profile
+
+}
+
+# configure display manager (runlevel links and kind of manager)
+config_dm () {
+ # should be stated that entries were made (fixmee how??)
+ sed -e "s,DISPLAYMANAGER=.*,DISPLAYMANAGER=\"$start_xdmcp\"," \
+ -e "s,.*_XSERVER.*,DISPLAYMANAGER_STARTS_XSERVER=\"$dsx\"," \
+ /mnt/etc/sysconfig/displaymanager > /etc/displaymanager
+ cp /etc/displaymanager /mnt/etc/sysconfig/displaymanager
+
+# echo -e "#!/bin/sh\n# entry added by $0: $date\n\
+#(sleep 1; /etc/init.d/xdm start) &" >>/mnt/etc/${INITDIR}/boot.ld
+ ln -sf /etc/init.d/xdm /mnt/etc/init.d/rc5.d/S01xdm
+ ln -sf /etc/init.d/xdm /mnt/etc/init.d/rc5.d/K20xdm
+}
+
+# consolefont
+consolefont () {
+echo -e "setfont ${CONSOLE_FONT} >${LOGFILE} 2>&1" \
+ >>/mnt/etc/${INITDIR}/boot.ld
+}