Bug 470569

Summary: Unable to boot - cannot enter LUKS passphrase over serial console
Product: [Fedora] Fedora Reporter: James Laska <jlaska>
Component: plymouthAssignee: Ray Strode [halfline] <rstrode>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: jturner, kamaoldskool, krh, rstrode
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-11-10 20:30:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 438943    
Attachments:
Description Flags
initrd-2.6.27.4-79.fc10.ppc64.img none

Description James Laska 2008-11-07 18:40:15 UTC
Description of problem:

For systems that do not have a VGA adapter, serial console is the only console access method available.  This is common on IBM PowerPC hardware.

Version-Release number of selected component (if applicable):
 * plymouth-0.6.0-0.2008.10.30.4.fc10

How reproducible:


Steps to Reproduce:
1. Install rawhide (or F10-Preview) while booting with console=hvc0 (or console=ttyS0 whichever is appropriate for your hardware)
2. Choose autopartitioning with encryption
3. After install completes, click [Reboot]
  
Actual results:

System fails to boot ... no feedback given.

See http://fpaste.org/paste/8694 for boot log

Expected results:

Prompt for LUKS passphrase

Additional info:

 * boot log when booting with "plymouth:nolog plymouth:debug" available at http://fpaste.org/paste/8698

Comment 1 James Laska 2008-11-07 19:17:40 UTC
Installing and rebuilding the initrd using plymouth-0.6.0-0.2008.11.06.3.fc11 (http://koji.fedoraproject.org/koji/buildinfo?buildID=68769).

The boot log while booting with plymouth:debug plymouth:nolog ...

Welcome to Fedora!
Hit <TAB> for boot options
Welcome to yaboot version 1.3.14 (Red Hat 1.3.14-6.fc10)
Enter "help" to get some basic usage information
boot:  
  linux                      linux-base               
boot: linux plymouth:debug plymouth:nolog
Please wait, loading kernel...
   Elf64 kernel loaded...
Loading ramdisk...
ramdisk loaded at 02800000, size: 4370 Kbytes
OF stdout device is: /vdevice/vty@30000000
Hypertas detected, assuming LPAR !
command line: ro console=hvc0 rhgb quiet root=UUID=1bdbc841-60cb-4284-be7d-f2af1c6fe6af plymouth:debug plymouth:nolog
memory layout at init:
  alloc_bottom : 0000000002c45000
  alloc_top    : 0000000008000000
  alloc_top_hi : 00000001f0000000
  rmo_top      : 0000000008000000
  ram_top      : 00000001f0000000
Looking for displays
found display   : /pci@800000020000004/pci@2,2/pci@1/display@0, opening ... done
instantiating rtas at 0x00000000076a1000 ... done
boot cpu hw idx 0000000000000000
starting cpu hw idx 0000000000000002... done
copying OF device tree ...
Building dt strings...
Building dt structure...
Device tree strings 0x0000000002d46000 -> 0x0000000002d474ed
Device tree struct  0x0000000002d48000 -> 0x0000000002d5e000
Calling quiesce ...
returning from prom_init
Phyp-dump not supported on this hardware
[main.c]                                 check_logging:checking if console messages should be redirected and logged
[main.c]                                 check_logging:logging should be enabled!
[main.c]                            check_for_consoles:checking if splash screen should be disabled
[main.c]                            check_for_consoles:serial console found!
[main.c]                                 create_window:creating window on hvc0
[main.c]                redirect_standard_io_to_device:redirecting stdio to hvc0
[main.c]                        initialize_environment:initialized minimal work environment
[main.c]                     attach_to_running_session:creating new terminal session
[main.c]                                          main:entering event loop
[ply-boot-server.c]                ply_boot_connection_on_request:got show splash request
[ply-window.c]                               ply_window_open:trying to open window '/dev/hvc0'
[ply-window.c]                               ply_window_open:could not open /dev/hvc0 : No such file or directory
[main.c]                               has_open_window:checking for open windows
[main.c]           plymouth_should_show_default_splash:checking if plymouth should be running
[main.c]                          show_detailed_splash:Showing detailed splash screen
[main.c]                             start_boot_splash:Loading boot splash plugin '/usr/lib/plymouth/details.so'
[./plugin.c]                                 create_plugin:creating plugin
[main.c]                             start_boot_splash:attaching plugin to event loop
[main.c]                             start_boot_splash:attaching progress to plugin
[main.c]                             start_boot_splash:adding windows to boot splash
[main.c]                    add_windows_to_boot_splash:There are 1 windows in list
[main.c]                             start_boot_splash:showing plugin
[ply-boot-splash.c]                          ply_boot_splash_show:showing splash screen

[./plugin.c]                                on_boot_output:writing 'Loading /lib/kbd/keymaps/i386/qwerty/us.map
' to all windows (45 bytes)
[./plugin.c]                                on_boot_output:writing 'Enter LUKS passphrase for /dev/sda3: us.map
' to all windows (37 bytes)

Comment 2 Ray Strode [halfline] 2008-11-07 19:27:41 UTC
ah /dev/hvc0: No such file or directory.

Can you attach /init from the initrd? i bet it's not doing mknod

Comment 3 James Laska 2008-11-07 19:49:15 UTC
Created attachment 322892 [details]
initrd-2.6.27.4-79.fc10.ppc64.img

Adding in the hvc0 device into /init ...

  mknod /dev/hvc0 c 229 0

[main.c]                                 check_logging:checking if console messages should be redirected and logged
[main.c]                                 check_logging:logging should be enabled!
[main.c]                            check_for_consoles:checking if splash screen should be disabled
[main.c]                            check_for_consoles:serial console found!
[main.c]                                 create_window:creating window on hvc0
[main.c]                redirect_standard_io_to_device:redirecting stdio to hvc0
[main.c]                        initialize_environment:initialized minimal work environment
[main.c]                     attach_to_running_session:creating new terminal session
[main.c]                                          main:entering event loop
[ply-boot-server.c]                ply_boot_connection_on_request:got show splash request
[ply-window.c]                               ply_window_open:trying to open window '/dev/hvc0'
[ply-window.c]                   ply_window_look_up_geometry:looking up window text geometry
[ply-window.c]                   ply_window_look_up_geometry:window is now 0x0 text cells
[ply-frame-buffer.c]                 ply_frame_buffer_query_device:Visual was FB_VISUAL_PSEUDOCOLOR, trying to find usable mode.

[main.c]                               has_open_window:checking for open windows
[main.c]                               has_open_window:window /dev/hvc0 is open
[main.c]                     attach_to_running_session:session already created
plymouthd: ply-terminal-session.c:310: ply_terminal_session_attach: Assertion `!session->is_running' failed.

Comment 4 James Laska 2008-11-10 15:46:58 UTC
Testing with plymouth-0.6.0-0.2008.11.06.4.fc11 - http://fpaste.org/paste/52
 * Prompts for LUKS passphrase and boots system correctly

Testing with plymouth-0.6.0-0.2008.10.30.4.fc10.ppc - http://fpaste.org/paste/51 
 * Fails to boot

[main.c]                                    on_newroot:new root mounted at "/sysroot", switching to it
plymouthd: ply-boot-splash.c:283: ply_boot_splash_root_mounted: Assertion `splash != ((void *)0)' failed.

Comment 5 Ray Strode [halfline] 2008-11-10 20:30:33 UTC
duping this to the old serial console bug, since that bug had the fixes that made this work (sans the mkinitrd bug that's being tracked separately)

*** This bug has been marked as a duplicate of bug 460565 ***