https://bugzilla.novell.com/show_bug.cgi?id=468664 Summary: Grub install fails on Lenovo ThinkPad T400 Classification: openSUSE Product: openSUSE 11.1 Version: Final Platform: x86-64 OS/Version: openSUSE 11.1 Status: NEW Severity: Critical Priority: P5 - None Component: Bootloader AssignedTo: jsrain@novell.com ReportedBy: lucas.silacci@teradata.com QAContact: jsrain@novell.com Found By: --- Created an attachment (id=267058) --> (https://bugzilla.novell.com/attachment.cgi?id=267058) The y2log file from the install User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5 Installing openSUSE 11.1 on a Lenovo ThinkPad T400. The install was going through fine until it was time to install grub. I got a message that an error occurred during boot loader install. After double-checking the grub options as stated in the release notes and retrying a couple of times, I still got nowhere. I then looked at the yast logfile (y2log) to see what it was doing that made it unhappy. Here's the important snippet: 2009-01-23 06:02:47 <1> linux(3471) [YCP] Bootloader.ycp:715 Calling bootloader executable 2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:327 Updating disk system area, activate partition: true, install generic boot code in MBR: false 2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:335 Doing MBR backup: MBR Disk: /dev/sda, loader devices: ["/dev/sda3"] 2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/routines/lilolike.ycp:390 Partitions building /dev/sda3: $[] 2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:174 Partition for activating: $["dev":"/dev/sda3", "mbr":"/dev/sda", "num":3] 2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:340 Creating backup of boot sectors of ["/dev/sda", "/dev/sda3"] 2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/routines/lilolike.ycp:390 Partitions building /dev/sda3: $[] 2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:174 Partition for activating: $["dev":"/dev/sda3", "mbr":"/dev/sda", "num":3] 2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:385 Activating partition 3 on /dev/sda 2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:399 Running command /usr/sbin/parted -s /dev/sda set 3 boot on 2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:402 Command output: $["exit":0, "stderr":"", "stdout":""] 2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/routines/lib_iface.ycp:351 Updating bootloader configuration 2009-01-23 06:02:47 <1> linux(3471) [wfm] Y2SystemFunction.cc(useRemote):129 'updateBootloader': switched to remote 2009-01-23 06:02:47 <1> linux(3471) [wfm] Y2StdioFunction.cc(evaluateCall):137 Evaluating remote call to 'Bootloader_API::updateBootloader' 2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/routines/lib_iface.ycp:353 return value from updateBootloader: true 2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/routines/misc.ycp:1142 Installing to floppy: false 2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/routines/lib_iface.ycp:383 Initializing bootloader 2009-01-23 06:02:47 <1> linux(3471) [wfm] Y2SystemFunction.cc(useRemote):129 'initializeBootloader': switched to remote 2009-01-23 06:02:47 <1> linux(3471) [wfm] Y2StdioFunction.cc(evaluateCall):137 Evaluating remote call to 'Bootloader_API::initializeBootloader' 2009-01-23 06:02:48 <1> linux(3471) [YCP] BootGRUB.ycp:748 GRUB return value: true 2009-01-23 06:02:48 <1> linux(3471) [YCP] bootloader/routines/misc.ycp:1142 Installing to floppy: false 2009-01-23 06:02:48 <1> linux(3471) [YCP] bootloader/routines/i386.ycp:105 MBR of /dev/sda contains ThinkPad sequence: true 2009-01-23 06:02:48 <1> linux(3471) [YCP] bootloader/routines/i386.ycp:197 Running command /usr/lib/YaST2/bin/tp_mbr /dev/sda 2009-01-23 06:02:48 <1> linux(3471) [YCP] bootloader/routines/i386.ycp:200 Command output: $["exit":255, "stderr":"/dev/sda: np tp mbr\n", "stdout":""] 2009-01-23 06:02:48 <3> linux(3471) [YCP] Bootloader.ycp:720 Installing bootloader failed 2009-01-23 06:02:48 <1> linux(3471) [ui] YPushButton.cc(setFunctionKey):160 Guessing button role YOKButton for YPushButton "Yes" at 0x2ff59e8 from function key F10 2009-01-23 06:02:48 <1> linux(3471) [ui] YPushButton.cc(setFunctionKey):160 Guessing button role YCancelButton for YPushButton "No" at 0x1378558 from function key F9 As you can see, the actual error hit by yast appears to be with the /usr/lib/YaST/bin/tp_mbr script. It looks like this script is supposed to know about magic ThinkPad MBR's and preserve the code that keeps the big blue button working. The error message you see from that script in the log is: /dev/sda: np tp mbr Which it gets from this piece of code: # just a quick check die "$disk: np tp mbr\n" unless $mbr[0x17b] == 0x50 && $mbr[0x17c] == 0xe4 && $mbr[0x17d] == 0x61 && $mbr[0x17e] == 0x24 && $old_mbr_sec > 1; So it is looking for something specific in the mbr and when it doesn't find it, it is very unhappy. Reproducible: Always Steps to Reproduce: 1. Install openSUSE 11.1 on Lenovo ThinkPad T400 2. Double-check that grub options are as stated in release notes 3. Grub install will fail Actual Results: Grub install will fail. If you continue with the install (by asking for no bootloader to be installed) or you cancel out, when you try to reboot from the disk you will get the message "Operating System Not Found" Expected Results: It is expected that grub would install correctly and that you would be able to boot linux afterwards. I've attached all the log files from /var/log/YaST2. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.