Tue 04 Jan 2011 07:07:10 PM UTC, comment #6:
I've applied the patch upstream
> Amazing. The workaround is working, thanks. Are you going to enable post-4G pages like you said?
Not for now. It has no influence on memory available to linux. It's just about memory available to GRUB and currently no OS needs files of such sizes to be loaded (XNU (kernel of Darwin and MacOSX) may require sth like this for hibernation but doubtful)
@ Alexey Shvetsov <alexxy>
Does this patch fixes the problem for you too? (please try bzr trunk, not experimental)
|
Thu 23 Dec 2010 11:13:06 AM UTC, comment #2:
Actually, grub-1.98 does boot linux successfully, as long as I put "noefi" as the kernel parameters. Unfortunately, I need an initrd (which will not load as I mentioned) to access my userspace, hence why I am filing a bug report.
|
Thu 23 Dec 2010 10:40:52 AM UTC, comment #1:
Same here on an ASUS U35Jc laptop, using grub trunk, experimental, or newreloc. Crashes after issuing the command `linux (hd0,msdos6)/kernel`. With `set debug=linux`, the output for grub trunk and grub newreloc is:
real_size=2000, prot_size=2e200, mmap_size=2000
real_mode_mem=147ff800, real_mode_pages=8, prot_mode_mem=100000, prot_mode_pages=2e2
I have determined that the crash in grub_cmd_linux occurs at:
grub_memset (params, 0, GRUB_LINUX_CL_END_OFFSET);
grub_memcpy (¶ms->setup_sects, &lh.setup_sects, sizeof (lh) - 0x1F1);
which doesn't look too promising.
Note that for grub-1.98, the linux loader succeeds, but the `initrd` or `boot` commands hang once again. The output after `set debug=all; linux (hd0,6)/kernel;` for grub-1.98 is:
real_size=2000, prot_size=2e2000, mmap_size=4000
physical_start=8000, physical_end=6f000
trying to allocate 6 pages at 69000
real_mode_mem=69000, real_mode_pages=6, prot_mode_mem=100000, prot_mode_pages=2e2
[Linux-bzImage, setup=0x3400, size=0x2e19d0]
For grub-1.98 the crash in loader/i386/efi/linux.c's grub_cmd_initrd happens at the grub_file_read.
|