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