From a0403a95ef0509aee974dfe50d00ef084b6b315e Mon Sep 17 00:00:00 2001 From: Dirk von Suchodoletz Date: Sat, 24 Jun 2006 20:20:56 +0000 Subject: Massive changes for distro specific configurations (mkdxsinitrd, distro-specs/*) ... git-svn-id: http://svn.openslx.org/svn/openslx/ld4@249 95ad53e4-c205-0410-b2fa-d234c58c8868 --- initrd/distro-specs/ubuntu/config-5.10 | 35 +-- initrd/distro-specs/ubuntu/functions-5.10 | 405 +-------------------------- initrd/distro-specs/ubuntu/functions-6.06 | 14 + initrd/distro-specs/ubuntu/functions-default | 390 ++++++++++++++++++++++++++ 4 files changed, 418 insertions(+), 426 deletions(-) create mode 100644 initrd/distro-specs/ubuntu/functions-6.06 create mode 100644 initrd/distro-specs/ubuntu/functions-default (limited to 'initrd/distro-specs/ubuntu') diff --git a/initrd/distro-specs/ubuntu/config-5.10 b/initrd/distro-specs/ubuntu/config-5.10 index 08bea552..452489d5 100644 --- a/initrd/distro-specs/ubuntu/config-5.10 +++ b/initrd/distro-specs/ubuntu/config-5.10 @@ -1,9 +1,10 @@ -# Description: distro specific settings for Debian/Sarge +# Description: distro specific settings for Ubuntu Hoary Hedgehog (5.10) +# defaults are taken from config-default file # -# Author(s): Dirk von Suchodoletz , 09-04-2006 -# Blablub +# Author(s): Dirk von Suchodoletz , 23-06-2006 +# +# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg # -# 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 @@ -26,28 +27,4 @@ # 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/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_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_INITDEFAULT="3" -D_INITSCRIPTS="mountvirtfs udev procps.sh bootlogd boot.ld hwclock.sh sudo dbus" -D_XF86CONFFILE="/etc/X11/xorg.conf" -D_XFONTPATH="/usr/share/fonts/*" -D_DEFAULTCOUNTRY="de" -D_BOOTLOCAL="" +# no changes from default diff --git a/initrd/distro-specs/ubuntu/functions-5.10 b/initrd/distro-specs/ubuntu/functions-5.10 index 314e49ef..a72a1321 100644 --- a/initrd/distro-specs/ubuntu/functions-5.10 +++ b/initrd/distro-specs/ubuntu/functions-5.10 @@ -1,403 +1,14 @@ # Description: configuration script for Ubuntu V5.10 to configure -# linux diskless clients (executed within initial -# ramdisk after genconfig) +# linux diskless clients (executed within initial +# ramdisk after genconfig) - overwrites settings from the +# ubuntu default file (functions-default) # -# Author(s): Dirk von Suchodoletz , 18-05-2006 -# Nico Dietrich -# Felix Endres +# Author(s): Dirk von Suchodoletz , 23-06-2006 +# Nico Dietrich +# Felix Endres # # Copyright: (c) 2006 - RZ Universitaet Freiburg # -# Version: 0.2.1g +# Version: 0.3.0a -# 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 -} - -# 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 -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 -} - -## 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 -#} - -# 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 - 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 -} -"20" "02" -# acpi and powersave -config_acpi () { - rllinker "acpid" "02" "19" - rllinker "acpi-support" "20" "02" -} - -# configure gdm as display manager -config_gdm () { - # start the display manager as early as possible, but avoid that is - # started twice during bootup - quickhack ... - #ln -sf /etc/${D_INITDIR}/xdm /mnt/etc/${D_INITDIR}/rc5.d/S01xdm - ln -sf ../${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 - # append gdm user - echo "gdm:x:113:">>/etc/group - echo "gdm:x:106:113:Gnome Display Manager:/var/lib/gdm:/bin/false" >>/etc/passwd - -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/opt/gnome/gdm/gdm.conf -else - echo -e "\n[servers]\n0=Standard\n\n\ -[server-Standard]\nname=Standard server\ncommand=/usr/X11R6/bin/X\n\ -flexible=true\nhandled=true" >>/mnt/etc/opt/gnome/gdm/gdm.conf -fi -} - -# configure kdm as display manager -config_kdm () { - 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 -} - -# configure hal, dbus, resmgr and services like that -config_dreshal () { -if [ "x$start_dreshal" = "xyes" ]; then - : -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 () { -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, \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, \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 -} - -# 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" -} +# nothing changed from default yet diff --git a/initrd/distro-specs/ubuntu/functions-6.06 b/initrd/distro-specs/ubuntu/functions-6.06 new file mode 100644 index 00000000..f2229f1d --- /dev/null +++ b/initrd/distro-specs/ubuntu/functions-6.06 @@ -0,0 +1,14 @@ +# Description: configuration script for Ubuntu V6.06 to configure +# linux diskless clients (executed within initial +# ramdisk after genconfig) - overwrites settings from the +# ubuntu default file (functions-default) +# +# Author(s): Dirk von Suchodoletz , 23-06-2006 +# Nico Dietrich +# Felix Endres +# +# Copyright: (c) 2006 - RZ Universitaet Freiburg +# +# Version: 0.3.0a + +# nothing changed from default yet diff --git a/initrd/distro-specs/ubuntu/functions-default b/initrd/distro-specs/ubuntu/functions-default new file mode 100644 index 00000000..e1d1c0c7 --- /dev/null +++ b/initrd/distro-specs/ubuntu/functions-default @@ -0,0 +1,390 @@ +# Description: configuration script for general Ubuntu to configure +# linux diskless clients (executed within initial ramdisk +# after genconfig) +# +# Author(s): Dirk von Suchodoletz , 23-06-2006 +# Nico Dietrich +# Felix Endres +# +# 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 + + # load unix module to provide sockets (is compiled into kernel on + # the live CDs!?) + modprobe ${MODPRV} unix || error "$df_errumod" nonfatal +} + +# 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 +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 + 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 +} +"20" "02" +# acpi and powersave +config_acpi () { + rllinker "acpid" "02" "19" + rllinker "acpi-support" "20" "02" +} + +# configure gdm as display manager +config_gdm () { + # start the display manager as early as possible, but avoid that is + # started twice during bootup - quickhack ... + #ln -sf /etc/${D_INITDIR}/xdm /mnt/etc/${D_INITDIR}/rc5.d/S01xdm + ln -sf ../${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 + # append gdm user + echo "gdm:x:113:">>/etc/group + echo "gdm:x:106:113:Gnome Display Manager:/var/lib/gdm:/bin/false" >>/etc/passwd + +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/opt/gnome/gdm/gdm.conf +else + echo -e "\n[servers]\n0=Standard\n\n\ +[server-Standard]\nname=Standard server\ncommand=/usr/X11R6/bin/X\n\ +flexible=true\nhandled=true" >>/mnt/etc/opt/gnome/gdm/gdm.conf +fi +} + +# configure kdm as display manager +config_kdm () { + 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 +} + +# configure hal, dbus, resmgr and services like that +config_dreshal () { +if [ "x$start_dreshal" = "xyes" ]; then + : +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 () { +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, \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, \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 +} + +# 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" +} -- cgit v1.2.3-55-g7522