[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#791794: UUID not found for root



* Colin Watson <cjwatson@debian.org> [2015-07-16 15:27]:
> The "copy" operation was removed from partman because parted 3 no longer
> supports filesystem operations.  However, I can't find any references to
> it in partman code any more.  Is this perhaps coming from a preseeded
> partman recipe or something?  Do you have a more complete syslog,
> preferably with DEBCONF_DEBUG=developer?

It also happens with stretch.  Here's another log, again thanks to
Marco Basso.

> > On a related note, flash-kernel waits for user input when the UUID of
> > root is not found, which makes sense in an installed system, but not
> > in d-i -- for the user, d-i will just hang with no obvious error.  Is
> > there a good way to solve this?  In particular, is there a way for a
> > postinst in /target to detect that it's run from within d-i?  KiBi
> > doesn't know a way.  I guess a debconf prompt is the way to go?
> 
> I think trying to add debconf prompting to an initramfs hook would
> probably be unwise.  flash-kernel already seems to check for
> DEBIAN_FRONTEND=noninteractive, so you could just set that in
> flash-kernel-installer.postinst when calling flash-kernel.

I was going to ask how I can set DEBIAN_FRONTEND=noninteractive when
in-target explicitly sets DEBIAN_FRONTEND=passthrough.

But then I looked at flash-kernel and found bug #721485 about
flash-kernel hanging d-i (i.e. this issue), which was fixed in 3.12,
and #753059 which fixed a problem with the patch in 3.12 (in 3.23).

But I'm getting a lot of reports of flash-kernel hanging d-i, so
clearly this is not working.  The code is:

        # Script is called from update-initramfs which in term can be
        # called manually by the admin from the CLI or via various
        # postinst and trigger hooks or from the installer.
        #
        # If debconf appears to be running then it is important that
        # we do not block on stdin since this would hang the
        # installer.
        if [ "$DEBIAN_HAS_FRONTEND" ] || [ "$DEBIAN_FRONTEND" = "noninteractive" ]; then
                echo "Unable to abort; system will probably be broken!" >&2
        else
                echo "Press Ctrl-C to abort build, or Enter to continue" >&2
                read _ignored
        fi

in-target sets DEBIAN_FRONTEND=passthrough, so $DEBIAN_FRONTEND=noninteractive
is not true.

Is $DEBIAN_HAS_FRONTEND supposed to be set when d-i runs in-target?
Ian, do you know what's going on?  It seems the fixes you applied are
not working.

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


Reply to: