grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: root seems to be incorrectly set after install


From: Yoshinori K. Okuji
Subject: Re: root seems to be incorrectly set after install
Date: Sun, 3 Feb 2008 17:53:23 +0100
User-agent: KMail/1.9.4

On Sunday 03 February 2008 16:18, Robert Millan wrote:
> On Sun, Feb 03, 2008 at 09:47:17AM -0500, George Lengel wrote:
> > Dear Robert,
> >
> > I now get a 0x80 at the top of the screen just before the rescue mode
> > line. This indicates I am using my compiled version and also confirms
> > your suspicion about the BIOS, right?
> >
> > >What version of GRUB Legacy did you install in that system?  Did you
> > > modify GRUB Legacy when you installed it, or something like that?
> >
> > I use Grub legacy from Debian which is 0.97. It has worked for years and
> > years without any problem and I never did anything past a simple apt-get
> > and accept the defaults when configuring it.
>
> Can you check if you can override the root device by invoking grub-setup
> manually with --root-device parameter?

I have looked at this problem deeply, and I think the following changes would 
be required:

- A variable to specify where grub.cfg and modules are present. Currently, we 
have it only for a prefix without a drive. So grub_root_drive or something 
must be added. It could be added to kern/i386/pc/startup.S, but 
boot/i386/pc/boot.S might be more appropriate (if there is space large 
enough).

- grub-setup must handle a root drive independently, of a boot drive or an 
embedding drive.

- kern/i386/pc/init.c must be modified accordingly.

The scinarii would be the following:

- If a core image is embedded, and a grub directory is in the same drive, all 
drives should be set to -1, thus a boot drive passed by BIOS or another boot 
loader will be used.

- If a core image is embedded, and a grub directory is in a different drive, a 
root drive must be explicitly set by grub-setup. The other drives will be set 
by BIOS or another boot loader.

- If a core image is not embedded, and it is in the same drive, the same as 
the first example.

- If a core image is not embedded, and it is in a different drive, an 
embedding drive is identical to a root drive, and must be set explicitly by 
grub-setup.

I am planning to fix it myself, but if I look too slow, please feel free to 
fix it instead of me.

Okuji




reply via email to

[Prev in Thread] Current Thread [Next in Thread]