From: Robert Millan <rmh@aybabtu.com>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: [PATCH] Scan root device dynamically at startup
Date: Thu, 29 May 2008 14:50:24 +0200 [thread overview]
Message-ID: <20080529125024.GB391@thorin> (raw)
In-Reply-To: <ca0f59980805290346v40ba9e26vf29ace2ec88462c@mail.gmail.com>
On Thu, May 29, 2008 at 06:46:25PM +0800, Bean wrote:
> >
> > I've been thinking a bit more about this, and my impression is that it the
> > approach is quite ad-hoc. For example, some similar problems that this
> > solution wouldn't solve, but that a very similar solution would:
> >
> > a- normal.mod was built into grub.elf (perhaps because the firmware can load
> > big files). Then the problem is finding grub.cfg instead of normal.mod.
>
> If the firmware support large image file, then it's no problem. For
> image ~ 64K, we can include normal and some basic command. But for
> image ~ 32K (like vista boot loader), it can only contain kernel and
> one of the file system driver.
Yes. But then, how do you find grub.cfg? The grub.cfg that is generated by
update-grub can't be part of grub.elf, and you need a way to find it.
Your proposed hack would work for that, simply by replacing "normal.mod" with
"grub.cfg".
> > b- User has a disk liing around which happens to have a normal.mod from
> > an earlier version of grub (let's assume different ABI). Turns out this
> > disk is used for something else and can't be supressed. A solution could
> > be to use UUIDs for the search, but that can't always work since we need
> > a "smart" install process that can probe for them (unlike in the situation
> > you described -- I can't imagine doing fancy stuff in bare-bones Vista).
> >
>
> I think this is the most convenient way of installing grub2 in vista.
> [...]
It probably is; what I'm describing is another situation in which the most
convenient way is almost like that but not quite. Then we would need another
module for that, which is a mess. That's why I think a generic solution would
be best, if possible.
> > c- Search for normal.mod was ok, but then this particular port of grub can't
> > accept the prefix variable from your module, because it already got this
> > variable from the firmware (OFW does this). And the variable from firmware
> > happens to be completely unusable.
>
> The module initialization code is run in grub_load_modules (), It's
> before the platform code grub_machine_set_prefix (). If findroot has
> find the prefix, it won't use the firmware value anymore.
But it is run after grub_machine_init(), and it is permissible that
grub_machine_init() already sets the prefix (ieee1275 does that).
Maybe your proposed module should override this setting, then?
> > I think a solution that would fit well here is to use memdisk to embed a
> > grub.cfg. Then in each situation we could have a different grub.cfg script
> > that finds appropiate prefix using the search command.
>
> memdisk is not so useful in such situation. grub.cfg need normal.mod
> for its script engine. So we need to embed normal.mod. and at least
> search.mod. Such image is well above 32K limit.
That's unfortunate... do you think this approach could be extended/modified
somehow to address the other situations?
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
prev parent reply other threads:[~2008-05-29 12:51 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-20 10:22 [PATCH] Scan root device dynamically at startup Bean
2008-05-28 13:54 ` Robert Millan
2008-05-28 14:53 ` Bean
2008-05-29 9:58 ` Robert Millan
2008-05-29 10:46 ` Bean
2008-05-29 12:05 ` Tomáš Ebenlendr
2008-05-29 12:38 ` Robert Millan
2008-05-30 13:29 ` Robert Millan
2008-05-30 13:35 ` Bean
2008-05-29 12:50 ` Robert Millan [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080529125024.GB391@thorin \
--to=rmh@aybabtu.com \
--cc=grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.