kexec may fail with kernel panic when crashkernel parameter is passed
This document (7023981) is provided subject to the disclaimer at the end of this document.
Environment
Situation
Resolution
Working on a fix to ensure the memory available in first memory block (other than what is used for KDump) is larger than 128MB. This change can have impact on older configurations. While a fix that works for all cases is arrived at, use an offset greater than 128MB for crashkernel during kexec boot. For example: kexec -l --append="`cat /proc/cmdline` crashkernel=X@160M" --initrd=/boot/initrd-`uname -r` /boot/vmlinux-`uname -r` where X is the memory to be reserved for KDump.
Cause
System resources need memory to be reserved in the first memory block. While the size of first memory block is usually 512MB or greater, memory for crashkernel is reserved at an offset of 128MB by default. This leaves less than 128MB memory to reserve for system resources that need memory in the first memory block. On large configuration systems this memory may not be sifficient, especially with kexec boot where initrd is also placed below 128MB adding to these memory constraints and eventually leading to allocation failure.
Disclaimer
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.
- Document ID:7023981
- Creation Date: 28-Jun-2019
- Modified Date:03-Mar-2020
-
- SUSE Linux Enterprise Server
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com