config BR2_TARGET_GRUB2_ARCH_SUPPORTS bool default y if BR2_i386 default y if BR2_x86_64 default y if BR2_arm default y if BR2_aarch64 default y if BR2_RISCV_64 depends on BR2_USE_MMU config BR2_TARGET_GRUB2 bool "grub2" depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS depends on BR2_USE_WCHAR select BR2_TARGET_GRUB2_I386_PC if \ !BR2_TARGET_GRUB2_HAS_PTF && \ (BR2_i386 || BR2_x86_64) select BR2_TARGET_GRUB2_ARM_UBOOT if \ !BR2_TARGET_GRUB2_HAS_PTF && \ BR2_arm select BR2_TARGET_GRUB2_ARM64_EFI if BR2_aarch64 help GNU GRUB is a Multiboot boot loader. It was derived from GRUB, the GRand Unified Bootloader, which was originally designed and implemented by Erich Stefan Boleyn. GRUB 2 has replaced what was formerly known as GRUB (i.e. version 0.9x), which has, in turn, become GRUB Legacy. Amongst others, GRUB2 offers EFI support, which GRUB Legacy doesn't provide. The file boot/grub2/grub.cfg is used by default as the Grub configuration file. It can be overridden using a rootfs overlay or post-build script. For additional notes on using Grub 2 with Buildroot, see boot/grub2/readme.txt http://www.gnu.org/software/grub/ if BR2_TARGET_GRUB2 config BR2_TARGET_GRUB2_HAS_LEGACY_BOOT bool config BR2_TARGET_GRUB2_HAS_EFI_BOOT bool config BR2_TARGET_GRUB2_HAS_PTF bool config BR2_TARGET_GRUB2_I386_PC bool "i386-pc" depends on BR2_i386 || BR2_x86_64 select BR2_TARGET_GRUB2_HAS_LEGACY_BOOT help Select this option if the platform you're targetting is a x86 or x86-64 legacy BIOS based platform. config BR2_TARGET_GRUB2_I386_EFI bool "i386-efi" depends on BR2_i386 || BR2_x86_64 select BR2_TARGET_GRUB2_HAS_PTF select BR2_TARGET_GRUB2_HAS_EFI_BOOT help Select this option if the platform you're targetting has a 32 bits EFI BIOS. Note that some x86-64 platforms use a 32 bits EFI BIOS, and this option should be used in this case. config BR2_TARGET_GRUB2_X86_64_EFI bool "x86-64-efi" depends on BR2_x86_64 select BR2_TARGET_GRUB2_HAS_PTF select BR2_TARGET_GRUB2_HAS_EFI_BOOT help Select this option if the platform you're targetting has a 64 bits EFI BIOS. config BR2_TARGET_GRUB2_ARM_UBOOT bool "arm-uboot" depends on BR2_arm select BR2_TARGET_GRUB2_HAS_LEGACY_BOOT help Select this option if the platform you're targetting is an ARM u-boot platform, and you want to boot Grub 2 as an u-boot compatible image. config BR2_TARGET_GRUB2_ARM_EFI bool "arm-efi" depends on BR2_arm select BR2_TARGET_GRUB2_HAS_PTF select BR2_TARGET_GRUB2_HAS_EFI_BOOT help Select this option if the platform you're targetting is an ARM platform and you want to boot Grub 2 as an EFI application. config BR2_TARGET_GRUB2_ARM64_EFI bool "arm64-efi" depends on BR2_aarch64 select BR2_TARGET_GRUB2_HAS_EFI_BOOT help Select this option if the platform you're targetting is an Aarch64 platform and you want to boot Grub 2 as an EFI application. config BR2_TARGET_GRUB2_RISCV64_EFI bool "riscv64-efi" depends on BR2_RISCV_64 select BR2_TARGET_GRUB2_HAS_EFI_BOOT help Select this option if the platform you're targetting is a 64bit RISC-V platform and you want to boot Grub 2 as an EFI application. if BR2_TARGET_GRUB2_HAS_LEGACY_BOOT comment "Options for the x86 legacy BIOS or ARM U-Boot support" config BR2_TARGET_GRUB2_BOOT_PARTITION string "boot partition" default "hd0,msdos1" help Specify the partition where the /boot/grub/grub.cfg file is located. Use 'hd0,msdos1' for the first partition of the first disk if using a legacy partition table, or 'hd0,gpt1' if using GPT partition table. config BR2_TARGET_GRUB2_BUILTIN_MODULES_PC string "builtin modules" default BR2_TARGET_GRUB2_BUILTIN_MODULES if BR2_TARGET_GRUB2_BUILTIN_MODULES != "" # legacy default "boot linux ext2 fat squash4 part_msdos part_gpt normal biosdisk" if BR2_TARGET_GRUB2_I386_PC default "linux ext2 fat part_msdos normal" if BR2_TARGET_GRUB2_ARM_UBOOT config BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC string "builtin config" default BR2_TARGET_GRUB2_BUILTIN_CONFIG if BR2_TARGET_GRUB2_BUILTIN_CONFIG != "" # legacy 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_HAS_LEGACY_BOOT if BR2_TARGET_GRUB2_HAS_EFI_BOOT comment "Options for the EFI BIOS or ARM EFI support" config BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI string "builtin modules" default BR2_TARGET_GRUB2_BUILTIN_MODULES if BR2_TARGET_GRUB2_BUILTIN_MODULES != "" # legacy default "boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop" config BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI string "builtin config" default BR2_TARGET_GRUB2_BUILTIN_CONFIG if BR2_TARGET_GRUB2_BUILTIN_CONFIG != "" # legacy 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_HAS_EFI_BOOT 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" depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS depends on !BR2_USE_WCHAR