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 Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel