summaryrefslogtreecommitdiffstats
path: root/initrd/initrd-stuff/bin
diff options
context:
space:
mode:
Diffstat (limited to 'initrd/initrd-stuff/bin')
-rwxr-xr-xinitrd/initrd-stuff/bin/ddcprobebin28376 -> 0 bytes
-rwxr-xr-xinitrd/initrd-stuff/bin/dhcpmkconfig68
-rwxr-xr-xinitrd/initrd-stuff/bin/hwautocfg461
-rwxr-xr-xinitrd/initrd-stuff/bin/hwsetupbin123832 -> 0 bytes
-rwxr-xr-xinitrd/initrd-stuff/bin/run-initbin10832 -> 0 bytes
-rwxr-xr-xinitrd/initrd-stuff/bin/screenres226
-rwxr-xr-xinitrd/initrd-stuff/bin/servconfig521
7 files changed, 0 insertions, 1276 deletions
diff --git a/initrd/initrd-stuff/bin/ddcprobe b/initrd/initrd-stuff/bin/ddcprobe
deleted file mode 100755
index 132a1671..00000000
--- a/initrd/initrd-stuff/bin/ddcprobe
+++ /dev/null
Binary files differ
diff --git a/initrd/initrd-stuff/bin/dhcpmkconfig b/initrd/initrd-stuff/bin/dhcpmkconfig
deleted file mode 100755
index ded4caaa..00000000
--- a/initrd/initrd-stuff/bin/dhcpmkconfig
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/sh
-#
-# universal (distro independent) IP configuration writer for several dhcp
-# clients used within OpenSLX initramfs. The result is written in unified
-# form to the /etc/machine-setup file
-#
-# Dirk von Suchodoletz <dvs@OpenSLX.com>, 03-09-2006
-# Lars Mueller, 23-06-2006
-# Oliver Tappe, 23-06-2006
-#
-# (c) 2006 - RZ Universitaet Freiburg
-
-# client variable should be exported via calling function
-cfgfile="/tmp/confviadhcp"
-cfgmsg="\n## Configuration written by $0"
-infomsg="# --> You are using $dhcl. With this client you are not \
-able to\n# transfer any vendor specific, self defined dhcp options. If \
-this is\n# intended, use dhclient instead or get them via tftp (to be \
-enabled\n# via kernel command line)."
-# heavy debugging output in level 3 and above ... and on 13
-#FIXME: DEBUGLEVEL is not propagated to this file (at least for Ubuntu)
-[ -z "$DEBUGLEVEL" ] && DEBUGLEVEL=0
-[ $DEBUGLEVEL -gt 3 -a $DEBUGLEVEL -lt 8 -o $DEBUGLEVEL -eq 13 ] && \
- set -x
-case $0 in
- *dhcpcd*)
- dhcl="dhcpcd"; echo -e "$cfgmsg\n$infomsg" >>/tmp/confviadhcp
- sed -e "s,',\",g;s,IPADDR,clientip,;s,NETMASK,subnet_mask," \
- -e "s,GATEWAY,gateway,;s,BROADCAST,broadcast_address," \
- -e "s,HOSTNAME,host_name,;s,DOMAIN,domain_name," \
- -e "s,ROOTPATH,root_path,;s,DNS,domain_name_servers," \
- -e "s,NTPSERVERS,ntp_servers,;s,DHCPSID,serverip," \
- -e "s,WINSSERVERS,netbios_name_servers," \
- -e "s,NETWORK,network," \
- -e "s,DHCP..ADDR.*,,;s,.*TIME=.*,,;s,CL.*,,;/^$/d" \
- -e "s,INTER.*,,;s,DHCPSNAME.*,," /var/lib/dhcp/dhcpcd-eth0.info \
- >>$cfgfile
- ;;
- *dhclient*)
- if [ $reason = "BOUND" ] ; then
- echo -e "$cfgmsg\n# --> You are using dhclient. If you wish to \
-transfer other vendor/user\n# specific variables, you have to add \
-them in functions and in\n# dhcpmkconfig script or use tftp (to be \
-enabled via kernel command\n# line)." >>$cfgfile
- set | sed -n -e '/^new/p' | sed \
- -e "s,^new_,,;s,fixed_address,clientip," \
- -e "s,routers,gateway,;s,dhcp_server_identifier,serverip," \
- -e "s,.*_t[iy][mp]e.*,,;s,.*_message_.*,,;/^$/d" \
- -e "s,language=,country=,;s,ip_address,clientip," \
- >>$cfgfile
- fi
- ;;
- *pump*)
- dhcl="pump"; echo -e "$cfgmsg\n$infomsg" >>$cfgfile
- ;;
- *udhcpc*)
- dhcl="udhcpc"; echo -e "$cfgmsg\n$infomsg" >>$cfgfile
- unset infomsg HOME IFS mask lease interface
- set | sed \
- -e "s,^P.*,,;s,ntpsrv,ntp_servers,;s,ip,clientip," \
- -e "s,serverid,serverip,;s,subnet,subnet_mask," \
- -e "s,router,gateway,;s,hostname,host_name," \
- -e "s,dns,domain_name_servers,;s,domain,domain_name," \
- -e "s,broadcast,broadcast_address,;s,dhc.*,,;/^$/d" \
- >>$cfgfile
- ;;
-esac
-
diff --git a/initrd/initrd-stuff/bin/hwautocfg b/initrd/initrd-stuff/bin/hwautocfg
deleted file mode 100755
index edf77430..00000000
--- a/initrd/initrd-stuff/bin/hwautocfg
+++ /dev/null
@@ -1,461 +0,0 @@
-#!/bin/sh
-#
-# universal (distro independent) hardware autoconfiguration script for
-# OpenSLX linux diskless clients, using hwconfig from knoppix as base tool
-#
-# Dirk von Suchodoletz <dvs@OpenSLX.com>, 03-09-2006
-#
-# (c) 2003 - 2006 - RZ Universitaet Freiburg
-# (c) 2006 - OpenSLX.org
-
-# local functions used within hwautocfg
-displaysetup () {
-# (temporary) configuration file
-local xfc=$1
-# define some defaults
-local HSYNCRANGE="31.5-63.5"
-local VSYNCRANGE="60-90"
-local DEFAULTMODES='"1024x768" "800x600" "640x480"'
-local DEFAULTCOLORDPT=24
-# set variables representing the xorg.conf sections (version 6.9.x)
-local Module='\tLoad\t\t"dbe"\n
-\tLoad\t\t"extmod"\n
-\tLoad\t\t"type1"\n
-\tLoad\t\t"speedo"\n
-\tLoad\t\t"freetype"\n
-\tLoad\t\t"v4l"'
-local ServerFlags='\tOption\t\t"AllowMouseOpenFail"\n
-\tOption\t\t"blank time"\t\t"5"\n
-\tOption\t\t"standby time"\t\t"10"\n
-\tOption\t\t"suspend time"\t\t"15"\n
-\tOption\t\t"off time"\t\t"20"'
-local Files='\tRgbPath\t\t"/usr/X11R6/lib/X11/rgb"\n
-\tModulePath\t"/etc/X11/modules"\n
-\tModulePath\t"/usr/X11R6/lib/modules"\n
-\tFontPath\t"/usr/X11R6/lib/X11/fonts/misc/:unscaled"\n
-\tFontPath\t"/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"\n
-\tFontPath\t"/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"'
-local InputDevice='\tIdentifier\t"Keyboard1"\n
-\tDriver\t\t"keyboard"\n
-\tOption\t\t"XkbRules"\t\t"xfree86"\n
-\tOption\t\t"XkbLayout"\t\t"XKEYBOARD"\n
-\tOption\t\t"XkbModel"\t\t"pc105"'
-local InputMouseDef='\tIdentifier "Mouse1"\n
-\tDriver\t\t"mouse"\n
-\tOption\t\t"Protocol"\t\t"imps/2"\n
-\tOption\t\t"Device"\t\t"/dev/input/mice"\n
-\tOption\t\t"Emulate3Buttons"\n
-\tOption\t\t"ZAxisMapping"\t\t"4 5"\n
-\tOption\t\t"Buttons"\t\t"3"'
-local InputMouseSyn='\tIdentifier "Mouse1"\n
-\tDriver\t\t"synaptics"\n
-\tOption\t\t"Protocol"\t\t"explorerps/2"\n
-\tOption\t\t"Device"\t\t"/dev/input/mice"\n
-\tOption\t\t"Emulate3Buttons"\t"on"\n
-\tOption\t\t"Buttons"\t\t"5"\n
-\tOption\t\t"InputFashion"\t\t"Mouse"\n
-\tOption\t\t"SHMConfig"\t\t"on"\n
-\tOption\t\t"ZAxisMapping"\t\t"4 5"'
-local Monitor='\tIdentifier "Default"\n
-\tModelName\t"MODEL"\n
-\tOption\t\t"CalcAlgorithm"\t"CheckDesktopGeometry"\n
-\tHorizSync\tHS\n
-\tVertRefresh\tVS\n
-\tOption\t"DPMS"\t\t"true"'
-local Device='\tIdentifier\t"StdGraphics"\n
-\tVendorName\t"XDESC"\n
-\tDriver\t\t"XMODULE"'
-local Screen='\tIdentifier\t"Screen 1"\n
-\tDevice\t\t"StdGraphics"\n
-\tMonitor\t\t"Default"\n
-\tDefaultColorDepth CDP'
-local ServerLayout='\tIdentifier\t"Simple Layout"\n
-\tScreen\t\t"Screen 1"\n
-\tInputDevice\t"Keyboard1"\t"CoreKeyboard"\n
-\tInputDevice\t"Mouse1"\t"CorePointer"\n
-\tOption\t\t"BlankTime"\t"5"\n
-\tOption\t\t"StandbyTime"\t"10"\n
-\tOption\t\t"SuspendTime"\t"20"\n
-\tOption\t\t"OffTime"\t"30"'
-local DRI='\tGroup\t\t"video"\n
-\tMode\t\t0666'
-
-# displayvars may overwrite the above settings
-displayvars
-
-if [ -n "$hw_graphic" ] ; then
- DRV=${hw_graphic% *}
- CDP=${hw_graphic##* }
- if [ -z "$DRV" ] ; then error "$hcfg_gfxdrv" nonfatal
- XMODULE=vesa
- fi
-fi
-if [ -z "$CDP" ] ; then error "$hcfg_gfxcdp" nonfatal
- CDP=${DEFAULTCOLORDPT}
-fi
-
-if [ -n "$hw_monitor" ] ; then
- # just cut all starting from k(Hz) ...
- HS=${hw_monitor%k*}
- VS=${hw_monitor%Hz*}
- [ "${hw_monitor}" == "$VS" ] && VS=${hw_monitor%hz*}
- VS=${VS##* }
- SCR_MODES="\"${hw_monitor##* }\""
-else
- # gather information about the monitor capabilities
- screenres > /tmp/screenres
- VERTSR=`cat /tmp/screenres | sed -n \
- '/Vertical Frequency Range/s/[^0-9]* \([0-9-]*\)/\1/p'`
- HORISR=`cat /tmp/screenres | sed -n \
- '/Horizontal Frequency Range/s/[^0-9]* \([0-9-]*\)/\1/p'`
- HS=$HORISR
- VS=$VERTSR
- # compute max resolution
- SCR_MODES=`cat /tmp/screenres | sed -n \
- '/Recommended Screen Modes:/s/[^"]*\(.*\)/\1/p'`
-fi
-
-if [ -z "$HS" ] ; then #error "$hcfg_hfrq" nonfatal
- HS=${HSYNCRANGE}
-fi
-if [ -z "$VS" ] ; then #error "$hcfg_vfrq" nonfatal
- VS=${VSYNCRANGE}
-fi
-if [ -z "$SCR_MODES" ] ; then #error "$hcfg_res" nonfatal
- SCR_MODES=${DEFAULTMODES}
-fi
-monmanual=yes
-
-# check for special X driver (fglrx, nvidia, ...)
-check_glx
-
-# finally write config file
-echo -e "#\n# autogenerated X hardware configuration by $0\n# \
-Dirk von Suchodoletz <dirk@goe.net>, $date" >$xfc
-echo -e "# DO NOT EDIT THIS FILE BUT '$0' INSTEAD!\n#" \
- >>$xfc
-for section in Files ServerFlags Module InputDevice Monitor \
- Screen Device ServerLayout DRI ; do
- echo "Section \"$section\"" >>$xfc
- case "$section" in
- Files)
- echo -e ${Files} >>$xfc
- # check for 64bit CPU/installation (fixme!!)
- [ -n "$amd64" ] && \
- echo '"\tModulePath\t"/usr/X11R6/lib64/modules"\n' >>$xfc
- for i in ${D_XFONTPATH} ; do
- echo -e "\tFontPath\t\"$i/\"" >>$xfc ; done
- ;;
- ServerFlags)
- echo -e ${ServerFlags} >>$xfc
- ;;
- Device)
- echo -e ${Device} | \
- sed -e "s,XMODULE,${XMODULE}," -e "s%XDESC%${XDESC}%" >>$xfc
- # write TV config - no problem, if no TV is connected
- [ -n "$TVOUT" ] && echo -e $TVOUT >>$xfc
- [ x$DRV = "xs3virge" ] && \
- echo -e "\tOption\t\t\"XVideo\" \"Off\"\n" >>$xfc
- [ x$DRV = "xnvidia" ] && {
- echo -e "\tOption\t\t\"NvAGP\" \"3\"" >>$xfc
- echo -e "\tOption\t\t\"NoLogo\" \"1\"" >>$xfc ; }
- ;;
- Module)
- echo -e ${Module} >>$xfc
- #[ "x$DRM" = "xyes" ] && \
- echo -e "\tLoad\t\t\"dri\"" >>$xfc
- [ x$GLX != "xno" ] && \
- echo -e "\tLoad\t\t\"glx\"" >>$xfc
- ;;
- Monitor)
- echo -e ${Monitor} | \
- sed -e "s,HS,${HS},g" -e "s,VS,${VS},g" >>$xfc
- ;;
- InputDevice)
- echo -e ${InputDevice} | sed -e "s,XKEYBOARD,${XKEYBOARD},g" \
- >>$xfc
- [ "${XKEYBOARD}" = "de" ] && \
- echo -e '\tOption\t\t"XkbVariant"\t\t"nodeadkeys"' >>$xfc
- echo -e "EndSection\n\nSection \"$section\"" >>$xfc
- # if special synaptics touchpad was detected and specific driver
- # is present
- if strinfile "synaptics" /tmp/hwsetup.info && \
- test -e /mnt/usr/X11R6/lib/modules/input/synaptics_drv.o ; then
- echo -e $InputMouseSyn >>$xfc
- else
- echo -e $InputMouseDef >>$xfc
- fi
- ;;
- Screen)
- echo -e ${Screen} | sed -e "s,CDP,${CDP}," >>$xfc
- for BPP in 15 16 24
- do echo -e '\tSubSection "Display"\n\t\tDepth\t'\
- $BPP'\n\t\tModes\t'$SCR_MODES'\n\tEndSubSection' >>$xfc
- [ $BPP = "$CDP" ] && break
- done
- ;;
- ServerLayout)
- echo -e ${ServerLayout} >>$xfc
- ;;
- DRI)
- echo -e ${DRI} >>$xfc
- ;;
- esac
- echo -e "EndSection\n" >>$xfc
-done
-}
-
-#######################################################################
-# script starts here
-
-# functions common for all distros
-. /etc/functions
-# functions common for all distros, messages contains all error and
-# info output
-. /etc/messages
-# load distro specific configuration variables and functions. distro
-# specific functions may overwrite functions defined in /etc/functions
-. /etc/sysconfig/config
-. /etc/distro-functions
-
-# script run timer
-[ $DEBUGLEVEL -eq 8 ] && echo "** HW setup started at $(sysup)"
-
-# heavy debugging output in level 3 and above and specific for 11
-[ $DEBUGLEVEL -gt 3 -a $DEBUGLEVEL -lt 8 -o $DEBUGLEVEL -eq 11 ] && \
- set -x
-
-# set X11 configuration file
-if [ -n "${D_XF86CONFFILE}" ] ; then
- D_XF86CONFFILE="/mnt/${D_XF86CONFFILE}"
-else
- D_XF86CONFFILE="/mnt/etc/X11/xorg.conf"
- error "$hcfg_xcfg" nonfatal
-fi
-
-# USB core is needed for presence of /proc/bus/usb
-modprobe ${MODPRV} usbcore &
-
-# "drivers" (pseudo, placeholder strings, ...) to exclude from loading
-# depending on distro more hw modules have to be excluded too. use the
-# D_HWMODTOIGNORE for that purpose
-DRIVERLIST=" disabled unknown ignore pcspkr synaptics keybdev kanotix\
- ${D_HWMODTOIGNORE} "
-# driver blacklist (real modules which fail to load)
-DRIVERLIST=${DRIVERLIST}"hw_random genericwheelusb "
-# hack for pseudo modules (not to load) hopefully "usbcore" is present
-# as a module, might be exchanged with any other existing ...
-for i in $DRIVERLIST ; do
- echo -e "alias\t$i\tusbcore" >> /etc/modprobe.conf
-done
-
-# load kernel module for ps2 mice
-[ -f /lib/modules/${KERNEL}/kernel/drivers/input/mouse/psmouse.ko ] && \
- modprobe ${MODPRV} psmouse
-
-# and map the mousehandler to /dev/input/mice
-[ -f /lib/modules/${KERNEL}/kernel/drivers/input/mousedev.ko ] && \
- modprobe ${MODPRV} mousedev
-
-# start the knoppix hardware autodetection tool
-( hwsetup -v > /tmp/hwsetup.info && echo "hwsetup" > /tmp/hwrun1 ) &
-
-# ACPI configuration - at least not needed with SuSE 9.3/10.0
-# needed for other distros?
-
-# AGP configuration (agpgart and chipset specific driver)
-modprobe ${MODPRV} agpgart || \
- modprobe ${MODPRV} agpgart agp_try_unsupported=1
-
-# wait for /tmp/hwsetup.info to appear
-waitfor /tmp/hwrun1 50000 || \
- error "$hcfg_hwsetup"
-# load ide drivers first, takes a while to initialize
-for DRIVER in cmd64x hpt366 piix slc90e66 cs5520 it821x rz1000 \
- triflex aec62xx cs5530 ns87415 sc1200 trm290 alim15x3 \
- cy82c693 opti621 serverworks via82cxxx amd74xx pdc202xx_new \
- siimage atiixp hpt34x pdc202xx_old sis5513; do
- strinfile " ${DRIVER}" /tmp/hwsetup.info && {
- IDE="yes"
- modprobe ${MODPRV} ${DRIVER} &
- DRIVERLIST="${DRIVERLIST} ${DRIVER}"; }
-done
-# check for IDE/SCSI (SATA)
-for DRIVER in ata_piix sata_via sata_nv sata_sil sata_sis sata_svw \
- sata_sx4 sata_uli sata_vsc sata_qstor sata_promise sata_mv; do
- strinfile " ${DRIVER}" /tmp/hwsetup.info && {
- #SCSIIDE="yes"
- modprobe ${MODPRV} ${DRIVER} &
- DRIVERLIST="${DRIVERLIST} ${DRIVER}"; }
-done
-# check for USB, pcmcia and ieee1394 hardware drivers
-for DRIVER in ohci-hcd uhci-hcd ehci-hcd ohci1394; do
- strinfile " ${DRIVER}" /tmp/hwsetup.info && {
- USB="yes"
- modprobe ${MODPRV} ${DRIVER}
- DRIVERLIST="${DRIVERLIST} ${DRIVER}"; }
-done
-# load usbhid (for USB keyboard/mouse) or remove usbcore module if USB
-# not present
-if [ -n "$USB" ] ; then
- modprobe ${MODPRV} usbhid &
-else rmmod usbcore
-fi
-# remove unneeded network card modules
-for DRIVER in ${NWMODULES}; do
- strinfile " ${DRIVER}" /tmp/hwsetup.info || {
- rmmod ${DRIVER} &
- DRIVERLIST="${DRIVERLIST} ${DRIVER}"; }
-done
-# check for PCMCIA / cardbus stuff
-for DRIVER in yenta_socket i82365 pd6729 tcic; do
- strinfile ${DRIVER} /tmp/hwsetup.info && {
- modprobe ${MODPRV} ${DRIVER}
- DRIVERLIST="${DRIVERLIST} ${DRIVER}"
- PCMCIA="yes"; }
-done
-# should we check for card reader modules too?
-
-if [ -n "${PCMCIA}" ] ; then
- modprobe ${MODPRV} ds
-fi
-# sound card setup (alsa and oss compatibility drivers)
-if [ -f /etc/sysconfig/sound ] ; then
- . /etc/sysconfig/sound
-else DRIVER="snd-dummy"
-fi
-# problem with a specific module not disabled (via above trick) when
-# busybox is used
-# rmmod snd_atiixp_modem snd_atiixp
-modprobe ${MODPRV} ${DRIVER}
-DRIVERLIST="${DRIVERLIST} ${DRIVER} "
-modprobe ${MODPRV} snd-pcm-oss
-modprobe ${MODPRV} snd-mixer-oss
-
-# rerun the knoppix hardware autodetection tool for USB and ide devices
-# like dvd or harddisk - wait a few seconds so hopefully the ide driver
-# is initialized
-test -f /proc/bus/usb/devices || mount -n -t usbfs usbfs /proc/bus/usb
-[ -n "$IDE" ] && modprobe -q ide_generic 2>/dev/null
-usleep 10 && hwsetup -v > /tmp/hwsetup.info
-# remaining drivers listed in /tmp/hwsetup.info
-cat /tmp/hwsetup.info| while read LINE ; do
- if strinstr "driver:" "${LINE}"; then
- DRIVER=${LINE##driver: }
- if ! strinstr " ${DRIVER} " "${DRIVERLIST}"; then
- strinstr "Card:" "${DRIVER}" || strinstr "ps/2" "${DRIVER}" || {
- modprobe ${MODPRV} ${DRIVER} &
- usleep 8; }
- DRIVERLIST="${DRIVERLIST} ${DRIVER}"
- fi
- fi
-done
-# check if USB mouse and/or keyboard is connected and remove usbhid if
-# not
-strinfile "genericwheelusb" /tmp/hwsetup.info || \
- (strinfile "keybdev" /tmp/hwsetup.info || rmmod usbhid)
-
-# load IDE high level drivers
-if [ -n "$IDE" ] ; then
- # you might want to check /etc/sysconfig/floppy for more info
- strinfile "ZIP" /tmp/hwsetup.info && modprobe ${MODPRV} ide-floppy
- strinfile "CDROM" /tmp/hwsetup.info && modprobe ${MODPRV} ide-cd
- strinfile "HD" /tmp/hwsetup.info && modprobe ${MODPRV} ide-disk
-fi
-
-# not rather precise ...
-if strinfile "SCSI" /tmp/hwsetup.info ; then
- strinfile "CDROM" /tmp/hwsetup.info && { modprobe ${MODPRV} sr_mod;
- modprobe ${MODPRV} sg; }
- strinfile "HD" /tmp/hwsetup.info && modprobe ${MODPRV} sd_mod
- strinfile "SCANNER" /tmp/hwsetup.info && \
- echo -e 'KERNEL=="sg*",\t\tNAME="%k", GROUP="disk", MODE="666"' \
- >> /mnt/etc/udev/rules.d/04-scanner.rules
-fi
-# fixme - psmouse entladen, falls nicht vorhanden
-
-# configure some variables from configuration file - wait for dhcp or ldap
-# confiurator to complete
-cfgcomplete
-. /etc/machine-setup
-
-# run localizator and configure keyboard and console fonts
-DEFKEYTABLE="de-latin1-nodeadkeys"
-localization $country
-if [ -z "${KEYTABLE}" ] ; then
- error "$hcfg_keyb" nonfatal
- KEYTABLE=${DEFKEYTABLE}
-fi
-
-# run X11 / Xorg configurator if no xorg.conf file was provided by
-# ConfigTGZ (check for /rootfs/${D_XF86CONFFILE#/mnt})
-if [ -f /rootfs${D_XF86CONFFILE#/mnt} ] ; then
- echo "ready" > /tmp/xready
-else
- . /etc/sysconfig/xserver >/dev/null 2>&1 || error "$hcfg_hwsetup" nonfatal
- ( displaysetup /etc/xorg.conf; echo "ready" > /tmp/xready ) &
-fi
-
-# get idea of availabe harddisk partitions, put swap partitions into
-# (/mnt)/etc/fstab and format and mount partitions of type 44 (unknown)
-for hd in $(cat /tmp/hwsetup.info|sed -n -e '/HD$/,/device:/p'| \
- sed -n -e '/device:/p' | sed -e 's/device: //') ; do
- fdisk -l /dev/$hd| sed -n "/^\/dev\//p" > /tmp/hd_part
- for hdpartnr in $(cat /tmp/hd_part | \
- sed -n -e "/ 82 /p"|sed -e "s/[[:space:]].*//") ; do
- echo -e "$hdpartnr\tswap\t\tswap\t\tdefaults\t 0 0" >> /tmp/fstab
- done
- # we use special non assigned partition type (id44) for harddisk scratch
- # space, thus no normal filesystem will be incidentally deleted or
- # corrupted
- for hdpartnr in $(cat /tmp/hd_part | \
- sed -n -e "/ 44 /p"|sed -e "s/[[:space:]].*//") ; do
- # ext2fs_check_if_mount message supressed
- ( mkfs.ext2 -Fq $hdpartnr 2>/dev/null
- umount /mnt/tmp 2>/dev/null
- # if mounting of temp partion fails fall back to tmpfs on /tmp
- mount -n -o nocheck,noexec $hdpartnr /mnt/tmp 2>/dev/null || \
- mount -n -t tmpfs none /mnt/tmp
- echo "$hdpartnr is mounted to /tmp" > /tmp/tmpready ) &
- echo -e "$hdpartnr\t/tmp\t\text2\t\tdefaults\t 0 0" >> /tmp/fstab
- part44=yes
- break
- done
- # put detected linux partitions into /etc/fstab with "noauto"
- for hdpartnr in $(cat /tmp/hd_part | \
- sed -n -e "/ 83 /p"|sed -e "s/[[:space:]].*//") ; do
- mkdir -p /mnt/media/${hdpartnr#/dev/*} 2>/dev/null
- echo -e "$hdpartnr\t/media/${hdpartnr#/dev/*}\tauto\t\tnoauto,\
-noexec\t 0 0" >> /tmp/fstab
- done
-done
-# determine if tmp preparation should wait for format/mount or not
-[ -z "$part44" ] && echo "finished" > /tmp/tmpready
-
-# wait for completion of clients root filesystem in /mnt
-waitfor /tmp/fscmpl 40000
-[ -f /tmp/fstab ] && cat /tmp/fstab >> /mnt/etc/fstab
-
-# add entries to initialize keytable and consolefont to boot.ld
-# postpone some commands into normal bootup environment
-echo -e "\t# entries added by $0: $date" >> /mnt/etc/${D_INITDIR}/boot.ld
-[ -n "${KEYTABLE}" ] && keytable
-[ -n "${CONSOLE_FONT}" ] && consolefont
-
-# finalize X configuration
-# only if X is link itself (normally to /var/X11R6/bin/X) check!!
-link=`ls -l /mnt/usr/X11R6/bin/X 2>/dev/null`
-if strinstr "/var/X11R6" "$link" ; then
- testmkd /mnt/var/X11R6/bin
- for i in /usr/X11R6/bin/Xorg /usr/X11R6/bin/XFree86 ; do
- [ -e "/mnt/$i" ] && { ln -sf $i /mnt/var/X11R6/bin/X; break; }
- done
-fi
-# wait for completion of Xorg configuration
-waitfor /tmp/xready 10000
-cp /etc/xorg.conf ${D_XF86CONFFILE}
-
-# script run timer
-[ $DEBUGLEVEL -eq 8 ] && echo "** HW setup finished at $(sysup)"
-
-echo "finished" > /tmp/hwcfg
diff --git a/initrd/initrd-stuff/bin/hwsetup b/initrd/initrd-stuff/bin/hwsetup
deleted file mode 100755
index 1b6ab300..00000000
--- a/initrd/initrd-stuff/bin/hwsetup
+++ /dev/null
Binary files differ
diff --git a/initrd/initrd-stuff/bin/run-init b/initrd/initrd-stuff/bin/run-init
deleted file mode 100755
index 556caeb6..00000000
--- a/initrd/initrd-stuff/bin/run-init
+++ /dev/null
Binary files differ
diff --git a/initrd/initrd-stuff/bin/screenres b/initrd/initrd-stuff/bin/screenres
deleted file mode 100755
index 4a9f5fd9..00000000
--- a/initrd/initrd-stuff/bin/screenres
+++ /dev/null
@@ -1,226 +0,0 @@
-#!/bin/sh
-#
-# Author(s): Felix Endres
-# Dirk von Suchodoletz, 04-07-2006
-#
-# Copyright: (c) 2006 - RZ Universitaet Freiburg
-#
-# Description:
-#
-# This script gives information about recommended display modes for the
-# attached monitor
-
-# The script tries to guess whether the attached monitor is a lcd or
-# a crt based on age, display size and pixel size.
-# For CRTs the script tries to determine which screen modes are
-# convenient to work with:
-# - High resolutions are not recommended for small displays, because
-# everything on the screen would be too tiny.
-# - The highest resolution is not recommended if the refresh rate is
-# not known or lower than 80 Hz
-# - Though the mode 1400x1050 never shows up in the ddc info, it is
-# Recommended as a replacement for 1600x1200 if that one is not.
-#
-
-## For CRTs determine recommended screen modes ####################################################
-
-# enable debugging in higher debug levels
-[ -z "$DEBUGLEVEL" ] && DEBUGLEVEL=0
-[ $DEBUGLEVEL -gt 1 ] && DEBUG="yes"
-# heavy debugging output in level 3 and above ...
-[ $DEBUGLEVEL -gt 3 -a $DEBUGLEVEL -lt 8 -o $DEBUGLEVEL -eq 14 ] && set -x
-
-# Define some default output values if the script fails to find better values
-# Empty defaults, s.t. hwautocfg defines the defaults
-default_horiz_freq_range_khz="" #"31.5-63.5"
-default_vert_freq_range_hz="" #"60-90"
-default_recommended_screen_modes="" #'"1024x768" "800x600" "640x480"'
-
-
-calculate_max_horizontal_freq () {
- highest_resolution=` echo $screen_resolutions | sed -n 's/"\([0-9x]*\)".*/\1/p'`
- [ -z $highest_resolution ] && return # if the highest resolution can not be extracted, the frequency can not be calculated
- freq_for_highest_res=`sed -n /$highest_resolution'/s/[^@]*@\([0-9]\{2,3\}\).*/\1/p' $tmp_ddcprobe_output | sort -nr|sed -n 1p`
- if [ -z "$freq_for_highest_res" ]; then
- #Search for a number followed by the term "Hz" in the same line as the highest resolution
- freq_for_highest_res=`sed -n /$highest_resolution'/s/.*[^a-zA-Z0-9]\([0-9]\{2,3\}\)[ \t]*[Hh][Zz].*/\1/p' $tmp_ddcprobe_output | sort -nr|sed -n 1p`
- fi
- [ -n "$DEBUG" ] && echo " # Vertical Frequency for highest resolution.: $freq_for_highest_res"
- if [ -z "$freq_for_highest_res" ]; then
- [ -n "$DEBUG" ] && echo "Vertical Frequency not available. Calculation not possible. Return default value."
- horiz_freq_range_khz=$default_horiz_freq_range_khz
- return
- fi
-
- highest_res_line_count=` echo $highest_resolution | sed -n 's/.*[0-9]*x//p'`
- [ -n "$DEBUG" ] && echo " # of lines in highest res.: $highest_res_line_count"
- horiz_freq_khz=$(( $highest_res_line_count * $freq_for_highest_res / 950)) # 950 = 0,95 * 1000 (invisible range * Kilohertz)
- [ -n "$DEBUG" ] && echo " Assumed Horizontal Frequency: $horiz_freq_khz"
- horiz_freq_range_khz="31.5-$horiz_freq_khz"
-}
-determine_recommended_crt_modes () {
- ## Introduce the standard resolution 1400x1050 as it is seldom in the list the monitors output, though supported
- [ -n "$DEBUG" ] && echo "Screen Modes: $screen_resolutions"
- if [ -z "`echo $screen_resolutions|sed -n /1400/p`" ]; then
- [ -n "$DEBUG" ] && echo "Inserting 1400x1050 (if 1600x.... is present"
- # Insert "1400x1050" after 1600x.... (of course only if a 1600er res. is there because 1400x1050 would otherwise be listed)
- screen_resolutions=`echo $screen_resolutions|sed 's/\(.*"1600x[0-9]*"\)\(.*\)/\1 "1400x1050"\2/'`
- fi
- # For CRTs check if the highest frequency can be displayed with reasonable refresh rate (> 80Hz)
- highest_resolution=` echo $screen_resolutions | sed -n 's/"\([0-9x]*\)" .*/\1/p'`
- #Search for an @ in the same line as the highest resolution; FIXME: Sort only considers the vertical resolution
- freq_for_highest_res=`sed -n /$highest_resolution'/s/[^@]*@\([0-9]\{2,3\}\).*/\1/p' $tmp_ddcprobe_output | sort -nr|sed -n 1p`
- #echo $freq_for_highest_res
- if [ -z "$freq_for_highest_res" ]; then
- #Search for a number followed by the term "Hz" in the same line as the highest resolution
- freq_for_highest_res=`sed -n /$highest_resolution'/s/.*[^a-zA-Z0-9]\([0-9]\{2,3\}\)[ \t]*[Hh][Zz].*/\1/p' $tmp_ddcprobe_output | sort -nr|sed -n 1p`
- fi
- # Assure that the highest resolution is removed if we do not know at what refresh rate it is displayed
- # Chances are it would be flickering at that resolution
- if [ -z "$freq_for_highest_res" ]; then
- freq_for_highest_res=75 # Assume 75 Hz to be the least a monitor is able to do.
- fi
- # Cut the first resolution if it is displayed with less than 85Hz
- # It's assumed here, that the second best resolution will be displayed with > 85Hz
- if [ $freq_for_highest_res -lt 85 ]; then
- screen_resolutions=` echo $screen_resolutions | sed -n 's/"[0-9x]*" \(.*\)/\1/p'`
- fi
- define_max_recommended_horizontal_pixel_count # sets max_wanted_resolution
-# max_wanted_resolution="$?"
- [ -n "$DEBUG" ] && echo " The screen is too small for resolutions greater than ${max_wanted_resolution}x...."
- # Fetch the first resolution in the list
- new_highest_resolution=` echo $screen_resolutions | sed -n 's/"\([0-9x]*\)" .*/\1/p'`
- [ -n "$DEBUG" ] && echo " new highest resolution: $new_highest_resolution"
- new_highest_horizontal_resolution=`echo $new_highest_resolution | sed -n 's/\([0-9]*\)x.*/\1/p'`
- [ -n "$DEBUG" ] && echo " new_highest_horizontal_resolution: $new_highest_horizontal_resolution"
- while [ $new_highest_horizontal_resolution -gt $max_wanted_resolution ]; do
- # Cut the highest resolution because the display size is to small for it to be convenient
- screen_resolutions=` echo $screen_resolutions | sed -n 's/"[0-9x]*" \(.*\)/\1/p'`
- new_highest_resolution=` echo $screen_resolutions | sed -n 's/"\([0-9x]*\)".*/\1/p'`
- [ -n "$DEBUG" ] && echo " new highest resolution: $new_highest_resolution"
- new_highest_horizontal_resolution=`echo $new_highest_resolution | sed -n 's/\([0-9]*\)x.*/\1/p'`
- [ -n "$DEBUG" ] && echo " new_highest_horizontal_resolution: $new_highest_horizontal_resolution"
- done
- ##########
-}
-
-define_max_recommended_horizontal_pixel_count () {
- ## To high resolutions are not wanted on small screens #####################################
- # For 15 inch and below
- if [ $screen_size_in_qcm -lt 704 ]; then max_wanted_resolution=1024
- # For 15" to 17"
- elif [ $screen_size_in_qcm -lt 918 ]; then max_wanted_resolution=1280
- # For 17" to 19"
- elif [ $screen_size_in_qcm -gt 1121 ]; then max_wanted_resolution=1400
- else max_wanted_resolution=50000 # Accept any resolution on Monitors above 19"
- fi
- [ -n "$DEBUG" ] && echo " Max. recommended resolution: $max_wanted_resolution"
- #return $max_wanted_resolution
-}
-
-
-#TODO command line arguments processing (--help --defaults)
-tmp_ddcprobe_output=$1
-if [ -z $tmp_ddcprobe_output ]; then
- tmp_ddcprobe_output=/tmp/ddcprobe_output
- ddcprobe | sed "y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/" \
- > ${tmp_ddcprobe_output}
-fi
-# fixme: parameter I is not compatible with busybox - how to circumvent?
-failed=`sed -n '/edid.*failed/p' ${tmp_ddcprobe_output}`
-if [ -n "$failed" ]; then
- echo "Error: Display seems to be incapable of providing DDC Information"
- # Print Defaults OPTIMIZEME: The defaults could be command line parameters
- echo "Recommended Screen Modes: $default_recommended_screen_modes"
- echo "Horizontal Frequency Range (kHz): $default_horiz_freq_range_khz"
- echo "Vertical Frequency Range (Hz): $default_vert_freq_range_hz"
- exit 1;
-fi
-screen_size_in_qcm=$((`sed -n "s/screen.*size[^0-9]*\([0-9]*\)[^0-9]*\([0-9]*\).*/\1 * \2/p" ${tmp_ddcprobe_output}`))
-max_pixels=$((`echo "\`sed -n '/edid/,$s/.*[ \t]\([0-9]\{3,4\}\)x\([0-9]\{3,4\}\).*/\2 * \1/p' ${tmp_ddcprobe_output}|sort -rn| sed -n 1p\`"`))
-manufacturing_year=`sed -n 's/manufact.*\([12][90][0-9][0-9]\).*/\1/p' ${tmp_ddcprobe_output}`
-
-[ -n "$DEBUG" ] && echo "Maximal Resolution: $max_pixels"
-# 640x400 (below)
-if [ -z $screen_size_in_qcm ] || [ -z $manufacturing_year ] || [ 256000 -gt $max_pixels ] ; then
- echo "Error: Display seems to be incapable of providing all relevant DDC Information"
- # Print Defaults OPTIMIZEME: The defaults could be command line parameters
- echo "Recommended Screen Modes: $default_recommended_screen_modes"
- echo "Horizontal Frequency Range (kHz): $default_horiz_freq_range_khz"
- echo "Vertical Frequency Range (Hz): $default_vert_freq_range_hz"
- exit 1;
-fi
-
-## Determine probabilitiy for TFT ###########################################
-pix_per_qcm=$(($max_pixels/$screen_size_in_qcm))
-echo "Display size: $screen_size_in_qcm qcm"
-echo "Max Pixels per qcm: $pix_per_qcm"
-echo "Manufacturing year: $manufacturing_year"
-# Set probability for having an LCD by means of age and size
-# 15" ~ 30.6cm x 23cm
-# 17" ~ 34cm x 27cm (17,1")
-# 19" ~ 38,6cm x 29cm
-# if older than 1998 it is most probably not a LCD
-if [ $manufacturing_year -lt 1998 ] ;then tft_probability=1
-# if older than 2002 is probably no LCD, especially if larger than 15"
-elif [ $manufacturing_year -lt 2002 ];then
- if [ $screen_size_in_qcm -gt 704 ]; then tft_probability=1
- else tft_probability=20
- fi
-# if older than 2003 is maybe no LCD, yet for sure if larger than 17"
-elif [ $manufacturing_year -lt 2003 ];then
- if [ $screen_size_in_qcm -gt 918 ]; then tft_probability=5
- else tft_probability=40
- fi
-# if older than 2005 is probable an LCD, but not if larger than 19"
-elif [ $manufacturing_year -lt 2005 ];then
- if [ $screen_size_in_qcm -gt 1121 ]; then tft_probability=10
- else tft_probability=60
- fi
-# in 2005 few people would buy a (new) CRT
-elif [ $manufacturing_year -lt 2006 ];then tft_probability=90
-# after 2006 nobody would buy a new CRT
-else tft_probability=99
-fi
-if [ $pix_per_qcm -gt 1599 ]; then tft_probability=$(($tft_probability - 15))
-else tft_probability=$(($tft_probability + 15))
-fi
-if [ -n "$DEBUG" ];then
- echo -ne "Is a TFT: "
- if [ $tft_probability -ge 50 ]; then
- echo -n "true"
- else echo -n "false"
- fi
- echo " ($tft_probability)"
-fi
-
-# Find the lines with two times 3 to 4 digits delimited by an x. Print with the two values reverted, so sort sorts w.r.t the 2nd value. Then swap back
-# Minor problem: If two Modes are found in a line, the second one is used.
-screen_resolutions=`sed -n '/edid/,$s/\(.*[ \t]\)*\([0-9]\{3,4\}\) *x *\([0-9]\{3,4\}\).*/\3 x \2/p' ${tmp_ddcprobe_output}| sort -rn | sort -rnu | sed -n 's/\([0-9]\{3,4\}\) x \([0-9]\{3,4\}\).*/"\2x\1"/p' `
-screen_resolutions=`echo $screen_resolutions`
-echo "Supported Screen Modes: $screen_resolutions"
-
-
-
-######## Vertical and horizontal frequency ranges #########
-# find a line with the word range and and numbers with a minus in the middle (e.g 123-321)
-frequency_ranges=`sed '/range/!d;s/[^0-9]*\([1-9][0-9]\)[ \t]*-[ \t]*\([1-9][0-9]*\)[^0-9]*\([1-9][0-9]*\)[ \t]*-[ \t]*\([1-9][0-9]*\).*/\1-\2 \3-\4/' ${tmp_ddcprobe_output}`
-
-set -- $frequency_ranges # split into $1 und $2
-if [ -z "$frequency_ranges" ] && [ $tft_probability -lt 50 ]; then
- calculate_max_horizontal_freq # gives us $horiz_freq_range_khz
- horiz_freq_range="$horiz_freq_range_khz"
-else horiz_freq_range=$1
-fi
-########################################
-
-
-if [ $tft_probability -lt 50 ]; then
- determine_recommended_crt_modes;
-fi
-
-echo "Recommended Screen Modes: $screen_resolutions"
-
-#Fixme: How to Calculate the Vertical Refresh rate?
-echo "Horizontal Frequency Range (kHz): $horiz_freq_range"
-echo "Vertical Frequency Range (Hz): $2"
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