Quellcode durchsuchen

boot/grub2: add option to install tools

Add an option to install grub2 support tools to the target.

In the context of Buildroot, some useful target tools provided are
grub2-editenv, grub2-reboot, which provide means to manage the grub2,
environment, boot order, and others.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Erico Nunes vor 6 Jahren
Ursprung
Commit
2d9566b7b7
3 geänderte Dateien mit 18 neuen und 0 gelöschten Zeilen
  1. 9 0
      boot/grub2/Config.in
  2. 5 0
      boot/grub2/grub2.mk
  3. 4 0
      support/scripts/check-bin-arch

+ 9 - 0
boot/grub2/Config.in

@@ -76,6 +76,15 @@ config BR2_TARGET_GRUB2_BUILTIN_CONFIG
 	  device and other configuration parameters, but however menu
 	  device and other configuration parameters, but however menu
 	  entries cannot be described in this embedded configuration.
 	  entries cannot be described in this embedded configuration.
 
 
+config BR2_TARGET_GRUB2_INSTALL_TOOLS
+	bool "install tools"
+	help
+	  Install support tools to interact with GNU GRUB Multiboot
+	  boot loader.
+
+	  This will also install the Grub 2 loadable modules to the
+	  target.
+
 endif # BR2_TARGET_GRUB2
 endif # BR2_TARGET_GRUB2
 
 
 comment "grub2 needs a toolchain w/ wchar"
 comment "grub2 needs a toolchain w/ wchar"

+ 5 - 0
boot/grub2/grub2.mk

@@ -12,7 +12,12 @@ GRUB2_LICENSE_FILES = COPYING
 GRUB2_DEPENDENCIES = host-bison host-flex host-grub2
 GRUB2_DEPENDENCIES = host-bison host-flex host-grub2
 HOST_GRUB2_DEPENDENCIES = host-bison host-flex
 HOST_GRUB2_DEPENDENCIES = host-bison host-flex
 GRUB2_INSTALL_IMAGES = YES
 GRUB2_INSTALL_IMAGES = YES
+
+ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y)
+GRUB2_INSTALL_TARGET = YES
+else
 GRUB2_INSTALL_TARGET = NO
 GRUB2_INSTALL_TARGET = NO
+endif
 
 
 GRUB2_BUILTIN_MODULES = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES))
 GRUB2_BUILTIN_MODULES = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES))
 GRUB2_BUILTIN_CONFIG = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_CONFIG))
 GRUB2_BUILTIN_CONFIG = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_CONFIG))

+ 4 - 0
support/scripts/check-bin-arch

@@ -20,6 +20,10 @@ declare -a IGNORES=(
 	# pru-software-support) legitimately install ELF binaries that
 	# pru-software-support) legitimately install ELF binaries that
 	# are not for the target architecture
 	# are not for the target architecture
 	"/usr/share"
 	"/usr/share"
+
+	# Skip files in /lib/grub, since it is possible to have it
+	# for a different architecture (e.g. i386 grub on x86_64).
+	"/lib/grub"
 )
 )
 
 
 while getopts p:l:r:a:i: OPT ; do
 while getopts p:l:r:a:i: OPT ; do