grub-devel
[Top][All Lists]
Advanced

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

Re: multiboot2: remove "a.out kludge" requirement


From: Hollis Blanchard
Subject: Re: multiboot2: remove "a.out kludge" requirement
Date: Fri, 17 Nov 2006 18:32:04 -0600

That is true. However I'm not sure how easily that field can be
modified. Would we need a custom tool for that? Could it be done with a
linker script? We are talking specifically about ELF here, so it might
make more sense to require a PT_NOTE segment.

I'm not sure I agree with Okuji though. If the multiboot header is
beyond the 8KB limit, it is an OS programming error, and GRUB cannot be
responsible for trying to prevent all programming errors.

On the other hand, if this is an error we could catch that would make OS
debugging easier, it might be worth it.

Right now in my loader I just have a debug message that appears if the
header is not found. An OS developer who finds her kernel no longer
boots could simply 'set debug=loader' and then boot, and the debug
message would indicate the problem (since she knows she's *supposed* to
have a multiboot header).

I think the debug message solves the debugging issue, and it doesn't
burden OSs that don't need the header.

-Hollis

On Fri, 2006-11-17 at 16:36 -0600, Andrei E. Warkentin wrote:
> No, I think Okuji mentioned that he didn't want to omit the Multiboot
> header out of the possibility of not registering the Multiboot
> header's presence if it is past the 8K mark (i.e. corrupt multiboot
> kernel).
> 
> 
> With a custom e_type you could be sure it's really a Multiboot kernel
> or not... and not ever be concerned with corrupt files with the header
> past 8K. 
> 
> Andrei Evgenievich Warkentin
> address@hidden
> Cell: (+1) (847) 321-15-55
> 
> 
> 
> On 17.11.2006, at 16:01, Hollis Blanchard wrote:
> 
> > On Fri, 2006-11-17 at 15:27 -0600, Andrei E. Warkentin wrote:
> > > How about having a custom e_type for ELF images booted by GRUB?
> > > Something in the range between ET_LOOS and ET_HIOS (the OS
> > > specific
> > > types). This way one could avoid the Multiboot header in ELF, as
> > > the
> > > file would itself would identify self as GRUB-bootable or not. 
> > 
> > 
> > Why would we need a custom e_type? We know how to load ELF; we can
> > already omit the multiboot header.
> > 
> > 
> > Are you worried about a user accidentally running
> > "multiboot /bin/ls"?
> > I'm not... :)
> > 
> > 
> > > Also...
> > > I am not familiar with the module architecture in GRUB2 (whether
> > > mods
> > > are ET_REL or ET_DYN), but having a custom type for those would
> > > sure
> > > simplify those code paths too. 
> > 
> > 
> > How would it simplify the code?
> > 
> > 
> > (Modules are ET_REL, for the record.)
> > 
> > 
> > -Hollis
> > 
> > 
> > 
> > 
> > 
> > 
> > _______________________________________________
> > Grub-devel mailing list
> > address@hidden
> > http://lists.gnu.org/mailman/listinfo/grub-devel
> 
> 
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/grub-devel





reply via email to

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