Bug 380771

Summary: Build 102: installation: X does not start after reboot
Product: [openSUSE] openSUSE 11.0 Reporter: Holger Sickenberg <holgi>
Component: InstallationAssignee: Jozef Uhliarik <juhliarik>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Critical    
Priority: P5 - None CC: coolo, snwint
Version: Beta 1   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Component Test Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Xorg.0.log
y2logs.tgz

Description Holger Sickenberg 2008-04-17 13:04:34 UTC
With Build 102 - selected KDE3:
when rebooting after stage 1 of installation, X does not start
Installer returns in text only mode.
Comment 1 Holger Sickenberg 2008-04-17 13:04:56 UTC
Created attachment 208601 [details]
Xorg.0.log
Comment 2 Holger Sickenberg 2008-04-17 13:09:23 UTC
Created attachment 208603 [details]
y2logs.tgz
Comment 3 Stephan Kulow 2008-04-17 13:25:50 UTC
Bernhard, is the missing fbdev in cmdline a kexec fallout possibly?
Comment 4 Bernhard Walle 2008-04-17 13:30:01 UTC
Don't know. Does the system start in plain VGA mode or framebuffer mode?
Comment 5 Steffen Winterfeldt 2008-04-17 13:33:55 UTC
Maybe yast doesn't pass the video mode when doing kexec?
Comment 6 Bernhard Walle 2008-04-17 13:36:36 UTC
That should be visible in /proc/cmdline. Holgi?
Comment 7 Holger Sickenberg 2008-04-17 13:42:25 UTC
This is empty (due to bug#380781)
Comment 8 Bernhard Walle 2008-04-17 13:43:26 UTC
Jozef, could you add the kexec call to yastlogs? Yes, kexec is called very late, but the command line could be built earlier and written to yastlogs. That would make finding the cause here easier.
Comment 9 Bernhard Walle 2008-04-17 13:43:57 UTC
Ok, then it seems to be not a bug of kexec itself but the way how it is called.
Comment 10 Steffen Winterfeldt 2008-04-17 13:49:48 UTC
Note that the video mode is NOT passed via cmdline. The 'vga' option
is just there to mock the unwary.
Comment 11 Stefan Dirsch 2008-04-17 14:12:55 UTC
(EE) open /dev/fb0: No such file or directory
(EE) No devices detected.

Framebuffer is disabled after reboot. Therefore the X11 configuration from before reboot no longer works. This is no X.Org bug.
Comment 12 Jozef Uhliarik 2008-04-17 15:59:02 UTC
1: kexec is not called see:
2008-04-17 14:55:02 <1> 10.10.1.176(3791) [YCP] Linuxrc.ycp:127 WriteYaSTInf($[
     "Keytable":"de-latin1-nodeadkeys.map.gz",
     "Language":"en_US",
     "RebootMsg":"0",
     "Root":"reboot"
]

if kexec is used you can see "Root":"kexec"

2: the bug is in wrong boot section, there are missing kernel appended.

$[
    "image":"/boot/vmlinuz-2.6.25-rc9-16-default",
    "initial":"1",
    "initrd":"/boot/initrd-2.6.25-rc9-16-default",
    "lines_cache_id":"0",
    "name":"openSUSE 11.0 - 2.6.25-rc9-16",
    "original_name":"linux",
    "root":"",
    "type":"image"
],

you can see that "vgamode" and "append" are missing. "root" is empty :(

3: the bug is in perl-Bootloader it added wrong boot section during installing kernel (postinstall script)

reassign to Alexander
Comment 13 Bernhard Walle 2008-04-17 16:16:41 UTC
(In reply to comment #12 from Jozef Uhliarik)
> 1: kexec is not called see:
> 2008-04-17 14:55:02 <1> 10.10.1.176(3791) [YCP] Linuxrc.ycp:127 WriteYaSTInf($[
>      "Keytable":"de-latin1-nodeadkeys.map.gz",
>      "Language":"en_US",
>      "RebootMsg":"0",
>      "Root":"reboot"
> ]

I didn't mean the fact _that_ kexec was called, I meant that the complete kexec command line should be included in YaST logs.
Comment 14 Jozef Uhliarik 2008-04-18 07:08:18 UTC
if kexec load kernel you can find in logs lines like:

2008-04-18 03:14:12 <1> 10.20.4.8(3432) [YCP] clients/yast_inf_finish.ycp:117 Calling kexec via command: kexec -l --command-line='root=/dev
/mapper/pdc_fejcacbe_part7 resume=/dev/mapper/pdc_fejcacbe_part6 splash=silent showopts vga=normal' --initrd='/var/lib/YaST2/initrd-2.6.25-
rc9-17-pae' '/var/lib/YaST2/vmlinuz-2.6.25-rc9-17-pae'

2008-04-18 03:14:12 <1> 10.20.4.8(3432) [YCP] clients/yast_inf_finish.ycp:128 Loading new kernel was succesful

2008-04-18 03:14:12 <1> 10.20.4.8(3432) [YCP] Linuxrc.ycp:127 WriteYaSTInf($[
     "Keytable":"us.map.gz",
     "Language":"en_US",
     "RebootMsg":"0",
     "Root":"kexec"
]
) = Keytable: us.map.gz
Language: en_US
RebootMsg: 0
Root: kexec

There should be also error messages from loading if kexec doesn't load kernel. It also include problems of yast2-bootloader find correct initrd and kernel for using kexec. (in this case) If loading kernel via kexec failed the normal reboot is called. 
Comment 15 Jozef Uhliarik 2008-04-18 07:17:45 UTC
Alexander,
there was bug in yast2-bootloader. It proposes broken boot sections if user edit them. There were missing defined initrd and kernel in proposal for boot sections. I am not sure if it is cause of adding broken boot sections by perl-Bootloader but I did correction of problem for yast2-bootloader in version 2.16.11.
Comment 16 Bernhard Walle 2008-04-18 09:50:53 UTC
(In reply to comment #14 from Jozef Uhliarik)
> if kexec load kernel you can find in logs lines like:
> 
> 2008-04-18 03:14:12 <1> 10.20.4.8(3432) [YCP] clients/yast_inf_finish.ycp:117
> Calling kexec via command: kexec -l --command-line='root=/dev
> /mapper/pdc_fejcacbe_part7 resume=/dev/mapper/pdc_fejcacbe_part6 splash=silent
> showopts vga=normal' --initrd='/var/lib/YaST2/initrd-2.6.25-
> rc9-17-pae' '/var/lib/YaST2/vmlinuz-2.6.25-rc9-17-pae'

So why don't I see that in the YaST logs from Holgi?
Comment 17 Stephan Kulow 2008-04-18 10:09:57 UTC
because Holgi changed the proposal - resulting in using "classic" reboot with broken menu.lst
Comment 18 Alexander Osthof 2008-04-18 13:19:51 UTC
(In reply to comment #15 from Jozef Uhliarik)
> Alexander,
> there was bug in yast2-bootloader. It proposes broken boot sections if user
> edit them. There were missing defined initrd and kernel in proposal for boot
> sections. I am not sure if it is cause of adding broken boot sections by
> perl-Bootloader but I did correction of problem for yast2-bootloader in version
> 2.16.11.
> 

Hi Jozef,

if yast2-bootloader makes a wrong proposal of sections this proposal will also be written by perl-Bootloader - it relies on valid informations given by yast. But if I understood you correctly, there'll be a new version of yast2-bootloader in RC3. If this is the case let's see if this bug still exists then, as I cannot do much in this current situation.

Reassigning back to you - just close when verified.
Comment 19 Jozef Uhliarik 2008-04-18 14:12:03 UTC
Thanks Alexander.

I can close the bug broken proposal (empty initrd and kernel) is solved in yast2-bootloader 2.16.11