Bug 114429 - after installation on a virgin thinkpad T43, "no operating system"
Summary: after installation on a virgin thinkpad T43, "no operating system"
Status: RESOLVED FIXED
Alias: None
Product: SUSE LINUX 10.0
Classification: openSUSE
Component: Installation (show other bugs)
Version: Beta 4
Hardware: x86 All
: P5 - None : Major
Target Milestone: ---
Assignee: Jiri Srain
QA Contact: Klaus Kämpf
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 97395
  Show dependency treegraph
 
Reported: 2005-08-31 15:01 UTC by Forgotten User ZhJd0F0L3x
Modified: 2005-09-06 13:55 UTC (History)
6 users (show)

See Also:
Found By: Component Test
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
YaST2.tar.bz2 (82.41 KB, application/x-bzip2)
2005-08-31 22:01 UTC, Christoph Thiel
Details
perl script to install an grub mbr (3.49 KB, text/plain)
2005-09-01 17:20 UTC, Steffen Winterfeldt
Details
script with lilo mbr (3.49 KB, text/plain)
2005-09-02 11:08 UTC, Steffen Winterfeldt
Details
hopefully final version (3.51 KB, text/plain)
2005-09-02 13:16 UTC, Steffen Winterfeldt
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Forgotten User ZhJd0F0L3x 2005-08-31 15:01:38 UTC
I installed on a "virgin" T43 and after the first part of the installation
finished, i got "no operating system" after reboot.
Comment 1 Forgotten User ZhJd0F0L3x 2005-08-31 15:11:58 UTC
But at least i can now again recover the machine via the blue "Access IBM"
button, i just can not boot windows or linux ;-)
Comment 2 Christoph Thiel 2005-08-31 16:09:06 UTC
Alright, can you please attach y2logs, if you can get them via the rescue
system? I guess something went wrong with the grub installation...
Comment 3 Christoph Thiel 2005-08-31 22:01:02 UTC
Created attachment 48386 [details]
YaST2.tar.bz2

I just installed SUSE Linux 10.0 beta4 on my T41p and ran into the same
problem.
Comment 4 Christoph Thiel 2005-08-31 22:27:06 UTC
How about this:

y2log:2005-08-31 20:56:35 <3> linux(6960) [bash]
ShellCommand.cc(shellcommand):78 sh: /usr/sbin/fix_chs: Keine Berechtigung

(translates to: no permission).

Is this really intentional:
master-boot-code.spec:%attr(600,root,root) /usr/sbin/fix_chs
Comment 5 Christoph Thiel 2005-08-31 22:34:37 UTC
Alright, this really seems to be a duplicate of bug #103031.

*** This bug has been marked as a duplicate of 103031 ***
Comment 6 Forgotten User ZhJd0F0L3x 2005-09-01 13:18:19 UTC
this is not a duplicate of bug #103031

Torsten came around with FixCHS and it reported that nothing was wrong.

The we installed an LBA-capable MBR and now it boots - but you can no longer
boot the rescue partition.

Analysis:
- The original IBM MBR can boot rescue, but has no LBA support => after
installing grub into hda3 (>12GB from start of disk), it no longer boots
- The LBA capable "generic MBR" can boot grub, but not the rescue system.

Choose your poison.

IBM needs to fix their MBR.
Comment 7 Christoph Thiel 2005-09-01 13:25:48 UTC
This is very unfortunate. We don't have any chance of implementing a hack with
chainloader to use the IBM MBR for booting the rescue stuff? Actually I'm
curious who we managed to not break the rescue partition with the NOFOST Patch
CD. I'll have to look into that as soon as I'm back in Nuremberg...
Comment 8 Andreas Jaeger 2005-09-01 13:55:52 UTC
Torsten, what do you propose?
Comment 9 Steffen Winterfeldt 2005-09-01 14:11:19 UTC
ad 6: It is not 'just a MBR' IBM puts a quite complex bootmanager there -   
that's why the rescue stuff stops working when you install grub into the MBR.   
   
IIRC that boot loader saves the original MBR (the one before it got   
installed - probably some XP MBR then) and runs it to boot the system.   
Maybe that one can't deal with lba.  
Comment 10 Torsten Duwe 2005-09-01 14:13:07 UTC
First, minor corrections to comment #6: Somehow IBM's MBR is LBA-capable, but 
uses this only for Windoze partitions of appropriate types. The BIOS is LBA 
capable, for what I did was give Seife an MBR that had CHS disabled, and 
forced LBA use. "Our" default MBR remains to be tested. 
 
Conclusion: the pre-installed MBR is not smart enough to chainload Linux 
beyond the 1024 Cylinder boundary. So far, so bad. 
 
Either IBM replaces this MBR with a working one, or we do it. In the latter 
case their "Blue Button" will cease to work. 
 
So Andreas, the decision is up to you: will we recommend customers to kill the 
blue button, or point fingers at IBM ? 
 
Note that this is an IBM Laptop, running an IBM BIOS, executing first an IBM 
MBR. ==> there's absolutely nothing for me to fix here, this is a pure 
documentation issue. 
Comment 11 Forgotten User ZhJd0F0L3x 2005-09-01 14:19:22 UTC
FWIW: i have a image of the machine before installing anything (even before
booting windows for the first time) which i can use to restore the machine to
its original state (or to fetch the original MBR from)
Comment 12 Steffen Winterfeldt 2005-09-01 14:20:32 UTC
No, the mbr doesn't boot anything itself. It stores a copy of the real one 
for that. We could of course put grub into that copy but I feel that's not 
just the kind of thing to do 2 days before GM. 
Comment 13 Steffen Winterfeldt 2005-09-01 17:20:32 UTC
Created attachment 48506 [details]
perl script to install an grub mbr

