Comment 23 for bug 251164

Revision history for this message
Steve Langasek (vorlon) wrote : Re: [Bug 251164] Re: boot impossible due to missing initramfs failure hook / event driven initramfs

On Mon, May 14, 2012 at 02:15:10PM -0000, Phillip Susi wrote:
> mdadm is event driven via udev. The special part in the initramfs is
> the failure hook so that a degraded array will only be activated after a
> timeout. I'm not sure if we want to auto degrade arrays post boot, but
> I suppose if we did, we could move that logic from the failure hook to
> the udev rule.

It can't be done in a udev rule. Udev rules have a short timeout of their
own, after which the outstanding process will be killed. The handling has
to be passed off to something else - such as an upstart job.

> What confuses me is cryptsetup. I see that there is an upstart job that
> appears to try and prompt for the password and unlock the device, but as
> an upstart task, it has no stdin/out, so that prompt can't work.

The upstart job talks to plymouth. The initramfs script *also* talks to
plymouth.

> After the system goes multi user you can no longer do a console password
> prompt. If you want an interactive prompt at that point, you will need
> something that can interact with the X desktop, and anything that does
> that obviously isn't going in the initramfs.

The client-side logic is the same; what we're missing is a way to let
cryptsetup do plymouth interaction with something on the desktop after X is
started.