On Thu, May 1, 2008 at 10:30 PM, Patrick Georgi <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I just want to report that booting linux from grub2/i386-linuxbios
> doesn't work in my tests.
>
> To solve this, I'd propose to start from the i386-efi loader, which
> (other than the i386-pc loader which is currently used by the linuxbios
> platform) doesn't use the real mode code of linux (which relies on bios
> calls)
>
> In my tests, it mostly works (initrd has issues, but linux boots) when
> stripping all the EFI bits, while replacing all memory allocations with
> simple grub_malloc() calls (and not copy the real mode code at all).
I encounter similar problem when writing the linux loader for
i386-ieee1275. The fix is quite simple, besides setting ramdisk_image
and ramdisk_size, you also need to set type_of_loader to a non-zero
value:
lh->type_of_loader = 1;
> That's probably nothing to rely on, given that the 32bit-boot
> specification of linux gives some "hints" on where things should be
> stored.
>
> Some more capable memory management functions might help reconcile the
> i386-{efi,ieee1275,linuxbios} loaders eventually, such as a generic way
> to request "page aligned memory in the memory range (x,y) of size z", and
> a generic way to get a memory map. Currently that seems to be done as-
> needed in the various loaders.
That would be nice.
--
Bean
_______________________________________________
Grub-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/grub-devel