summaryrefslogtreecommitdiff
path: root/components/9990-misc-helpers.sh
diff options
context:
space:
mode:
authorMichael Prokop <mika@debian.org>2013-10-15 17:36:32 +0200
committerDaniel Baumann <mail@daniel-baumann.ch>2013-10-15 17:53:49 +0200
commit130f0d741827ba9fef3a02cc25e4ea3b619a4352 (patch)
tree39857f234689d9048cd92562b1b4533dfb0b1289 /components/9990-misc-helpers.sh
parent1f307e532397bf92fca2856ae65547531150c584 (diff)
downloadlive-boot-130f0d741827ba9fef3a02cc25e4ea3b619a4352.tar.gz
live-boot-130f0d741827ba9fef3a02cc25e4ea3b619a4352.zip
Properly boot from mdadm via findiso boot option.
For example grml-rescueboot uses findiso for booting the ISO. When booting from a software RAID using mdadm then /scripts/local-top/mdadm being used inside /scripts/boot/9990-misc-helpers.sh leaks its output to the environment, causing invalid data used inside the mount_images_in_directory function. Because the invalid data results in a failing mount_images_in_directory execution we end up with failed boot and error message: "No supported filesystem images found at ...." So instead redirect output of /scripts/local-top/mdadm to /boot.log. Also make sure to check for existence of /conf/conf.d/md before accessing it (the file doesn't always exist). While at it also make sure the same logic is used for /scripts/local-top/lvm2. See http://bts.grml.org/grml/issue1270
Diffstat (limited to 'components/9990-misc-helpers.sh')
-rwxr-xr-xcomponents/9990-misc-helpers.sh8
1 files changed, 4 insertions, 4 deletions
diff --git a/components/9990-misc-helpers.sh b/components/9990-misc-helpers.sh
index 902ddfe..c656f23 100755
--- a/components/9990-misc-helpers.sh
+++ b/components/9990-misc-helpers.sh
@@ -161,7 +161,7 @@ check_dev ()
# Adding lvm support
if [ -x /scripts/local-top/lvm2 ]
then
- ROOT="$device" resume="" /scripts/local-top/lvm2
+ ROOT="$device" resume="" /scripts/local-top/lvm2 >>/boot.log
fi
;;
@@ -169,10 +169,10 @@ check_dev ()
# Adding raid support
if [ -x /scripts/local-top/mdadm ]
then
- cp /conf/conf.d/md /conf/conf.d/md.orig
+ [ -r /conf/conf.d/md ] && cp /conf/conf.d/md /conf/conf.d/md.orig
echo "MD_DEVS=$device " >> /conf/conf.d/md
- /scripts/local-top/mdadm
- mv /conf/conf.d/md.orig /conf/conf.d/md
+ /scripts/local-top/mdadm >>/boot.log
+ [ -r /conf/conf.d/md.orig ] && mv /conf/conf.d/md.orig /conf/conf.d/md
fi
;;
esac