[prev in list] [next in list] [prev in thread] [next in thread] 

List:       grub-help
Subject:    GRUB and Linux's initrd_addr_max
From:       mike b <michallinuxstuff () gmail ! com>
Date:       2018-11-05 10:12:29
Message-ID: CACosJgxKKnhpgZsVF-7PckecRGvzRdG6tqGT+LvFuGW1SRy0iQ () mail ! gmail ! com
[Download RAW message or body]

Hi!

The question addresses value that can be retrieved from kernel's header and
which points and the max address in memory that initrd can be extracted to.
if I check my kernel image, I can see that it's set to 0x7fffffff. However,
if you look into grub's code, the grub-core/loader/i386/linux.c to be
exact, this value is considered as "bogus" and it's cut down to
GRUB_LINUX_INITRD_MAX_ADDRESS which is 0x37ffffff. Now, the commit
(92907110) that introduced this change in grub's code doesn't say much
except: "Without them [the constraint], initrd was allocated too high for
Linux to find it.". Now, this is a bit problematic, since it limits the
actual size of initrd that you can load to something around ~400MB. More or
less. Maybe more.

So to finally go with the question - is this justified? Is that really the
case for recent kernels (the grub's commit is from 2008)? I have been
planning to test that by removing this constraint and allowing addr_max to
be of the value that comes with the kernel, but I also wanted to confirm
first if something like that would actually make any sense. :D

Any hints would be appreciated!
_______________________________________________
Help-grub mailing list
Help-grub@gnu.org
https://lists.gnu.org/mailman/listinfo/help-grub
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic