diff options
Diffstat (limited to 'initrd/distro-specs')
24 files changed, 0 insertions, 2729 deletions
diff --git a/initrd/distro-specs/debian/config-3.1 b/initrd/distro-specs/debian/config-3.1 deleted file mode 100644 index f6172d6f..00000000 --- a/initrd/distro-specs/debian/config-3.1 +++ /dev/null @@ -1,50 +0,0 @@ -# Description: distro specific settings for Debian/Sarge -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 23-06-2006 -# Felix Endres -# -# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg - -# D_SYSCONFDIR - system wide configuration settings - /etc/sysconfig in SuSE -# and RedHat, /etc/default in Debian and Ubuntu -# D_ETCEXCL - list of files, wildcards to be excluded from /etc when using -# bind mounts -# D_DIRINBINDMNT - lists of directories to be created in bind mounted rw -# part of the client filesystem -# D_RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on -# TempFS usage -# D_DIRINDXS - directories in client filesystem which should be present -# anyhow -# D_RCDIRS - runlevel directories relative to /etc -# D_XF86CONFFILE - name and location of XFree/Xorg config file, e.g. -# /etc/X11/xorg.conf or /etc/X11/XF86config, ... -# D_XFONTPATH - path(es) where X11 fonts are installed (with trailing /*) -# D_DEFAULTCOUNTRY - localization (see common functions) -# D_HWMODTOIGNORE - hardware modules which should not tried to load (because -# already in kernel, nonexistent, ...) - -D_SYSCONFDIR=/default -D_ETCEXCL="etc/gconf/*\n*.old\n*-\n\ -etc/autoinstall\nlogrotate*\nbootloader\n*~\n\ -pptp.d\nisdn\nyouservers\nhardware/hwcfg*\n\ -X11/xdm/pixmaps\ndhclient.script\n\ -rc2.d/*\nrc5.d/*" -D_BINDMPTS="tmp root home" -D_DIRINBINDMNT="/var/run /var/log /var/tmp /var/lib/gdm" -D_RODIRSINRW="etc/gconf etc/X11/xkb /var/adm /var/lib/texmf" -D_DIRINDXS="/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" -D_INITDIR="/init.d" -D_INITBOOTD="/rcS.d" -D_RCDIRS="/rc0.d /rc1.d /rc2.d /rc3.d /rc4.d /rc5.d /rc6.d" -D_INITDEFAULT="3" -# fixme: is keymap.sh really needed? Should be handled in a simpler fashion -# via boot.ld (see hwautocfg) -D_INITSCRIPTS="mountvirtfs udev procps.sh bootlogd keymap.sh hwclock.sh sudo dbus-1" -D_XF86CONFFILE="/etc/X11/xorg.conf" -D_XFONTPATH="/usr/X11R6/lib/X11/fonts/*" -D_DEFAULTCOUNTRY="de" diff --git a/initrd/distro-specs/debian/config-default b/initrd/distro-specs/debian/config-default deleted file mode 100644 index 2f1d638d..00000000 --- a/initrd/distro-specs/debian/config-default +++ /dev/null @@ -1,50 +0,0 @@ -# Description: distro specific general settings for Debian/Sarge -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 23-06-2006 -# Felix Endres -# -# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg - -# D_SYSCONFDIR - system wide configuration settings - /etc/sysconfig in SuSE -# and RedHat, /etc/default in Debian and Ubuntu -# D_ETCEXCL - list of files, wildcards to be excluded from /etc when using -# bind mounts -# D_DIRINBINDMNT - lists of directories to be created in bind mounted rw -# part of the client filesystem -# D_RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on -# TempFS usage -# D_DIRINDXS - directories in client filesystem which should be present -# anyhow -# D_RCDIRS - runlevel directories relative to /etc -# D_XF86CONFFILE - name and location of XFree/Xorg config file, e.g. -# /etc/X11/xorg.conf or /etc/X11/XF86config, ... -# D_XFONTPATH - path(es) where X11 fonts are installed (with trailing /*) -# D_DEFAULTCOUNTRY - localization (see common functions) -# D_HWMODTOIGNORE - hardware modules which should not tried to load (because -# already in kernel, nonexistent, ...) - -D_SYSCONFDIR=/default -D_ETCEXCL="etc/gconf/*\n*.old\n*-\n\ -etc/autoinstall\nlogrotate*\nbootloader\n*~\n\ -pptp.d\nisdn\nyouservers\nhardware/hwcfg*\n\ -X11/xdm/pixmaps\ndhclient.script\n\ -rc2.d/*\nrc5.d/*" -D_BINDMPTS="tmp root home" -D_DIRINBINDMNT="/var/run /var/log /var/tmp /var/lib/gdm /etc/X11" -D_RODIRSINRW="etc/gconf etc/X11/xkb /var/adm /var/lib/texmf" -D_DIRINDXS="/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" -D_INITDIR="/init.d" -D_INITBOOTD="/rcS.d" -D_RCDIRS="/rc0.d /rc1.d /rc2.d /rc3.d /rc4.d /rc5.d /rc6.d" -D_INITDEFAULT="3" -# fixme: is keymap.sh really needed? Should be handled in a simpler fashion -# via boot.ld (see hwautocfg) -D_INITSCRIPTS="mountvirtfs udev procps.sh bootlogd keymap.sh hwclock.sh sudo dbus-1" -D_XF86CONFFILE="/etc/X11/xorg.conf" -D_XFONTPATH="/usr/X11R6/lib/X11/fonts/*" -D_DEFAULTCOUNTRY="de" diff --git a/initrd/distro-specs/debian/functions-3.1 b/initrd/distro-specs/debian/functions-3.1 deleted file mode 100644 index 3b884631..00000000 --- a/initrd/distro-specs/debian/functions-3.1 +++ /dev/null @@ -1,12 +0,0 @@ -# Description: configuration script for Debian Sarge (3.1) to configure -# linux diskless clients (executed within initial ramdisk -# after genconfig) -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 23-06-2006 -# Felix Endres, 30-04-2006 -# -# Copyright: (c) 2006 - RZ Universitaet Freiburg -# -# Version: 0.3.0a - -# nothing changed yet from default diff --git a/initrd/distro-specs/debian/functions-default b/initrd/distro-specs/debian/functions-default deleted file mode 100644 index 25143c86..00000000 --- a/initrd/distro-specs/debian/functions-default +++ /dev/null @@ -1,270 +0,0 @@ -# Description: configuration script for general Debian to configure -# linux diskless clients (executed within initial -# ramdisk after genconfig) -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 23-06-2006 -# Felix Endres, 30-04-2006 -# -# Copyright: (c) 2006 - RZ Universitaet Freiburg -# -# Version: 0.3.0a - -# empty functions are defined at the beginning of /etc/functions - -# distro specific stuff to initialize -preinit () { - echo "Creating dhcp user" - echo "dhcp:x:101:" >>/etc/group - echo "dhcp:x:101:101::/nonexistent:/bin/false" >>/etc/passwd -} - -# distro specific function called from servconfig script -config_distro () { -# add the halt link to the 0 and 6 runlevel directories - ln -sf ../init.d/halt /mnt/etc/rc0.d/S90halt - ln -sf ../init.d/reboot /mnt/etc/rc6.d/S90reboot - - # set default runlevel - sed -e "s/.*initdefault/id:${D_INITDEFAULT}:initdefault/" -i /mnt/etc/inittab -} - -# AUS SuSE-9.3 -# udev/hotplug - auto device discovery service -# Result: 1 is bad, 0 is good -udev_hotplug () { - local result=0 - [ -d /etc/hotplug -a -d /etc/hotplug.d ] || error "$df_errhotpl" nonfatal - echo "Enabling hotplug/udev" - #udevstart && result=0 - #udevtrigger && result=0 - udevd --daemon || result=1 - [ ! -e /sbin/udevsend ] && result=1 - echo "/sbin/udevsend/" > /proc/sys/kernel/hotplug - mkdir -p /dev/.udev/db /dev/.udev/queue - trigger_device_events - return $result -} - -# distro specific general function called from servconfig script -config_distro () { -# add the halt link to the 0 and 6 runlevel directories - ln -sf ../halt /mnt/etc/rc0.d/S90halt - ln -sf ../reboot /mnt/etc/rc6.d/S90reboot - - # set default runlevel - sed -e "s/.*initdefault/id:${D_INITDEFAULT}:initdefault/" -i /mnt/etc/inittab -} - - -# 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 -# "stop" seems not to be used in Debian!? - It is. Felix -for i in rc2.d/K$stop$script rc3.d/K$stop$script \ - rc2.d/S$start$script rc3.d/S$start$script ; do - if ! [ -f /mnt/etc/init.d/$script ]; then - echo "Target `pwd`../$script does not exist. Skipping links" - break - else - ln -sf ../init.d/$script /mnt/etc/$i - echo "Linked $script" - fi -done -} - -# make a runlevel script -d_mkrlscript () { -local switch=$1 -local name=$2 -local info=$3 -} - -# group of functions for the normal runlevels - first parameter is start -# second stop (fixme: is "stop" needed in Debian?? - Yep) -# function for ntp configuration -config_ntp () { -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" "20" "02" - fi -fi -} - -# function for atd -config_atd () { -if [ "x$start_atd" = "xyes" ]; then - # fixme!! needed? Fix permissions - #testmkd /mnt/var/spool/cron/atjobs - #testmkd /mnt/var/spool/cron/atspool - #chown /mnt/var/spool/cron/atjobs /mnt/var/spool/cron/atspool - rllinker "atd" "89" "01" -fi -} - -# function for configuration of cron services -config_cron () { -if [ "x$start_cron" = "xyes" ] ; then - if [ -f /mnt/etc/init.d/cron ] ; then - rllinker "cron" "89" "01" - testmkd /mnt/var/spool/cron/crontabs - 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 "$df_errcron" nonfatal - fi -fi -} - -# syslog service -config_syslog () { -if [ "x$start_syslog" = "xyes" ] ; then - : -fi -} - -# secure shell service -config_sshd () { -if [ "x$start_sshd" = "xyes" ] ; then - if [ -f /mnt/etc/init.d/ssh ] ; then - rllinker "sshd" "20" "02" - 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" "30" "03" - 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 -# fixme!! add path directly to /etc/profile!? -#[ "x$addpath" != "x" ] && \ -# echo -e "# added path component by $0: $date\n\ -#PATH=\"\$PATH:/var/X11R6/bin\"" >>/mnt/etc/profile -} - - -# consolefont and language -consolefont () { -echo -e "setfont ${CONSOLE_FONT} >${LOGFILE} 2>&1" \ - >>/mnt/etc/${D_INITDIR}/boot.ld -# fixme!! check for proper operation -sed -e "s,LANGUAGE=.*,LANGUAGE=\"${LANG}\" # set within initramfs," \ - -e "s,LANG=.*,LANG=\"${LANG}\" # set within initramfs," \ - -i /mnt/etc/environment -} - -# configure gdm as display manager -config_gdm () { - ln -sf ../${D_INITDIR}/gdm /mnt/etc/rc3.d/K20gdm - echo -e "\t/etc/${D_INITDIR}/gdm start >${LOGFILE} 2>&1\n\ - \t( sleep 120; ln -sf /etc/${D_INITDIR}/gdm /etc/rc3.d/S01gdm \ - >${LOGFILE} 2>&1) &\n" >>/mnt/etc/${D_INITDIR}/boot.ld - # check for gdm user in passwd and group files - # fixme!! -# echo "gdm:x:113:">>/mnt/etc/group -# echo "gdm:x:106:113:Gnome Display Manager:/var/lib/gdm:/bin/false" \ - >>/mnt/etc/passwd -} - -# configure kdm as display manager -config_kdm () { - ln -sf ../${D_INITDIR}/kdm /mnt/etc/rc3.d/K20kdm - ln -sf ../${D_INITDIR}/kdm /mnt/etc/rc3.d/S20kdm -} - -# configure hal, dbus, resmgr and services like that -config_dreshal () { -if [ "x$start_dreshal" = "xyes" ]; then - : -fi -} - - -# fixme!! taken from SuSE10.0 untested here ... -# prepare virtual machine environment (vmware, vmplayer) -config_vmware () { -rllinker "vmware-prep" "22" "02" -rllinker "vmware" "24" "02" -# during vmware sessions linux should not handle usb events/devices -testmkd /mnt/var/X11R6/bin -echo '#!/bin/sh'>> /mnt/etc/udev/rules.d/01-udev-vm.rules -echo -e "# Script for blocking linux from handling usb \ -devices\n# during vmware sessions. If you like to remove certain modules \ -add them\n# to the list below - Dirk von Suchodoletz, <dirk@goe.net>\n\ -STATE=1\nps aux|grep -i vmware|grep -v \"grep\" &>/dev/null && { STATE=0; \ -/sbin/rmmod usb-storage &>/tmp/null; }\n\ -[ x\$ACTION = xremove ] && { [ \$STATE = 0 ] && /sbin/rmmod usb-storage \ -&>/dev/null; }\nexit \$STATE" > /mnt/var/X11R6/bin/vm-udev -chmod u+x /mnt/var/X11R6/bin/vm-udev -echo -e "# special entry to block linux from reacting to usb events during \ -running\n# vmware sessions, generated by $0 during initramfs\n# Dirk von \ -Suchodoletz, <dirk@goe.net>\nSUBSYSTEM==\"usb\", ACTION==\"add\", \ -PROGRAM=\"/var/X11R6/bin/vm-udev\", OPTIONS=\"ignore_device\"\n\ -SUBSYSTEM==\"usb\", ACTION==\"remove\", PROGRAM=\"/var/X11R6/bin/vm-udev\"" \ - >> /mnt/etc/udev/rules.d/01-udev-vm.rules -} diff --git a/initrd/distro-specs/debian/servconf b/initrd/distro-specs/debian/servconf deleted file mode 100644 index 9e711042..00000000 --- a/initrd/distro-specs/debian/servconf +++ /dev/null @@ -1,19 +0,0 @@ -#!/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-default b/initrd/distro-specs/gentoo/config-default deleted file mode 100644 index 2bae4d17..00000000 --- a/initrd/distro-specs/gentoo/config-default +++ /dev/null @@ -1,23 +0,0 @@ -# Description: distro specific settings for Gentoo 2005.1 -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 23-06-2006 -# -# Copyright: (c) 2005,6 - RZ Universitaet Freiburg - -# D_SYSCONFDIR - system wide configuration settings in /etc - sysconfig in -# SuSE and RedHat, default in Debian and Ubuntu, conf.d in Gentoo -# D_ETCEXCL - list of files, wildcards to be excluded from /etc when using -# bind mounts -# D_DIRINBINDMNT - lists of directories to be created in bind mounted rw -# part of the client filesystem -# D_RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on -# TempFS usage -# D_DIRINDXS - directories in client filesystem which should be present -# anyhow -# D_RCDIRS - runlevel directories relative to /etc -# D_HWMODTOIGNORE - hardware modules which should not tried to load (because -# already in kernel, nonexistent, ...) -# D_BOOTLOCAL - script for user specified stuff which should be started -# during client bootup, path and file relative to /etc - -# nothing changed yet diff --git a/initrd/distro-specs/gentoo/functions-default b/initrd/distro-specs/gentoo/functions-default deleted file mode 100644 index f3b3d633..00000000 --- a/initrd/distro-specs/gentoo/functions-default +++ /dev/null @@ -1,277 +0,0 @@ -# Description: configuration script for Gentoo V2005.1 to configure -# linux diskless clients (executed within initial ramdisk -# after genconfig) -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 08-07-2006 -# -# Copyright: (c) 2006 - RZ Universitaet Freiburg -# -# Version: 0.0.2c - -# empty functions are defined at the beginning of /etc/functions - -# distro specific general function called from servconfig script -config_distro () { -echo -e "dxs version 4.0a\ninitramfs generation date $date" \ - >> /mnt/etc/gentoo-release -echo -e "# changes made to this file by $0 (initrd from $date)" \ - > /etc/rc.conf -# keytable is set by hwautocfg script (added just for convenience here) -config_rc_entry "KEYMAP" "${KEYTABLE}" -} - -# udev service - not verified! -udev_hotplug () { -echo "Starting udev" -ln -s /bin/udevd /bin/udevstart && udevstart & -if [ -x /bin/udevd ] ; then - export UDEVD_EXPECTED_SEQNUM=$(cat /sys/kernel/hotplug_seqnum) - export UDEVD_EVENT_TIMEOUT=1 - echo "" > /proc/sys/kernel/hotplug - udevd & -else error "$df_errudev" nonfatal -fi -} - -# linking runlevel scripts -rllinker () { -local script="$1" -local need="$2" -# empty runlevel links - decision on running certain services is -# passed via configuration -ln -s /etc/${D_INITDIR}/$1 /mnt/etc/runlevels/default/$1 -echo $1 >> /mnt/etc/runlevels/default/.critical -# hack to remove unneeded dependency stuff -#if [ "$script" != "vmware-prep" ] ; then -# sed "/depend/,/}/d" /mnt/etc/${D_INITDIR}/$1 > /etc/rls -# cp /etc/rls /mnt/etc/${D_INITDIR}/$1 -#fi -} - -# setup initial boot scripts (rather strange concept I did not get -# completely) -initial_boot () { -rm /mnt/etc/runlevels/*/.critical 2>/dev/null -for i in ${D_INITSCRIPTS}; do - ln -sf /etc${D_INITDIR}/$i /mnt/etc/${D_INITBOOTD}/$i - echo $i >> /mnt/etc/${D_INITBOOTD}/.critical - echo $i >> /mnt/etc/runlevels/default/.critical -done -} - -# 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 -# 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_mkrlscript () { -local switch="$1" -local name="$2" -local info="$3" -case "$switch" in - init) - echo -e "#!/sbin/runskript\n# skeleton of /etc/${D_INITDIR}/$name \ -generated by $0\ndepend() {\n\t:\n}" >/mnt/etc/${D_INITDIR}/$name - echo -e "\n\nstart() {\n\tebegin \"$info\"" \ - >>/mnt/etc/${D_INITDIR}/$name - chmod u+x /mnt/etc/${D_INITDIR}/$name - ;; - close) - echo -e "\n}\n\nstop() {\n\t:\n}\n# vim:ts=4" \ - >>/mnt/etc/${D_INITDIR}/$name - ;; -esac -} - -# group of functions for the normal runlevels -# function for ntp configuration (unchecked) -config_ntp () { -if [ -e /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" - fi -fi -} - -# function for atd (unchecked) -config_atd () { -if [ "x$start_atd" = "xyes" ]; then - rllinker "atd" -fi -} - -# cron service -config_cron () { -if [ "x$start_cron" = "xyes" ] ; then - if [ -f /mnt/etc/${D_INITDIR}/cron ] ; then - : - else - error "$df_errcron" nonfatal - fi -fi -} - -# syslog service -config_syslog () { -if [ "x$start_syslog" = "xyes" ] ; then - if [ -f /mnt/etc/${D_INITDIR}/syslog-ng ] ; then - rllinker syslog-ng - 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 - rllinker "sshd" - else - error "$df_errsshd" nonfatal - fi -fi -} - -# snmp agent for remote monitoring (unchecked) -config_snmp () { -if [ "x$start_snmp" = "xyes" ] ; then - if [ -f /mnt/etc/${D_INITDIR}/snmpd ] ; then - rllinker "snmpd" - testmkd /mnt/var/lib/net-snmp >/dev/null 2>&1 - fi - # fixme!! - # write service monitor depending on services started - fi -} - -# configure X display manager (runlevel links and kind of manager) -config_xdm () { -if [ -f /mnt/etc/${D_INITDIR}/xdm ] ; then - sed -e "s,DISPLAYMANAGER=.*,DISPLAYMANAGER=\"xdm\"," -i /mnt/etc/rc.conf - ln -s /etc/${D_INITDIR}/xdm /mnt/etc/runlevels/boot/xdm - ln -s /etc/${D_INITDIR}/xdm /mnt/etc/runlevels/default/xdm - echo "xdm" >> /mnt/etc/runlevels/boot/.critical -fi -} - -# change entries in rc.conf (most for convenience only) -config_rc_entry () { -local var=$1 -local value=$2 -sed -e "s,$var=.*,$var=\"$value\"," -i /mnt/etc/rc.conf -} - -# configure gdm -config_gdm () { -config_rc_entry "DISPLAYMANAGER" "gdm" -# fixme!! check for needed directories and permissions -#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 -#rllinker "gdm" ?? -} - -# configure kdm as display manager -config_kdm () { -config_rc_entry "DISPLAYMANAGER" "kdm" -} - -# configure bluetooth services -config_bt () { -rllinker "bluetooth" -} - -# set consolefont -consolefont () { -echo -e "\tsetfont ${CONSOLE_FONT} >${LOGFILE} 2>&1\n" \ - >>/mnt/etc/${D_INITDIR}/boot.ld -config_rc_entry "CONSOLEFONT" "${CONSOLE_FONT}" -} - -# acpi and powersave -config_acpi () { -rllinker acpid -# remove dependencies (runs unneeded services ...) -sed "/depend/,/}/d" -i /mnt/etc/${D_INITDIR}/acpid -} - -# configure automounter -config_automount () { -if [ -f /mnt/etc/${D_INITDIR}/autofs ] ; then - rllinker autofs - if [ -n "${automnt_src}" ] ; then - # local directory and home directory server from machine-setup - [ -z "${automnt_dir}" ] && automnt_dir="/home" - strinstr "/" "${automnt_dir}" && error "$df_erratpld" nonfatal - automnt_dir=${automnt_dir#/} - echo -e "/home\t/etc/auto.${automnt_dir}\n" >> /mnt/etc/auto.master - echo -e "# /etc/auto.${automnt_dir} created by $0:\n" \ - > /mnt/etc/auto.${automnt_dir} - echo -e "*\t-rsize=32768,wsize=32768,rw\t${automnt_src}/&" \ - >> /mnt/etc/auto.${automnt_dir} - config_portmap - fi -else - error "$df_erramnt" nonfatal -fi -} - -# start name service caching daemon (recommended in combination with -# ldap source as user admin base) -config_nscd () { -if [ -f /mnt/etc/${D_INITDIR}/nscd ] ; then - #testmkd /mnt/var/run/nscd - rllinker "nscd" -fi -} - -# start portmapper (needed at least for nfs and nis services - unchecked) -config_portmap () { -rllinker "portmap" -} - -# start NIS (fixmee: does the start script is really named ypbind?) -config_nis () { -rllinker "ypbind" -} - -# start vmware and vmware preparation services -config_vmware () { -rllinker "vmware-prep" -rllinker "vmware" -# during vmware sessions linux should not handle usb events/devices -testmkd /mnt/var/X11R6/bin -echo '#!/bin/sh'>> /mnt/etc/udev/rules.d/01-udev-vm.rules -echo -e "# Script for blocking linux from handling usb \ -devices\n# during vmware sessions. If you like to remove certain modules \ -add them\n# to the list below - Dirk von Suchodoletz, <dirk@goe.net>\n\ -STATE=1\nps aux|grep -i vmware|grep -v \"grep\" &>/dev/null && { STATE=0; \ -/sbin/rmmod usb-storage &>/tmp/null; }\n\ -[ x\$ACTION = xremove ] && { [ \$STATE = 0 ] && /sbin/rmmod usb-storage \ -&>/dev/null; }\nexit \$STATE" > /mnt/var/X11R6/bin/vm-udev -chmod u+x /mnt/var/X11R6/bin/vm-udev -echo -e "# special entry to block linux from reacting to usb events during \ -running\n# vmware sessions, generated by $0 during initramfs\n# Dirk von \ -Suchodoletz, <dirk@goe.net>\nSUBSYSTEM==\"usb\", ACTION==\"add\", \ -PROGRAM=\"/var/X11R6/bin/vm-udev\", OPTIONS=\"ignore_device\"\n\ -SUBSYSTEM==\"usb\", ACTION==\"remove\", PROGRAM=\"/var/X11R6/bin/vm-udev\"" \ - >> /mnt/etc/udev/rules.d/01-udev-vm.rules -} - diff --git a/initrd/distro-specs/suse/config-10.0 b/initrd/distro-specs/suse/config-10.0 deleted file mode 100644 index 4cdba28e..00000000 --- a/initrd/distro-specs/suse/config-10.0 +++ /dev/null @@ -1,9 +0,0 @@ -# Description: distro specific settings for SuSE 10.0. This file merily -# contains changes from the SuSE base configuration file -# (suse/config-default) -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 26-01-2006 -# -# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg - -# nothing changed yet diff --git a/initrd/distro-specs/suse/config-10.1 b/initrd/distro-specs/suse/config-10.1 deleted file mode 100644 index 5b7babc7..00000000 --- a/initrd/distro-specs/suse/config-10.1 +++ /dev/null @@ -1,28 +0,0 @@ -# Description: distro specific settings for SuSE 10.1. This configuration -# might change settings from SuSE default configuration file -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 15-07-2006 -# -# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg - - -# D_SYSCONFDIR - system wide configuration settings - /etc/sysconfig in SuSE -# D_ETCEXCL - list of files, wildcards to be excluded from /etc when using -# bind mounts -# D_DIRINBINDMNT - lists of directories to be created in bind mounted rw -# part of the client filesystem -# D_RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on -# TempFS usage -# D_DIRINDXS - directories in client filesystem which should be present -# anyhow -# D_BINDMNT - any code which is specific in bind mount environment -# D_RCDIRS - runlevel directories relative to /etc -# D_XF86CONFFILE - name and location of XFree/Xorg config file, e.g. -# /etc/X11/xorg.conf or /etc/X11/XF86config, ... -# D_XFONTPATH - path(es) where X11 fonts are installed (with trailing /*) -# D_DEFAULTCOUNTRY - localization (see common functions) -# D_BOOTLOCAL - script for user specified stuff which should be started -# during client bootup, path and file relative to /etc - -D_INITSCRIPTS="kbd boot.udev boot.proc boot.klog boot.loadmodules boot.clock boot.sysctl boot.ipconfig boot.swap" -D_RODIRSINRW="/etc/opt/gnome/gconf /etc/X11/xkb /var/adm /var/lib/texmf /var/lib/rpm /var/cache/fontconfig" diff --git a/initrd/distro-specs/suse/config-9.3 b/initrd/distro-specs/suse/config-9.3 deleted file mode 100644 index 5fb82825..00000000 --- a/initrd/distro-specs/suse/config-9.3 +++ /dev/null @@ -1,30 +0,0 @@ -# Description: distro specific settings for SuSE 9.3. This configuration -# is the base for following SuSE versions until the changes -# within them require a major change -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 23-06-2006 -# -# Copyright: (c) 2003, 2005 - RZ Universitaet Freiburg - - -# D_SYSCONFDIR - system wide configuration settings - /etc/sysconfig in SuSE -# and RedHat, /etc/default in Debian and Ubuntu -# D_ETCEXCL - list of files, wildcards to be excluded from /etc when using -# bind mounts -# D_DIRINBINDMNT - lists of directories to be created in bind mounted rw -# part of the client filesystem -# D_RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on -# TempFS usage -# D_DIRINDXS - directories in client filesystem which should be present -# anyhow -# D_RCDIRS - runlevel directories relative to /etc -# D_XF86CONFFILE - name and location of XFree/Xorg config file, e.g. -# /etc/X11/xorg.conf or /etc/X11/XF86config, ... -# D_XFONTPATH - path(es) where X11 fonts are installed (with trailing /*) -# D_DEFAULTCOUNTRY - localization (see common functions) -# D_HWMODTOIGNORE - hardware modules which should not tried to load (because -# already in kernel, nonexistent, ...) -# D_BOOTLOCAL - script for user specified stuff which should be started -# during client bootup, path and file relative to /etc - -# just the default
\ No newline at end of file diff --git a/initrd/distro-specs/suse/config-default b/initrd/distro-specs/suse/config-default deleted file mode 100644 index ba301908..00000000 --- a/initrd/distro-specs/suse/config-default +++ /dev/null @@ -1,53 +0,0 @@ -# Description: distro specific settings for general SuSE. This configuration -# is the base for following SuSE versions -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 23-06-2006 -# -# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg - - -# D_SYSCONFDIR - system wide configuration settings - /etc/sysconfig in SuSE -# and RedHat, /etc/default in Debian and Ubuntu -# D_ETCEXCL - list of files, wildcards to be excluded from /etc when using -# bind mounts -# D_DIRINBINDMNT - lists of directories to be created in bind mounted rw -# part of the client filesystem -# D_RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on -# TempFS usage -# D_DIRINDXS - directories in client filesystem which should be present -# anyhow -# D_RCDIRS - runlevel directories relative to /etc -# D_XF86CONFFILE - name and location of XFree/Xorg config file, e.g. -# /etc/X11/xorg.conf or /etc/X11/XF86config, ... -# D_XFONTPATH - path(es) where X11 fonts are installed (with trailing /*) -# D_DEFAULTCOUNTRY - localization (see common functions) -# D_HWMODTOIGNORE - hardware modules which should not tried to load (because -# already in kernel, nonexistent, ...) -# D_BOOTLOCAL - script for user specified stuff which should be started -# during client bootup, path and file relative to /etc - -D_SYSCONFDIR=/sysconfig -D_ETCEXCL="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" -D_BINDMPTS="tmp root media home" -D_DIRINBINDMNT="/var/run /var/log /var/tmp" -D_RODIRSINRW="/etc/opt/gnome/gconf /etc/X11/xkb /var/adm /var/lib/texmf /var/lib/rpm" -D_DIRINDXS="/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" -D_INITDIR="/init.d" -D_INITBOOTD="${D_INITDIR}/boot.d" -D_INITDEFAULT="5" -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" -D_INITSCRIPTS="boot.udev boot.proc boot.shm boot.klog boot.loadmodules boot.clock boot.sysctl boot.ipconfig boot.swap" -D_XF86CONFFILE="/etc/X11/xorg.conf" -D_XFONTPATH="/usr/X11R6/lib/X11/fonts/*" -D_DEFAULTCOUNTRY="de" -D_HWMODTOIGNORE="i8xx-tco ichxrom snd-atiixp-modem" -D_BOOTLOCAL="init.d/boot.local" diff --git a/initrd/distro-specs/suse/files-default/etc/init.d/boot b/initrd/distro-specs/suse/files-default/etc/init.d/boot deleted file mode 100755 index 8012f287..00000000 --- a/initrd/distro-specs/suse/files-default/etc/init.d/boot +++ /dev/null @@ -1,286 +0,0 @@ -#!/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-04-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 -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 - -# 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/files-default/etc/init.d/halt b/initrd/distro-specs/suse/files-default/etc/init.d/halt deleted file mode 100755 index 65e5b0ad..00000000 --- a/initrd/distro-specs/suse/files-default/etc/init.d/halt +++ /dev/null @@ -1,90 +0,0 @@ -#! /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/functions-10.0 b/initrd/distro-specs/suse/functions-10.0 deleted file mode 100644 index 3dac8704..00000000 --- a/initrd/distro-specs/suse/functions-10.0 +++ /dev/null @@ -1,58 +0,0 @@ -# Description: configuration functions for SuSE 10.0 which differ from -# functions defined in general SuSE base settings ... General -# changes should be done there, version specific changes for -# the 10.0 here. -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 08-07-2006 -# -# Copyright: (c) 2006 - RZ Universitaet Freiburg -# -# Version: 0.3.0a - -# udev service -udev_hotplug () { -local result=0 -echo "Starting udev" -udevstart || result=1 -if [ -x /bin/udevd ] ; then - export UDEVD_EXPECTED_SEQNUM=$(cat /sys/kernel/hotplug_seqnum) - export UDEVD_EVENT_TIMEOUT=1 - echo "" > /proc/sys/kernel/hotplug - udevd --daemon || result=1 -else error "$df_errudev" nonfatal -fi -return $result -} - -# acpi and powersave -config_acpi () { -rllinker acpid "10" "12" -rllinker powersaved "11" "11" -} - -# prepare virtual machine environment (vmware, vmplayer) -config_vmware () { -rllinker "vmware-prep" "18" "02" -rllinker "vmware" "20" "02" -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 -# during vmware sessions linux should not handle usb events/devices -testmkd /mnt/var/X11R6/bin -echo '#!/bin/sh'> /mnt/var/X11R6/bin/vm-udev -echo -e "# Script for blocking linux from handling usb \ -devices\n# during vmware sessions. If you like to remove certain modules \ -add them\n# to the list below - Dirk von Suchodoletz, <dirk@goe.net>\n\ -STATE=1\nps aux|grep -i vmware|grep -v \"grep\" &>/dev/null && { STATE=0; \ -/sbin/rmmod usb-storage &>/tmp/null; }\n\ -[ x\$ACTION = xremove ] && { [ \$STATE = 0 ] && /sbin/rmmod usb-storage \ -&>/dev/null; }\nexit \$STATE" >> /mnt/var/X11R6/bin/vm-udev -chmod u+x /mnt/var/X11R6/bin/vm-udev -echo -e "# special entry to block linux from reacting to usb events during \ -running\n# vmware sessions, generated by $0 during initramfs\n# Dirk von \ -Suchodoletz, <dirk@goe.net>\nSUBSYSTEM==\"usb\", ACTION==\"add\", \ -PROGRAM=\"/var/X11R6/bin/vm-udev\", OPTIONS=\"ignore_device\"\n\ -SUBSYSTEM==\"usb\", ACTION==\"remove\", PROGRAM=\"/var/X11R6/bin/vm-udev\"" \ - >> /mnt/etc/udev/rules.d/01-udev-vm.rules -} diff --git a/initrd/distro-specs/suse/functions-10.1 b/initrd/distro-specs/suse/functions-10.1 deleted file mode 100644 index 0a39e86d..00000000 --- a/initrd/distro-specs/suse/functions-10.1 +++ /dev/null @@ -1,120 +0,0 @@ -# configuration functions for SuSE 10.1 which differ from functions defined -# in general SuSE base definitions ... General changes should be done there, -# version specific changes for the 10.1 go here. -# -# Dirk von Suchodoletz <dvs@OpenSLX.com>, 05-09-2006 -# -# (c) 2006 - RZ Universitaet Freiburg - -# some specific stuff to initialize -preinit () { -# fake the existence of some helper binaries (which are not of any use -# within initialramfs) -shell="/bin/sh" -[ -x /bin/busybox ] && shell="/bin/ash" -for i in usb_id scsi_id vol_id edd_id ata_id path_id hwup ifup ; do - echo -e "#!$shell\n:" >/sbin/$i -done -mkdir /lib/udev /usr/sbin -for i in idedma.sh mount.sh rename_netiface create_floppy_devices ; do - echo -e "#!$shell\n:" >/lib/udev/$i -done -echo -e "#!$shell\n:" >/usr/sbin/alsactl -rm /etc/udev/rules.d/60-persistent-storage.rules 2>/dev/null -chmod u+x /sbin/* /lib/udev/* /usr/sbin/* -} - -# udev service -udev_hotplug () { -local result=0 -echo "Starting udev" -# might be used if busybox is available -#mknod /dev/console c 5 1 -#mknod /dev/null c 1 3 -#mknod /dev/kmsg c 1 11 -if [ -x /bin/udevd ] ; then - echo "" > /proc/sys/kernel/hotplug - udevd --daemon || result=1 - trigger_device_events - usleep 50 -else error "$df_errudev" nonfatal -fi -return $result -} - -# acpi and powersave -config_acpi () { -rllinker acpid "10" "12" -rllinker powersaved "11" "11" -} - -# afs client -# configure afs client -config_afs () { -if [ "x$start_afs" = "xyes" ] ; then - if [ -f /mnt/etc/init.d/openafs-client ] ; then - test -d /mnt/afs || error "${df_errafsd}" - testmkd /mnt/var/cache/openafs - rllinker "openafs-client" "15" "06" - # echo -e "# /etc/sysconfig/afs-client - file generated by \ - #$0:\n#\t$date\n" >/etc/sysconfig/afs-client.new; - # sed -e "s,THIS_CELL_SERVER.*,THIS_CELL_SERVER=\"$cell_serv\"," \ - # -e "s,PREFERREDSERVERS.*,PREFERREDSERVERS=\"$cell_serv\"," \ - # -e "s,THIS_CELL.*,THIS_CELL=\"$this_cell\"," \ - # -e "s,MEMCACHE.*,MEMCACHE=\"yes\"," \ - # /etc/sysconfig/afs-client >> \ - # /etc/sysconfig/afs-client.new - # mv /etc/sysconfig/afs-client.new /etc/sysconfig/afs-client - else - error "${df_errafsn}" nonfatal - fi -fi -} - -# prepare virtual machine environment (vmware, vmplayer) -config_vmware () { -rllinker "vmware-prep" "18" "02" -rllinker "vmware" "20" "02" -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 -# during vmware sessions linux should not handle usb events/devices -# vmplayer and recent versions of vmware do not need this hack -if [ ! -x /mnt/usr/bin/vmplayer ] ; then - testmkd /mnt/var/X11R6/bin - echo '#!/bin/sh'> /mnt/var/X11R6/bin/vm-udev - echo -e "# Script for blocking linux from handling usb \ -devices\n# during vmware sessions. If you like to remove certain modules \ -add them\n# to the list below - Dirk von Suchodoletz, <dvs@OpenSLX.com>\n\ -STATE=1\nps aux|grep -i vmware|grep -v \"grep\" &>/dev/null && { STATE=0; \ -/sbin/rmmod usb-storage &>/tmp/null; }\n\ -[ x\$ACTION = xremove ] && { [ \$STATE = 0 ] && /sbin/rmmod usb-storage \ -&>/dev/null; }\nexit \$STATE" >> /mnt/var/X11R6/bin/vm-udev - chmod u+x /mnt/var/X11R6/bin/vm-udev - echo -e "# special entry to block linux from reacting to usb events during \ -running\n# vmware sessions, generated by $0 during initramfs\n# Dirk von \ -Suchodoletz, <dvs@OpenSLX.com>\nSUBSYSTEM==\"usb\", ACTION==\"add\", \ -PROGRAM=\"/var/X11R6/bin/vm-udev\", OPTIONS=\"ignore_device\"\n\ -SUBSYSTEM==\"usb\", ACTION==\"remove\", PROGRAM=\"/var/X11R6/bin/vm-udev\"" \ - >> /mnt/etc/udev/rules.d/01-udev-vm.rules -fi -} - -# set up keytable (function run in hwautocfg) -# kbd runlevel link is in the list of initial runlevel scripts (see -# config-10.1 file) -keytable () { -# remove unneeded components from the startscript -sed -e "/wanted keytable/,/^fi$/d;/load usb drivers/,/^esac$/d" \ - -i /mnt/etc/${D_INITDIR}/kbd -sed -e "s,KEYTABLE=.*,KEYTABLE=\"${KEYTABLE}\"," \ - -i /mnt/etc/${D_SYSCONFDIR}/keyboard -} - -# consolefont and language (function run in hwautocfg) -consolefont () { -sed -e "s,RC_LANG=.*,RC_LANG=\"${LANG}\" # added in initrd," \ - -i /mnt/etc/${D_SYSCONFDIR}/language -} - diff --git a/initrd/distro-specs/suse/functions-9.3 b/initrd/distro-specs/suse/functions-9.3 deleted file mode 100644 index 44c4e672..00000000 --- a/initrd/distro-specs/suse/functions-9.3 +++ /dev/null @@ -1,74 +0,0 @@ -# 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 might overwrite settings from -# the main base for the several SuSE distro versions -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 23-06-2006 -# -# Copyright: (c) 2006 - RZ Universitaet Freiburg -# -# Version: 0.3.0a - -# distro specific stuff to initialize -postinit () { - # for some reason the udev daemon does not create the needed device files - udevstart -} - -# udev/hotplug - auto device discovery service -udev_hotplug () { -local result=0 -[ -d /etc/hotplug -a -d /etc/hotplug.d ] || error "$df_errhotpl" nonfatal -echo "Enabling hotplug/udev" -udevstart || result=1 -udevd -d || result=1 -return $result -} - -# acpi and powersave -config_acpi () { -rllinker powersaved "10" "12" -} - -# 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="05" -local stop="18" -if [ "x$start_dreshal" = "xyes" ]; 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 - strinfile "messagebus:" /mnt/etc/group || \ - echo "messagebus:!:101:" >> /mnt/etc/group - testmkd /mnt/var/run/dbus - # set permissions with userid - echo -e "\tchown messagebus:messagebus /var/run/dbus 2>/dev/null" \ - >>/mnt/etc/${D_INITDIR}/boot.ld - rllinker "dbus" "$start" "$stop" - fi - 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 [ -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 - strinfile "haldaemon:" /mnt/etc/group || \ - echo "haldaemon:!:103:" >> /mnt/etc/group - testmkd /mnt/var/run/hal - # set permissions with userid - echo -e "\tchown haldaemon:haldaemon /var/run/hal 2>/dev/null" \ - >>/mnt/etc/${D_INITDIR}/boot.ld - start="0"`expr $start + 1` - stop="0"`expr $start - 1` - rllinker "hal" "$start" "$stop" - fi -fi -} diff --git a/initrd/distro-specs/suse/functions-default b/initrd/distro-specs/suse/functions-default deleted file mode 100644 index 16b8f0e9..00000000 --- a/initrd/distro-specs/suse/functions-default +++ /dev/null @@ -1,499 +0,0 @@ -# Description: configuration script for general SuSE 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 several -# SuSE distro versions -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 29-07-2006 -# -# Copyright: (c) 2006 - RZ Universitaet Freiburg -# -# Version: 0.3.3a - -# empty functions are defined at the beginning of /etc/functions - -# 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.1.0\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 -} - -# 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 [ -e /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 it is -# started twice during bootup ... late_dm can postpone the start of -# displaymanager and X if problems with keyboard, console occur ... -if [ "x$late_dm" = "xyes" ] ; then - ln -sf /etc/${D_INITDIR}/xdm /mnt/etc/${D_INITDIR}/rc5.d/S01xdm - ln -sf /etc/${D_INITDIR}/xdm /mnt/etc/${D_INITDIR}/rc5.d/K18xdm - sed -e "s,xdm: .*,xdm:," -i /mnt/etc/${D_INITDIR}/.depend.start -else - ln -sf /etc/${D_INITDIR}/xdm /mnt/etc/${D_INITBOOTD}/S02xdm - echo -e "\t(sleep 60; ln -sf ../xdm /etc/${D_INITDIR}/rc5.d/S01xdm; \ - rm /etc/${D_INITBOOTD}/S02xdm) &\n" >>/mnt/etc/${D_INITDIR}/boot.ld -fi -} - -# 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 -# check if a gdm.conf was provided via ConfTGZ -if [ ! -f /etc/opt/gnome/gdm/gdm.conf ] ; then - 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 +kb -I -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 -fi -} - -# configure kdm as display manager -config_kdm () { -config_dm_entry yes -# check if a kdmrc was provided via ConfTGZ -[ -f /rootfs/etc/opt/kde3/share/config/kdm/kdmrc ] || \ - 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/kdm\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 -} - -# set up keytable (function run in hwautocfg) -# kbd runlevel link is set via config_distro to avoid clashes between -# servconfig and hwautocfg settings -keytable () { -sed -e "s,KEYTABLE=.*,KEYTABLE=\"${KEYTABLE}\"," \ - -i /mnt/etc/${D_SYSCONFDIR}/keyboard -echo -e "\tloadkeys ${KEYTABLE} >${LOGFILE} 2>&1\n" \ - >>/mnt/etc/${D_INITDIR}/boot.ld -} - -# consolefont and language (function run in hwautocfg) -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 -} - -# 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) -# runlevel script for haldaemon is now haldaemon instead of hal -config_dreshal () { -local start="05" -local stop="18" -if [ "x$start_dreshal" = "xyes" ]; then - if [ -f /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 - strinfile "messagebus:" /mnt/etc/group || \ - echo "messagebus:!:101:" >> /mnt/etc/group - testmkd /mnt/var/run/dbus - # set permissions with userid - echo -e "\tchown messagebus:messagebus /var/run/dbus 2>/dev/null" \ - >>/mnt/etc/${D_INITDIR}/boot.ld - rllinker "dbus" "$start" "$stop" - fi - if [ -f /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}/haldaemon ] ; then - strinfile "haldaemon:" /mnt/etc/passwd || \ - echo "haldaemon:x:105:103:User for haldaemon:/var/run/hal:/bin/false" \ - >> /mnt/etc/passwd - strinfile "haldaemon:" /mnt/etc/group || \ - echo "haldaemon:!:103:" >> /mnt/etc/group - testmkd /mnt/var/run/hal - # set permissions with userid - echo -e "\tchown haldaemon:haldaemon /var/run/hal 2>/dev/null" \ - >>/mnt/etc/${D_INITDIR}/boot.ld - start="0"`expr $start + 1` - stop="0"`expr $start - 1` - rllinker "haldaemon" "$start" "$stop" - fi -fi -} - -# configure automounter -config_automount () { -if [ -e /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 [ -e /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 -} diff --git a/initrd/distro-specs/ubuntu/README-6.06 b/initrd/distro-specs/ubuntu/README-6.06 deleted file mode 100644 index 55701ab5..00000000 --- a/initrd/distro-specs/ubuntu/README-6.06 +++ /dev/null @@ -1,14 +0,0 @@ -fehler kubuntu 6.06: - -distro-functions: line 43: udevstert not found - -laut changelog von udev wird behaupted, dass man udevstart nicht mehr braucht.. - -module unix not found -> im kernel -anderer pfad in xorg.conf: -fonts in /urs/share/X11/fonts + module pfad löschen - -bei livecd: cannot create dir /media/loop0 readonly! -kioskmode deaktivieren + kdm start -inittab anpassen! + konsole1 macht immer timeout auch wenn sich keiner anmeldet -ACHTUNG: bei kdm root anmeldung ohne pw möglich! - diff --git a/initrd/distro-specs/ubuntu/config-5.10 b/initrd/distro-specs/ubuntu/config-5.10 deleted file mode 100644 index 4b9f1fec..00000000 --- a/initrd/distro-specs/ubuntu/config-5.10 +++ /dev/null @@ -1,30 +0,0 @@ -# Description: distro specific settings for Ubuntu Hoary Hedgehog (5.10) -# defaults are taken from config-default file -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 23-06-2006 -# -# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg -# - -# D_SYSCONFDIR - system wide configuration settings - /etc/sysconfig in SuSE -# and RedHat, /etc/default in Debian and Ubuntu -# D_ETCEXCL - list of files, wildcards to be excluded from /etc when using -# bind mounts -# D_DIRINBINDMNT - lists of directories to be created in bind mounted rw -# part of the client filesystem -# D_RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on -# TempFS usage -# D_DIRINDXS - directories in client filesystem which should be present -# anyhow -# D_BINDMNT - any code which is specific in bind mount environment -# D_RCDIRS - runlevel directories relative to /etc -# D_XF86CONFFILE - name and location of XFree/Xorg config file, e.g. -# /etc/X11/xorg.conf or /etc/X11/XF86config, ... -# D_XFONTPATH - path(es) where X11 fonts are installed (with trailing /*) -# D_DEFAULTCOUNTRY - localization (see common functions) -# D_HWMODTOIGNORE - hardware modules which should not tried to load (because -# already in kernel, nonexistent, ...) -# D_BOOTLOCAL - script for user specified stuff which should be started -# during client bootup, path and file relative to /etc - -# no changes from default: diff --git a/initrd/distro-specs/ubuntu/config-6.06 b/initrd/distro-specs/ubuntu/config-6.06 deleted file mode 100644 index a75090a1..00000000 --- a/initrd/distro-specs/ubuntu/config-6.06 +++ /dev/null @@ -1,30 +0,0 @@ -# Description: distro specific settings for Ubuntu Dapper Dake (6.06) -# defaults are taken from config-default file -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 23-06-2006 -# -# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg -# - -# D_SYSCONFDIR - system wide configuration settings - /etc/sysconfig in SuSE -# and RedHat, /etc/default in Debian and Ubuntu -# D_ETCEXCL - list of files, wildcards to be excluded from /etc when using -# bind mounts -# D_DIRINBINDMNT - lists of directories to be created in bind mounted rw -# part of the client filesystem -# D_RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on -# TempFS usage -# D_DIRINDXS - directories in client filesystem which should be present -# anyhow -# D_BINDMNT - any code which is specific in bind mount environment -# D_RCDIRS - runlevel directories relative to /etc -# D_XF86CONFFILE - name and location of XFree/Xorg config file, e.g. -# /etc/X11/xorg.conf or /etc/X11/XF86config, ... -# D_XFONTPATH - path(es) where X11 fonts are installed (with trailing /*) -# D_DEFAULTCOUNTRY - localization (see common functions) -# D_HWMODTOIGNORE - hardware modules which should not tried to load (because -# already in kernel, nonexistent, ...) -# D_BOOTLOCAL - script for user specified stuff which should be started -# during client bootup, path and file relative to /etc - -# no changes from default diff --git a/initrd/distro-specs/ubuntu/config-default b/initrd/distro-specs/ubuntu/config-default deleted file mode 100644 index c0ee7c42..00000000 --- a/initrd/distro-specs/ubuntu/config-default +++ /dev/null @@ -1,55 +0,0 @@ -# Description: distro specific default settings for Ubuntu - might be -# merged/taken from Debian config-default -# -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 23-06-2006 -# -# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg - -# D_SYSCONFDIR - system wide configuration settings - /etc/sysconfig in SuSE -# and RedHat, /etc/default in Debian and Ubuntu -# D_ETCEXCL - list of files, wildcards to be excluded from /etc when using -# bind mounts -# D_DIRINBINDMNT - lists of directories to be created in bind mounted rw -# part of the client filesystem -# D_RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on -# D_RWDIRSINRO - Writable Subdirectories in the RO-Dirs (D_RODIRSINRW) -# TempFS usage -# D_DIRINDXS - directories in client filesystem which should be present -# anyhow -# D_BINDMNT - any code which is specific in bind mount environment -# D_BINDMPTS - These directories will be created in the ramdisk and movemounted to the root ("/") this will also happen to /var and /etc -# D_RCDIRS - runlevel directories relative to /etc -# D_XF86CONFFILE - name and location of XFree/Xorg config file, e.g. -# /etc/X11/xorg.conf or /etc/X11/XF86config, ... -# D_XFONTPATH - path(es) where X11 fonts are installed (with trailing /*) -# D_DEFAULTCOUNTRY - localization (see common functions) -# D_HWMODTOIGNORE - hardware modules which should not tried to load (because -# already in kernel, nonexistent, ...) -# D_BOOTLOCAL - script for user specified stuff which should be started -# during client bootup, path and file relative to /etc - -D_SYSCONFDIR=/default -D_ETCEXCL="etc/gconf/*\n*.old\n*-\n\ -etc/autoinstall\nlogrotate*\nbootloader\n*~\n\ -pptp.d\nisdn\nyouservers\nhardware/hwcfg*\n\ -X11/xdm/pixmaps\ndhclient.script\n\ -rc2.d/*\nrc5.d/*" -D_BINDMPTS="tmp root home" -D_DIRINBINDMNT="/var/run /var/log /var/tmp /var/lib/gdm" -D_RODIRSINRW="/etc/X11/xkb /var/lib/gconf /var/lib/dpkg /var/lib/aspell /var/lib/pango /var/lib/defoma" -#D_RWDIRSINRO="/var/lib/gdm" -D_DIRINDXS="/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" -D_INITDIR="/init.d" -D_INITBOOTD="/rcS.d" -D_RCDIRS="/rc0.d /rc1.d /rc2.d /rc3.d /rc4.d /rc5.d /rc6.d" -D_INITDEFAULT="3" -D_INITSCRIPTS="mountvirtfs keymap.sh procps.sh bootlogd hwclock.sh sudo" -D_XF86CONFFILE="/etc/X11/xorg.conf" -D_XFONTPATH="/usr/share/fonts/*" -D_DEFAULTCOUNTRY="de" -D_BOOTLOCAL="" diff --git a/initrd/distro-specs/ubuntu/functions-5.10 b/initrd/distro-specs/ubuntu/functions-5.10 deleted file mode 100644 index 5b7c7335..00000000 --- a/initrd/distro-specs/ubuntu/functions-5.10 +++ /dev/null @@ -1,97 +0,0 @@ -# configuration script for Ubuntu V5.10 to configure OpenSLX linux diskless -# clients (merged in stage2 with ubuntu/functions-default - and loaded within -# initial ramfs - stage3) It may overwrite settings from the default config -# file (/etc/functions) -# -# Dirk von Suchodoletz <dvs@OpenSLX.com>, 31-08-2006 -# Nico Dietrich -# Felix Endres -# -# (c) 2006 - RZ Universitaet Freiburg -# (c) 2006 - OpenSLX.ORG Project - - -# syslog service -config_syslog () { -if [ "x$start_syslog" = "xyes" ] ; then - echo -e "# /etc/syslog.conf - file generated by $0" >/mnt/etc/syslogd.conf - echo "kern.warn;*.err;authpriv.none\t/dev/tty10\n\ -#kern.warn;*.err;authpriv.none\t|/dev/xconsole\n\ -#*.emerg\n\n*.=warn;*.=err\t\t\t-/var/log/warn\n\ -#*.crit\t\t\t\t/var/log/warn\n*.*;mail.none;news.none\t\t\ -#-/var/log/messages" >> /mnt/etc/syslogd.conf -# test -n "$log_servers" && \ -# for logserver in $log_servers; do -# echo -e "*.*;*.*;*.*;*kern.!*\t@$logserver" >>/mnt/etc/syslog.conf -# done - rllinker "sysklogd" "02" "18" -fi -} - -# secure shell service -config_sshd () { -if [ "x$start_sshd" = "xyes" ] ; then - if [ -f /mnt/etc/init.d/ssh ] ; then - #testmkd /mnt/var/run/sshd - rllinker "ssh" "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/init.d/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 -} - -# consolefont -consolefont () { -echo -e "setfont ${CONSOLE_FONT} >${LOGFILE} 2>&1" \ - >>/mnt/etc/${D_INITDIR}/boot.ld -} -# acpi and powersave -config_acpi () { - rllinker "acpid" "02" "19" - rllinker "acpi-support" "20" "02" -} - -# configure hal, dbus, resmgr and services like that -# fixme: complete or remove (dummy function is present in /etc/functions) -config_dreshal () { -if [ "x$start_dreshal" = "xyes" ]; then - : -fi -} - - -# fixme!! taken from SuSE10.0 untested here ... -# prepare virtual machine environment (vmware, vmplayer) -config_vmware () { -rllinker "vmware-prep" "18" "02" -rllinker "vmware" "20" "02" -# during vmware sessions linux should not handle usb events/devices -testmkd /mnt/var/X11R6/bin -echo '#!/bin/sh'>> /mnt/etc/udev/rules.d/01-udev-vm.rules -echo -e "# Script for blocking linux from handling usb \ -devices\n# during vmware sessions. If you like to remove certain modules \ -add them\n# to the list below - Dirk von Suchodoletz, <dvs@OpenSLX.com>\n\ -STATE=1\nps aux|grep -i vmware|grep -v \"grep\" &>/dev/null && { STATE=0; \ -/sbin/rmmod usb-storage &>/tmp/null; }\n\ -[ x\$ACTION = xremove ] && { [ \$STATE = 0 ] && /sbin/rmmod usb-storage \ -&>/dev/null; }\nexit \$STATE" > /mnt/var/X11R6/bin/vm-udev -chmod u+x /mnt/var/X11R6/bin/vm-udev -echo -e "# special entry to block linux from reacting to usb events during \ -running\n# vmware sessions, generated by $0 during initramfs\n# Dirk von \ -Suchodoletz, <dvs@OpenSLX.com>\nSUBSYSTEM==\"usb\", ACTION==\"add\", \ -PROGRAM=\"/var/X11R6/bin/vm-udev\", OPTIONS=\"ignore_device\"\n\ -SUBSYSTEM==\"usb\", ACTION==\"remove\", PROGRAM=\"/var/X11R6/bin/vm-udev\"" \ - >> /mnt/etc/udev/rules.d/01-udev-vm.rules -} diff --git a/initrd/distro-specs/ubuntu/functions-6.06 b/initrd/distro-specs/ubuntu/functions-6.06 deleted file mode 100644 index e439df4f..00000000 --- a/initrd/distro-specs/ubuntu/functions-6.06 +++ /dev/null @@ -1,112 +0,0 @@ -# configuration script for Ubuntu V6.06 to configure OpenSLX linux diskless -# clients (merged in stage2 with ubuntu/functions-default - and loaded within -# initial ramfs - stage3) It may overwrite settings from the default config -# file (/etc/functions) -# -# Dirk von Suchodoletz <dirk@goe.net>, 31-08-2006 -# Nico Dietrich -# Felix Endres, 29-08-2006 -# -# (c) 2006 - RZ Universitaet Freiburg -# (c) 2006 - OpenSLX.ORG Project - -# distro specific stuff to initialize -preinit () { - echo "Creating dhcp user" - echo "dhcp:x:101:">>/etc/group - echo "dhcp:x:101:101::/nonexistent:/bin/false" >>/etc/passwd - # mount/unionfs can not handle the nfsro parameter in Ubuntu 6.06 - NFSRO="" -} - -# distro specific function called from servconfig script - -# udev/hotplug - auto device discovery service -# fixme: why does nothing happens here!? If default should be used just -# skip that function here!! -# Result: 1 is bad, 0 is good -udev_hotplug () { -# local result=0 -# [ -d /etc/hotplug -a -d /etc/hotplug.d ] || error "$df_errhotpl" nonfatal -# echo "Enabling hotplug/udev" -# #udevstart && result=0 -# #udevtrigger && result=0 -# udevd --daemon || result=1 -# [ ! -e /sbin/udevsend ] && result=1 -# echo "/sbin/udevsend/" > /proc/sys/kernel/hotplug -# mkdir -p /dev/.udev/db /dev/.udev/queue -# trigger_device_events -# return $result -: -} - - - - - -# 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 -# fixme: wmlist is SuSE stuff !?!? -[ -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 -# fixme!! add path directly to /etc/profile!? -#[ "x$addpath" != "x" ] && \ -# echo -e "# added path component by $0: $date\n\ -#PATH=\"\$PATH:/var/X11R6/bin\"" >>/mnt/etc/profile -} - -# set up keytable (function run in hwautocfg) -# fixme: is anything needed here - otherwise remove (and check that a -# dummy function is present) -keytable () { -# fixme -- use keytable setup script here -: -} - -# consolefont and language -consolefont () { -[ "$LANG" == "de_DE@euro" ] && LANG=de_DE.UTF8 -sed -e "s,LANGUAGE=.*,LANGUAGE=${LANG},;s,LANG=.*,LANG=${LANG}," \ - -i /mnt/etc/environment -rllinker "console-screen.sh" "31" "03" -} diff --git a/initrd/distro-specs/ubuntu/functions-default b/initrd/distro-specs/ubuntu/functions-default deleted file mode 100644 index 0310d1c7..00000000 --- a/initrd/distro-specs/ubuntu/functions-default +++ /dev/null @@ -1,443 +0,0 @@ -# configuration script for general Ubuntu to configure OpenSLX linux -# diskless clients (executed within initial ramdisk after genconfig) -# -# Dirk von Suchodoletz <dirk@goe.net>, 23-06-2006 -# Nico Dietrich -# Felix Endres -# -# (c) 2006 - RZ Universitaet Freiburg -# (c) 2006 - OpenSLX.ORG project - -# empty functions are defined at the beginning of /etc/functions - -# distro specific stuff to initialize -preinit () { - echo "Creating dhcp user" - echo "dhcp:x:101:">>/etc/group - echo "dhcp:x:101:101::/nonexistent:/bin/false" >>/etc/passwd - - # load unix module to provide sockets (is compiled into kernel on - # the live CDs!?) - modprobe ${MODPRV} unix || error "$df_errumod" nonfatal -} - - -#overwrite settings set by hwautocfg -displayvars (){ -Files=' \t FontPath\t\t "/usr/share/X11/fonts/misc"\n -\t FontPath\t\t "/usr/share/X11/fonts/100dpi/:unscaled"\n -\t FontPath\t\t "/usr/share/X11/fonts/75dpi/:unscaled"\n -\t FontPath\t\t "/usr/share/X11/fonts/Type1"\n -\t FontPath\t\t "/usr/share/X11/fonts/100dpi"\n -\t FontPath\t\t "/usr/share/X11/fonts/75dpi"\n -' -Module=' \t Load\t "i2c"\n -\t Load\t "bitmap"\n -\t Load\t "ddc"\n -\t Load\t "dri"\n -\t Load\t "extmod"\n -\t Load\t "freetype"\n -\t Load\t "glx"\n -\t Load\t "int10"\n -\t Load\t "type1"\n -\t Load\t "vbe"\n' - -} -# distro specific function called from servconfig script -config_distro () { -# add the halt link to the 0 and 6 runlevel directories - ln -sf ../init.d/halt /mnt/etc/rc0.d/S90halt - ln -sf ../init.d/reboot /mnt/etc/rc6.d/S90reboot - - # set default runlevel - sed -e "s/.*initdefault/id:${D_INITDEFAULT}:initdefault/" -i /mnt/etc/inittab - # needed lateron (by hwsetup?) - /mnt/bin/mknod /dev/zero c 1 5 - /mnt/bin/mknod /dev/mem c 1 1 - -} - -# AUS SuSE-9.3 -# udev/hotplug - auto device discovery service -# Result: 1 is bad, 0 is good -udev_hotplug () { - local result=0 - [ -d /etc/hotplug -a -d /etc/hotplug.d ] || error "$df_errhotpl" nonfatal - echo "Enabling hotplug/udev" - udevstart || result=1 - 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 rc2.d/K$stop$script rc3.d/K$stop$script \ - rc2.d/S$start$script rc3.d/S$start$script ; do - if ! [ -f /mnt/etc/init.d/$script ]; then - echo "Target `pwd`../$script does not exist. Skipping links" - break - else - ln -sf ../init.d/$script /mnt/etc/$i - echo "Linked $script" - fi -done -} - -# group of functions for the normal runlevels - first parameter is start -# second stop -# function for ntp configuration -config_ntp () { -local start=07 -local stop=14 -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 - # testmkd /mnt/var/spool/atjobs - # testmkd /mnt/var/spool/atspool - # chown 1:1 /mnt/var/spool/atjobs /mnt/var/spool/atspool - rllinker "atd" "14" "04" -fi -} - -# function for configuration of cron services -config_cron () { -if [ "x$start_cron" = "xyes" ] ; then - if [ -f /mnt/etc/init.d/cron ] ; then - rllinker "cron" "18" "02" - # fixme! check for proper permissions! - testmkd /mnt/var/spool/crontabs - 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 "$df_errcron" nonfatal - fi -fi -} - -# syslog service -config_syslog () { -if [ "x$start_syslog" = "xyes" ] ; then - testmkd /mnt/var/log/news - echo -e "# /etc/syslog.conf - file generated by $0" >/mnt/etc/syslogd.conf - echo "kern.warn;*.err;authpriv.none\t/dev/tty10\n\ -#kern.warn;*.err;authpriv.none\t|/dev/xconsole\n\ -#*.emerg\n\n*.=warn;*.=err\t\t\t-/var/log/warn\n\ -#*.crit\t\t\t\t/var/log/warn\n*.*;mail.none;news.none\t\t\ -#-/var/log/messages" >> /mnt/etc/syslogd.conf -# test -n "$log_servers" && \ -# for logserver in $log_servers; do -# echo -e "*.*;*.*;*.*;*kern.!*\t@$logserver" >>/mnt/etc/syslog.conf -# done - rllinker "sysklogd" "02" "18" -fi -} - -# secure shell service -config_sshd () { -if [ "x$start_sshd" = "xyes" ] ; then - if [ -f /mnt/etc/init.d/ssh ] ; then - #testmkd /mnt/var/run/sshd - rllinker "ssh" "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/init.d/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 -} - -# set up keytable (function run in hwautocfg) -keytable () { -# fixme -- use keytable setup script here -: -} - -# consolefont -consolefont () { -echo -e "setfont ${CONSOLE_FONT} >${LOGFILE} 2>&1" \ - >>/mnt/etc/${D_INITDIR}/boot.ld -} - - -# acpi and powersave -config_acpi () { - rllinker "acpid" "10" "19" - rllinker "acpi-support" "99" "02" - - # nur hier weil udev_hotplug zu früh aufgerufen wird. - rllinker "udev" "11" "25" -} - -# configure gdm as display manager -config_gdm () { -ln -sf ../${D_INITDIR}/gdm /mnt/etc/rc3.d/K20gdm -if [ "x$start_xdmcp" = "xgdm" ]; then - echo /usr/sbin/gdm > /mnt/etc/X11/default-display-manager -fi -if [ "x$late_dm" = "xyes" ] ; then - ln -sf ../${D_INITDIR}/gdm /mnt/etc/rc3.d/S01gdm -else - echo -e "\t/etc/${D_INITDIR}/gdm start >${LOGFILE} 2>&1\n\ - \t( sleep 60; ln -sf /etc/${D_INITDIR}/gdm /etc/rc3.d/S01gdm \ - >${LOGFILE} 2>&1) &\n" >>/mnt/etc/${D_INITDIR}/boot.ld -fi -# append gdm user -echo "gdm:x:113:">>/etc/group -echo "gdm:x:106:113:Gnome Display Manager" >> /etc/shadow - -# fixme: check if a gdm.conf was provided via ConfTGZ -# [ -f /rootfs/etc/gdm/gdm.conf ??? ] || \ -echo -e "# /etc/gdm/gdm.conf - file generated by $0\n\ - -[daemon] -AutomaticLoginEnable=false -AutomaticLogin= -TimedLoginEnable=false -TimedLogin= -TimedLoginDelay=30 -Greeter=/usr/lib/gdm/gdmgreeter -DefaultPath=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/games -RootPath=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/games -User=gdm -Group=gdm -LogDir=/var/log/gdm -PidFile=/var/run/gdm.pid -PostLoginScriptDir=/etc/gdm/PostLogin/ -PreSessionScriptDir=/etc/gdm/PreSession/ -PostSessionScriptDir=/etc/gdm/PostSession/ -DisplayInitDir=/etc/gdm/Init -XKeepsCrashing=/etc/gdm/XKeepsCrashing -RebootCommand=/sbin/shutdown -r now \"Rebooted from gdm menu.\" -HaltCommand=/sbin/shutdown -h now \"Halted from gdm menu.\" -SuspendCommand=/usr/sbin/pmi action sleep -HibernateCommand=/usr/sbin/pmi action hibernate -ServAuthDir=/var/lib/gdm -BaseXsession=/etc/gdm/Xsession -SessionDesktopDir=/etc/X11/sessions/:/etc/dm/Sessions/:/usr/share/gdm/BuiltInSessions/:/usr/share/xsessions/ -DefaultSession=default.desktop -UserAuthDir= -UserAuthFBDir=/tmp -UserAuthFile=.Xauthority -StandardXServer=/usr/X11R6/bin/X -Xnest=/usr/X11R6/bin/Xnest -br -audit 0 -name Xnest -FirstVT=7 -VTAllocation=true -SoundProgram=/usr/lib/gdmplay -[security] -AllowRoot=false -AllowRemoteRoot=false -AllowRemoteAutoLogin=false -RelaxPermissions=0 -CheckDirOwner=true -DisallowTCP=true -[xdmcp] -Enable=false -[gui] -GtkTheme=Human -AllowGtkThemeChange=true -GtkThemesToAllow=Human,HighContrast,HighContrastInverse,LowContrast -[greeter] -ConfigAvailable=false -Browser=true -MinimalUID=1000 -Exclude=bin,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,gdm,postgres,pvm,rpm -IncludeAll=true -LocaleFile=/etc/gdm/locale.conf -SystemMenu=true -SecureSystemMenu=false -DefaultWelcome=true -DefaultRemoteWelcome=true -BackgroundColor=#523921 -UseCirclesInEntry=true -GraphicalTheme=Human -GraphicalThemeDir=/usr/share/gdm/themes/ -GraphicalThemeRand=false -SoundOnLogin=true -SoundOnLoginFile=/usr/share/sounds/question.wav -[chooser] -HostImageDir=/usr/share/hosts/ -Hosts= -Broadcast=true -Multicast=false -[debug] -Enable=false -[servers] -0=Standard -[server-Standard] -name=Standard server -command=/usr/X11R6/bin/X -br -audit 0 -flexible=true -[server-Terminal] -name=Terminal server -command=/usr/X11R6/bin/X -br -audit 0 -terminate -flexible=false -handled=false -[server-Chooser] -name=Chooser server -command=/usr/X11R6/bin/X -br -audit 0 -flexible=false -chooser=true - -[debug] -Enable=$debug" >/mnt/etc/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/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/gdm/gdm.conf -fi -} - -# configure kdm as display manager -config_kdm () { -# fixme: check if a kdmrc was provided via ConfTGZ -#[ -f /rootfs/etc/opt/???? kdmrc ] || \ -# echo " ..." > kdmrc -#if [ "x$late_dm" = "xyes" ] ; then - rllinker "kdm" "25" "01" - if [ "x$start_xdmcp" = "xkdm" ]; then - echo /usr/bin/kdm > /mnt/etc/X11/default-display-manager - fi -#else -# ln -sf ../${D_INITDIR}/kdm /mnt/etc/rc3.d/K20kdm -# echo -e "\t/etc/${D_INITDIR}/kdm start >${LOGFILE} 2>&1\n\ -# \t( sleep 120; ln -sf /etc/${D_INITDIR}/kdm /etc/rc3.d/S01kdm \ -# >${LOGFILE} 2>&1) &\n" >>/mnt/etc/${D_INITDIR}/boot.ld -#fi -} - -# configure hal, dbus, resmgr and services like that -config_dreshal () { -if [ "x$start_dreshal" = "xyes" ]; then - rllinker "dbus" "17" "20" -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_mkrlscript () { -local switch="$1" -local name="$2" -local info="$3" -case "$switch" in - init) - echo -e "#!/bin/sh\n# skeleton of /etc/${D_INITDIR}/$name written \ -from $0\n# after you applied changes to the creation scripts you have to \ -rerun\n# the mkdxsinitrd script to get them applied" \ - >/mnt/etc/${D_INITDIR}/$name - echo -e "\n\ncase \"\$1\" in\n start)\techo -n \"$info\"" \ - >>/mnt/etc/${D_INITDIR}/$name - chmod u+x /mnt/etc/${D_INITDIR}/$name - ;; - close) - echo -e "\t;;\n stop)\n\t;;\nesac\nexit 0" \ - >>/mnt/etc/${D_INITDIR}/$name - ;; -esac -} - -# fixme!! taken from SuSE10.0 untested here ... -# prepare virtual machine environment (vmware, vmplayer) -config_vmware () { -if [ -f /mnt/etc/init.d/vmware-prep ] ; then -if [ -f /mnt/etc/init.d/vmware ] ; then -rllinker "vmware-prep" "18" "02" -rllinker "vmware" "20" "02" -# during vmware sessions linux should not handle usb events/devices -testmkd /mnt/var/X11R6/bin -echo '#!/bin/sh'>> /mnt/etc/udev/rules.d/01-udev-vm.rules -echo -e "# Script for blocking linux from handling usb \ -devices\n# during vmware sessions. If you like to remove certain modules \ -add them\n# to the list below - Dirk von Suchodoletz, <dirk@goe.net>\n\ -STATE=1\nps aux|grep -i vmware|grep -v \"grep\" &>/dev/null && { STATE=0; \ -/sbin/rmmod usb-storage &>/tmp/null; }\n\ -[ x$ACTION = xremove ] && { [ $STATE = 0 ] && /sbin/rmmod usb-storage \ -&>/dev/null; }\nexit \$STATE" > /mnt/var/X11R6/bin/vm-udev -chmod u+x /mnt/var/X11R6/bin/vm-udev -echo -e "# special entry to block linux from reacting to usb events during \ -running\n# vmware sessions, generated by $0 during initramfs\n# Dirk von \ -Suchodoletz, <dirk@goe.net>\nSUBSYSTEM==\"usb\", ACTION==\"add\", \ -PROGRAM=\"/var/X11R6/bin/vm-udev\", OPTIONS=\"ignore_device\"\n\ -SUBSYSTEM==\"usb\", ACTION==\"remove\", PROGRAM=\"/var/X11R6/bin/vm-udev\"" \ - >> /mnt/etc/udev/rules.d/01-udev-vm.rules -fi -fi -} - -# configure automounter -config_automount () { -if [ -f /mnt/etc/init.d/autofs ] ; then - testmkd /var/lock/subsys - echo -e "# /etc/auto.master - file generated by $0:\n\ -/misc\t/etc/auto.misc" >/mnt/etc/auto.master - echo -e "# /etc/auto.misc - file generated by $0:\n" \ - > /mnt/etc/auto.misc - if [ -n "${automnt_src}" ] ; then - # local directory and home directory server from machine-setup - [ -z "${automnt_dir}" ] && automnt_dir="/home" - strinstr "/" "${automnt_dir}" && error "$df_erratpld" nonfatal - automnt_dir=${automnt_dir#/} - echo -e "/home\t/etc/auto.${automnt_dir}\n" >> /mnt/etc/auto.master - echo -e "# /etc/auto.${automnt_dir} created by $0:\n" \ - > /mnt/etc/auto.${automnt_dir} - echo -e "*\t-rsize=32768,wsize=32768,tcp,rw\t${automnt_src}/&" \ - >> /mnt/etc/auto.${automnt_dir} - fi - echo -e "# /etc/sysconfig/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 - config_portmap - rllinker "autofs" "18" "04" -fi -} - -# start portmapper (needed at least for nfs and nis services) -config_portmap () { - rllinker "portmap" "02" "20" -} - -# start NIS (fixmee - does the service is really named ypbind??) -config_nis () { - rllinker "ypbind" "06" "16" -} |
