Flashes (Alerts)
Abstract
In the Secure boot environment, GRUB2 currently negotiates with PowerVM to allocate a 512 MB memory region, known as the Real Mode Area (RMA), for boot memory. The RMA must be large enough to hold the Linux kernel, initramfs, Partition Firmware (PFW), GRUB2, and working memory for early Linux boot. The region is divided among the boot components and, if any component exceeds its allocation, out-of-memory failures occur.
Currently, PFW is approximately 130 MB, leaving approximately 382 MB for the other boot components. The Linux kernel and GRUB2 each claim one-fourths of the 382 MB area, providing each with approximately 95 MB. If either the kernel image or the initramfs requires more than 95 MB, then GRUB2 might fail with an out-of-memory error when it attempts to load them.
Generally, the default installed initramfs and vmlinux are well within the limits to avoid such issues, but if Firmware Assisted Dump (FADump) is enabled in the system, the default initramfs size might increase and go beyond 95 MB. In that case, every system reboot ends up in a GRUB OOM issue.
To avoid this issue, do not use secure boot and FADump together. Otherwise, you can use one of the fixes available in the Workaround section.
Content
Red Hat Enterprise Linux (RHEL) 8.6
Red Hat Enterprise Linux 8.7
Red Hat Enterprise Linux 9.0
Red Hat Enterprise Linux 9.1
error: ../../grub-core/kern/mm.c:376:out of memory.
Press any key to continue...
- Disable secure boot in HMC.
- Disable vTPM in HMC.
- Restart the system from HMC.
- Edit the default grub boot entry in the boot screen.
- Edit the entry for initramfs to point to .initramfs-$kver.img.default instead of initramfs-$kver.img.
- Press Ctrl+x to boot the system.
- Revert grub core.elf in boot partition to the non-secure boot one:
$ dd if=/boot/grub2/powerpc-ieee1275/core.elf of=/dev/mapper/<PReP-boot-Partition-Name>
- Restart the system from HMC.
- Restart system from HMC.
- Edit the default grub boot entry in the boot screen.
- Edit the entry for initramfs to point to .initramfs-$kver.img.default instead of initramfs-$kver.img.
- Remove "fadump=on" boot parameter in grub boot entry.
- Press Ctrl+x to boot the system.
- Use grubby to remove "fadump=on" parameter and update crashkernel parameter for kdump.
- Restart the kdump service.
- Reboot the system.
- An enhancement to GRUB2 is anticipated that will allocate more memory for the kernel and initramfs.
https://bugzilla.redhat.com/show_bug.cgi?id=2141401
- Improve kexec scripts to avoid drastic increment in initramfs size when FADump is enabled.
https://bugzilla.redhat.com/show_bug.cgi?id=2139000
https://src.fedoraproject.org/rpms/kexec-tools/blob/main/f/fadump-howto.txt
Was this topic helpful?
Document Information
Modified date:
12 December 2022
UID
ibm16846531