From c09bfd119f2ed3f1edf1bfbdf7a0beb1b2abea40 Mon Sep 17 00:00:00 2001 From: Dirk von Suchodoletz Date: Sat, 15 Aug 2009 15:55:04 +0000 Subject: Re-enabling the functionality to boot from a local block device (mainly USB sticks). It allows for demonstration purposes and special setups to have the base filesystem locally (see related #156). git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@3092 95ad53e4-c205-0410-b2fa-d234c58c8868 --- initramfs/stage3-stuff/etc/functions | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'initramfs/stage3-stuff/etc/functions') diff --git a/initramfs/stage3-stuff/etc/functions b/initramfs/stage3-stuff/etc/functions index 7731790c..51f5173b 100644 --- a/initramfs/stage3-stuff/etc/functions +++ b/initramfs/stage3-stuff/etc/functions @@ -369,8 +369,9 @@ local cfgfile if [ "x$filepath" != "x" ] ; then cfgfile=${filepath} [ "x$fileserv" = "x" ] && fileserv=$(checkip ${serverip}) - # waiting for dns if fireserv is a name - echo ${fileserv} | grep -qi [a-z] && waitfor /tmp/dhcp-done 10000 + # wait for dns if "fileserv" is a name and not lbd device + [ "$fileprot" != "lbd" ] && \ + echo ${fileserv} | grep -qi [a-z] && waitfor /tmp/dhcp-done 10000 [ $DEBUGLEVEL -ge 1 ] && echo "fileget - fileprot:$fileprot, filepath:\ $filepath, fileserv:$fileserv" >>$LOGFILE case "$fileprot" in @@ -378,15 +379,17 @@ $filepath, fileserv:$fileserv" >>$LOGFILE wget_get $cfgfile $fileprot://$fileserv \ && { unpack /tmp/$(basename $cfgfile) && break; } 2>>$LOGFILE ;; - file) + lbd) local ldev=$fileserv - echo "Waiting for /mnt/etc ...." - waitfor /mnt/etc 10000 - mkdir /tmp/$ldev - echo -e "ext2\nreiserfs\nvfat\nxfs" >/etc/filesystems - mount -o ro /dev/$ldev /tmp/$ldev || error "$init_errlfg" - unpack /tmp/$ldev/$cfgfile - umount /dev/$ldev + echo "Waiting for configuration file ${cfgfile} ...." + [ $DEBUGLEVEL -ge 1 ] && echo "fileget - fileprot:$fileprot, filepath:\ +$filepath, fileserv:$fileserv" >>$LOGFILE + waitfor /mnt/${cfgfile} 10000 + if [ -f /mnt/${cfgfile} ]; then + unpack /mnt/$cfgfile + else + error "$init_errlfg" + fi ;; *) tftp_get $cfgfile $fileserv \ -- cgit v1.2.3-55-g7522