Linux 5.8 Adds initrdmem= Option For Cases Such As Replacing Intel ME Space With Initrd
Written by Michael Larabel in Linux Kernel on 1 June 2020 at 05:36 PM EDT. 9 Comments
LINUX KERNEL --
One of the use-cases for this new "initrdmem" option in Linux 5.8 can be for storing an initial ramdisk (initrd) on a motherboard flash chip in the space available after stripping out Intel's Management Engine (ME) code.

The initrdmem= boot option can be used for specifying a physical address and size for loading an initrd embedded in memory. This new option was sent in as part of the x86/boot changes for the now-open Linux 5.8 merge window.

This option was added by Google's Ron Minnich, one of the original Coreboot/LinuxBIOS developers and project leader. In his patch for adding initrdmem, he outlines the interesting use-case for it of using leftover space on a flash chip after nuking Intel ME to instead have room for hosting the kernel and initrd image:
One such situation occurs when unused FLASH space on UEFI systems has been reclaimed by, e.g., taking it from the Management Engine. For example, on many systems, the ME is given half the FLASH part; not only is 2.75M of an 8M part unused; but 10.75M of a 16M part is unused. This space can be used to contain an initrd, but need to tell Linux where it is.

There are other possible uses for initrdmem= too in allowing the initrd to be placed in more areas, but this is one of the more interesting use-cases for this new addition.
Related News
About The Author
Author picture

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter or contacted via MichaelLarabel.com.

Popular News This Week