summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDirk von Suchodoletz2006-01-20 11:31:01 +0100
committerDirk von Suchodoletz2006-01-20 11:31:01 +0100
commit4fca608b84d4bc1c5abe78cb5956ff17c924e2c2 (patch)
tree360f037abe32d54e3a64f9456c922c7b4ded58a1
parentAbstimmung der Debuglevel (siehe auch /trac Wiki) (diff)
downloadcore-4fca608b84d4bc1c5abe78cb5956ff17c924e2c2.tar.gz
core-4fca608b84d4bc1c5abe78cb5956ff17c924e2c2.tar.xz
core-4fca608b84d4bc1c5abe78cb5956ff17c924e2c2.zip
Boot.ld als erstes Runlevelskript (per distro-spez. Funktion).
git-svn-id: http://svn.openslx.org/svn/openslx/dxs/ld4@27 95ad53e4-c205-0410-b2fa-d234c58c8868
-rwxr-xr-xinitrd/distro-specs/suse-10.0/files/etc/init.d/boot7
-rw-r--r--initrd/distro-specs/suse-10.0/functions-suse-10.020
-rw-r--r--initrd/distro-specs/ubuntu/functions-ubuntu27
-rwxr-xr-xinitrd/initrd-stuff/bin/servconfig4
-rwxr-xr-xinitrd/initrd-stuff/init4
-rwxr-xr-xinitrd/mkdxsinitrd16
6 files changed, 58 insertions, 20 deletions
diff --git a/initrd/distro-specs/suse-10.0/files/etc/init.d/boot b/initrd/distro-specs/suse-10.0/files/etc/init.d/boot
index 6db53181..f975046f 100755
--- a/initrd/distro-specs/suse-10.0/files/etc/init.d/boot
+++ b/initrd/distro-specs/suse-10.0/files/etc/init.d/boot
@@ -74,13 +74,6 @@ if [ -d /sys ] ; then
done < /proc/filesystems
fi
-# script stuff written within initrd
-if [ -s /etc/init.d/boot.ld ] ; then
- rc_reset
- echo -n "Running post configuration required by initrd"
- chmod u+x /etc/init.d/boot.ld && /etc/init.d/boot.ld
- rc_status -v -r
-fi
# Start blogd, requires /proc and /dev/pts.
# Export the real device in variable REDIRECT.
test -x /sbin/blogd -a -n "$REDIRECT" && /sbin/blogd $REDIRECT
diff --git a/initrd/distro-specs/suse-10.0/functions-suse-10.0 b/initrd/distro-specs/suse-10.0/functions-suse-10.0
index ed033707..3016d222 100644
--- a/initrd/distro-specs/suse-10.0/functions-suse-10.0
+++ b/initrd/distro-specs/suse-10.0/functions-suse-10.0
@@ -360,3 +360,23 @@ if [ "x$start_dreshal" = "xyes" ]; then
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_bootld () {
+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\n. /etc/rc.status\nrc_reset\ncase "$1" in start)' \
+ >>/mnt/etc/${D_INITDIR}/boot.ld
+ echo -e '\techo -n "Running post configuration required by initrd"' \
+ >>/mnt/etc/${D_INITDIR}/boot.ld
+ ;;
+ close)
+ echo -e "\trc_status -v\n\t;;\n stop)\n\t;;esac\nrc_exit" \
+ >>/mnt/etc/${D_INITDIR}/boot.ld
+
+ ;;
+esac
+}
diff --git a/initrd/distro-specs/ubuntu/functions-ubuntu b/initrd/distro-specs/ubuntu/functions-ubuntu
index 4344ac96..47826957 100644
--- a/initrd/distro-specs/ubuntu/functions-ubuntu
+++ b/initrd/distro-specs/ubuntu/functions-ubuntu
@@ -2,9 +2,9 @@
# linux diskless clients (executed within initial
# ramdisk after genconfig)
#
-# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 18-01-2006
-# Blabla
-# Blub
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 20-01-2006
+# Nico Dietrich
+# Felix Endres
#
# Copyright: (c) 2006 - RZ Universitaet Freiburg
#
@@ -200,3 +200,24 @@ if [ "x$start_dreshal" = "xyes" ]; then
echo >/dev/null
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 (fixme!!)
+d_bootld () {
+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\ncase "$1" in start)' \
+ >>/mnt/etc/${D_INITDIR}/boot.ld
+ echo -e '\techo -n "Running post configuration required by initrd"' \
+ >>/mnt/etc/${D_INITDIR}/boot.ld
+ ;;
+ close)
+ echo -e "\t;;\n stop)\n\t;;esac\nexit 0" \
+ >>/mnt/etc/${D_INITDIR}/boot.ld
+
+ ;;
+esac
+}
diff --git a/initrd/initrd-stuff/bin/servconfig b/initrd/initrd-stuff/bin/servconfig
index 11b13998..bff7518e 100755
--- a/initrd/initrd-stuff/bin/servconfig
+++ b/initrd/initrd-stuff/bin/servconfig
@@ -99,7 +99,9 @@ case ${DISTRO} in
rm -f /mnt/etc/$i/*
done
count=10
- for i in ${D_INITSCRIPTS}; do
+ # boot.ld is a special runlevel script generated within initial ramdisk
+ # which should be executed before the rest
+ for i in boot.ld ${D_INITSCRIPTS}; do
count=`expr $count + 1`
revcnt=`expr 41 - $count`
ln -sf /etc${D_INITDIR}/$i /mnt/etc/init.d/${SUSESPECIFICSUBDIR}S${count}$i
diff --git a/initrd/initrd-stuff/init b/initrd/initrd-stuff/init
index 3654c51c..9247e539 100755
--- a/initrd/initrd-stuff/init
+++ b/initrd/initrd-stuff/init
@@ -294,7 +294,7 @@ else
# run some specific stuff !?
fi
# script for stuff to execute during early bootup
-echo -e "#!/bin/sh\n# skeleton written from $0" >/mnt/etc/${D_INITDIR}/boot.ld
+d_mkbootld init
echo "fs complete" >/tmp/fscmpl
# write debug file information after filesystem setup completed
@@ -353,6 +353,8 @@ killall -9 dhcpcd dhclient pump 2>/dev/null
# unmount the bind mounted modules directory
umount -n /lib/modules/${KERNEL} || error "Unmount of the kernel \
modules directory failed for some reason."
+# close script for stuff to execute during early bootup
+d_mkbootld close
# reset hotplug
echo "/sbin/hotplug" > /proc/sys/kernel/hotplug
echo ""
diff --git a/initrd/mkdxsinitrd b/initrd/mkdxsinitrd
index 0ab53431..9bec513b 100755
--- a/initrd/mkdxsinitrd
+++ b/initrd/mkdxsinitrd
@@ -183,9 +183,9 @@ while getopts :hgk:i:r:o:s:f:n:Sut:d:I:V:a: a ; do
;;
i) echo "-i requires initrd path parameter"
;;
- f) echo "-m requires file system module list parameter"
+ f) echo "-f requires file system module list parameter"
;;
- n) echo "-m requires network module list parameter"
+ n) echo "-n requires network module list parameter"
;;
r) echo "-r requires root dir parameter"
;;
@@ -273,15 +273,15 @@ fi
if [ -z $DISTRO ] ; then
if [ -e ${ROOTDIR}/etc/SuSE-release ] ; then
- DISTRO = suse
- DISTRO_VER = grep "VERSION" /etc/SuSE-release | sed "s/.*= //"
+ DISTRO=suse
+ DISTRO_VER=`grep "VERSION" /etc/SuSE-release | sed "s/.*= //"`
fi
fi
if [ -z $DISTRO ] ; then
if [ -e ${ROOTDIR}/etc/debian-version ] ; then
- DISTRO = debian
- DISTRO_VER = `cat ${ROOTDIR}/etc/debian-version`
+ DISTRO=debian
+ DISTRO_VER=`cat ${ROOTDIR}/etc/debian-version`
fi
fi
@@ -393,10 +393,10 @@ done
# add kernel modules and dependency files
if [ -z $KERNVER ] ; then
- KERNVER = `ls -l ${ROOTDIR}/boot/vmlinuz | grep vmlinuz | sed "s/.*vmlinuz-//"`
+ KERNVER=`ls -l ${ROOTDIR}/boot/vmlinuz | grep vmlinuz | sed "s/.*vmlinuz-//"`
fi
if [ -z $KERNVER ] ; then
- KERNVER = `ls -l ${ROOTDIR}/vmlinuz | grep vmlinuz | sed "s/.*vmlinuz-//"`
+ KERNVER=`ls -l ${ROOTDIR}/vmlinuz | grep vmlinuz | sed "s/.*vmlinuz-//"`
fi
#KERNVER=2.6.12-10-386