help-grub
[Top][All Lists]
Advanced

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

Re: Hard limit for size of initrd ("the initrd is too big")


From: Andrei Borzenkov
Subject: Re: Hard limit for size of initrd ("the initrd is too big")
Date: Sat, 7 Feb 2015 19:00:11 +0300

В Tue, 3 Feb 2015 22:00:58 +0000
Eric Ewanco <address@hidden> пишет:

> We have a special application (GNU/Linux 3.4.47, x86_64, BIOS, PXE, OpenSuSE 
> grub2-2.00-1.6.1) that requires large initrds.  We are approaching the 462M 
> size limit that appears to exist on our architecture.  Since we have 16G of 
> memory I'm not sure I understand where the 462M maximum size (specifically, 
> GRUB_LINUX_INITRD_MAX_ADDRESS in include/i386/linux.h, which is 0x37FFFFFF, 
> unchanged in the bleeding-edge code) comes from.  Understanding this choice 
> of value for the ceiling seems to require some background I don't have and 
> can't find.  I've been studying the code (grub-core/loader/i386/linux.c) and 
> doing a lot of research but I'm unable to gain any traction.  Can a developer 
> point me in the right direction or offer some helpful background?  Could this 
> be a one-size-fits-all/least-common-denominator value that might be tweakable 
> upward for our particular hardware, or is it a hard architectural limit?  Is 
> this a 32-bit limit of some sort?

0x37FFFFFF was max address available for initrd before bootloader
protocol 2.03. Comments in grub-core/loader/i386/linux.c suggest that
even later Linux could get it wrong, so it was clamped to least common
value for safety.

See Documentation/x86/boot.txt in Linux source tree.

I do not know concrete examples when Linux set initrd_addr_maxm
incorrectly, you may want to ask on Linux list if something is known.

> 
> Much appreciated.
> 
> Eric
> 
> 
> 




reply via email to

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