diff options
author | Sebastian Schmelzer | 2010-09-02 17:50:49 +0200 |
---|---|---|
committer | Sebastian Schmelzer | 2010-09-02 17:50:49 +0200 |
commit | 416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5 (patch) | |
tree | 4715f7d742fec50931017f38fe6ff0a89d4ceccc /initramfs/stage3-stuff/bin | |
parent | Fix for the problem reported on the list (sed filter forgotten for the (diff) | |
download | core-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.tar.gz core-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.tar.xz core-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.zip |
change dir structure
Diffstat (limited to 'initramfs/stage3-stuff/bin')
-rwxr-xr-x | initramfs/stage3-stuff/bin/dhcpmkconfig | 47 | ||||
-rwxr-xr-x | initramfs/stage3-stuff/bin/hwautocfg | 299 | ||||
-rwxr-xr-x | initramfs/stage3-stuff/bin/init-wrapper | 60 | ||||
-rwxr-xr-x | initramfs/stage3-stuff/bin/servconfig | 308 |
4 files changed, 0 insertions, 714 deletions
diff --git a/initramfs/stage3-stuff/bin/dhcpmkconfig b/initramfs/stage3-stuff/bin/dhcpmkconfig deleted file mode 100755 index fa01db75..00000000 --- a/initramfs/stage3-stuff/bin/dhcpmkconfig +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# Copyright (c) 2003..2006 - RZ Uni Freiburg -# Copyright (c) 2006..2010 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your feedback to feedback@openslx.org -# -# General information about OpenSLX can be found under http://openslx.org -# -# Universal (distro independent) IP configuration writer for busybox udhcpc -# applet used within OpenSLX initramfs. The result is written to the -# /etc/initramfs-setup file - -# script started twice by udhcpc, quit fast if no ip configuration present -[ -z "$ip" ] && exit 0 - -# 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 - -echo -e "# network configuration written by $0:" >/tmp/confviadhcp -unset HOME IFS KCMDLINE DEBUGLEVEL MODPRV TERM BOOTIF BOOT_IMAGE \ - infomsg mask lease interface cfgmsg cfgfile boot_file no_bootsplash -# set the broadcast address if not delivered by dhcp -[ -z "$broadcast" ] && \ - broadcast=$(ipcalc -b $ip/$subnet|sed s/.*=//) -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,domain,domain_name,;s,dns,domain_name_servers," \ - -e "s,broadcast,broadcast_address,;s,dhc.*,,;/^$/d" \ - -e "s,nissrv,nis_servers,;s,nisdomain_name,nis_domain," \ - -e "s,wins,netbios_name_servers,;/OPTIND.*/d" >>/tmp/confviadhcp - -# generate a local /etc/resolv.conf (might overwrite the version from preboot) -[ -n "$domain" ] && echo -e "search $domain\n" >/etc/resolv.conf -test -n "$dns" && { - for name in $dns; do - echo nameserver $name >>/etc/resolv.conf; - done; } - diff --git a/initramfs/stage3-stuff/bin/hwautocfg b/initramfs/stage3-stuff/bin/hwautocfg deleted file mode 100755 index 1f02892e..00000000 --- a/initramfs/stage3-stuff/bin/hwautocfg +++ /dev/null @@ -1,299 +0,0 @@ -#!/bin/sh -# Copyright (c) 2003..2006 - RZ Uni Freiburg -# Copyright (c) 2006..2010 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your feedback to feedback@openslx.org -# -# General information about OpenSLX can be found under http://openslx.org -# -# Universal (distro independent) hardware autoconfiguration script for -# OpenSLX linux stateless clients, using SuSE hwinfo for configuration - -############################################################################# -# pre part, load USB modules and start hardware detection pci -base () { -# avoid annoying error messages because of missing scripts -for tool in /usr/sbin/acpidump \ - /usr/bin/udevinfo \ - /sbin/dmraid ; do - testmkd ${tool%/*} - echo -e "#!/bin/sh" >${tool} - chmod u+x ${tool} -done -# no kernel messages, switch on hotplug via /sbin/mdev -echo "0 0 0 0" >/proc/sys/kernel/printk -echo "/sbin/mdev" >/proc/sys/kernel/hotplug -modprobe -a ${MODPRV} usbhid hid-bright 2>/dev/null & -# check from vga= that the traditional framebuffer is needed e.g. for splashy -# get information on the graphics adaptor if bootsplash or xserver plugins are -# present and the new drm/kms infrastructure is present -if strinfile "vga=" /proc/cmdline; then - ( modprobe -a vesafb fbcon 2>/dev/null - hwinfo --gfxcard >/etc/hwinfo.gfxcard ) & -elif [ -e /etc/init-hooks/00-started/xserver.sh -o \ - -e /etc/init-hooks/05--have-kernelvars/bootsplash.sh ] && \ - [ -e /lib/modules/${KERNEL}/kernel/drivers/gpu ]; then - # check for the standard modules (single gpu, multiple connector only) - ( hwinfo --gfxcard >/etc/hwinfo.gfxcard - case $(cat /etc/hwinfo.gfxcard) in - *i915*) - modprobe -a ${MODPRV} i915 2>/dev/null - ;; - *intel*|*Intel*) - modprobe -a ${MODPRV} i810 i830 i915 2>/dev/null - ;; - *nvidia*|*NVidia*|*nouveau*) - modprobe ${MODPRV} nouveau 2>/dev/null - ;; - *radeon*|*Radeon*) - modprobe ${MODPRV} radeon 2>/dev/null - ;; - *mga*|*matrox*|*Matrox*) - modprobe ${MODPRV} mga 2>/dev/null - ;; - *) - modprobe -a ${MODPRV} r128 savage sis tdfx ttm via - ;; - esac - modprobe -a drm fbcon; mdev -s ) & -fi - -# check and then load appropriate network card modules -nwcardlist=$(echo ${slxconf_listnwmod}|sed "s/\ /|/g") -# save results for later info and for Xen plugin when starting Xen VM -hwinfo --netcard --usb-ctrl >/etc/hwinfo.netcard-usbctrl -grep modprobe /etc/hwinfo.netcard-usbctrl | grep -E "$nwcardlist|hcd" | \ - grep -v ehci | sed 's/.* Cmd: "//;s/"//' | sort -u >/etc/modprobe.base -# virtio hack -if [ $(grep -ic "virtio_pci" /etc/modprobe.base) -ge 1 ]; then - echo "modprobe virtio_net" >>/etc/modprobe.base -fi -sh /etc/modprobe.base; mdev -s - -# optimization possible: exclude network and usb base drivers from the -# following list (bios detection for non-hwautocfg component) -( hwinfo --pci >/etc/hwinfo.data; echo "read pci device list at $(sysup)" \ - >/tmp/hwdataready ) & -( usleep 100000 ; hwinfo --bios >/etc/hwinfo.bios ) & -# for mounting partitions/devices with the "auto" option -echo -e "ext3\next2\nreiserfs\nxfs\njfs\next4\nvfat" >/etc/filesystems -# request a local block device for config and root filesystem (lbd://) -if grep -iq '"lbd://' /proc/cmdline /etc/initramfs-setup; then - modprobe -a ${MODPRV} ehci_hcd usb-storage sd_mod - mdev -s -fi -return 0 -} - -############################################################################# -# main part -hwmain () { -# activate the previously detected devices -[ $DEBUGLEVEL -ge 2 ] || modloadbg=" >/dev/null 2>\&1" -# check for rtc if not compiled directly into the kernel -( [ -e /proc/driver/rtc ] || modprobe ${MODPRV} rtc-cmos ) & -waitfor /tmp/hwdataready 10000 -sed '/Driver Info #1/,/Config Status:/d' \ - /etc/hwinfo.data | grep modprobe | sed "s|.* Cmd: \"||;s|\"|$modloadbg|" \ - | sort -u >/etc/modprobe.pci -sh /etc/modprobe.pci -mdev -s - -# bluetooth setup (start it later if present, depends on firmware availa- -# bility, interpreted by servconfig) -#( hwinfo --bluetooth >/etc/hwinfo.bt ) & - -# load harddisk driver and check for harddisk -( grep -q -E "SCSI|SATA" /etc/hwinfo.data && modprobe ${MODPRV} sd_mod - grep -q -E "IDE" /etc/hwinfo.data && modprobe ${MODPRV} ide-disk - hwinfo --disk | sed -n "/Device File: /p" | \ - sed -e "s|.*Device File: /dev/||;s| .*||" >/etc/hwinfo.disk - echo "disk detection finished at $(sysup)" >/tmp/diskready; ) & -[ $DEBUGLEVEL -eq 21 ] && echo "** finished 2nd hwdetection at $(sysup)" - -# load disk/optical high level drivers -modprobe ${MODPRV} ide-cd 2>/dev/null -modprobe ${MODPRV} sr_mod 2>/dev/null -modprobe ${MODPRV} ide-floppy 2>/dev/null -mdev -s - -# load kernel module for ps2 mice and map the mousehandler to /dev/input/mice -( [ -f /lib/modules/${KERNEL}/kernel/drivers/input/mouse/psmouse.ko ] && \ - modprobe ${MODPRV} psmouse - [ -f /lib/modules/${KERNEL}/kernel/drivers/input/mousedev.ko ] && \ - modprobe ${MODPRV} mousedev - testmkd /dev/input - mknod /dev/input/mice c 13 63 2>/dev/null - hwinfo --mouse >/etc/hwinfo.mouse ) & - -# complete the audio configuration and load the dummy module if no audio -# hardware is present in the machine -grep -q -E "Audio|sound" /etc/hwinfo.data || modprobe snd-dummy -modprobe ${MODPRV} snd-pcm-oss -modprobe ${MODPRV} snd-mixer-oss -#ln -s /proc/sound/oss/sndstat /dev/sndstat - -[ $DEBUGLEVEL -eq 21 ] && echo "** finished most of module loading at $(sysup)" - -# scanner setup (fixme: to be checked) -hwinfo --scanner >/etc/hwinfo.scanner -[ -f /tmp/scanner-udev ] && cat /tmp/scanner-udev \ - >>/mnt/etc/udev/rules.d/04-scanner.rules - -# parallel port setup -modprobe ${MODPRV} parport_pc && modprobe ${MODPRV} ppdev - -# if any new device appeared up to now -mdev -s -return 0 -} -############################################################################# -# harddisk partition setup part -disk () { -# get idea of availabe harddisk partitions, put swap partitions into -# (/mnt)/etc/fstab and format and mount partitions of type 44 (unknown) -[ $DEBUGLEVEL -eq 21 ] && echo "** starting hdd stuff at $(sysup)" -waitfor /tmp/diskready 20000 -if [ -s /etc/hwinfo.disk ] ; then - for hd in $(cat /etc/hwinfo.disk) ; do - fdisk -l /dev/$hd|sed -n "/^\/dev\//p" >/etc/disk.partition - for hdpartnr in $(cat /etc/disk.partition | \ - 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 /etc/disk.partition | \ - sed -n -e "/ 44 /p"|sed -e "s/[[:space:]].*//") ; do - # check for supported filesystem and formatter - ( if diskfm $hdpartnr ; then - echo "$hdpartnr is mounted to /mnt/tmp at $(sysup)" >/tmp/tmpready - echo -e "$hdpartnr\t/tmp\t\tauto\t\tdefaults\t 0 0" >>/tmp/fstab - else - echo "formatting failed for some reason ($(sysup))" >/tmp/tmpready - fi ) & - part44=yes - break - done - # put detected linux partitions (83) into /etc/fstab with "noauto", - # special partition 45 (persistent scratch) to /var/scratch and 46 - # to /var/openslx - for partid in 83 45 46 ; do - for hdpartnr in $(cat /etc/disk.partition | \ - sed -n -e "/ ${partid} /p"|sed -e "s/[[:space:]].*//") ; do - mkdir -p /mnt/media/${hdpartnr#/dev/*} 2>/dev/null - if [ ${partid} -eq 83 ] ; then - echo -e "$hdpartnr\t/media/${hdpartnr#/dev/*}\tauto\t\tnoauto,\ -noexec\t 0 0" >>/tmp/fstab - elif [ ${partid} -eq 45 ] ; then - # if more than one id45 present, the latter ones are simply mounted - # over the previous (the mounts are postponed a bit via do_mnt to - # have the filesystem completely prepared) - echo -e "waitfor ${hdpartnr} 4000\n\ - mount -t auto ${hdpartnr} /mnt/media/${hdpartnr#/dev/*}\n\ - ln -sf /media/${hdpartnr#/dev/*} /mnt/var/scratch" >>/etc/do_mnt - echo -e "${hdpartnr}\t/media/${hdpartnr#/dev/*}\tauto\t\tnoauto\ -\t\t 0 0" >>/tmp/fstab - elif [ ${partid} -eq 46 ] ; then - # mount a home directory to (/mnt)/var/home - echo -e "waitfor ${hdpartnr} 4000\n\ - mount -t auto ${hdpartnr} /mnt/media/${hdpartnr#/dev/*} \n\ - test -d /mnt/media/${hdpartnr#/dev/*}/home && \ - ln -sf /media/${hdpartnr#/dev/*} /mnt/var/home" >>/etc/do_mnt - echo -e "${hdpartnr}\t/media/${hdpartnr#/dev/*}\tauto\t\tnoauto\ -\t\t 0 0" >>/tmp/fstab - fi - done - done - # add - [ -f /etc/do_mnt ] && sed -e "1i. /etc/functions" -i /etc/do_mnt - done - # determine if tmp preparation should wait for format/mount or not - [ -z "$part44" ] && echo "finished at $(sysup)" >/tmp/tmpready -else - echo "no harddisk found ( $(sysup) )" >/tmp/tmpready -fi -[ $DEBUGLEVEL -eq 21 ] && echo "** finished hdd stuff at $(sysup)" -} - -############################################################################# -# cleanup/finishing part -finish () { -mdev -s -# mount filesystem parts (if any) requested in disk setup -[ -f /etc/do_mnt ] && sh /etc/do_mnt & -# remove unneeded disk and mouse drivers -[ ! -s /etc/hwinfo.disk ] && rmmod sd_mod 2>/dev/null -#grep -q " PS/2 " /etc/hwinfo.mouse || \ -# { rmmod psmouse 2>/dev/null; rm /dev/psaux 2>/dev/null; } -# more sophistication possible :) -# remove /sbin/mdev as not available in stage4 -echo >/proc/sys/kernel/hotplug -return 0 -} - -############################################################################# -# main 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/distro-functions -# source general slx and initramfs-setup settings -. /etc/slxsystem.conf -. /etc/initramfs-setup - -# script run timer -[ $DEBUGLEVEL -eq 8 -o $DEBUGLEVEL -eq 21 ] && \ - echo "** HW $1 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 - -case $1 in - # pre initialization: loading USB base and network adaptor modules, - # detection of other pci bus modules - base) - base - ;; - # main part of hardware setup of pci stuff - main) - hwmain - # main script run timer or debug information - [ $DEBUGLEVEL -eq 8 -o $DEBUGLEVEL -eq 21 ] && \ - echo "** HW main setup finished at $(sysup)" - echo "hwsetup main part finished at $(sysup)" >/tmp/hwcfg - ;; - # disk setup part (detecting general id82,83 and slx id44,45,46, formatting - # if required and mounting) - disk) - # try to enable compressed RAM SWAP - if modprobe ${MODPRV} ramzswap && [ -f /usr/bin/rzscontrol ] ; then - mdev -s - rzscontrol /dev/ramzswap0 --init - swapon /dev/ramzswap0 - #hdswap="# disk swap disabled because of enabled compressed ramswap" - fi - # if disk action is not disabled - if [ "x${hw_local_disk}" != "xno" ] ; then - disk - else - echo "using harddisk switched off by hw_local_disk set to 'no' ( $(sysup) )" \ - >/tmp/tmpready - fi - ;; - # remove unneeded kernel modules - finish) - finish - ;; -esac diff --git a/initramfs/stage3-stuff/bin/init-wrapper b/initramfs/stage3-stuff/bin/init-wrapper deleted file mode 100755 index 57fcb8a0..00000000 --- a/initramfs/stage3-stuff/bin/init-wrapper +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh -# Copyright (c) 2006..2010 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your feedback to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org -# -# wrapperscript for plugin init files -############################################################################# - -# Get parameters -init_file="$1" -DEBUGLEVEL="$2" - -[ -z $DEBUGLEVEL ] && DEBUGLEVEL=0 - -# How do the localization here? There is not yet a country-Variable -. /etc/messages -. /etc/functions -. /etc/distro-functions - -# Configuration settings for this slx system's environment -. /etc/slxsystem.conf 2>/dev/null - -# initramfs-setup configuration (common initial settings for all clients using -# a certain InitRamFS generated by slxconfig-demuxer) -[ -f /etc/initramfs-setup ] && . /etc/initramfs-setup 2>/dev/null - -# Initial -testmkd /tmp/env - -if [ ! -f /tmp/env/base.sed ]; then - # Get environment and prepare as sed command - pre_env_base=$(env | sed -e 's/^\([^=]*\).*/\1/' | tr '\n' ';') - pre_env_base=$(echo $pre_env_base| sed -e 's/;/\.\*\/\/;s\/\^/g') - pre_env_base="s/^$pre_env_base//;" - $(echo $pre_env_base > /tmp/env/base.sed) -else - pre_env_base=$(cat /tmp/env/base.sed) -fi - -# Load temporary environments -[ -f /tmp/env/wrapper.env ] && . /tmp/env/wrapper.env - -[ "${DEBUGLEVEL}" -eq 15 ] && set -x -[ -f $init_file ] && . $init_file -[ "${DEBUGLEVEL}" -eq 15 ] && set +x - -# Remove already known environment variables from postenv -#env |sed -e $pre_env_base | sort -u | \ -# Store the environment for re-initialization in runinithook function -env | grep -v -E "debug|DEBUGLEVEL" | sort -u | \ - sed "1s|.*|# generated by init-wrapper; last changed by $init_file|" | \ - sed -e 's/^\([^=]*\)=\(.*\)/export \1="\2"/' \ - > /tmp/env/wrapper.env - diff --git a/initramfs/stage3-stuff/bin/servconfig b/initramfs/stage3-stuff/bin/servconfig deleted file mode 100755 index 1248918e..00000000 --- a/initramfs/stage3-stuff/bin/servconfig +++ /dev/null @@ -1,308 +0,0 @@ -#!/bin/sh -# Copyright (c) 2003..2006 - RZ Uni Freiburg -# Copyright (c) 2006..2010 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your feedback to feedback@openslx.org -# -# General information about OpenSLX can be found under http://openslx.org -# -# universal (distro independent) configuration script for OpenSLX linux -# diskless clients (executed in stage3 within initial ramfs). The file- -# system setup is completed when servconfig starts - -############################################################################# -# 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 functions. Distro specific functions may -# overwrite functions defined in /etc/functions -. /etc/distro-functions -. /etc/slxsystem.conf - -# load variables defined by plugins -[ -f /tmp/env/wrapper.env ] && . /tmp/env/wrapper.env - -# 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 - -############################################################################# -# read and unify configuration options - default configuration file, from -# dhcp, ldap ... -# wait for the appearance of configuration from several sources -cfgcomplete -. /etc/initramfs-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...) -cp -a /rootfs/* /mnt 2>/dev/null - -# copy passwd, group files for temporarily (within stage3 configuration) used -# by chown -cp /mnt/etc/passwd /etc -cp /mnt/etc/group /etc - -# set greeting and add information on booted system -len=$(expr length ${SLXVERSION}${SYSTEM_NAME}) -if [ $len -le 28 ] ; then - vdstr="Stateless Workstation (V${SLXVERSION}/${SYSTEM_NAME})" - smax=28 -else - vdstr="V${SLXVERSION}/${SYSTEM_NAME}" - smax=52 -fi -while [ $len -le $smax ] ; do - vdstr="$vdstr " - len=$(($len + 1)) -done -len=$(expr length ${host_name}) -while [ $len -le 30 ] ; do - space="$space " - len=$(($len + 1)) -done -echo " - WELCOME TO $space \n (\l) - _____ ______ ______ __ __ _______ __ __ __ - / _ | _ | ___| | | | | ____| | | | | | - | | | | |_| | |_ | | | | |___ | | / / - | | | | ___/| _| | | ____ | | | | - | |_| | | | |___| | | | ____| | |___ / / - _____/|__| |______|__| |__| |_______|______|__| |__| - - $vdstr (c) <OpenSLX.ORG> -" >/mnt/etc/issue - -############################################################################# -# set localization and add entries to initialize keytable and consolefont to -# boot.slx -if [ -z "${country}" ] ; then - error "$scfg_country" nonfatal - country="us" -fi -# do localization (this functions simply sets a list of variables) -localization "${country}" -# start distrospecific localization -dlocale - -############################################################################# -# setup passwd and shadow for local system users like root, bin, daemon and -# nobody if no user/admin provided passwd exists ... fixme: see #206 -[ ! -e /rootfs/etc/shadow ] && \ - basepasswd $(sed "/+::0/d;s/root://;s/:.*//" /rootfs/etc/shadow 2>/dev/null) - -############################################################################# -# dns and ip configuration -# hostname of the machine -echo "$host_name" >/proc/sys/kernel/hostname -echo -e "# /etc/hosts - file generated by $0 during OpenSLX stage3\ -\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 -if [ -n "${domain_name}" ]; then - echo -en "${clientip}\t" >>/mnt/etc/hosts - for name in ${domain_name}; do - echo -en "${host_name}.${name} " >>/mnt/etc/hosts - done - echo -e "${host_name}" >>/mnt/etc/hosts -else - echo -e "${clientip}\t${host_name}" >>/mnt/etc/hosts -fi -# set up domainname and resolving -rm -rf /mnt/etc/resolv.conf -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 name in ${domain_name_servers}; do - echo nameserver ${name} >>/mnt/etc/resolv.conf; - done; } - -############################################################################# -# run distro specific configuration function -config_distro - -############################################################################# -# 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 - -# setup system log services - distro dependent function config_syslog -config_syslog - -# acpi and powersave - distro dependent function config_acpi, these daemons -# might require dbus -config_acpi - -# configure udev -config_udev - -# 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 - -# configure automounter (should be moved to plugin) -if [ "x$automnt" != "xno" ] ; then - # check if there is some user provided configuration (only auto.master is - # important) and skip automatic setup - if [ ! -f /rootfs/etc/auto.master ] ; then - 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 initialramfs-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 - amserv=$(uri_token $automnt_src server) - ampath=$(uri_token $automnt_src path) - amdirn=$(echo ${automnt_dir}|sed "s,/,_,g") - echo -e "/${automnt_dir}\t/etc/auto.${amdirn}\n" \ - >> /mnt/etc/auto.master - echo -e "# /etc/auto.${amdirn} created by $0:\n" \ - > /mnt/etc/auto.${amdirn} - # add '/' to path because uri_token removes any leading '/' (s. function) - echo -e "*\t-rsize=32768,wsize=32768,rw\t${amserv}:/${ampath}/&" \ - >> /mnt/etc/auto.${amdirn} - # 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 and local nfs directories - testmkd /mnt/var/lib/nfs/state - config_portmap - fi - fi - config_automount -fi - -# configure print services / start requested printer daemon -config_printer - -# configure bluetooth services -#[ -s /etc/hwinfo.bt ] if existance of bt devices should play any role -config_bt - -############################################################################# -# network(ed) services - -if [ -n "$ntp_servers" ]; then - # rdate uses the time protocol (port 37 which is not the ntp standard port) - # thus not every standard ntp-server might offer this service) - ( rdate -s "$ntp_servers" 2>/dev/null || error "$scfg_rdate" nonfatal - hwclock -w ) & -fi - -# 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 name in $ntp_servers; do - echo server $name >>/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 - -# configure samba service -config_samba - -############################################################################# -# NIS (variable typically fetched via dhcp) -# setup nis configuration if needed -if [ "x$nis_domain" != "x" -a "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 - config_nis -fi - -############################################################################# -# name service caching daemon if networked user database -config_nscd - -############################################################################# -# 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 -[ $DEBUGLEVEL -eq 8 ] && echo "** Waiting for /tmp completion at $(sysup)" -waitfor /tmp/tmpready 40000 -[ $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) - # hanging mount processes might stop further setup - timeout - # should be configured ... - # fsmount proto server path target options - fsmount nfs ${tmpserv} ${tmppath} /tmp/scratch \ - "rw,intr,soft,timeo=2,nosuid" && { - if [ -d /tmp/scratch/${clientip} ] ; then - mv /tmp/scratch/${clientip} /tmp/scratch/${clientip}.totrash - rm -rf /tmp/scratch/${clientip}.totrash 2>/dev/null & - fi - testmkd /tmp/scratch/${clientip} - # no need for tempfs there ... - umount /mnt/tmp >/dev/null 2>&1 - fsmount nfs ${tmpserv} ${tmppath} /mnt/tmp \ - "rw,intr,soft,timeo=2,nosuid"; } - ;; - esac -fi - -# script run timer -[ $DEBUGLEVEL -eq 8 ] && echo "** SW setup finished at $(sysup)" - -# servconfig finished successfully -echo "servconfig finished at $(sysup)" > /tmp/svcfg |