Ok, please forgive the bizarro Grub logfile:

<http://www.propheticdesire.us/efi_dump20070906.jpg>

I put some grub_printf() statements in grub_rescue_cmd_initrd() in the 
file loader/i386/efi/linux.c, which is where the "no free pages 
available" error shows up.

At the beginning of the dump, before the function enters into the loop 
looking for initrd memory, I print out the variables:

initrd_pages
addr_min
addr_max

So I know what the size of the image is that needs to be loaded, and 
where in the memory map.

Inside the loop, I continually print out:

desc->type
desc->physical_start
desc->num_pages

So what Grub finds is recorded in the above JPEG.

It seems like the loop finds a chunk of GRUB_EFI_CONVENTIONAL_MEMORY 
(enum 7) that is 2542 pages in size at memory address 1,010,688,000. 
That's the right type and big enough for initrd.img, but the location 
is way beyond the 536,805,375 addr_max that Grub returned earlier.

I have 1GB of memory in my MacMini, so is Grub returning a bad value 
for addr_max?

Any suggestions on where to go from here?

Best, Charles



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

Reply via email to