summaryrefslogtreecommitdiffstats
path: root/initrd/distro-specs/suse/functions-9.3
diff options
context:
space:
mode:
Diffstat (limited to 'initrd/distro-specs/suse/functions-9.3')
-rw-r--r--initrd/distro-specs/suse/functions-9.3441
1 files changed, 9 insertions, 432 deletions
diff --git a/initrd/distro-specs/suse/functions-9.3 b/initrd/distro-specs/suse/functions-9.3
index 8eb6b424..44c4e672 100644
--- a/initrd/distro-specs/suse/functions-9.3
+++ b/initrd/distro-specs/suse/functions-9.3
@@ -1,14 +1,14 @@
# Description: configuration script for SuSE 9.3 to configure linux
-# diskless clients (included by init, hwautocfg, servconfig
-# within initial ramdisk after inclusion of the main
-# functions file). This file is the main base for the
-# following SuSE distributions
+# diskless clients (included by init, hwautocfg, servconfig
+# within initial ramdisk after inclusion of the main
+# functions file). This file might overwrite settings from
+# the main base for the several SuSE distro versions
#
-# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 31-05-2006 by mj0
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 23-06-2006
#
# Copyright: (c) 2006 - RZ Universitaet Freiburg
#
-# Version: 0.2.2h
+# Version: 0.3.0a
# distro specific stuff to initialize
postinit () {
@@ -16,29 +16,6 @@ postinit () {
udevstart
}
-# distro specific function called from servconfig script
-config_distro () {
-# enable magic sysrequest for the clients
-echo -e "# /etc/${D_SYSCONFDIR}/sysctl - file modified by $0 version $version"\
- > /mnt/etc/${D_SYSCONFDIR}/sysctl.new
-sed -e "s,ENABLE_SYSRQ=.*,ENABLE_SYSRQ=\"yes\"," \
- /mnt/etc/${D_SYSCONFDIR}/sysctl > /etc/sysctl
-cat /etc/sysctl >> /mnt/etc/${D_SYSCONFDIR}/sysctl
-# add specific path /var/X11R6/bin ...
-echo -e "# stuff generated by $0 (out of InitRD written $date)\n\
-PATH=\"\$PATH:/var/X11R6/bin\"\n\
-test \"\$UID\" -ge 100 && PATH=\"\$PATH:.\"\n\
-QTDIR=/usr/lib/qt3\nexport QTDIR\nno_proxy='localhost'\n\
-export no_proxy" > /mnt/etc/SuSEconfig/profile
-echo -e "DXS VERSION = 4.0a\nINITRAMFS GENERATION DATE = $date" \
- >> /mnt/etc/SuSE-release
-# add the halt link to the 0 and 6 runlevel directories
- ln -sf ../halt /mnt/etc/${D_INITDIR}/rc0.d/S20halt
- ln -sf ../halt /mnt/etc/${D_INITDIR}/rc6.d/S20reboot
-# if YaST2 should be runnable (without much effect anyway) on the client
-testmkd /mnt/var/log/YaST2
-}
-
# udev/hotplug - auto device discovery service
udev_hotplug () {
local result=0
@@ -49,320 +26,6 @@ udevd -d || result=1
return $result
}
-# 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/${D_INITDIR}/$i
-done
-}
-
-# group of functions for the normal runlevels - first parameter is start
-# second stop
-# function for ntp configuration
-config_ntp () {
-if [ -f /mnt/etc/${D_INITDIR}/ntp ] ; then
- if ! strinfile "ntp:" /mnt/etc/passwd ; then
- echo -e "ntp:x:74:65534:NTP daemon:/var/lib/ntp:/bin/false" \
- >>/mnt/etc/passwd
- echo -e "ntp:!:13099:0:99999:7:::" >>/mnt/etc/shadow
- fi
- testmkd /mnt/var/lib/ntp/var/run/ntp &>/dev/null
- if [ "x$start_ntp" = "xinitial" ] ; then
- echo -e "\t# entries added by $0 (InitRamFS from $date)\n\
-\t( ntpdate -s -b $ntp_servers >${LOGFILE} 2>&1 && {\n\t which \
-hwclock &>/dev/null && hwclock -w;} ) &" \
- >>/mnt/etc/${D_INITDIR}/boot.ld
- elif [ "x$start_ntp" = "xyes" ] ; then
- rllinker "ntp" "07" "14"
- fi
-fi
-}
-
-# function for atd
-config_atd () {
-if [ "x$start_atd" = "xyes" ]; then
- rllinker "atd" "14" "04"
-fi
-}
-
-# function for configuration of cron services
-config_cron () {
-if [ "x$start_cron" = "xyes" ] ; then
- if [ -f /mnt/etc/${D_INITDIR}/cron ] ; then
- rllinker "cron" "18" "02"
- 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" >/mnt/etc/crontab
- else
- error "$df_errcron" nonfatal
- fi
-fi
-}
-
-# syslog service
-config_syslog () {
-if [ "x$start_syslog" = "xyes" ] ; then
- if [ -f /mnt/etc/${D_INITDIR}/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.*,,;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 "02" "20"
- else
- error "$df_errsysl" nonfatal
- fi
-fi
-}
-
-# secure shell service
-config_sshd () {
-if [ "x$start_sshd" = "xyes" ] ; then
- if [ -f /mnt/etc/${D_INITDIR}/sshd ] ; then
- testmkd /mnt/var/lib/sshd
- testmkd /mnt/var/lib/empty
- rllinker "sshd" "12" "10"
- else
- error "$df_errsshd" nonfatal
- fi
-fi
-}
-
-# snmp agent for remote monitoring
-config_snmp () {
-if [ "x$start_snmp" = "xyes" ] ; then
- if [ -f /mnt/etc/${D_INITDIR}/snmpd ] ; then
- rllinker "snmpd" "24" "02"
- testmkd /mnt/var/lib/net-snmp >/dev/null 2>&1
- fi
- # fixme!!
- # write service monitor depending on services started
- fi
-}
-
-# configure X display manager (/etc/${D_SYSCONFDIR}/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\"," \
- -i /mnt/etc/${D_SYSCONFDIR}/displaymanager
-# start the display manager as early as possible, but avoid that is
-# started twice during bootup - quickhack ...
-#ln -sf /etc/${D_INITDIR}/xdm /mnt/etc/${D_INITDIR}/rc5.d/S01xdm
-ln -sf ../xdm /mnt/etc/${D_INITDIR}/rc5.d/K20xdm
-echo -e "\t/etc/${D_INITDIR}/xdm start >${LOGFILE} 2>&1\n\
-\t( sleep 120; ln -sf ../xdm /etc/${D_INITDIR}/rc5.d/S01xdm \
->${LOGFILE} 2>&1) &\n" >>/mnt/etc/${D_INITDIR}/boot.ld
-}
-
-# 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
-testmkd /mnt/var/log/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 /mnt/var/log/gdm
-chmod 0750 /mnt/var/lib/gdm /mnt/var/log/gdm
-xdmcp_hosts=`echo $x_display_manager|sed -e "s; ;,;"`
-if [ "${DEBUGLEVEL}" -gt 0 ] ; then
- local debug="true"
-else
- local 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/:\
-$vmsessions
-BaseXsession=/etc/opt/gnome/gdm/Xsession
-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 kdm as display manager
-config_kdm () {
-config_dm_entry yes
-echo -e "# /etc/opt/kde3/share/config/kdm/kdmrc - \
-file generated by\n\
-#\t$0: $date\n\
-[General]\n\
-ConfigVersion=2.3\nStaticServers=:0\nExportList=LANG\n\
-PidFile=/var/run/kdm.pid\nAuthDir=/var/lib/xdm/authdir/authfiles/\n\
-ServerVTs=-7\nConsoleTTYs=tty1,tty2,tty3,tty4,tty5,tty6\n\n\
-[Xdmcp]\n\
-Enable=$xdmcp\nXaccess=/etc/X11/xdm/Xaccess\n\
-Willing=/etc/X11/xdm/Xwilling\n[Shutdown]\nHaltCmd=/sbin/halt\n\
-RebootCmd=/sbin/reboot\n\n\
-[X-*-Core]\n\
-ServerCmd=/usr/X11R6/bin/X -br\n\
-ServerArgsLocal=-nolisten tcp\n\
-TerminateServer=true\n\
-Resources=/etc/X11/xdm/Xresources\nSetup=/etc/X11/xdm/Xsetup\n\
-UserPath=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/var/X11R6/bin
-SystemPath=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:\
-/usr/X11R6/bin:/var/X11R6/bin
-Startup=/etc/X11/xdm/Xstartup\nReset=/etc/X11/xdm/Xreset\n\
-Session=/etc/X11/xdm/Xsession\nClientLogFile=.xsession-errors-%s\n\
-AutoReLogin=false\nAllowRootLogin=true\n\
-AllowNullPasswd=true\nAllowShutdown=All\n\
-SessionsDirs=/etc/X11/sessions,/usr/share/xsessions,\
-/opt/kde3/share/apps/kdm/sessions,$vmsessions\n\
-AuthNames=XDM-AUTHORIZATION-1,MIT-MAGIC-COOKIE-1\n\n\
-[X-*-Greeter]\n\
-ShowUsers=Selected\nSelectedUsers=\nUserList=false\n\
-GUIStyle=default\nLogoArea=Clock\nGreetString=Diskless Linux (%h)\n\
-GreetFont=Nimbus Sans l,20,-1,5,48,0,0,0,0,0\n\
-StdFont=Nimbus Sans l,14,-1,5,48,0,0,0,0,0\n\
-FailFont=Nimbus Sans l,14,-1,5,74,0,0,0,0,0\n\
-AntiAliasing=true\nLanguage=$lang\n\
-EchoMode=OneStar\nShowLog=false\n\
-UseTheme=true\nTheme=/opt/kde3/share/apps/kdm/themes/SUSE\n\
-UseBackground=false\n\
-BackgroundCfg=/etc/opt/kde3/share/config/kdm/backgroundrc\n\n\
-[X-:*-Greeter]\n\
-PreselectUser=None\n\
-FocusPasswd=true\nLoginMode=DefaultLocal\n\
-AllowClose=false\nUseAdminSession=true\n\n\
-[X-:0-Core]\n\
-AutoLoginEnable=false\n\
-ClientLogFile=.xsession-errors\n\
-NoPassEnable=false\n\n\
-[X-:0-Greeter]\n\
-LogSource=/dev/xconsole\n\
-UseAdminSession=false" >/mnt/etc/opt/kde3/share/config/kdm/kdmrc
-echo -e "" > /mnt/etc/opt/kde3/share/config/kdm/backgroundrc
-}
-
-# configure bluetooth services
-config_bt () {
-echo -e "# /etc/${D_SYSCONFDIR}/bluetooth - file modified by $0"\
- > /etc/bluetooth
-sed -e "s,START_SERVICES.*,START_SERVICES=\"yes\"," \
- /mnt/etc/${D_SYSCONFDIR}/bluetooth >> /etc/bluetooth
-cp /etc/bluetooth /mnt/etc/${D_SYSCONFDIR}/bluetooth
-}
-
-# consolefont and language
-consolefont () {
-echo -e "\tsetfont ${CONSOLE_FONT} >${LOGFILE} 2>&1\n" \
- >>/mnt/etc/${D_INITDIR}/boot.ld
-sed -e "s,RC_LANG=.*,RC_LANG=\"${LANG}\" # added in initrd," \
- -i /mnt/etc/${D_SYSCONFDIR}/language
-}
-
# acpi and powersave
config_acpi () {
rllinker powersaved "10" "12"
@@ -375,7 +38,7 @@ config_dreshal () {
local start="05"
local stop="18"
if [ "x$start_dreshal" = "xyes" ]; then
- if [ -f /mnt/etc/${D_INITDIR}/dbus ] ; then
+ if [ -e /mnt/etc/${D_INITDIR}/dbus ] ; then
strinfile "messagebus:" /mnt/etc/passwd || \
echo "messagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/false" \
>> /mnt/etc/passwd
@@ -387,13 +50,13 @@ if [ "x$start_dreshal" = "xyes" ]; then
>>/mnt/etc/${D_INITDIR}/boot.ld
rllinker "dbus" "$start" "$stop"
fi
- if [ -f /mnt/etc/${D_INITDIR}/resmgr ] ; then
+ if [ -e /mnt/etc/${D_INITDIR}/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/${D_INITDIR}/hal ] ; then
+ if [ -e /mnt/etc/${D_INITDIR}/hal ] ; then
strinfile "haldaemon:" /mnt/etc/passwd || \
echo "haldaemon:x:105:103:User for haldaemon:/var/run/hal:/bin/false" \
>> /mnt/etc/passwd
@@ -409,89 +72,3 @@ if [ "x$start_dreshal" = "xyes" ]; then
fi
fi
}
-
-# configure automounter
-config_automount () {
-if [ -f /mnt/etc/${D_SYSCONFDIR}/autofs ] ; then
- testmkd /var/lock/subsys
- echo -e "# /etc/${D_SYSCONFDIR}/autofs - file modified by\n#\t$0:\n#" \
- > /etc/autofs
- sed -e "s,AUTOFS_OPTIONS.*,AUTOFS_OPTIONS=\"--timeout 3\"," \
- /mnt/etc/${D_SYSCONFDIR}/autofs >> /etc/autofs
- cp /etc/autofs /mnt/etc/${D_SYSCONFDIR}/autofs
- rllinker "autofs" "18" "04"
-else
- error "$df_erramt" nonfatal
-fi
-}
-# start name service caching daemon
-config_nscd () {
-if [ -f /mnt/etc/${D_INITDIR}/nscd ] ; then
- testmkd /mnt/var/run/nscd
- rllinker "nscd" "02" "16"
-else
- error "$df_errnsc" nonfatal
-fi
-}
-
-# start portmapper (needed at least for nfs and nis services)
-config_portmap () {
-rllinker "portmap" "02" "20"
-}
-
-# start NIS
-config_nis () {
-if [ -f /mnt/etc/${D_INITDIR}/ypbind ] ; then
- rllinker "ypbind" "06" "16"
-else
- error "$df_erryp" nonfatal
-fi
-}
-
-# start vmware
-config_vmware () {
-if [ -f /mnt/etc/${D_SYSCONFDIR}/vmware ] ; then
- rllinker "vmware-prep" "18" "02"
- rllinker "vmware" "20" "02"
- # if running start scripts in parallel vmware-prep is not recognized
- # first solution: just avoid running in parallel
- #sed 's/PARALLEL=.*/PARALLEL=no/' /mnt/etc/${D_SYSCONFDIR}/boot \
- # > /tmp/boot
- #cp /tmp/boot /mnt/etc/${D_SYSCONFDIR}/boot
- # second solution: vmware-prep script should be added to .depends.start
- sed -e "s,TARGETS =,TARGETS = vmware-prep," \
- /mnt/etc/${D_INITDIR}/.depend.start >> /etc/.depend.start
- echo "vmware-prep: " >> /etc/.depend.start
- cp /etc/.depend.start /mnt/etc/${D_INITDIR}/.depend.start
- # this line should be added to /etc/hotplug.d/usb/50-usb.hotplug
- # to block linux from handling usb events during vmware sessions
- sed -e '/USB-specific/{;i\' \
- -e 'ps aux |grep -i vmware| grep -v "grep" &>/dev/null && exit 0' \
- -e ' }' -i /mnt/etc/hotplug.d/usb/50-usb.hotplug
-else
- error "df_errvmw" nonfatal
-fi
-}
-
-# initialize runlevel skript to be executed during system startup
-# (before most of the normal boot init scripts)
-# this script should operate like a normal runlevel script
-d_mkrlscript () {
-local switch="$1"
-local name="$2"
-local info="$3"
-case "$1" in
- init)
- echo -e "#!/bin/sh\n# skeleton of /etc/${D_INITDIR}/$name created \
-by $0\n# after you applied changes to the creation scripts you have to \
-rerun\n# the mkdxsinitrd script to get them applied\n\
-. /etc/rc.status\n. /etc/${D_SYSCONFDIR}/logfile\nrc_reset\ncase \
-\"\$1\" in\n start)\n\techo -n \"$info\"" >>/mnt/etc/${D_INITDIR}/$name
- chmod u+x /mnt/etc/${D_INITDIR}/$name
- ;;
- close)
- echo -e "\trc_status -v\n\t;;\n stop)\n\t;;\nesac\nrc_exit" \
- >>/mnt/etc/${D_INITDIR}/$name
- ;;
-esac
-}