diff options
| author | Nico Dietrich | 2006-01-19 23:38:18 +0100 |
|---|---|---|
| committer | Nico Dietrich | 2006-01-19 23:38:18 +0100 |
| commit | 480952a017e712078a0bc4f4948f61c70062f35b (patch) | |
| tree | 532f40838b2fd2e88a3467ea523766deab158f80 /initrd/distro-specs/ubuntu | |
| parent | systematisches ersetzen der distro-variablen-namen (diff) | |
| download | core-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/ubuntu')
| -rw-r--r-- | initrd/distro-specs/ubuntu/config | 47 | ||||
| -rw-r--r-- | initrd/distro-specs/ubuntu/functions-debian | 202 | ||||
| -rw-r--r-- | initrd/distro-specs/ubuntu/servconf | 19 |
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 + + |