Usage example: tp_mbr /dev/sda

This script writes a normal grub mbr into the
place where the TP boot loader stores the mbr.

Run after yast installs grub into a partition
(before works too, actually).

Though it has some checks itself, run only on TPs to be safe (yast has a check
for them already).

If we're actually going to use it: the script
logs errors to stderr - please make them appear in yast logs somehow.

Exit code: 0 = ok, != 0 failed.
Comment 14 Andreas Jaeger 2005-09-02 04:22:28 UTC
Thanks Steffen. Thorsten, Jiri, what do you think of this?
Comment 15 Jiri Srain 2005-09-02 10:11:09 UTC
OK, also  
- install GRUB normally to bootsector of boot partition  
- run this script  
  
I think it sounds fine (even if we don't have too much time to test it). 
 
Andreas, do you want me to do it? 
Comment 16 Andreas Jaeger 2005-09-02 10:22:41 UTC
Go ahead.
Comment 17 Steffen Winterfeldt 2005-09-02 10:44:28 UTC
Don't include this script yet (though it works). That isn't a grub MBR. 
(grub doesn't provide a normal MBR - Torsten?). I just picked up 
what was on my machine here at work. I'm just trying to find an 
open-source MBR (that works). Torsten - any ideas? 
Comment 19 Steffen Winterfeldt 2005-09-02 11:08:13 UTC
Created attachment 48582 [details]
script with lilo mbr

The one from lilo seems to work so far.
Comment 20 Torsten Duwe 2005-09-02 11:11:29 UTC
What's the copyright? We're currently using BSD there, and Jiri is very picky 
about it. I'm working on an update from upstream, but don't dare to touch it 
now. Should be there in time for SLES10. 
Comment 21 Torsten Duwe 2005-09-02 11:13:25 UTC
Oh, and don't forget to copy over the partition table, _after_ FixCHS was run! 
Comment 22 Steffen Winterfeldt 2005-09-02 12:07:12 UTC
I haven't looked at the one from comment 18 so far. 
 
My script doesn't touch the partition table at all. 
Comment 23 Steffen Winterfeldt 2005-09-02 13:16:56 UTC
Created attachment 48596 [details]
hopefully final version

using mbr from master-boot-code, the one from lilo is not fault tolerant enough
Comment 24 Steffen Winterfeldt 2005-09-05 08:01:32 UTC
nothing I can do  
Comment 25 Jiri Srain 2005-09-05 14:01:21 UTC
OK, Steffen, Torsten, Andreas, I couldn't find any clear conclusion what  
should be done and in which casese. Could some of you, please, summarize it?  
 
Torsten, what does comment #21 mean? FixCHS breaks partition table? 
Comment 26 Steffen Winterfeldt 2005-09-05 14:07:00 UTC
Jiri, install grub into the partition as usual and then run the script from 
comment 23. 
Comment 27 Jiri Srain 2005-09-05 14:12:40 UTC
Thanks, Steffen. One more question: How about the license? Can I put it into   
yast2-bootloader (GPL), or master-boot-core (BSD)? 
Comment 28 Steffen Winterfeldt 2005-09-05 14:18:57 UTC
I'd like it as GPL. 
Comment 29 Torsten Duwe 2005-09-05 15:46:08 UTC
Comment #21 was directed at Steffen, and turned out to be unnecessary.  
Jiri, it's totally valid to have BSD and GPL programs live on the same disk. 
As is it to have them in one package. 
Comment 30 Jiri Srain 2005-09-06 12:22:07 UTC
Torsten, I'm not sure, I had to split master-boot-code off yast2-bootloader 
just because of licenses... 
Comment 31 Steffen Winterfeldt 2005-09-06 12:47:28 UTC
Oh god. I can change the script to read the mbr externally. But I don't see  
master-boot-code in our inst-sys. 
Comment 32 Jiri Srain 2005-09-06 12:50:25 UTC
master-boot-code is not in inst-sys, because it is used from chroot 
environment just before reboot. The same for the attached script (but as it 
will be in yast2-bootloader, it will be also in inst-sys, although it won't be 
needed). 
Comment 33 Steffen Winterfeldt 2005-09-06 12:57:59 UTC
Ok, looked at the license again. And honestly I don't see a problem with 
writing the mbr from a gpl'ed script. 
 
Jürgen, what do you think? 
Comment 34 Juergen Weigert 2005-09-06 13:52:51 UTC
master-boot-code was split from yast2-bootloader because of bug 61406.   
master-boot-code is tainted by a 4-clause BSD-license containing an   
advertising clause, which is incompatible with GPL.   
  
Two files are affected:  
asm.h is Copyright UCB. UCB gave an explicit annoucement that the Advertising  
clause is void. (No issue here.)  
FixCHS.c is copyright Suse, author Torsten Duwe.  
  
Torsten has the power to relicense his code. This also would have been the  
better solution for bug 61406.  
If he does so, this issue is settled.  
  
Comment 35 Jiri Srain 2005-09-06 13:55:06 UTC
The script (and routines calling it) are now in SVN, in yast2-bootlaoder. 
 
Testing package build and submitting to STABLE.