From bff04a5ae648fac46e53a123e3a840bf0c6d59d8 Mon Sep 17 00:00:00 2001 From: Dirk von Suchodoletz Date: Tue, 11 Apr 2006 20:13:35 +0000 Subject: reboot after leaving debug shell in initrd, mount reordering for UnionFS git-svn-id: http://svn.openslx.org/svn/openslx/ld4@179 95ad53e4-c205-0410-b2fa-d234c58c8868 --- initrd/initrd-stuff/etc/functions | 11 ++++++++++- initrd/initrd-stuff/init | 18 +++++++++--------- 2 files changed, 19 insertions(+), 10 deletions(-) (limited to 'initrd') diff --git a/initrd/initrd-stuff/etc/functions b/initrd/initrd-stuff/etc/functions index 50c6211c..2f2e3c0c 100644 --- a/initrd/initrd-stuff/etc/functions +++ b/initrd/initrd-stuff/etc/functions @@ -2,7 +2,7 @@ # linux diskless clients (included by init, hwautocfg, # servconfig, ... within initial ramdisk) # -# Author(s): Dirk von Suchodoletz , 08-04-2006 +# Author(s): Dirk von Suchodoletz , 11-04-2006 # Felix Endres, 21-03-2006 # # Copyright: (c) 2006 - RZ Universitaet Freiburg @@ -56,6 +56,9 @@ if [ -n "$2" ] ; then else echo -e "${error_msg}${e_msg}${error_shell}" /bin/sh + echo "Rebooting now ..." + usleep 5 + echo "b" > /proc/sysrq_trigger fi } msg () { @@ -69,6 +72,12 @@ local count=`expr $1 \* 10` while [ $count -gt 0 ] ; do count=`expr $count \- 1` ; done return 0 } +####################################################################### +# (re)generate dynamic linked libraries cache from /etc/ld.so.conf +ldcfg () { +[ -z "${NOLDSC}" ] && echo "$init_ldcfg" && ldconfig /tmp/ld.so.cache & +} + ####################################################################### # load a certain module - name of module with path in argument one, the # error message in second argument diff --git a/initrd/initrd-stuff/init b/initrd/initrd-stuff/init index ef67c9b4..90347ffb 100755 --- a/initrd/initrd-stuff/init +++ b/initrd/initrd-stuff/init @@ -280,7 +280,7 @@ if [ -n "${NBD}" ] ; then RWRO="rw" RDEV=/dev/cow/0 # run ldconfig if not switched off via kernel command line - [ -z "${NOLDSC}" ] && echo $init_ldcfg && ldconfig /etc/ld.so.cache & + ldcfg fi # finally mount the block device mount -n -t $RFST -o $RWRO $RDEV /mnt @@ -315,12 +315,6 @@ if [ -n "${UNIONFS}" -o -n "${UNION}" ] ; then UNIONFS=""; } fi -# if additional sources should be used for a combined root filesystem -# probably more sources should be merged into union (${UNION} is defined) -if [ -n "${UNION}" ] ; then - # unionctl - : -fi # setup of client root filesystem dependent on the availability of UnionFS if [ -n "${UNIONFS}" ] ; then @@ -333,8 +327,14 @@ if [ -n "${UNIONFS}" ] ; then none /mnt mkdir -p /mnt/uniontmp mount -n --move ${RWDIR}/uniontmp /mnt/uniontmp + # if additional sources should be used for a combined root filesystem + # probably more sources should be merged into union (${UNION} is defined) + if [ -n "${UNION}" ] ; then + # unionctl + : + fi # run ldconfig if not switched off via kernel command line - [ -z "${NOLDSC}" ] && echo "$init_ldcfg" && ldconfig /etc/ld.so.cache & + ldcfg elif [ -z "$COWLOOP" ] ; then echo "Using bind mounts to ramdisk for rw access" mount -n -t tmpfs -o size=${TMPFSSIZE} ramfs ${RWDIR} @@ -343,7 +343,7 @@ elif [ -z "$COWLOOP" ] ; then mount -n --bind ${RWDIR}/${path} /mnt/${path} done # see above ... - [ -z "${NOLDSC}" ] && echo "$init_ldcfg" && ldconfig /tmp/ld.so.cache & + ldcfg for path in ${D_RODIRSINRW}; do if [ -d /mnt/${path} ] ; then LIST=${path}" "$LIST -- cgit v1.2.3-55-g7522