summaryrefslogtreecommitdiffstats
path: root/initrd/initrd-stuff/bin/servconfig
diff options
context:
space:
mode:
authorDirk von Suchodoletz2006-09-18 13:58:18 +0200
committerDirk von Suchodoletz2006-09-18 13:58:18 +0200
commitebe256e4b71415fdc3e0cf37782222c02742ac63 (patch)
tree3530e9d43a8769925f73eb364f2822f7d45f0554 /initrd/initrd-stuff/bin/servconfig
parentUpdated scripts for new path scheme (''opt'' prefix, see (diff)
downloadcore-ebe256e4b71415fdc3e0cf37782222c02742ac63.tar.gz
core-ebe256e4b71415fdc3e0cf37782222c02742ac63.tar.xz
core-ebe256e4b71415fdc3e0cf37782222c02742ac63.zip
Hopefully completed #78 task, moved directory name (initramfs to
distinguish from ancient but not longer used Initial Ramdisk concept) git-svn-id: http://svn.openslx.org/svn/openslx/trunk@380 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initrd/initrd-stuff/bin/servconfig')
-rwxr-xr-xinitrd/initrd-stuff/bin/servconfig521
1 files changed, 0 insertions, 521 deletions
diff --git a/initrd/initrd-stuff/bin/servconfig b/initrd/initrd-stuff/bin/servconfig
deleted file mode 100755
index 9e592a23..00000000
--- a/initrd/initrd-stuff/bin/servconfig
+++ /dev/null
@@ -1,521 +0,0 @@
-#!/bin/sh
-#
-# universal (distro independent) configuration script for OpenSLX linux
-# diskless clients (executed in stage3 within initial ramfs). The file-
-# system is setup when servconfig starts
-#
-# Dirk von Suchodoletz <dvs@OpenSLX.com>, 03-09-2006
-# Michael Janczyk <mj0>, 12-09-2006
-# Lars Mueller <lm@OpenSLX.com>, 23-06-2006
-# Oliver Tappe <ot@OpenSLX.com>, 23-06-2006
-#
-# (c) 2006 - RZ Universitaet Freiburg
-# (c) 2006 - OpenSLX.ORG Project
-
-# check for configuration files to source
-
-# functions common for all distros, messages contains all error and
-# info output
-. /etc/messages
-. /etc/functions
-# load distro specific configuration variables and functions. distro
-# specific functions may overwrite functions defined in /etc/functions
-. /etc/sysconfig/config
-. /etc/distro-functions
-# get location of logfile definition
-. /mnt/etc/${D_SYSCONFDIR}/logfile
-
-# script run timer
-[ $DEBUGLEVEL -eq 8 ] && echo "** SW setup started at $(sysup)"
-
-# heavy debugging output in level 3 and below 8 ...
-[ $DEBUGLEVEL -gt 3 -a $DEBUGLEVEL -lt 8 -o $DEBUGLEVEL -eq 12 ] && \
- set -x
-
-#######################################################################
-# copy distro specific scripts, programs, libraries and configs
-cp -a /etc/sysconfig/files/* /mnt 2>/dev/null &
-# boot.local file (different for several distros)
-[ -f "/etc/boot.local" -a -n "${D_BOOTLOCAL}" ] && {
- echo "# added by $0 (initramfs from $date)" >> /mnt/etc/${D_BOOTLOCAL}
- cat /etc/boot.local >> /mnt/etc/${D_BOOTLOCAL}
-}
-
-#######################################################################
-# read and unify configuration options - default configuration file,
-# from dhcp, ldap ...
-# wait for the appearance of configuration from several sources
-cfgcomplete
-. /etc/machine-setup
-[ $DEBUGLEVEL -eq 8 ] && echo "** Config info is complete at $(sysup)"
-
-# copy additional configuration and var files and directories
-# admins can place there files in /var/lib/openslx/config/...
-# to be packed during stage2 into (/srv/dxs)/tftpboot/client-config...)
-# ... in the near future ...
-cp -a /rootfs/* /mnt 2>/dev/null
-
-# set greeting and add information on booted system (distro)
-len=$(expr length $DISTRO)
-dstr="$DISTRO)"
-while [ $len -le 16 ] ; do
- dstr="$dstr "
- len=$(expr $len + 1)
-done
-len=$(expr length $host_name)
-while [ $len -le 30 ] ; do
- space="$space "
- len=$(expr $len + 1)
-done
-echo "
- WELCOME TO $space \n (\l)
- _____ ______ ______ __ __ _______ __ __ __
- / _ | _ | ___| | | | | ____| | | | | |
- | | | | |_| | |_ | | | | |___ | | / /
- | | | | ___/| _| | | ____ | | | |
- | |_| | | | |___| | | | ____| | |___ / /
- _____/|__| |______|__| |__| |_______|______|__| |__|
-
- Diskless Workstation (v4.1/$dstr (c) <OpenSLX.ORG project>
-">/mnt/etc/issue
-
-#######################################################################
-# vmware stuff first part: two scenarios
-# * VM images in /usr/share/vmware - then simply link
-# * VM images via additional mount (mount source NFS, NBD, ...)
-if [ "x$vmware" != "x" ] && [ "x$vmware" != "xno" ] ; then
- # get source of vmware image server (get type, server and path)
- if [ -n "${imgsrv}" ] ; then
- vmimgprot=$(uri_token $imgsrv prot)
- vmimgserv=$(uri_token $imgsrv server)
- vmimgpath="/$(uri_token $imgsrv path)"
- # on DHCP config systems vmware image server might be coded into the
- # $vmware variable
- elif strinstr "/" "$vmware" ; then
- vmimgprot=$(uri_token $vmware prot)
- vmimgserv=$(uri_token $vmware server)
- vmimgpath="/$(uri_token $vmware path)"
- fi
- if [ -n "${vmimgserv}" ] ; then
- testmkd /mnt/var/lib/vmware
- case "${vmimgsprot}" in
- *nbd)
- ;;
- *)
- # we expect nfs mounts here ...
- nfsmnt ${vmimgserv}:${vmimgpath} /mnt/var/lib/vmware || {
- error "${scfg_nfs}" nonfatal; noimg=yes; }
- ;;
- esac
- # if only the path is given expect a local source within exported
- # system (allow compatibility to older 3.X versions)
- elif [ -n "${vmimgpath}" ] ; then
- ln -s ${vmimgpath} /mnt/var/lib/vmware 2>/dev/null
- fi
-fi
-
-#######################################################################
-# set localization
-if [ -z "$country" ] ; then
- error "$scfg_country" nonfatal
- country="${D_DEFAULTCOUNTRY}"
-fi
-localization "${country}"
-
-#######################################################################
-# setup passwd and shadow for local system users like root, bin, daemon
-# and nobody if no user/admin provided passwd exists ...
-# the root password provided by machine-setup is used only if no passwd
-# file is provided (default case)
-if [ ! -f /rootfs/etc/passwd ] ; then
- basepasswd
-fi
-
-#######################################################################
-# dns and ip configuration
-# hostname of the machine
-echo "$host_name" >/proc/sys/kernel/hostname
-echo -e "# /etc/hosts - file generated by\n#\t$0:\n#\t$date\
-\n#\n# IP-Address Full-Qualified-Hostname Short-Hostname\n#\n\
-127.0.0.1\tlocalhost\n::1\t\tlocalhost ipv6-localhost ipv6-loopback\n\
-fe00::0\t\tipv6-localnet\nff00::0\t\tipv6-mcastprefix\nff02::1\
-\t\tipv6-allnodes\nff02::2\t\tipv6-allrouters\nff02::3\t\t\
-ipv6-allhosts\n" >/mnt/etc/hosts
-echo -e "$clientip\t$host_name.$domain $host_name\n" >>/mnt/etc/hosts
-
-# set up domainname and resolving
-test -n "$domain_name" && \
- echo -e "# /etc/resolv.conf - file generated by\n#\t$0:\n\
-#\t$date\n#options timeout:1 attempts:1 rotate\n\
-search "$domain_name >/mnt/etc/resolv.conf
-test -n "$domain_name_servers" && {
- for nameserver in $domain_name_servers; do
- echo nameserver $nameserver >>/mnt/etc/resolv.conf;
- done; }
-
-#######################################################################
-# initial boot scripts
-# delete and create runlevel links for initial booting (SuSE, Debian,
-# ...)
-initial_boot
-
-#######################################################################
-#
-# run distro specific configuration function
-config_distro
-
-
-#######################################################################
-#
-# boot.local
-if [ -n "$bootlocal_script" ]; then
- echo -e "# entries added by $0:\n#\t$date\n\n\
-$bootlocal_script" >> /mnt/etc/${D_INITDIR}/boot.local
-fi
-
-#######################################################################
-# basic (non network) services
-
-# at daemon - calling distro specific function config_atd
-config_atd
-
-# configuration of cron services - calling distro specific function
-# config_cron (runlevel links, directories, ...)
-config_cron
-[ "x$crontab_entries" != "x" ] && \
- echo -e "$crontab_entries" >> /mnt/etc/crontab
-
-# setup system log services - distro dependent function config_syslog
-config_syslog
-
-# configure dbus - distro dependent function config_dreshal - handle
-# all stuff regarding dependent services like dbus, resmgr, hal ...
-# (check for runlevel scripts, passwd entries, directories ...)
-config_dreshal
-
-# acpi and powersave - distro dependent function config_acpi
-config_acpi
-
-# configure automounter
-# if automounter=yes
-if [ -d /mnt/misc ] ; then
- 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:" >/mnt/etc/auto.misc
-else
- 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:\nautomount for \
-removable devices is mostly deprecated, so /misc is not\nactivated in \
-auto.master." > /mnt/etc/auto.misc
-fi
-if [ -n "${automnt_src}" ] ; then
- # local directory and home directory server from machine-setup
- [ -z "${automnt_dir}" ] && automnt_dir="/home"
- # remove leading and trailing slash
- automnt_dir=${automnt_dir#/}
- automnt_dir=${automnt_dir%/}
- test -d /${automnt_dir} || error "$scfg_erradir" nonfatal
- strinstr "/" ${automnt_dir} && error "$scfg_erratpld" nonfatal
- amserv=$(uri_token $automnt_src server)
- ampath=$(uri_token $automnt_src path)
- echo -e "/${automnt_dir}\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${amserv}:/${ampath}/&" \
- >> /mnt/etc/auto.${automnt_dir}
- # no tempfs needed if automounter operates on /home
- [ "${automnt_dir}" = "home" ] && umount -t tmpfs /mnt/home 2>/dev/null
- # portmapper is needed for remote NFS sources
- config_portmap
-fi
-config_automount
-# fi
-
-# configure bluetooth services
-config_bt
-
-#######################################################################
-# network(ed) services
-
-# network time service (ntp) configuration file
-if [ -n "$ntp_servers" -a ! -f /rootfs/etc/ntp.conf ]; then
- echo -e "# /etc/ntp.conf - file generated by $0: \
-$date\n" >/mnt/etc/ntp.conf
- for ntpserver in $ntp_servers; do
- echo server $ntpserver >>/mnt/etc/ntp.conf
- done
-fi
-# copy timezone file defined with language settings
-[ -z "$TZ" ] && TZ="$timezone"
-ln -snf /usr/share/zoneinfo/${TZ} /mnt/etc/localtime || \
- error "$scfg_ntptz" nonfatal
-config_ntp
-
-# secure shell server - at the moment all clients share one "secret"
-# key or the key has to be regenerated on every bootup or fetched on
-# every bootup from somewhere
-config_sshd
-
-# simple network management protocol agent
-config_snmp
-
-# setup afs client stuff
-config_afs
-
-#######################################################################
-# NIS
-# setup nis configuration if needed
-if [ "x$nis_domain" != "x" ] && [ "x$nis_servers" != "x" ] ; then
- echo $nis_domain >/mnt/etc/defaultdomain
- echo -e "# /etc/yp.conf - file generated by $0:\n#\t\
-$date\n\nypserver "$nis_servers >/mnt/etc/yp.conf
- # should be last in passwd file
- strinfile "+:::" /mnt/etc/passwd || echo "+::::::" >>/mnt/etc/passwd
- config_nis
-fi
-
-#######################################################################
-# name service caching daemon if networked user database
-config_nscd
-
-#######################################################################
-# vmware stuff second part: setting up the environment
-
-# create needed directories and files
-if [ "x$vmware" != "x" ] && [ "x$vmware" != "xno" ] ; then
- for i in /var/X11R6/bin /etc/vmware/vmnet1 /etc/vmware/vmnet8 \
- /var/run/vmware /etc/X11/sessions ; do
- testmkd /mnt/$i
- done
- # generate a runlevel script
- d_mkrlscript init vmware-prep "Starting preparation of vmware environment"
- sed "s,^#.*,,;/^$/d;s,^, ," /etc/vmware-prep >> \
- /mnt/etc/${D_INITDIR}/vmware-prep
- d_mkrlscript close vmware-prep ""
- chmod u+x /mnt/etc/${D_INITDIR}/vmware-prep
- # check here that mount finished and the important files are available
- if [ "$noimg" = "yes" ] ; then
- error "$scfg_vmdir" nonfatal
- else
- # add special sessions to the display managers session menu
- # default kdm session. Xdialog with WM and VMware images
- cp /mnt/var/lib/vmware/templ/runvmware \
- /mnt/var/X11R6/bin >/dev/null 2>&1
- cp /mnt/var/lib/vmware/templ/defaultwm \
- /mnt/var/X11R6/bin >/dev/null 2>&1
- cp /mnt/var/lib/vmware/templ/kursimages \
- /mnt/var/X11R6/bin >/dev/null 2>&1
- fi
- config_vmware
- chmod 1777 /mnt/var/run/vmware
- # define a variable where gdm/kdm should look for additional sessions
- export vmsessions=/var/lib/vmware/vmsessions
- # create default.desktop for kdm
- echo -e "[Desktop Entry]\nEncoding=UTF-8\nName=Default\n\
-Name[de]=Standard\nExec=defaultwm\nTryExec=/var/X11R6/bin/defaultwm\n\
-Type=Application" >/mnt/etc/X11/sessions/default.desktop
- rm /mnt/etc/vmware/not_configured 2>/dev/null
- echo -e "#!/bin/sh\n#\n# file generated by ${0} at ${date}\
- \n# set X background\
- \nres=\$(xvidtune -show | grep -wo \"\\\".*\\\"\" | sed \"s/\\\"//g\")\
- \nif ! [ -f /var/lib/vmware/templ/corp-id/bootsplash/silent-\${res}.jpg ]; then
- \n img=\$(ls /etc/bootsplash/themes/dxs/images/ | grep -m 1 \"silent\")\
- \n display -window root /var/lib/vmware/templ/corp-id/bootsplash/images/\${img}\
- \nelse\
- \n display -window root /var/lib/vmware/templ/corp-id/bootsplash/images/silent-\${res}.jpg\
- \nfi
- \nstartvm=\$(echo \$0 | sed -e \"s,.*/,,\")\
- \n/var/X11R6/bin/runvmware -s \${startvm}\n"\
- > /mnt/var/X11R6/bin/desktop-session #${debug} removed
- chmod 755 /mnt/var/X11R6/bin/runvmware /mnt/var/X11R6/bin/defaultwm \
- /mnt/var/X11R6/bin/desktop-session >/dev/null 2>&1
- sessions=$(ls /mnt/var/lib/vmware/vmsessions/*.desktop 2>/dev/null)
- # fixme: the following part is to be tested!!
- if [ -n "${sessions}" ]; then
- for i in /mnt/var/lib/vmware/vmsessions/*.desktop; do
- #session_name=$(cat ${i} | grep -iw "exec" \
- # | awk -F "=" '{print $2}')
- session_name=$(cat ${i}|sed -n "/^[Ee]xec/p"|sed -e "s,Exec=,,")
- # copy bacause of initrd
- cp /mnt/var/X11R6/bin/desktop-session \
- /mnt/var/X11R6/bin/${session_name}
- #ln -s /mnt/var/X11R6/bin/desktop-session \
- # /mnt/var/X11R6/bin/${session_name}
- done
- fi
-fi
-
-#######################################################################
-# preparation of /tmp directory (partition 44, nfs scratch, ramdisk)
-# there might be the chance that we have a disk partition available, so
-# wait for completion of detection, setup process
-waitfor /tmp/tmpready 10000
-[ $DEBUGLEVEL -eq 8 ] && echo "** Setup of /tmp completed at $(sysup)"
-# create some directories and correct permissions
-tmpisdisk=$(sed -n '/\/tmp/p' /tmp/fstab 2>/dev/null)
-# if there is no local disk partition for /tmp then try to mount a rw
-# scratch space (if defined in $scratch) and prepared on server
-if [ -n "$scratch" -a -z "$tmpisdisk" ] ; then
- scrproto=$(uri_token $FILESRC prot)
- scrpath=$(uri_token $FILESRC path)
- testmkd /tmp/scratch
- # exports have to be per client!!
- case "$scrproto" in
- nbd)
- :
- ;;
- *)
- tmpserv=$(uri_token $scratch server)
- tmppath=$(uri_token $scratch path)
- # fixme - use nfsmnt and pass info on rw
- mount -t nfs -o rw,nolock,intr,nodev,soft,timeo=2,nosuid \
- ${tmpserv}:/${tmppath} /tmp/scratch >/dev/null 2>&1 && {
- mkdir -p /tmp/scratch/${clientip} >/dev/null 2>&1
- umount /tmp/scratch
- mount -t nfs -o rw,nolock,intr,nodev,soft,timeo=2,nosuid \
- ${tmpserv}:/${tmppath}/${clientip} /mnt/tmp >/dev/null 2>&1; }
- ;;
- esac
-fi
-chmod 1777 /mnt/tmp
-
-#######################################################################
-# X11/GUI stuff
-if [ "x$start_x" != "xno" ] ; then
- # creating directories commonly needed for X11 in all distros
- # rest should be done via config_x11 function (distro specific)
- for i in /var/lib/xkb/ \
- /etc/X11/xdm \
- /etc/X11/sessions \
- /var/X11R6/bin \
- /var/run/xdmctl \
- /tmp/.ICE-unix \
- /tmp/.X11-unix ; do testmkd /mnt/$i; done
- chmod a+rwxt /mnt/tmp/.ICE-unix /mnt/tmp/.X11-unix
- echo "# file emtied by $0 during initramfs" > /mnt/etc/X11/xdm/Xservers
- # define additional sessions offered to the user (via dhcp/ldap config)
- # descsession -> deprecated by new vmware integration concept
- # write available X display manager to /etc/X11/xdm/Xaccess
- [ -n "$x_display_manager" ] && \
- echo -e "# /etc/X11/xdm/Xaccess - file generated by $0: \
-$date\n*\n%hostlist\t$x_display_manager\n*\t\tCHOOSER %hostlist"\
- >/mnt/etc/X11/xdm/Xaccess
-
- # define type of X session
- dsx="no"
- init="#7:5:respawn:/usr/X11R6/bin/X vt7 -quiet"
- case "$start_x" in
- yes|YES|direct|DIRECT|query|QUERY)
- # direct connection onto the own displaymanager, which
- # should be enabled then
- [ "x$start_xdmcp" = "xno" ] && $start_xdmcp="yes"
- init=""
- dsx="yes"
- xdmcp="false"
- echo -e "# /etc/X11/Xservers - file generated by \
-$0: $date\n:0 local /usr/X11R6/bin/X :0 vt07\n" >/mnt/etc/X11/xdm/Xservers
- ;;
- broadcast|BROADCAST)
- # the client will XDMCP broadcast and choose first available
- # X11 server
- [ "x$start_xdmcp" = "xgdm" ] || init="$init -broadcast"
- ;;
- indirect|INDIRECT)
- # the client will try to XDMCP connect list of X11 servers
- if [ "x$start_xdmcp" = "xgdm" ] ; then
- init=""
- else
- init="$init -indirect $host_name"
- fi
- [ "x$start_xdmcp" = "xno" ] && start_xdmcp="yes"
- xdmcp="true"
- ;;
- *)
- # no display manager needed in kiosk mode
- # in this mode you have to provide the type of X session to start
- [ x$start_xdmcp != "x" ] || start_xdmcp="no";
- init="7:5:respawn:/var/X11R6/bin/kiosk /dev/tty7"
- echo -e "#!/bin/sh\n# /var/X11R6/bin/kiosk - file generated by $0: \
-$date\nwhile ps aux|grep -i kiosk|grep -v \"grep\" &>/dev/null;\
-do\n test -f /var/run/kiosk || break; sleep 3;\ndone\ntouch \
- /var/run/kiosk\nresmgr login nobody tty7\nresmgr grant nobody desktop\n\
-chown nobody /dev/dsp* /dev/audio* /dev/mixer* /dev/snd/control*\n\
-chown -R nobody:nobody /var/lib/nobody\nsu -c 'xinit /var/X11R6/bin/startgui \
-$start_x -- vt7 -quiet' -l nobody &>/dev/null\nrm /var/run/kiosk\n\
-resmgr revoke nobody\nresmgr logout tty7\nkillall X" \
- >/mnt/var/X11R6/bin/kiosk
- # early start of kiosk session if not late_dm is set
- if [ "x$late_dm" != "xyes" ] ; then
- echo -e "\t# kiosk start added by $0\n\t\
-/var/X11R6/bin/kiosk &>/dev/null &" >>/mnt/etc/${D_INITDIR}/boot.ld
- fi
- cp /etc/startgui /mnt/var/X11R6/bin
- chmod a+x /mnt/var/X11R6/bin/kiosk /mnt/var/X11R6/bin/startgui
- rm /mnt/var/run/kiosk 2>/dev/null
- ;;
- esac
- echo -e "# entry made by $0 $date\n$init" >> /mnt/etc/inittab
-fi
-
-# setup requested display manager
-if [ "x$start_xdmcp" != "xno" ] ; then
- testmkd /mnt/var/lib/xdm/authdir/authfiles
- testmkd /mnt/var/run/xdmctl
- if [ "$start_xdmcp" = "yes" ] ; then
- start_xdmcp=kdm
- fi
- # just ensure lowercase
- start_xdmcp=$(echo $start_xdmcp|sed -e "y/'GKWXDM'/'gkwxdm'/")
- case "$start_xdmcp" in
- wdm)
- # anywhere in use!?
- ;;
- kdm)
- # config is most probably not common in all distros?
- # distro specific function config_kdm
- config_kdm
- ;;
- gdm)
- # config is most probably not common in all distros?
- # distro specific function config_gdm
- config_gdm
- ;;
- *)
- # setup xdm (should be the same over the several distros)
- echo -e "# /etc/X11/xdm/xdm-config - file generated by\n\
-#\t$0: $date\n\nDisplayManager.errorLogFile:\t/var/log/xdm.errors\n\
-DisplayManager.pidFile:\t\t/var/run/xdm.pid\n\
-DisplayManager.authDir:\t\t/var/lib/xdm\n\
-DisplayManager.keyFile:\t\t/etc/X11/xdm/xdm-keys\n\
-DisplayManager.servers:\t\t/etc/X11/xdm/Xservers\n\
-DisplayManager.accessFile:\t/etc/X11/xdm/Xaccess\n\
-DisplayManager.willing:\t\tsu nobody -c /etc/X11/xdm/Xwilling\n\
-DisplayManager.*.authName:\tMIT-MAGIC-COOKIE-1\n\
-DisplayManager.*.authComplain:\tfalse\n\
-DisplayManager.*.setup:\t\t/etc/X11/xdm/Xsetup\n\
-DisplayManager.*.chooser:\t/etc/X11/xdm/RunChooser\n\
-DisplayManager.*.startup:\t/etc/X11/xdm/Xstartup\n\
-DisplayManager.*.session:\t/etc/X11/xdm/Xsession\n\
-DisplayManager.*.reset:\t\t/etc/X11/xdm/Xreset" \
- >/mnt/etc/X11/xdm/xdm-config
- [ "$xdmcp" = "false" ] && echo -e \
- "DisplayManager.requestPort:\t0\n" >>/mnt/etc/X11/xdm/xdm-config
- # distro specific function config_xdm (at least for runlevel links)
- config_xdm
- ;;
- esac
-fi
-
-# theming
-mkdir -p /mnt/var/lib/openslx/themes
-cp -a /usr/share/themes/kdm /usr/share/themes/Xdialog \
- /usr/share/themes/bootsplash /mnt/var/lib/openslx/themes >/dev/null 2>&1
-cp /usr/share/themes/kdm/kdmrc /mnt/etc/opt/kde3/share/config/kdm >/dev/null 2>&1
-
-# script run timer
-[ $DEBUGLEVEL -eq 8 ] && echo "** SW setup finished at $(sysup)"
-
-# servconfig finished successfully
-echo "finished" > /tmp/svcfg