summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNico Dietrich2006-01-14 04:01:19 +0100
committerNico Dietrich2006-01-14 04:01:19 +0100
commit4ba0721f212525c339d867fb14bf4321fa1ad771 (patch)
tree20bfb127af59638fa6374267cf3a23d976efbbfd
parentHack: Xorg-Config Datei in hwautoconf hardkodiert (diff)
downloadcore-4ba0721f212525c339d867fb14bf4321fa1ad771.tar.gz
core-4ba0721f212525c339d867fb14bf4321fa1ad771.tar.xz
core-4ba0721f212525c339d867fb14bf4321fa1ad771.zip
was vergessen
git-svn-id: http://svn.openslx.org/svn/openslx/dxs/ld4@14 95ad53e4-c205-0410-b2fa-d234c58c8868
-rw-r--r--initrd/distro-specs/debian/functions-debian167
1 files changed, 167 insertions, 0 deletions
diff --git a/initrd/distro-specs/debian/functions-debian b/initrd/distro-specs/debian/functions-debian
new file mode 100644
index 00000000..349e6c25
--- /dev/null
+++ b/initrd/distro-specs/debian/functions-debian
@@ -0,0 +1,167 @@
+# 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
+
+# distro specific stuff to initialize
+preinit () {
+ echo "dhcp:x:101:">>/etc/group
+ echo "dhcp:x:101:101::/nonexistent:/bin/false">>/etc/passwd
+}
+
+# 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
+}