[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GRUB and Linux's initrd_addr_max

From: mike b
Subject: GRUB and Linux's initrd_addr_max
Date: Mon, 5 Nov 2018 11:12:29 +0100


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!

reply via email to

[Prev in Thread] Current Thread [Next in Thread]