skip to Main Content

I am using some middleware that expects memory to be reserved with the memmap= kernel parameter.

With centos 7.5 supermicro x11sta-t – when I set kernel parameter memmap= the kernel hangs on boot.

Is there some new limitation on this time-honored means of reserving a large contiguous array of memory for drivers to avoid scatter-gather?

2

Answers


  1. Chosen as BEST ANSWER

    My time-honored memory failed me yet again. I couldn't find my notes on the process and tried to work from memory.

    When configuring memmap= from /etc/default/grub, you MUST escape the '' and '$' characters on the command line. So if you want:

    memmap=64M$4G

    then you MUST use

    memmap=64M$4G

    in the /etc/default/grub file. This ends up being

    memmap=64M$4G

    in the grub menu, which will actually work.

    Don't fall in this hole that I seem to keep falling into...


  2. A note to @Nufosmatic’s answer.

    I am working on Fedora 36 and by default GRUB2 uses BootLoaderSpec (BLS). BLS uses blscfg command to read a .conf file in /boot/loader/entries/. It seems that $ is always eaten by blscfg regardless how many you add before it.

    So for @Nufosmatic’s solution to work, also disable BLS by setting GRUB_ENABLE_BLSCFG=false in /etc/default/grub, then generate a new grub.cfg by grub2-mkconfig -o /boot/grub2/grub.cfg.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search