[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Booting Linux from coreboot+grub2
From: |
Bean |
Subject: |
Re: Booting Linux from coreboot+grub2 |
Date: |
Thu, 1 May 2008 23:06:56 +0800 |
On Thu, May 1, 2008 at 10:30 PM, Patrick Georgi <address@hidden> 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