summaryrefslogtreecommitdiffstats
path: root/initrd/distro-specs/ubuntu/functions-5.10
diff options
context:
space:
mode:
Diffstat (limited to 'initrd/distro-specs/ubuntu/functions-5.10')
-rw-r--r--initrd/distro-specs/ubuntu/functions-5.10224
1 files changed, 224 insertions, 0 deletions
diff --git a/initrd/distro-specs/ubuntu/functions-5.10 b/initrd/distro-specs/ubuntu/functions-5.10
new file mode 100644
index 00000000..02d696f1
--- /dev/null
+++ b/initrd/distro-specs/ubuntu/functions-5.10
@@ -0,0 +1,224 @@
+# 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>, 20-01-2006
+# Nico Dietrich
+# Felix Endres
+#
+# 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
+ echo "Linked $script"
+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/${D_INITDIR}/boot.ld
+ echo "ntpdate -s -b $ntp_servers >${LOGFILE} 2>&1 &" \
+ >>/mnt/etc/${D_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
+}
+
+# syslog service
+config_syslog () {
+if [ "x$start_syslog" = "xyes" ] ; then
+ echo >/dev/null
+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/${D_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/${D_INITDIR}/boot.ld
+}
+
+# acpi and powersave
+config_acpi () {
+ echo >/dev/null
+}
+
+# configure xdm as display manager
+config_xdm () {
+ echo >/dev/null
+}
+
+# configure gdm as display manager
+config_gdm () {
+ echo >/dev/null
+}
+
+# configure kdm as display manager
+config_kdm () {
+ echo >/dev/null
+}
+
+# configure hal, dbus, resmgr and services like that
+config_dreshal () {
+if [ "x$start_dreshal" = "xyes" ]; then
+ echo >/dev/null
+fi
+}
+
+# initialize boot.ld - skript to be executed during early system startup
+# (before most of the normal boot init scripts)
+# this script should operate like a normal runlevel script (fixme!!)
+d_mkbootld () {
+case "$1" in
+ init)
+ echo -e "#!/bin/sh\n# skeleton of /etc/${D_INITDIR}/boot.ld written \
+from $0" >/mnt/etc/${D_INITDIR}/boot.ld
+ echo -e '\n\ncase "$1" in\n start)' \
+ >>/mnt/etc/${D_INITDIR}/boot.ld
+ echo -e '\techo -n "Running post configuration required by initrd"' \
+ >>/mnt/etc/${D_INITDIR}/boot.ld
+ chmod u+x /mnt/etc/${D_INITDIR}/boot.ld
+ ;;
+ close)
+ echo -e "\t;;\n stop)\n\t;;\nesac\nexit 0" \
+ >>/mnt/etc/${D_INITDIR}/boot.ld
+
+ ;;
+esac
+}