flockm...@gmx.at posted 200904090657.08422.flockm...@gmx.at, excerpted
below, on  Thu, 09 Apr 2009 06:57:08 +0200:

> i have a quite big initramfs, kernel size is approx. 5,7 MB. Adding new
> things to my initramfs does not work, because grub fails to load kernels
> with >6MB. so, does anybody know the exact limit of the kernel file
> size, that grub is able to load? is it platform-specific?

What grub version are you running?  Stable or ~arch?

As I recall, patches fixing this and other issues including ext4 and 
large inode ext3 support have been introduced into the latest ~arch grub, 
but whether it has been stabilized yet I'm not sure.  (Actually, given 
the below, it hasn't been.)

FWIW, I'm running ~arch (~amd64 of course, given the list), but on the
no-multilib profile, where grub itself is masked and grub-static is used 
instead.  But the rX revisions are supposed to be synced.  Here's what 
I'm running and what's available for both grub and grub-static, along 
with keywording:

~$equery l grub
[ Searching for package 'grub' in all categories among: ]
 * installed packages
[I--] [ ~] sys-boot/grub-static-0.97-r9 (0)
~$epkginfo grub
Package: sys-boot/grub
Herd: base-system
Maintainer: base-system
Location: /p/sys-boot/grub
Keywords: grub-0.92-r1:
Keywords: grub-0.94-r1: -*
Keywords: grub-0.96-r1:
Keywords: grub-0.96-r2:
Keywords: grub-0.96-r3:
Keywords: grub-0.97:
Keywords: grub-0.97-r2:
Keywords: grub-0.97-r3:
Keywords: grub-0.97-r4:
Keywords: grub-0.97-r5:
Keywords: grub-0.97-r6: amd64 x86
Keywords: grub-0.97-r8:
Keywords: grub-0.97-r9: ~amd64 ~x86 ~x86-fbsd
Keywords: grub-1.96:
Keywords: grub-9999:

~$epkginfo grub-static
Package: sys-boot/grub-static
Herd: amd64
Maintainer: amd64
Location: /p/sys-boot/grub-static
Keywords: grub-static-0.96-r1:
Keywords: grub-static-0.97:
Keywords: grub-static-0.97-r6: amd64
Keywords: grub-static-0.97-r9: -* ~amd64 ~x86

~$

So try either grub or grub-static-0.97-r9.

**ALSO**NOTE**

When you upgrade grub(-static) using portage (or other Gentoo PM), it 
installs in the system but does **NOT** install to the MBR or wherever.  
You must do that after the upgrade, following the elog instructions spit 
out by the ebuild or otherwise handling it as you normally do.  If you 
fail to do so, the version in the MBR remains the old one, which may or 
may not continue to work with what's in /boot.  It's thus possible you 
could leave your system unbootable (well, except from rescue disk, etc) 
if you don't follow the MBR upgrade procedure, or, more likely with a 
simple revision update, it'll be bootable but you'll be using partly or 
entirely the old version, not the upgrade, and thus won't get the fixes 
in the upgrade.

So, before you upgrade grub at all, ensure you have a (tested working) 
rescue disk or similar solution in case something goes wrong with the 
upgrade.

Then when you upgrade, after doing the normal package upgrade, verify 
that what exists in /boot matches what exists in /lib/grub/i386-pc/* (the 
ebuild will try to mount /boot and update that if it can, but may fail 
under certain conditions).

Finally, use grub-install or similar procedure to install to the MBR (or 
wherever else you have it installed if not the MBR), thus upgrading the 
actual first-stage boot module to match what's now on /boot and in /lib/
grub.

Once you finish upgrading (all the way) to 0.97-r9, if the changelog 
entries are correct and you haven't hit a different bug, you should have 
no further issues with too large kernel images.  For more information, 
see the package changelogs and the bugs they refer to.  (According to the 
changelog, -r8 fixed most of the bugs, -r9 apparently simply added ext4 
support, but while you're upgrading you might as well get it all.)

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman


Reply via email to