summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--initramfs/initrd-stuff/etc/functions44
-rw-r--r--initramfs/initrd-stuff/etc/messages6
-rwxr-xr-xinitramfs/initrd-stuff/init25
-rwxr-xr-xinitramfs/mkdxsinitrd9
4 files changed, 28 insertions, 56 deletions
diff --git a/initramfs/initrd-stuff/etc/functions b/initramfs/initrd-stuff/etc/functions
index aa0a8225..24685df1 100644
--- a/initramfs/initrd-stuff/etc/functions
+++ b/initramfs/initrd-stuff/etc/functions
@@ -2,7 +2,7 @@
# (included by init, hwautocfg, servconfig, ... within OpenSLX initial
# ramfs)
#
-# Dirk von Suchodoletz <dvs@OpenSLX.com>, 15-12-2006
+# Dirk von Suchodoletz <dvs@OpenSLX.com>, 17-12-2006
# Felix Endres, 30-04-2006
# <mj0@uni-freiburg.de> (xenbr), 12-12-2006
# Tobias Maier
@@ -264,7 +264,7 @@ local nm=$2
local gw=$3
local bc=$4
local if=$5
-for ipcfg in ip ipconfig ifconfig none; do
+for ipcfg in ip ifconfig none; do
test -x /bin/$ipcfg && break;
done
case $ipcfg in
@@ -281,12 +281,7 @@ case $ipcfg in
[ -n "$nbdhost" ] && [ `echo $nbdhost|sed "s,\..*,,"` -ge 224 ] && \
ip route add 224.0.0.0/4 dev eth0
;;
- # the klibc ip configuration / dhcp client tool
- ipconfig)
- # fixme: to be checked
- ipconfig $ip::$gw:$nm:$if:none
- MAC=""
- ;;
+ # the klibc ip configuration / dhcp client tool is deprecated
# traditional ifconfig/route - if a distro does not provide ip
ifconfig)
if [ "$ip" = "0.0.0.0" ]; then
@@ -326,28 +321,12 @@ local nfsroot=$1
local dest=$2
local ret=0
[ -z "$dest" ] && dest="/mnt"
-for mnt in nfsmount mount none; do
- test -x /bin/$mnt && break;
-done
# often nfs is just a module and not compiled directly into the kernel
[ -f /lib/modules/@@@KERNVER@@@/kernel/fs/nfs/nfs.ko ] && \
loadmod /lib/modules/@@@KERNVER@@@/kernel/fs/nfs/nfs.ko "$error_modnfs"
-case $mnt in
- # the klibc nfs mount tool (includes portmap)
- nfsmount)
- nfsmount -o ro $nfsroot $dest || ret=1
- ;;
- # the standard mount; portmap is needed ...
- mount)
- portmap || { echo "$error_portm"; ret=1; }
- # fixme: busybox mount uses nfs ...
- mount -n -t nfs -o ro,nolock $nfsroot $dest || ret=1
- killall -9 portmap 2>/dev/null
- ;;
- none)
- error "$error_mntt"
- ;;
-esac
+# busybox mount has to be compiled with nfs mount support otherwise
+# --> error "$error_mntt"
+mount -n -t nfs -o ro,nolock $nfsroot $dest || ret=1
return $ret
}
#############################################################################
@@ -384,7 +363,7 @@ fi
rundhcp ()
{
local vci="$1"
-for dhcp in dhclient dhcpcd pump ipconfig udhcpc none; do
+for dhcp in dhclient dhcpcd pump udhcpc none; do
test -e /bin/$dhcp && break;
done
if [ "$dhcp" = "none" ] ; then
@@ -416,15 +395,6 @@ case $dhcp in
pump)
error "$error_pump"
;;
- ipconfig)
- [ $DEBUGLEVEL -gt 1 -a "$DEBUGLEVEL" != 8 ] && \
-echo -e "# You are using ipconfig as dhcp \
-client. With this tool you only get the\n# basic IP settings from the \
-server. No vendor specific, self defined\n# dhcp options are possible this \
-way. use dhclient instead or get them via\n# tftp (to be enabled via kernel \
-command line)." >> /etc/machine-setup
- error "$error_ipconf"
- ;;
# udhcpc is part of busybox
udhcpc)
[ -n $vci ] && vci="-V $vci"
diff --git a/initramfs/initrd-stuff/etc/messages b/initramfs/initrd-stuff/etc/messages
index 2136cc0f..1eb35d79 100644
--- a/initramfs/initrd-stuff/etc/messages
+++ b/initramfs/initrd-stuff/etc/messages
@@ -2,10 +2,10 @@
# bootup (within initialramfs) for OpenSLX linux diskless clients version 4
# this file could be used for localization of error messages
#
-# Dirk von Suchodoletz <dvs@openslx.com>, 29-10-2006
+# Dirk von Suchodoletz <dvs@openslx.com>, 17-10-2006
#
# (c) 2006 - RZ Universitaet Freiburg
-# (c) 2006 - OpenSLX.org
+# (c) 2006 - OpenSLX.ORG Project
# messages from (slx) init
init_errmsg="functions file contains a lot of script \
@@ -109,8 +109,6 @@ error_dhclient=" Fatal error occured while trying to run dhclient.\n\
$error_dhcp"
error_dhcpcd=" Fatal error occured while trying to run dhcpcd.\n$error_dhcp"
error_pump=" Config via pump not implemented yet.\n$error_dhcp"
-error_ipconf=" Config via ipconfig (from klibc) not implemented yet.\n\
-$error_dhcp"
error_ldapcfg=" The configuration via ldap is not implemented yet."
error_errdcfg=" Did not get any configuration data via dhcp until now ..."
error_errfcfg=" Did not get any configuration data via tftp until now ..."
diff --git a/initramfs/initrd-stuff/init b/initramfs/initrd-stuff/init
index f29f10ba..13ea98ae 100755
--- a/initramfs/initrd-stuff/init
+++ b/initramfs/initrd-stuff/init
@@ -2,7 +2,7 @@
# main script for new type of initial ramdisk for OpenSLX linux diskless
# clients version 4
#
-# Dirk von Suchodoletz <dirk@goe.net>, 15-12-2006
+# Dirk von Suchodoletz <dirk@goe.net>, 17-12-2006
# <mj0@uni-freiburg.de> (xenbr), 27-09-2006
#
# (c) 2006 - RZ Universitaet Freiburg
@@ -200,16 +200,18 @@ done
# at this point a timer should be started to ensure an automated reboot
# or halt of the machine if SLX init does not succeed (e.g. missing kernel
# module for the network adaptor)
-# fixme/testme!!
-errorhalt () {
if [ "${DEBUGLEVEL}" -lt 4 ] ; then
- [ ! -f /proc/version ] && mount -n -t proc proc /proc
- [ ! -f /proc/sysrq-trigger ] && echo -e $init_nosysrq
- sleep 120
- echo "o" > /proc/sysrq-trigger
+ [ -x /bin/busybox ] && shtype=a
+ cat<<EOF > /bin/watchdog
+#!/bin/${shtype}sh
+echo \$$ > /tmp/watchdogpid
+[ ! -f /proc/version ] && mount -n -t proc proc /proc
+sleep 120
+echo "o" > /proc/sysrq-trigger
+EOF
+ chmod u+x /bin/watchdog
+ watchdog &
fi
-}
-errorhalt &
# check if at least one type of IP configuration is availabe
if [ -z "$DHCP" -a -z "$LDAP" -a -z "$IPINFO" ] ; then
@@ -569,7 +571,10 @@ umount -n /sys || error "$init_errsys" nonfatal
umount -n /proc/bus/usb >/dev/null 2>&1
mount -n --move /dev /mnt/dev
chmod a+rwxt /mnt/dev/shm
-killall -9 udevd sleep usleep 2>/dev/null
+killall -9 udevd 2>/dev/null
+# kill the watchdog (errhalt)
+[ -f /tmp/watchdog ] && kill $(cat /tmp/watchdogpid) 2>/dev/null
+# runtimer
[ $DEBUGLEVEL -eq 8 ] && echo "** SLX init ended near $(sysup)"
umount -n /proc
# unset old environment variables
diff --git a/initramfs/mkdxsinitrd b/initramfs/mkdxsinitrd
index 8aca056b..a55d6ef9 100755
--- a/initramfs/mkdxsinitrd
+++ b/initramfs/mkdxsinitrd
@@ -4,7 +4,7 @@
# ramdisks for linux diskless clients (stage2 system
# setup)
#
-# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 15-12-2006
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 17-12-2006
# Nico Dietrich
# Felix Endres
# <mj0@uni-freiburg.de> (xenbr), 12-12-2006
@@ -578,14 +578,13 @@ else
cobi ${bbins} bin &>/dev/null || \
echo "Program ${bbins} not found; could be most probably ignored"
done
+ # if nfs is used as clients root filesystem
+ cobi portmap bin
+ mkdir -p ${INSTDIR}/var/lib/nfs/state
fi
mkdir -p ${INSTDIR}/var/{lib,run}
-# if nfs is used as clients root filesystem
-cobi portmap bin
-mkdir -p ${INSTDIR}/var/lib/nfs/state
-
# if nbd or dnbd is used as clients root filesystem
if [ -n "${FSMODULES}" ] ; then
for i in ${FSMODULES}; do