diff options
author | Dirk von Suchodoletz | 2006-01-26 13:22:35 +0100 |
---|---|---|
committer | Dirk von Suchodoletz | 2006-01-26 13:22:35 +0100 |
commit | 366d4d96b659bd28219252bcfd09773c432dc3d3 (patch) | |
tree | b9625f7d702b9ce89af24e05f6b7985408be4d1e /initrd | |
parent | und noch was... (diff) | |
download | core-366d4d96b659bd28219252bcfd09773c432dc3d3.tar.gz core-366d4d96b659bd28219252bcfd09773c432dc3d3.tar.xz core-366d4d96b659bd28219252bcfd09773c432dc3d3.zip |
Einige Bugfix und Aufräumaktionen in der mkdxsinitrd. functions-10.0 auf
das Notwendige (nach dem neuen Konzept) reduziert und passende
config-10.0 erzeugt ...
git-svn-id: http://svn.openslx.org/svn/openslx/dxs/ld4@41 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initrd')
-rw-r--r-- | initrd/distro-specs/suse/config-9.3 | 6 | ||||
-rw-r--r-- | initrd/distro-specs/suse/functions-10.0 | 369 | ||||
-rw-r--r-- | initrd/distro-specs/suse/functions-9.3 | 13 | ||||
-rwxr-xr-x | initrd/initrd-stuff/bin/hwautocfg | 2 | ||||
-rwxr-xr-x | initrd/mkdxsinitrd | 94 |
5 files changed, 51 insertions, 433 deletions
diff --git a/initrd/distro-specs/suse/config-9.3 b/initrd/distro-specs/suse/config-9.3 index 52b22880..7c2b1466 100644 --- a/initrd/distro-specs/suse/config-9.3 +++ b/initrd/distro-specs/suse/config-9.3 @@ -1,6 +1,8 @@ -# Description: distro specific settings for SuSE 10.0 +# Description: distro specific settings for SuSE 9.3. This configuration +# is the base for following SuSE versions until the changes +# within them require a major change # -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 06-01-2006 +# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 26-01-2006 # # Copyright: (c) 2003, 2005 - RZ Universitaet Freiburg diff --git a/initrd/distro-specs/suse/functions-10.0 b/initrd/distro-specs/suse/functions-10.0 index 8b63085f..86fd53b0 100644 --- a/initrd/distro-specs/suse/functions-10.0 +++ b/initrd/distro-specs/suse/functions-10.0 @@ -1,9 +1,9 @@ -# Description: configuration script for SuSE 10.0 to configure -# linux diskless clients (included by init, hwautocfg, -# servconfig, ... within initial ramdisk after inclusion -# of the main functions file) +# Description: configuration functions for SuSE 10.0 which differ from +# functions defined for SuSE 9.3 which is base ... General +# changes should be done there, version specific changes for +# the 10.0 here. # -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 20-01-2006 +# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 26-01-2006 # Blabla # Blub # @@ -11,311 +11,7 @@ # # Version: 0.2.1a -# distro specific stuff to initialize -preinit () { - # do nothing yet - echo > /dev/null -} - -# linking runlevel scripts -rllinker () { -local script="$1" -local start="$2" -local stop="$3" -# empty runlevel links - decision on running certain services is -# passed via configuration -for i in rc3.d/K$stop$script rc5.d/K$stop$script \ - rc3.d/S$start$script rc5.d/S$start$script ; do - ln -sf ../$script /mnt/etc/init.d/$i -done -} - -# group of functions for the normal runlevels - first parameter is start -# second stop -# function for ntp configuration -config_ntp () { -local start=$1 -local stop=$2 -if [ -f /mnt/etc/init.d/ntp ] ; then - strinfile "ntp:" /mnt/etc/passwd || \ - echo -e "ntp:x:74:65534:NTP daemon:/var/lib/ntp:/bin/false" \ - >>/mnt/etc/passwd - testmkd /mnt/var/lib/ntp/var/run/ntp &>/dev/null - if [ "x$start_ntp" = "xinitial" ] ; then - echo -e "\t# entry added by $0: $date" \ - >>/mnt/etc/${D_INITDIR}/boot.ld - echo -e "\tntpdate -s -b $ntp_servers >${LOGFILE} 2>&1 &" \ - >>/mnt/etc/${D_INITDIR}/boot.ld - else - rllinker "ntp" "$start" "$stop" - fi -fi -} - -# function for atd -config_atd () { -if [ "x$start_atd" = "xyes" ]; then - rllinker "atd" "$1" "$2" -fi -} - -# function for configuration of cron services -config_cron () { -if [ "x$start_cron" = "xyes" ] ; then - if [ -f /mnt/etc/init.d/cron ] ; then - testmkd /mnt/var/spool/cron/lastrun - testmkd /mnt/var/spool/cron/tabs - echo -e "# /etc/crontab - file generated by $0:\n\ -#\t$date\nSHELL=/bin/sh\nPATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin\ -\nMAILTO=\n-*/15 * * * *\troot\ttest -x /usr/lib/cron/run-crons && \ -/usr/lib/cron/run-crons >/dev/null 2>&1\n" >/mnt/etc/crontab - else - error " The cron start script seems not to be installed, so requesting \ -\n the start of cron services make no sense." nonfatal - fi -fi -} - -# syslog service -config_syslog () { -if [ "x$start_syslog" = "xyes" ] ; then - if [ -f /mnt/etc/init.d/syslog ] ; then - # how to configure remote log server? - # logging servers might be specified in $log_servers (from e.g. dhcp) - echo -e "# File modified by $0 within initial ramdisk" \ - > /etc/syslog-ng.conf - sed -e "s,.*dhcp/dev.*,," -e "s,.*named/dev.*,," \ - /mnt/etc/syslog-ng/syslog-ng.conf >> /etc/syslog-ng.conf - cp /etc/syslog-ng.conf /mnt/etc/syslog-ng/syslog-ng.conf - rllinker syslog "$1" "$2" - fi -fi -} - -# secure shell service -config_sshd () { -if [ "x$start_sshd" = "xyes" ] ; then - if [ -f /mnt/etc/init.d/sshd ] ; then - testmkd /mnt/var/lib/sshd; testmkd /mnt/var/lib/empty - rllinker "sshd" "$1" "$2" - fi -fi -} - -# snmp agent for remote monitoring -config_snmp () { -if [ "x$start_snmp" = "xyes" ] ; then - if [ -f /mnt/etc/init.d/snmpd ] ; then - rllinker "snmpd" "$1" "$2" - testmkd /mnt/var/lib/net-snmp >/dev/null 2>&1 - fi - # fixme!! - # write service monitor depending on services started - fi -} - -# x11 stuff -descsession () { -if [ "x$desktop_session" != "x" ] ; then - windowmanagers="$desktop_session" - # write script for desktop-session chooser - if [ "x$vmware" != "xno" ] ; then - debug="" - [ ${DEBUGLEVEL} -gt 0 ] && debug="--debug 1" - echo -e "#!/bin/sh\n#\n# file generated by\n#\t$0:\n#\t$date\n -OSTYPE=\`echo \$0 | sed -e \"s,-, ,\" -e \"s,.*/,,\" | awk '{print \$1}'\` -SPECTYPE=\`echo \$0 | sed -e \"s,-, ,\" -e \"s,.*/,,\" | awk '{print \$2}'\`\n -OPTS=\"-o \$OSTYPE \${SPECTYPE:+\"-s \$SPECTYPE\"}\"\n -xterm -bg black -fg white -geometry 170x30+0-0 +sb \ --e \"runvmware \$OPTS $debug\"\n" > /mnt/var/X11R6/bin/desktop-session - chmod a+x /mnt/var/X11R6/bin/desktop-session - addpath="true"; - fi -else - windowmanagers="kde,gnome,icewm,failsafe" -fi -# check if /usr/X11R6/bin is writeable, else use /var/X11R6/bin -if [ -w /mnt/usr/X11R6/bin/WM-Session ] ; then - sesspath="/usr/X11R6/bin" -else - sesspath="/var/X11R6/bin" - addpath="true" -fi - -# create links to desktop-session chooser -[ -f /mnt/usr/bin/X11/wmlist ] && wmlist=`cat /mnt/usr/bin/X11/wmlist` -testmkd /mnt/etc/X11/sessions -for i in `echo $windowmanagers|sed -e "s/,/ /g"` ; do - # beware!! quickhack for VMware sessions - strinstr "$i" "$wmlist" || \ - test -x /mnt/usr/X11R6/bin/$i || \ - echo -e "[Desktop Entry]\nX-SuSE-translate=true\nEncoding=UTF-8\n\ -Type=XSession\nExec=$i\nTryExec=$sesspath/$i\n\ -Name=$i\n" > /mnt/etc/X11/sessions/$i.desktop - # does not work correctly (add /var/X11R6/bin to path!!) - test -x /mnt/usr/X11R6/bin/$i || \ - ln -fs /var/X11R6/bin/desktop-session /mnt/$sesspath/$i -done - -# add special path /var/X11R6/bin to the PATH variable -[ "x$addpath" != "x" ] && \ - echo -e "# added path component by $0: $date\n\ -PATH=\"\$PATH:/var/X11R6/bin\"" >>/mnt/etc/SuSEconfig/profile - -} - -# configure X display manager (/etc/sysconfig/displaymanager) -config_dm_entry () { -local dm="$1" -# should be stated that entries were made (fixmee how??) -sed -e "s,DISPLAYMANAGER=.*,DISPLAYMANAGER=\"$start_xdmcp\"," \ - -e "s,.*_XSERVER.*,DISPLAYMANAGER_STARTS_XSERVER=\"$dm\"," \ - /mnt/etc/sysconfig/displaymanager > /etc/displaymanager -cp /etc/displaymanager /mnt/etc/sysconfig/displaymanager -# start the display manager as early as possible -ln -sf /etc/init.d/xdm /mnt/etc/init.d/boot.d/S12boot.xdm -ln -sf /etc/init.d/xdm /mnt/etc/init.d/rc5.d/S01xdm -ln -sf /etc/init.d/xdm /mnt/etc/init.d/rc5.d/K20xdm -} - -# configure X display manager (runlevel links and kind of manager) -config_xdm () { -config_dm_entry yes -} - -# configure gdm as display manager -config_gdm () { -config_dm_entry yes -testmkd /mnt/var/lib/gdm -strinfile "gdm:" /mnt/etc/passwd || echo "gdm:x:50:15:Gnome Display Manager \ -Daemon:/var/lib/gdm:/bin/false" >>/mnt/etc/passwd -# hack - gdm should be user 50 and shadow group 15 -chown 50:15 /mnt/var/lib/gdm -chmod 0750 /mnt/var/lib/gdm -xdmcp_hosts=`echo $x_display_manager|sed -e "s; ;,;"` -if [ "${DEBUGLEVEL}" -gt 0 ] ; then - debug="true" -else - debug="false" -fi -echo -e "# /etc/opt/gnome/gdm/gdm.conf - file generated by $0\n\ -[daemon] -AutomaticLoginEnable=false -TimedLoginEnable=false -#AlwaysRestartServer=false -Chooser=/opt/gnome/lib/gdm/gdmchooser -Greeter=/opt/gnome/lib/gdm/gdmgreeter -RemoteGreeter=/opt/gnome/lib/gdm/gdmgreeter -DefaultPath=/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/bin:\ -/opt/gnome/bin:/opt/kde3/bin:/opt/kde/bin:/usr/openwin/bin -RootPath=/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/local/bin:/usr/bin:\ -/usr/X11R6/bin:/bin:/usr/games:/opt/bin:/opt/gnome/bin:/opt/kde3/bin:\ -/opt/kde/bin:/usr/openwin/bin:/opt/cross/bin -User=gdm -Group=shadow -#KillInitClients=true -LogDir=/var/lib/gdm -ServAuthDir=/var/lib/gdm -PostLoginScriptDir=/etc/opt/gnome/gdm/PostLogin/ -PreSessionScriptDir=/etc/opt/gnome/gdm/PreSession/ -PostSessionScriptDir=/etc/opt/gnome/gdm/PostSession/ -DisplayInitDir=/etc/opt/gnome/gdm/Init -XKeepsCrashing=/etc/opt/gnome/gdm/XKeepsCrashing -RebootCommand=/sbin/shutdown -r now -HaltCommand=/sbin/shutdown -h now -SuspendCommand=/usr/bin/powersave --suspend-to-disk -BaseXsession=/etc/opt/gnome/gdm/Xsession -SessionDesktopDir=/usr/share/xsessions/:/etc/X11/sessions/:\ -/etc/opt/gnome/dm/Sessions/:/opt/gnome/share/gdm/BuiltInSessions/ -BaseXsession=/etc/opt/gnome/gdm/Xsession -SessionDesktopDir=/usr/share/xsessions/:/etc/opt/gnome/dm/Sessions/:\ -/opt/gnome/share/gdm/BuiltInSessions/ -UserAuthFBDir=/tmp -UserAuthFile=.Xauthority -StandardXServer=/usr/X11R6/bin/X -Xnest=/usr/X11R6/bin/Xnest -audit 0 -name Xnest - -[security] -AllowRoot=true -AllowRemoteRoot=true -AllowRemoteAutoLogin=false -CheckDirOwner=true -#UserMaxFile=65536 -RetryDelay=1 -#SessionMaxFile=524388 -NeverPlaceCookiesOnNFS=true - -[xdmcp] -Enable=$xdmcp -HonorIndirect=true -MaxPending=4 -MaxPendingIndirect=4 -MaxSessions=10 -MaxWait=15 -MaxWaitIndirect=15 -DisplaysPerHost=2 -Willing=/etc/X11/xdm/Xwilling - -[gui] -#MaxIconWidth=128 -#MaxIconWidth=128 - -[greeter] -Browser=false -#TitleBar=true -MinimalUID=500 -Quiver=true -Welcome=Welcome to %n -LockPosition=true -BackgroundImage=0 -BackgroundColor=#000000 -ShowGnomeFailsafeSession=false -ShowXtermFailsafeSession=false -ShowLastSession=false -Use24Clock=true -GraphicalTheme=GDM-SuSE -GraphicalTheme=circles -GraphicalThemeDir=/opt/gnome/share/gdm/themes/ -GraphicalThemeRand=false -#SystemMenu=true -InfoMsgFile=/opt/gnome/share/gdm/UserInfo -InfoMsgFont=monospace 10 -SoundOnLogin=false -[chooser] -HostImageDir=/opt/gnome/share/hosts/ -Broadcast=false -Multicast=false -Hosts=$xdmcp_hosts - -[debug] -Enable=$debug" >/mnt/etc/opt/gnome/gdm/gdm.conf -if [ "x$start_x" = "xindirect" ] ; then - # when X server consumes to much mem set X -terminate - echo -e "\n[servers]\n0=Terminal -audit 0 -indirect \ -$host_name\n\n\ -[server-Terminal]\nname=Terminal server\ncommand=/usr/X11R6/bin/X \ --audit 0\n\ -flexible=true\nhandled=true\nchooser=true" >>/mnt/etc/opt/gnome/gdm/gdm.conf -else - echo -e "\n[servers]\n0=Standard\n\n\ -[server-Standard]\nname=Standard server\ncommand=/usr/X11R6/bin/X\n\ -flexible=true\nhandled=true" >>/mnt/etc/opt/gnome/gdm/gdm.conf -fi -} - -# configure gdm as display manager -config_kdm () { -config_dm_entry yes - -} - -# consolefont -consolefont () { -echo -e "\tsetfont ${CONSOLE_FONT} >${LOGFILE} 2>&1\n" \ - >>/mnt/etc/${D_INITDIR}/boot.ld -} - -# acpi and powersave +# acpi and powersave have changed config_acpi () { local start_acpi=$1 local stop_acpi=$2 @@ -325,56 +21,3 @@ rllinker acpid "$start_acpi" "$stop_acpi" rllinker powersaved "$start_powersave" "$stop_powersave" } -# configure dbus (inter application communication for kde and gnome), hal -# (hardware abstraction layer - used e.g. by powersaved) and resmgr -# (resource manager - the user gets permissions to devices when loggin on) -config_dreshal () { -local start="$1" -local stop="$2" -if [ "x$start_dreshal" = "xyes" ]; then - if [ -f /mnt/etc/init.d/dbus ] ; then - strinfile "messagebus:" /mnt/etc/passwd || \ - echo "messagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/false" \ - >> /mnt/etc/passwd - testmkd /mnt/var/run/dbus - # chown 100:101 /mnt/var/run/dbus - rllinker "dbus" "$start" "$stop" - fi - if [ -f /mnt/etc/init.d/resmgr ] ; then - testmkd /mnt/var/run/resmgr/classes - start="0"`expr $start + 1` - stop="0"`expr $start - 1` - rllinker "resmgr" "$start" "$stop" - fi - if [ -f /mnt/etc/init.d/haldaemon ] ; then - strinfile "haldaemon:" /mnt/etc/passwd || \ - echo "haldaemon:x:101:102:User for haldaemon:/var/run/hal:/bin/false" \ - >> /mnt/etc/passwd - start="0"`expr $start + 1` - stop="0"`expr $start - 1` - rllinker "haldaemon" "$start" "$stop" - fi -fi -} - -# initialize boot.ld - skript to be executed during early system startup -# (before most of the normal boot init scripts) -# this script should operate like a normal runlevel script -d_mkbootld () { -case "$1" in - init) - echo -e "#!/bin/sh\n# skeleton of /etc/${D_INITDIR}/boot.ld written \ -from $0" >/mnt/etc/${D_INITDIR}/boot.ld - echo -e '\n. /etc/rc.status\nrc_reset\ncase "$1" in\n start)' \ - >>/mnt/etc/${D_INITDIR}/boot.ld - echo -e '\techo -n "Running post configuration required by initrd"' \ - >>/mnt/etc/${D_INITDIR}/boot.ld - chmod u+x /mnt/etc/${D_INITDIR}/boot.ld - ;; - close) - echo -e "\trc_status -v\n\t;;\n stop)\n\t;;\nesac\nrc_exit" \ - >>/mnt/etc/${D_INITDIR}/boot.ld - - ;; -esac -} diff --git a/initrd/distro-specs/suse/functions-9.3 b/initrd/distro-specs/suse/functions-9.3 index 4c585096..80018de4 100644 --- a/initrd/distro-specs/suse/functions-9.3 +++ b/initrd/distro-specs/suse/functions-9.3 @@ -1,9 +1,10 @@ -# Description: configuration script for SuSE 10.0 to configure -# linux diskless clients (included by init, hwautocfg, -# servconfig, ... within initial ramdisk after inclusion -# of the main functions file) +# Description: configuration script for SuSE 9.3 to configure linux +# diskless clients (included by init, hwautocfg, servconfig +# within initial ramdisk after inclusion of the main +# functions file). This file is the main base for the +# following SuSE distributions # -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 20-01-2006 +# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 26-01-2006 # Blabla # Blub # @@ -14,7 +15,7 @@ # distro specific stuff to initialize preinit () { # do nothing yet - echo > /dev/null + : } # linking runlevel scripts diff --git a/initrd/initrd-stuff/bin/hwautocfg b/initrd/initrd-stuff/bin/hwautocfg index fc49ce1c..392ab93b 100755 --- a/initrd/initrd-stuff/bin/hwautocfg +++ b/initrd/initrd-stuff/bin/hwautocfg @@ -305,7 +305,7 @@ Please check that\n hwsetup is properly installed and executable." # "drivers" (pseudo, placeholder strings, ...) to exclude from loading DRIVERLIST="disabled unknown ignore pcspkr synaptics" # driver blacklist (real modules which fail to load) -DRIVERLIST=${DRIVERLIST}" hw_random " +DRIVERLIST=${DRIVERLIST}" hw_random" # check for USB, pcmcia and ieee1394 hardware drivers for DRIVER in ohci-hcd uhci-hcd ehci-hcd \ ohci1394; do diff --git a/initrd/mkdxsinitrd b/initrd/mkdxsinitrd index d73211dc..abe0ff13 100755 --- a/initrd/mkdxsinitrd +++ b/initrd/mkdxsinitrd @@ -3,11 +3,11 @@ # Description: universal (distro independent) generator for initial # ramdisks for linux diskless clients # -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 24-01-2006 -# Blabla +# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 26-01-2006 +# Nico Dietrich # Blub # -# Version: 0.3.0a +# Version: 0.3.0b # # Copyright: (c) 2003 - 2006 - RZ Universitaet Freiburg @@ -164,34 +164,34 @@ shared_object_files() { | sort -u } -# Resolve module dependencies and parameters. Returns a list of modules and -# their parameters. -#resolve_modules() { -# local kernel_version=$1 module -# shift -# -# for module in "$@"; do -# local with_modprobe_conf -# module=${module%.o} # strip trailing ".o" just in case. -# module=${module%.ko} # strip trailing ".ko" just in case. -# #if [ -e /etc/modprobe.conf ]; then -# # with_modprobe_conf="-C /etc/modprobe.conf" -# #fi -# module_list=$(/sbin/modprobe $with_modprobe_conf \ -# --set-version $kernel_version --ignore-install \ -# --show-depends $module 2> /dev/null \ -# | sed -ne 's:.*insmod /\?::p' ) -# echo "$module_list" -# done \ -# | awk ' # filter duplicates: we must not reorder modules here! -# NF == 0 { next } -# $1 in seen { next } -# { seen[$1]=1 -# print -# } -# ' -# rm -f $temp -#} +# this function incrementally concats and copies distro-specific functions, +# configuration variables and files +copy_distro_stuff() { + + # first insert dependencies + case $1 in + suse) + case $2 in + 9.3) + ;; + 10.0) + copy_distro_stuff suse 9.3 + ;; + esac + ;; + debian) + ;; + ubuntu) + ;; + gentoo) + ;; + esac + + # now insert the current stuff + cat distro-specs/$1/config-$2 >>${INSTDIR}/etc/sysconfig/config + cat distro-specs/$1/functions-$2 >>${INSTDIR}/etc/distro-functions + cp -a distro-specs/$1/files-$2 ${INSTDIR}/etc/sysconfig/files 2>/dev/null +} ######################################################################### # End of function declaration @@ -348,33 +348,6 @@ esac # an dieser stelle sollte jetzt sichergestellt sein, dass sowohl DISTRO als auch DISTRO_VER eindeutig gesetzt sind! -# this function incrementally concats and copies distro-specific functions, configuration variables and files -copy_distro_stuff() { - - # first insert dependencies - case $1 in - suse) - case $2 in - 9.3) - ;; - 10.0) - copy_distro_stuff suse 9.3 - ;; - esac - ;; - debian) - ;; - ubuntu) - ;; - gentoo) - ;; - esac - - # now insert the current stuff - cat distro-specs/$1/config-$2 >>${INSTDIR}/etc/sysconfig/config - cat distro-specs/$1/functions-$2 >>${INSTDIR}/etc/distro-functions - cp -a distro-specs/$1/files-$2 ${INSTDIR} 2>/dev/null -} copy_distro_stuff ${DISTRO} ${DISTRO_VER} @@ -473,15 +446,14 @@ fi mkdir -p ${INSTDIR}/lib/modules/${KERNVER} for module in af_packet ${NWMODULES} ${FSMODULES}; do - echo "m: $module" mod=`cd /${ROOTDIR}; find "lib/modules/${KERNVER}" -name ${module}.ko \ 2>/dev/null` - echo "m: $mod" if [ -n "$mod" ] ; then mpath=${INSTDIR}/${mod%/*} - echo $mpath mkdir -p ${mpath} cp ${ROOTDIR}/$mod ${mpath} + # fixmee!! selection of dependent modules could be handled a little bi + # more clever case "$module" in e100|8139too|via-rhine|sis900|epic100|sundance|8139cp|eepro100.ko|pcnet32) cp ${ROOTDIR}/lib/modules/${KERNVER}/kernel/drivers/net/mii.ko \ |