* Martin Michlmayr <[email protected]> [2010-06-08 21:31]:
> This is the output from 'mount', and here's what i-t does:
> 
>     eval "$(mount | awk '/\/dev\// {if ($3 == "/") {print "root=" $1 
> "\nFSTYPE=" $5; exit}}')"
> 
> it looks for something with /dev/ in it.  In your case, this does't
> match so root= and FSTYPE= are empty.  I think we should simply add a
> check to i-t at this point to produce an error when $root is empty.

[PATCH] Produce an error when root cannot be determined with MODULES=dep

A lot of code in dep_add_modules() uses $root.  Therefore, produce an
error message if we cannot determine the root device.

Signed-off-by: Martin Michlmayr <[email protected]>

diff --git a/hook-functions b/hook-functions
index 6a6e233..154ae3e 100644
--- a/hook-functions
+++ b/hook-functions
@@ -226,6 +226,11 @@ dep_add_modules()
 
        # findout root block device + fstype
        eval "$(mount | awk '/\/dev\// {if ($3 == "/") {print "root=" $1 
"\nFSTYPE=" $5; exit}}')"
+       if [ -z "$root" ]; then
+               echo "mkinitramfs: failed to determine root device"
+               echo "mkinitramfs: workaround is MODULES=most"
+               echo "Error please report bug on initramfs-tools and include 
the output of 'mount'"
+       fi
 
        # handle ubifs and return since ubifs root is a char device but
        # most of the commands below only work with block devices.

-- 
Martin Michlmayr
http://www.cyrius.com/



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]

Reply via email to