grub2: add a configuration option to embed a config file
authorDima Zavin <dmitriyz@google.com>
Fri, 4 Apr 2014 08:32:17 +0000 (01:32 -0700)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 20 Apr 2014 15:48:46 +0000 (17:48 +0200)
Add an option for embedding a config file directly in grub.

Signed-off-by: Dima Zavin <dmitriyz@google.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
boot/grub2/Config.in
boot/grub2/grub2.mk

index e59626a8a83ff62f9e7d0ebe0df79db57015d5f0..b37e024543a7f6b7aae5f265ce8e7b6250082841 100644 (file)
@@ -117,4 +117,12 @@ config BR2_TARGET_GRUB2_BUILTIN_MODULES
        default "boot linux ext2 fat part_msdos part_gpt normal efi_gop" \
                if BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI
 
+config BR2_TARGET_GRUB2_BUILTIN_CONFIG
+       string "builtin config"
+       help
+         Path to a Grub 2 configuration file that will be embedded
+         into the Grub image itself. This allows to set the root
+         device and other configuration parameters, but however menu
+         entries cannot be described in this embedded configuration.
+
 endif # BR2_TARGET_GRUB2
index 5bb888402b690eb119e58bd7d80a3b1e99c33ca3..50f93ee68181eacea6bab529855e7579144cd17c 100644 (file)
@@ -34,6 +34,7 @@ GRUB2_PLATFORM = efi
 endif
 
 GRUB2_BUILTIN_MODULES = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES))
+GRUB2_BUILTIN_CONFIG = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_CONFIG))
 
 # Grub2 is kind of special: it considers CC, LD and so on to be the
 # tools to build the native tools (i.e to be executed on the build
@@ -71,6 +72,7 @@ define GRUB2_IMAGE_INSTALLATION
                -O $(GRUB2_TUPLE) \
                -o $(GRUB2_IMAGE) \
                $(if $(GRUB2_PREFIX),-p $(GRUB2_PREFIX)) \
+               $(if $(GRUB2_BUILTIN_CONFIG),-c $(GRUB2_BUILTIN_CONFIG)) \
                $(GRUB2_BUILTIN_MODULES)
        mkdir -p $(dir $(GRUB2_CFG))
        $(INSTALL) -D -m 0644 boot/grub2/grub.cfg $(GRUB2_CFG)