grub-devel
[Top][All Lists]
Advanced

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

[QUESTION] Multiboot again


From: Ruslan Nikolaev
Subject: [QUESTION] Multiboot again
Date: Thu, 18 Aug 2005 15:46:04 -0700 (PDT)

Yes, in general I agree with you. I think that prevents loading kernel will be better... but it's not a very principal question.
 
I HAVE ANOTHER QUESTION:
 
Kernel usual running in negative virtual address space. For example GRUB Legacy masks entry_point and all memory addresses of program segments with 0xFFFFFF when loading FreeBSD ELF. In contrast for multiboot ELF it loads directly.
 
I have a question: how can I run kernel in negative address space and use multiboot ELF. May be it is a very stupid question... but I really needs to know about it :)

"Yoshinori K. Okuji" <address@hidden> wrote:
On Thursday 18 August 2005 00:27, Ruslan Nikolaev wrote:
> I have a one question. GRUB requires have a kernel as an executable file
> (at least for ELF). This is not very good from user point. For example user
> can try to load such kernel at operating system and get something like
> "Segmentation fault".

I don't understand what is wrong with this. It is normal to get an error when
the user executes a binary file which is not supposed to run on an alien
environment.

> I think that having kernel as a non-executable file (for example ET_REL for
> ELF) is better. However we need another "entry" point (special symbol). It
> is possible to have something like "multiboot_start". ...And doesn't have
> "_start" or "start" symbols in kernel at all.

I don't agree. From the view of boot loaders, a kernel is truly an executable.
So it is natural to use ET_EXEC. Applying ET_REL is very strange, because a
kernel is not a relocatable object (who relocates the kernel?).

Okuji


_______________________________________________
Grub-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/grub-devel


Start your day with Yahoo! - make it your home page
reply via email to

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