Bug 432699

Summary: System unbootable after Live-CD installation
Product: [openSUSE] openSUSE 11.1 Reporter: Stephan Binner <stbinner>
Component: Live MediumAssignee: Josef Reidinger <jreidinger>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Critical    
Priority: P1 - Urgent CC: duwe, elchevive68, forgotten_PJpAC5DKqq, jsrain, kontakt, rastislav.krupansky
Version: Beta 2   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Development Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: YaST2 log files
Logs from live image
Logs from chroot (installed system)

Description Stephan Binner 2008-10-06 16:18:03 UTC
After Live-CD installation with installation of grub into MBR:

 "Booting from local disk...
  Error: No operating system
  FATAL: INT18: BOOT FAILURE"

Will attach YaST log files from the live system.
Comment 1 Stephan Binner 2008-10-06 16:18:48 UTC
Created attachment 243707 [details]
YaST2 log files
Comment 2 Rastislav Krupansky 2008-10-07 06:50:51 UTC
I can confirm the same experience after installation from LiveCD KDE4(in VirtualBox 2.0.2).
Comment 3 Jiri Srain 2008-10-07 06:58:33 UTC
My live CD is burn-in-progress, hope to get this resolved today.
Comment 4 Jiri Srain 2008-10-07 12:58:00 UTC
The reason why the system does not boot seems to be in the code copied into master boot record (according to the log above, it was copied). If you install GRUB to MBR, the system boots, however, if you then replace MBR with the generic code, BIOS fails to load even MBR itself.
Comment 5 Jiri Srain 2008-10-07 14:25:27 UTC
Even generic boot code installed manually via dd (to ensure it is installed correctly) fails to be loaded by BIOS. I compared it (binary) with code which we had shipped with openSUSE 11.0 (first 440 bytes of MBR), they are identical.

I cannot see any logical explanation why the live installation fails to boot.

Stefan, can you attach your MBR? Maybe I get some idea then. Otherwise I'm afraid I will need to wait for next build.
Comment 6 Jiri Srain 2008-10-07 14:31:59 UTC
Adding Torsten, he may have an idea what could be wrong...
Comment 7 Jiri Srain 2008-10-10 11:27:32 UTC
I hope I got it. The problem IMO is that perl-Bootloader doesn't translated properly the GRUB's device name into UNIX-like device name if device.map contains by-id devices - it just appends partition number instead of the "-partx" suffix. Of course, YaST then fails.

You can just compare following:

2008-10-10 07:08:50 <1> linux.site(4244) [YCP] bootloader/routines/lib_iface.ycp:196 Storing global settings $["activate":"true", "boot_boot":"true", "boot_extended":"false",
"boot_mbr":"false", "boot_root":"false", 
"default":"openSUSE Beta 2", "generic_mbr":"true", "gfxmenu":"/boot/message", "timeout":"8"]

2008-10-10 07:15:21 <1> linux.site(4244) [YCP] bootloader/routines/lib_iface.ycp:216 Read global settings: $["activate":"true",
"boot_custom":"/dev/disk/by-id/scsi-1ATA_ST340016A_3HS8Z1S02",
"default":"openSUSE Beta2", "generic_mbr":"true", "gfxmenu":"(hd0,1)/boot/message",
 "lines_cache_id":"3", "timeout":"8"]

Device map contains

(hd0)    /dev/disk/by-id/scsi-1ATA_ST340016A_3HS8Z1S0

while the correct partition device is

/dev/disk/by-id/scsi-1ATA_ST340016A_3HS8Z1S0-part2

In the end, GRUB's first stage was installed into swap partition.

Attaching full logs from my test installation (from both live image and chroot).
Comment 8 Jiri Srain 2008-10-10 11:28:38 UTC
Created attachment 244847 [details]
Logs from live image
Comment 9 Jiri Srain 2008-10-10 11:29:12 UTC
Created attachment 244848 [details]
Logs from chroot (installed system)
Comment 10 Josef Reidinger 2008-10-13 06:45:19 UTC
OK, I found where is problem. Translating from grub dev to unix dev fail. This is because perl-Bootloader have structures filled by kernel device but in device map is by-id name. For proper solve is needed same name in structures as in device map or get mapping information from libstorage via yast.
Comment 11 Jozef Uhliarik 2008-10-14 07:36:15 UTC
yast2-bootloader 2.17.27 include fix which add device name by-something(id,label...) to info about partition.
Comment 12 Josef Reidinger 2008-10-14 12:51:41 UTC
perl-Bootloader parse it in 0.4.75. So next liveCD should be installable. Need test it.
Comment 13 Josef Reidinger 2008-10-15 07:45:21 UTC
when I add more logging to output, I find that udev work, but udev device which exist during install miss and I cannot translate it. mark as duplicate

*** This bug has been marked as a duplicate of bug 435093 ***
Comment 14 Stephan Binner 2008-10-18 09:38:34 UTC
This works for me in Beta 3 build 00075 :-)
Comment 15 Stephan Binner 2008-10-19 14:08:17 UTC
*** Bug 436778 has been marked as a duplicate of this bug. ***