Browse Source

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 5 years ago
parent
commit
2d9566b7b7
3 changed files with 18 additions and 0 deletions
  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
 	  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
 
 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
 HOST_GRUB2_DEPENDENCIES = host-bison host-flex
 GRUB2_INSTALL_IMAGES = YES
+
+ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y)
+GRUB2_INSTALL_TARGET = YES
+else
 GRUB2_INSTALL_TARGET = NO
+endif
 
 GRUB2_BUILTIN_MODULES = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES))
 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
 	# are not for the target architecture
 	"/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