From: Harald Hoyer Date: Mon, 5 Aug 2013 09:25:45 +0000 (+0200) Subject: dracut.sh/dracut-functions.sh: handle root on non-block device X-Git-Tag: 032~53 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a4f7b504712bd7499d60d16f358ec89ab31bbb47;p=platform%2Fupstream%2Fdracut.git dracut.sh/dracut-functions.sh: handle root on non-block device --- diff --git a/dracut-functions.sh b/dracut-functions.sh index eb1278e0..dee53bbd 100755 --- a/dracut-functions.sh +++ b/dracut-functions.sh @@ -421,7 +421,9 @@ find_mp_fstype() { find_dev_fstype() { local _find_dev _fs _find_dev="$1" - [[ "$_find_dev" = /dev* ]] || _find_dev="/dev/block/$_find_dev" + if ! [[ "$_find_dev" = /dev* ]]; then + [[ -b "/dev/block/$_find_dev" ]] && _find_dev="/dev/block/$_find_dev" + fi if [[ $use_fstab != yes ]]; then findmnt -e -v -n -o 'FSTYPE' --source "$_find_dev" | { \ diff --git a/dracut.sh b/dracut.sh index 3140b7ea..c35d771f 100755 --- a/dracut.sh +++ b/dracut.sh @@ -871,7 +871,10 @@ if [[ $hostonly ]]; then do mp=$(readlink -f "$mp") mountpoint "$mp" >/dev/null 2>&1 || continue - _dev="$(readlink -f "/dev/block/$(find_block_device "$mp")")" + _dev=$(find_block_device "$mp") + _bdev=$(readlink -f "/dev/block/$dev") + [[ -b $_bdev ]] && _dev=$_bdev + push host_devs $_dev [[ "$_mp" == "/" ]] && root_dev="$_dev" push host_devs "$_dev" done