summaryrefslogtreecommitdiffstats
path: root/initrd/distro-specs
diff options
context:
space:
mode:
authorNico Dietrich2006-01-19 23:38:18 +0100
committerNico Dietrich2006-01-19 23:38:18 +0100
commit480952a017e712078a0bc4f4948f61c70062f35b (patch)
tree532f40838b2fd2e88a3467ea523766deab158f80 /initrd/distro-specs
parentsystematisches ersetzen der distro-variablen-namen (diff)
downloadcore-480952a017e712078a0bc4f4948f61c70062f35b.tar.gz
core-480952a017e712078a0bc4f4948f61c70062f35b.tar.xz
core-480952a017e712078a0bc4f4948f61c70062f35b.zip
distro-erkennung, debian -> debian+ubuntu
git-svn-id: http://svn.openslx.org/svn/openslx/dxs/ld4@23 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initrd/distro-specs')
-rw-r--r--initrd/distro-specs/ubuntu/config47
-rw-r--r--initrd/distro-specs/ubuntu/functions-debian202
-rw-r--r--initrd/distro-specs/ubuntu/servconf19
3 files changed, 268 insertions, 0 deletions
diff --git a/initrd/distro-specs/ubuntu/config b/initrd/distro-specs/ubuntu/config
new file mode 100644
index 00000000..a38f1fb0
--- /dev/null
+++ b/initrd/distro-specs/ubuntu/config
@@ -0,0 +1,47 @@
+# Description: distro specific settings for Debian/Sarge
+#
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 16-01-2006
+# Blablub
+#
+# 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_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_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"
+D_RODIRSINRW="etc/gconf etc/X11/xkb /var/adm /var/lib/texmf /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_BINDMNT="# "
+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_INITSCRIPTS="udev procps.sh bootlogd keymap.sh hwclock.sh sudo"
+D_XF86CONFFILE="/etc/X11/xorg.conf"
+D_XFONTPATH="/usr/X11R6/lib/X11/fonts/*"
+D_DEFAULTCOUNTRY="de"
diff --git a/initrd/distro-specs/ubuntu/functions-debian b/initrd/distro-specs/ubuntu/functions-debian
new file mode 100644
index 00000000..4344ac96
--- /dev/null
+++ b/initrd/distro-specs/ubuntu/functions-debian
@@ -0,0 +1,202 @@
+# Description: configuration script for SuSE 10.0 to configure
+# linux diskless clients (executed within initial
+# ramdisk after genconfig)
+#
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 18-01-2006
+# Blabla
+# Blub
+#
+# Copyright: (c) 2006 - RZ Universitaet Freiburg
+#
+# Version: 0.2.1a
+
+# distro specific stuff to initialize
+preinit () {
+ echo "dhcp:x:101:">>/etc/group
+ echo "dhcp:x:101:101::/nonexistent:/bin/false">>/etc/passwd
+}
+
+# linking runlevel scripts
+rllinker () {
+local script="$1"
+local start="$2"
+local stop="$3"
+# empty runlevel links - decision on running certain services is
+# passed via configuration
+for i in rc3.d/K$stop$script rc5.d/K$stop$script \
+ rc3.d/S$start$script rc5.d/S$start$script ; do
+ ln -sf ../$script /mnt/etc/init.d/$i
+ echo "Linked $script"
+done
+}
+
+# group of functions for the normal runlevels - first parameter is start
+# second stop
+# function for ntp configuration
+config_ntp () {
+local start=$1
+local stop=$2
+if [ -f /mnt/etc/init.d/ntp ] ; then
+ echo -e "ntp:x:74:65534:NTP daemon:/var/lib/ntp:/bin/false" \
+ >>/mnt/etc/passwd
+ testmkd /mnt/var/lib/ntp/var/run/ntp &>/dev/null
+ if [ "x$start_ntp" = "xinitial" ] ; then
+ echo -e "# entry added by $0: $date" \
+ >>/mnt/etc/${D_INITDIR}/boot.ld
+ echo "ntpdate -s -b $ntp_servers >${LOGFILE} 2>&1 &" \
+ >>/mnt/etc/${D_INITDIR}/boot.ld
+ else
+ rllinker "ntp" "$start" "$stop"
+ fi
+fi
+}
+
+# function for atd
+config_atd () {
+if [ "x$start_atd" = "xyes" ]; then
+ rllinker "atd" "$1" "$2"
+fi
+}
+
+# function for configuration of cron services
+config_cron () {
+if [ "x$start_cron" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/cron ] ; then
+ testmkd /mnt/var/spool/cron/lastrun
+ testmkd /mnt/var/spool/cron/tabs
+ echo -e "# /etc/crontab - file generated by $0:\n\
+#\t$date\nSHELL=/bin/sh\nPATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin\
+\nMAILTO=\n-*/15 * * * *\troot\ttest -x /usr/lib/cron/run-crons && \
+/usr/lib/cron/run-crons >/dev/null 2>&1\n" >/mnt/etc/crontab
+ else
+ error " The cron start script seems not to be installed, so requesting \
+\n the start of cron services make no sense." nonfatal
+ fi
+fi
+}
+
+# syslog service
+config_syslog () {
+if [ "x$start_syslog" = "xyes" ] ; then
+ echo >/dev/null
+fi
+}
+
+# secure shell service
+config_sshd () {
+if [ "x$start_sshd" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/sshd ] ; then
+ testmkd /mnt/var/lib/sshd; testmkd /mnt/var/lib/empty
+ rllinker "sshd" "$1" "$2"
+ fi
+fi
+}
+
+# snmp agent for remote monitoring
+config_snmp () {
+if [ "x$start_snmp" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/snmpd ] ; then
+ rllinker "snmpd" "$1" "$2"
+ testmkd /mnt/var/lib/net-snmp >/dev/null 2>&1
+ fi
+ # fixme!!
+ # write service monitor depending on services started
+ fi
+}
+
+# x11 stuff
+descsession () {
+if [ "x$desktop_session" != "x" ] ; then
+ windowmanagers="$desktop_session"
+ # write script for desktop-session chooser
+ if [ "x$vmware" != "xno" ] ; then
+ debug=""
+ [ ${DEBUGLEVEL} -gt 0 ] && debug="--debug 1"
+ echo -e "#!/bin/sh\n#\n# file generated by\n#\t$0:\n#\t$date\n
+OSTYPE=\`echo \$0 | sed -e \"s,-, ,\" -e \"s,.*/,,\" | awk '{print \$1}'\`
+SPECTYPE=\`echo \$0 | sed -e \"s,-, ,\" -e \"s,.*/,,\" | awk '{print \$2}'\`\n
+OPTS=\"-o \$OSTYPE \${SPECTYPE:+\"-s \$SPECTYPE\"}\"\n
+xterm -bg black -fg white -geometry 170x30+0-0 +sb \
+-e \"runvmware \$OPTS $debug\"\n" > /mnt/var/X11R6/bin/desktop-session
+ chmod a+x /mnt/var/X11R6/bin/desktop-session
+ addpath="true";
+ fi
+else
+ windowmanagers="kde,gnome,icewm,failsafe"
+fi
+# check if /usr/X11R6/bin is writeable, else use /var/X11R6/bin
+if [ -w /mnt/usr/X11R6/bin/WM-Session ] ; then
+ sesspath="/usr/X11R6/bin"
+else
+ sesspath="/var/X11R6/bin"
+ addpath="true"
+fi
+
+# create links to desktop-session chooser
+[ -f /mnt/usr/bin/X11/wmlist ] && wmlist=`cat /mnt/usr/bin/X11/wmlist`
+
+for i in `echo $windowmanagers|sed -e "s/,/ /g"` ; do
+ # beware!! quickhack for VMware sessions
+ strinstr "$i" "$wmlist" || \
+ test -x /mnt/usr/X11R6/bin/$i || \
+ echo -e "[Desktop Entry]\nX-SuSE-translate=true\nEncoding=UTF-8\n\
+Type=XSession\nExec=$i\nTryExec=$sesspath/$i\n\
+Name=$i\n" > /mnt/etc/X11/sessions/$i.desktop
+ # does not work correctly (add /var/X11R6/bin to path!!)
+ test -x /mnt/usr/X11R6/bin/$i || \
+ ln -fs /var/X11R6/bin/desktop-session /mnt/$sesspath/$i
+done
+
+# add special path /var/X11R6/bin to the PATH variable
+[ "x$addpath" != "x" ] && \
+ echo -e "# added path component by $0: $date\n\
+PATH=\"\$PATH:/var/X11R6/bin\"" >>/mnt/etc/SuSEconfig/profile
+
+}
+
+# configure display manager (runlevel links and kind of manager)
+config_dm () {
+ # should be stated that entries were made (fixmee how??)
+ sed -e "s,DISPLAYMANAGER=.*,DISPLAYMANAGER=\"$start_xdmcp\"," \
+ -e "s,.*_XSERVER.*,DISPLAYMANAGER_STARTS_XSERVER=\"$dsx\"," \
+ /mnt/etc/sysconfig/displaymanager > /etc/displaymanager
+ cp /etc/displaymanager /mnt/etc/sysconfig/displaymanager
+
+# echo -e "#!/bin/sh\n# entry added by $0: $date\n\
+#(sleep 1; /etc/init.d/xdm start) &" >>/mnt/etc/${D_INITDIR}/boot.ld
+ ln -sf /etc/init.d/xdm /mnt/etc/init.d/rc5.d/S01xdm
+ ln -sf /etc/init.d/xdm /mnt/etc/init.d/rc5.d/K20xdm
+}
+
+# consolefont
+consolefont () {
+echo -e "setfont ${CONSOLE_FONT} >${LOGFILE} 2>&1" \
+ >>/mnt/etc/${D_INITDIR}/boot.ld
+}
+
+# acpi and powersave
+config_acpi () {
+ echo >/dev/null
+}
+
+# configure xdm as display manager
+config_xdm () {
+ echo >/dev/null
+}
+
+# configure gdm as display manager
+config_gdm () {
+ echo >/dev/null
+}
+
+# configure kdm as display manager
+config_kdm () {
+ echo >/dev/null
+}
+
+# configure hal, dbus, resmgr and services like that
+config_dreshal () {
+if [ "x$start_dreshal" = "xyes" ]; then
+ echo >/dev/null
+fi
+}
diff --git a/initrd/distro-specs/ubuntu/servconf b/initrd/distro-specs/ubuntu/servconf
new file mode 100644
index 00000000..9e711042
--- /dev/null
+++ b/initrd/distro-specs/ubuntu/servconf
@@ -0,0 +1,19 @@
+#!/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
+
+