summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNico Dietrich2006-01-26 05:21:38 +0100
committerNico Dietrich2006-01-26 05:21:38 +0100
commit3ae9f38ee84cfd1b9fb8f00232b186e7e932ebb0 (patch)
treebaa771a267ca1ddb0f38d260dc0e74d622cd6d32
parentweiter und svn-chaos beseitigen (diff)
downloadcore-3ae9f38ee84cfd1b9fb8f00232b186e7e932ebb0.tar.gz
core-3ae9f38ee84cfd1b9fb8f00232b186e7e932ebb0.tar.xz
core-3ae9f38ee84cfd1b9fb8f00232b186e7e932ebb0.zip
acpi fuer 9.3 angepasst
git-svn-id: http://svn.openslx.org/svn/openslx/dxs/ld4@37 95ad53e4-c205-0410-b2fa-d234c58c8868
-rw-r--r--initrd/distro-specs/suse/functions-9.3377
1 files changed, 377 insertions, 0 deletions
diff --git a/initrd/distro-specs/suse/functions-9.3 b/initrd/distro-specs/suse/functions-9.3
new file mode 100644
index 00000000..4c585096
--- /dev/null
+++ b/initrd/distro-specs/suse/functions-9.3
@@ -0,0 +1,377 @@
+# Description: configuration script for SuSE 10.0 to configure
+# linux diskless clients (included by init, hwautocfg,
+# servconfig, ... within initial ramdisk after inclusion
+# of the main functions file)
+#
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 20-01-2006
+# Blabla
+# Blub
+#
+# Copyright: (c) 2006 - RZ Universitaet Freiburg
+#
+# Version: 0.2.1a
+
+# distro specific stuff to initialize
+preinit () {
+ # do nothing yet
+ echo > /dev/null
+}
+
+# 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
+ strinfile "ntp:" /mnt/etc/passwd || \
+ 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 "\t# entry added by $0: $date" \
+ >>/mnt/etc/${D_INITDIR}/boot.ld
+ echo -e "\tntpdate -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
+ if [ -f /mnt/etc/init.d/syslog ] ; then
+ # how to configure remote log server?
+ # logging servers might be specified in $log_servers (from e.g. dhcp)
+ echo -e "# File modified by $0 within initial ramdisk" \
+ > /etc/syslog-ng.conf
+ sed -e "s,.*dhcp/dev.*,," -e "s,.*named/dev.*,," \
+ /mnt/etc/syslog-ng/syslog-ng.conf >> /etc/syslog-ng.conf
+ cp /etc/syslog-ng.conf /mnt/etc/syslog-ng/syslog-ng.conf
+ rllinker syslog "$1" "$2"
+ 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`
+testmkd /mnt/etc/X11/sessions
+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 X display manager (/etc/sysconfig/displaymanager)
+config_dm_entry () {
+local dm="$1"
+# should be stated that entries were made (fixmee how??)
+sed -e "s,DISPLAYMANAGER=.*,DISPLAYMANAGER=\"$start_xdmcp\"," \
+ -e "s,.*_XSERVER.*,DISPLAYMANAGER_STARTS_XSERVER=\"$dm\"," \
+ /mnt/etc/sysconfig/displaymanager > /etc/displaymanager
+cp /etc/displaymanager /mnt/etc/sysconfig/displaymanager
+# start the display manager as early as possible
+ln -sf /etc/init.d/xdm /mnt/etc/init.d/boot.d/S12boot.xdm
+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
+}
+
+# configure X display manager (runlevel links and kind of manager)
+config_xdm () {
+config_dm_entry yes
+}
+
+# configure gdm as display manager
+config_gdm () {
+config_dm_entry yes
+testmkd /mnt/var/lib/gdm
+strinfile "gdm:" /mnt/etc/passwd || echo "gdm:x:50:15:Gnome Display Manager \
+Daemon:/var/lib/gdm:/bin/false" >>/mnt/etc/passwd
+# hack - gdm should be user 50 and shadow group 15
+chown 50:15 /mnt/var/lib/gdm
+chmod 0750 /mnt/var/lib/gdm
+xdmcp_hosts=`echo $x_display_manager|sed -e "s; ;,;"`
+if [ "${DEBUGLEVEL}" -gt 0 ] ; then
+ debug="true"
+else
+ debug="false"
+fi
+echo -e "# /etc/opt/gnome/gdm/gdm.conf - file generated by $0\n\
+[daemon]
+AutomaticLoginEnable=false
+TimedLoginEnable=false
+#AlwaysRestartServer=false
+Chooser=/opt/gnome/lib/gdm/gdmchooser
+Greeter=/opt/gnome/lib/gdm/gdmgreeter
+RemoteGreeter=/opt/gnome/lib/gdm/gdmgreeter
+DefaultPath=/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/bin:\
+/opt/gnome/bin:/opt/kde3/bin:/opt/kde/bin:/usr/openwin/bin
+RootPath=/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/local/bin:/usr/bin:\
+/usr/X11R6/bin:/bin:/usr/games:/opt/bin:/opt/gnome/bin:/opt/kde3/bin:\
+/opt/kde/bin:/usr/openwin/bin:/opt/cross/bin
+User=gdm
+Group=shadow
+#KillInitClients=true
+LogDir=/var/lib/gdm
+ServAuthDir=/var/lib/gdm
+PostLoginScriptDir=/etc/opt/gnome/gdm/PostLogin/
+PreSessionScriptDir=/etc/opt/gnome/gdm/PreSession/
+PostSessionScriptDir=/etc/opt/gnome/gdm/PostSession/
+DisplayInitDir=/etc/opt/gnome/gdm/Init
+XKeepsCrashing=/etc/opt/gnome/gdm/XKeepsCrashing
+RebootCommand=/sbin/shutdown -r now
+HaltCommand=/sbin/shutdown -h now
+SuspendCommand=/usr/bin/powersave --suspend-to-disk
+BaseXsession=/etc/opt/gnome/gdm/Xsession
+SessionDesktopDir=/usr/share/xsessions/:/etc/X11/sessions/:\
+/etc/opt/gnome/dm/Sessions/:/opt/gnome/share/gdm/BuiltInSessions/
+BaseXsession=/etc/opt/gnome/gdm/Xsession
+SessionDesktopDir=/usr/share/xsessions/:/etc/opt/gnome/dm/Sessions/:\
+/opt/gnome/share/gdm/BuiltInSessions/
+UserAuthFBDir=/tmp
+UserAuthFile=.Xauthority
+StandardXServer=/usr/X11R6/bin/X
+Xnest=/usr/X11R6/bin/Xnest -audit 0 -name Xnest
+
+[security]
+AllowRoot=true
+AllowRemoteRoot=true
+AllowRemoteAutoLogin=false
+CheckDirOwner=true
+#UserMaxFile=65536
+RetryDelay=1
+#SessionMaxFile=524388
+NeverPlaceCookiesOnNFS=true
+
+[xdmcp]
+Enable=$xdmcp
+HonorIndirect=true
+MaxPending=4
+MaxPendingIndirect=4
+MaxSessions=10
+MaxWait=15
+MaxWaitIndirect=15
+DisplaysPerHost=2
+Willing=/etc/X11/xdm/Xwilling
+
+[gui]
+#MaxIconWidth=128
+#MaxIconWidth=128
+
+[greeter]
+Browser=false
+#TitleBar=true
+MinimalUID=500
+Quiver=true
+Welcome=Welcome to %n
+LockPosition=true
+BackgroundImage=0
+BackgroundColor=#000000
+ShowGnomeFailsafeSession=false
+ShowXtermFailsafeSession=false
+ShowLastSession=false
+Use24Clock=true
+GraphicalTheme=GDM-SuSE
+GraphicalTheme=circles
+GraphicalThemeDir=/opt/gnome/share/gdm/themes/
+GraphicalThemeRand=false
+#SystemMenu=true
+InfoMsgFile=/opt/gnome/share/gdm/UserInfo
+InfoMsgFont=monospace 10
+SoundOnLogin=false
+[chooser]
+HostImageDir=/opt/gnome/share/hosts/
+Broadcast=false
+Multicast=false
+Hosts=$xdmcp_hosts
+
+[debug]
+Enable=$debug" >/mnt/etc/opt/gnome/gdm/gdm.conf
+if [ "x$start_x" = "xindirect" ] ; then
+ # when X server consumes to much mem set X -terminate
+ echo -e "\n[servers]\n0=Terminal -audit 0 -indirect \
+$host_name\n\n\
+[server-Terminal]\nname=Terminal server\ncommand=/usr/X11R6/bin/X \
+-audit 0\n\
+flexible=true\nhandled=true\nchooser=true" >>/mnt/etc/opt/gnome/gdm/gdm.conf
+else
+ echo -e "\n[servers]\n0=Standard\n\n\
+[server-Standard]\nname=Standard server\ncommand=/usr/X11R6/bin/X\n\
+flexible=true\nhandled=true" >>/mnt/etc/opt/gnome/gdm/gdm.conf
+fi
+}
+
+# configure gdm as display manager
+config_kdm () {
+config_dm_entry yes
+
+}
+
+# consolefont
+consolefont () {
+echo -e "\tsetfont ${CONSOLE_FONT} >${LOGFILE} 2>&1\n" \
+ >>/mnt/etc/${D_INITDIR}/boot.ld
+}
+
+# acpi and powersave
+config_acpi () {
+ local start_powersave=`expr $1 + 5`
+ local stop_powersave=`expr $1 - 1`
+ rllinker powersaved "$start_powersave" "$stop_powersave"
+}
+
+# configure dbus (inter application communication for kde and gnome), hal
+# (hardware abstraction layer - used e.g. by powersaved) and resmgr
+# (resource manager - the user gets permissions to devices when loggin on)
+config_dreshal () {
+local start="$1"
+local stop="$2"
+if [ "x$start_dreshal" = "xyes" ]; then
+ if [ -f /mnt/etc/init.d/dbus ] ; then
+ strinfile "messagebus:" /mnt/etc/passwd || \
+ echo "messagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/false" \
+ >> /mnt/etc/passwd
+ testmkd /mnt/var/run/dbus
+ # chown 100:101 /mnt/var/run/dbus
+ rllinker "dbus" "$start" "$stop"
+ fi
+ if [ -f /mnt/etc/init.d/resmgr ] ; then
+ testmkd /mnt/var/run/resmgr/classes
+ start="0"`expr $start + 1`
+ stop="0"`expr $start - 1`
+ rllinker "resmgr" "$start" "$stop"
+ fi
+ if [ -f /mnt/etc/init.d/haldaemon ] ; then
+ strinfile "haldaemon:" /mnt/etc/passwd || \
+ echo "haldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/false" \
+ >> /mnt/etc/passwd
+ start="0"`expr $start + 1`
+ stop="0"`expr $start - 1`
+ rllinker "haldaemon" "$start" "$stop"
+ fi
+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
+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. /etc/rc.status\nrc_reset\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 "\trc_status -v\n\t;;\n stop)\n\t;;\nesac\nrc_exit" \
+ >>/mnt/etc/${D_INITDIR}/boot.ld
+
+ ;;
+esac
+}