Bug 774400

Summary: No prompt for crypto key in verbose boot
Product: [openSUSE] openSUSE 12.2 Reporter: Neil Rickert <nwr10cst-oslnx>
Component: BasesystemAssignee: Frederic Crozat <fcrozat>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: kairo, lnussel
Version: RC 2   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 12.2   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Neil Rickert 2012-08-03 14:58:33 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1

I will describe what I can reproduce.  I'll mention other problems in a followup comment.

Both "/home" and swap are on LUKS encrypted partitions.

If I edit the grub2 commandline, to remove "splash=silent quiet" (so that I can see what is happening), then I am never prompted for the encryption key for "/home" and "/home" is never mounted.

I am prompted for the key for swap (it is actually the same key), and swap is properly added.

The difference between "/home" and swap, I believe, is that the prompting for swap occurs from the "initrd" while prompting for the "/home" key would normally come later.

It looks to me as if some component is still prompting for "/home" but the prompt never shows, and anything that I type in is ignored.  If I go to a command line after boot and manually unlock and mount "/home", then login to KDE, I see notifications about a prompt for the encryption key.

Reproducible: Always

Steps to Reproduce:
1. Hit "e" on the grub2 screen, and remove "splash=silent quiet" from the kernel line
2. Hit CTL-X to continue boot
3.
Actual Results:  
No prompt for the key for "/home"

Expected Results:  
There should have been a prompt.

opensuse 12.2 RC2 was installed from the DVD.
Comment 1 Neil Rickert 2012-08-03 15:12:32 UTC
Here's a bit more detail.

The problem started on the first boot after install.  The boot hung at:
"Creating device nodes with udev"

I waited for a while, with nothing happening and no disk activity.  I then had to force a power off.

On resume, I removed "splash=silent quiet" from the kernel line, as in the main bug report.  I wanted to see what was happening.

I was not prompted at all.  No prompt for the key for either swap or "/home".  However, boot proceeded, and Yast started up to complete the install.

Part way through, Yast warned that "/home" was not mounted.  I used CTL-ALT-F2 to get a command line, and I manually unlocked "/home".  I tried to then mount "/home", but an error message said that it was already mounted.  So presumably there was a background process running that was trying to mount, but could not.

CTL-ALT-F7 got me back to Yast, which completed the final install stages.  I then logged into KDE.  Using an "xterm", I also unlock swap and did "swapon -a" to add the swap.

I then ran "mkinitrd".

Everything now works, unless I try to repeat the problem of the initial bug definition.

I have not tried to reproduce the boot hang, as I would probably have to do a complete reinstall to get the appropriate conditions.

My guesses about that boot hang:

1)  It could be an accidental glitch that will never happen again.
2)  It could be because I also have an encrypted LVM on that disk, and the installer insists on adding that to "/etc/crypttab" even though it is not needed for the 12.2 RC1 running system.
3)  The may have been a problem in the "initrd" generated during install.

My best guess is that it is (3), perhaps compounded by (2).  I'll note that the plymouth screen never started up during that initial boot, which probably explains why I saw that "udev" message (it should have been hidden).

There does seem to be a problem with the initial creation of "initrd".  It apparently decides what to put in "initrd" based partly on what is currently running.  And when the first "initrd" is created, the install DVD is what is running.  So the crypto for swap/resume never made  it into to the initial "initrd", but did make it into the "initrd" that I regenerated after login.
Comment 2 Frederic Crozat 2012-08-08 14:22:12 UTC
plymouth was not properly started by systemd in the event it wasn't started by initrd (your case, by removing splash=quiet). This is fixed in plymouth package from http://download.opensuse.org/repositories/home:/fcrozat:/branches:/Base:/System/openSUSE_12.2_Update_standard/ (should be available soon).

I'll push to Factory and 12.2
Comment 3 Bernhard Wiedemann 2012-08-08 15:00:08 UTC
This is an autogenerated message for OBS integration:
This bug (774400) was mentioned in
https://build.opensuse.org/request/show/130419 Factory / plymouth
Comment 4 Frederic Crozat 2012-08-14 15:17:29 UTC
packages haven't been pushed on 12.2 update yet, in the mean time, use: 

zypper ar obs://openSUSE:Maintenance:771/openSUSE_12.2_Update
maintenance-fix-for-plymouth
zypper up