All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pavel Roskin <proski@gnu.org>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: Starting grub 2 from grub legacy?
Date: Tue, 19 Feb 2008 15:56:47 -0500	[thread overview]
Message-ID: <1203454607.6203.28.camel@dv> (raw)
In-Reply-To: <ca0f59980802191033h41828089r2e558066f928ab1b@mail.gmail.com>

On Wed, 2008-02-20 at 02:33 +0800, Bean wrote:
> On Feb 20, 2008 2:19 AM, Pavel Roskin <proski@gnu.org> wrote:
> > On Tue, 2008-02-19 at 15:14 +0800, Bean wrote:
> >
> > > That's because core.img is a.out format multiboot kernel, but the
> > > current multiboot loader can only handle elf format. My bsd patch add
> > > a.out support for multiboot. with that, you can load core.img
> > > successfully.
> >
> > It's working, thanks!  Just one minor issue - the new core.img is
> > confused about the root device:
> >
> > Welcome to GRUB!
> >
> > error: unknown device
> > Entering into rescue mode...
> > grub rescue> set
> > prefix=(fd0,1,a)/boot/grub
> > root=fd0,1,a
> > grub rescue>
> >
> >
> > That's qemu with one hard drive and no floppies.  By the way, "Entering
> > into rescue mode" should be "Entering rescue mode".
> >
> 
> The boot drive isn't passed to core.img.

I think it should be passed (see "boot_device" in the specification).
Perhaps core.img doesn't use it?  That would be more understandable.

> > > > grub> multiboot /boot/grub/stage2
> > > > alloc magic is broken at 0x93c50
> > > > Aborted. Press any key to exit.
> > >
> > > stage2 is not multiboot format, actually, it's not of any format. The
> > > alloc magic broken is caused by a bug in the multiboot loader, my bsd
> > > also fit this, it will print the error message: "currently only ELF is
> > > supported"
> >
> > Yes, it's better now.
> >
> > Actually, GRUB 2 modules still confuse multiboot.  Loading _bsd.mod or
> > affs.mod would cause GRUB to hand.  But "multiboot configfile.mod"
> > actually crashed qemu 0.9.1 with "qemu: fatal: triple fault"!
> 
> Multiboot loader would try to load elf kernel if the multiboot header
> is not found. The modules file have the elf header, but they're not
> really kernels, so it cause the problem.

Oh, well, I don't really care about foolproofing GRUB too much.

But it made me think whether it's right for the "multiboot" command to
try ELF if multiboot fails.  Either we should go with one universal
"kernel" command as in GRUB 1 (perhaps with switches to force specific
loading algorithm) or we was a multitude of commands for every kernel
type (linux, multiboot, elf, a.out, bsd, bsdloader).  Having "multiboot"
fallback to ELF is inconsistent.

> > > however, it's still possible to load GRUB Legacy with my grubutil
> > > package. It contain several header file which you can use to load
> > > various boot loader from any loader that support linux kernel. For
> > > example, the header for grub legacy is ldgrub.bin, you can use it like
> > > this:
> > >
> > > linux ldgrub.bin
> > > initrd stage2
> >
> > I'm thinking maybe the final GRUB 1 should make stage2 multiboot
> > compliant, if we are going to release it one day.
> 
> it should be trivial, but i think grub1 is not updated any more ?

The CVS is still exists, and there was a discussion about making a
release with cs89x0 removed.

-- 
Regards,
Pavel Roskin



  reply	other threads:[~2008-02-19 20:56 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-13 16:19 Starting grub 2 from grub legacy? Arthur Marsh
2008-02-13 16:41 ` ardoRic
2008-02-13 18:50   ` ardoRic
2008-02-14 18:28     ` Arthur Marsh
2008-02-18 13:42     ` Arthur Marsh
2008-02-18 13:55       ` Arthur Marsh
2008-02-18 14:08       ` Pavel Roskin
2008-02-19  0:57       ` George Lengel
2008-02-19  6:25         ` Pavel Roskin
2008-02-19  7:13           ` Robert Millan
2008-02-19  7:14           ` Bean
2008-02-19 18:19             ` Pavel Roskin
2008-02-19 18:33               ` Bean
2008-02-19 20:56                 ` Pavel Roskin [this message]
2008-02-20 21:32                   ` Yoshinori K. Okuji
2008-02-21  3:19                     ` Bean

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=1203454607.6203.28.camel@dv \
    --to=proski@gnu.org \
    --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.