grub/util/grub.d
Matthew S. Turnbull a698240df0 grub-mkconfig/10_linux: Support multiple early initrd images
Add support for multiple, shared, early initrd images. These early
images will be loaded in the order declared, and all will be loaded
before the initrd image.

While many classes of data can be provided by early images, the
immediate use case would be for distributions to provide CPU
microcode to mitigate the Meltdown and Spectre vulnerabilities.

There are two environment variables provided for declaring the early
images.

* GRUB_EARLY_INITRD_LINUX_STOCK is for the distribution declare
  images that are provided by the distribution or installed packages.
  If undeclared, this will default to a set of common microcode image
  names.

* GRUB_EARLY_INITRD_LINUX_CUSTOM is for user created images. User
  images will be loaded after the stock images.

These separate configurations allow the distribution and user to
declare different image sets without clobbering each other.

This also makes a minor update to ensure that UUID partition labels
stay disabled when no initrd image is found, even if early images are
present.

This is a continuation of a previous patch published by Christian
Hesse in 2016:
http://lists.gnu.org/archive/html/grub-devel/2016-02/msg00025.html

Down stream Gentoo bug:
https://bugs.gentoo.org/645088

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Matthew S. Turnbull <sparky@bluefang-logic.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2018-03-14 13:23:27 +01:00
..
00_header.in Revert "Keep the native terminal active when enabling gfxterm" 2018-03-05 15:26:42 +01:00
10_hurd.in grub-mkconfig: use $pkgdatadir in scripts 2015-04-29 19:18:54 +03:00
10_illumos.in grub-mkconfig: use $pkgdatadir in scripts 2015-04-29 19:18:54 +03:00
10_kfreebsd.in grub-mkconfig: use $pkgdatadir in scripts 2015-04-29 19:18:54 +03:00
10_linux.in grub-mkconfig/10_linux: Support multiple early initrd images 2018-03-14 13:23:27 +01:00
10_netbsd.in grub-mkconfig: use $pkgdatadir in scripts 2015-04-29 19:18:54 +03:00
10_windows.in grub-mkconfig: use $pkgdatadir in scripts 2015-04-29 19:18:54 +03:00
10_xnu.in xnu: Add new kernel path to autoconfig. 2016-02-12 15:42:26 +01:00
20_linux_xen.in Use grub-file to figure out whether multiboot2 should be used for Xen.gz 2017-09-07 23:25:29 +02:00
30_os-prober.in xnu: Add new kernel path to autoconfig. 2016-02-12 15:42:26 +01:00
40_custom.in 2009-09-10 Robert Millan <rmh.grub@aybabtu.com> 2009-09-10 12:53:25 +00:00
41_custom.in * grub-core/normal/main.c (read_config_file): Provide config_file and 2012-05-27 15:34:41 +02:00
README 2007-05-04 Robert Millan <rmh@aybabtu.com> 2007-05-04 07:11:44 +00:00

All executable files in this directory are processed in shell expansion order.

  00_*: Reserved for 00_header.
  10_*: Native boot entries.
  20_*: Third party apps (e.g. memtest86+).

The number namespace in-between is configurable by system installer and/or
administrator.  For example, you can add an entry to boot another OS as
01_otheros, 11_otheros, etc, depending on the position you want it to occupy in
the menu; and then adjust the default setting via /etc/default/grub.