1*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_ARCH_SUPPORTS 2*4882a593Smuzhiyun bool 3*4882a593Smuzhiyun default y if BR2_i386 4*4882a593Smuzhiyun default y if BR2_x86_64 5*4882a593Smuzhiyun default y if BR2_arm 6*4882a593Smuzhiyun default y if BR2_aarch64 7*4882a593Smuzhiyun depends on BR2_USE_MMU 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2 10*4882a593Smuzhiyun bool "grub2" 11*4882a593Smuzhiyun depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS 12*4882a593Smuzhiyun depends on BR2_USE_WCHAR 13*4882a593Smuzhiyun select BR2_TARGET_GRUB2_I386_PC if \ 14*4882a593Smuzhiyun !BR2_TARGET_GRUB2_HAS_PTF && \ 15*4882a593Smuzhiyun (BR2_i386 || BR2_x86_64) 16*4882a593Smuzhiyun select BR2_TARGET_GRUB2_ARM_UBOOT if \ 17*4882a593Smuzhiyun !BR2_TARGET_GRUB2_HAS_PTF && \ 18*4882a593Smuzhiyun BR2_arm 19*4882a593Smuzhiyun select BR2_TARGET_GRUB2_ARM64_EFI if BR2_aarch64 20*4882a593Smuzhiyun help 21*4882a593Smuzhiyun GNU GRUB is a Multiboot boot loader. It was derived from 22*4882a593Smuzhiyun GRUB, the GRand Unified Bootloader, which was originally 23*4882a593Smuzhiyun designed and implemented by Erich Stefan Boleyn. GRUB 2 has 24*4882a593Smuzhiyun replaced what was formerly known as GRUB (i.e. version 25*4882a593Smuzhiyun 0.9x), which has, in turn, become GRUB Legacy. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun Amongst others, GRUB2 offers EFI support, which GRUB Legacy 28*4882a593Smuzhiyun doesn't provide. 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun For additional notes on using Grub 2 with Buildroot, see 31*4882a593Smuzhiyun boot/grub2/readme.txt 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun http://www.gnu.org/software/grub/ 34*4882a593Smuzhiyun 35*4882a593Smuzhiyunif BR2_TARGET_GRUB2 36*4882a593Smuzhiyun 37*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_HAS_LEGACY_BOOT 38*4882a593Smuzhiyun bool 39*4882a593Smuzhiyun 40*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_HAS_EFI_BOOT 41*4882a593Smuzhiyun bool 42*4882a593Smuzhiyun 43*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_HAS_PTF 44*4882a593Smuzhiyun bool 45*4882a593Smuzhiyun 46*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_I386_PC 47*4882a593Smuzhiyun bool "i386-pc" 48*4882a593Smuzhiyun depends on BR2_i386 || BR2_x86_64 49*4882a593Smuzhiyun select BR2_TARGET_GRUB2_HAS_LEGACY_BOOT 50*4882a593Smuzhiyun help 51*4882a593Smuzhiyun Select this option if the platform you're targetting is a 52*4882a593Smuzhiyun x86 or x86-64 legacy BIOS based platform. 53*4882a593Smuzhiyun 54*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_I386_EFI 55*4882a593Smuzhiyun bool "i386-efi" 56*4882a593Smuzhiyun depends on BR2_i386 || BR2_x86_64 57*4882a593Smuzhiyun select BR2_TARGET_GRUB2_HAS_PTF 58*4882a593Smuzhiyun select BR2_TARGET_GRUB2_HAS_EFI_BOOT 59*4882a593Smuzhiyun help 60*4882a593Smuzhiyun Select this option if the platform you're targetting has a 61*4882a593Smuzhiyun 32 bits EFI BIOS. Note that some x86-64 platforms use a 32 62*4882a593Smuzhiyun bits EFI BIOS, and this option should be used in this case. 63*4882a593Smuzhiyun 64*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_X86_64_EFI 65*4882a593Smuzhiyun bool "x86-64-efi" 66*4882a593Smuzhiyun depends on BR2_x86_64 67*4882a593Smuzhiyun select BR2_TARGET_GRUB2_HAS_PTF 68*4882a593Smuzhiyun select BR2_TARGET_GRUB2_HAS_EFI_BOOT 69*4882a593Smuzhiyun help 70*4882a593Smuzhiyun Select this option if the platform you're targetting has a 71*4882a593Smuzhiyun 64 bits EFI BIOS. 72*4882a593Smuzhiyun 73*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_ARM_UBOOT 74*4882a593Smuzhiyun bool "arm-uboot" 75*4882a593Smuzhiyun depends on BR2_arm 76*4882a593Smuzhiyun select BR2_TARGET_GRUB2_HAS_LEGACY_BOOT 77*4882a593Smuzhiyun help 78*4882a593Smuzhiyun Select this option if the platform you're targetting is an 79*4882a593Smuzhiyun ARM u-boot platform, and you want to boot Grub 2 as an u-boot 80*4882a593Smuzhiyun compatible image. 81*4882a593Smuzhiyun 82*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_ARM_EFI 83*4882a593Smuzhiyun bool "arm-efi" 84*4882a593Smuzhiyun depends on BR2_arm 85*4882a593Smuzhiyun select BR2_TARGET_GRUB2_HAS_PTF 86*4882a593Smuzhiyun select BR2_TARGET_GRUB2_HAS_EFI_BOOT 87*4882a593Smuzhiyun help 88*4882a593Smuzhiyun Select this option if the platform you're targetting is an 89*4882a593Smuzhiyun ARM platform and you want to boot Grub 2 as an EFI 90*4882a593Smuzhiyun application. 91*4882a593Smuzhiyun 92*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_ARM64_EFI 93*4882a593Smuzhiyun bool "arm64-efi" 94*4882a593Smuzhiyun depends on BR2_aarch64 95*4882a593Smuzhiyun select BR2_TARGET_GRUB2_HAS_EFI_BOOT 96*4882a593Smuzhiyun help 97*4882a593Smuzhiyun Select this option if the platform you're targetting is an 98*4882a593Smuzhiyun Aarch64 platform and you want to boot Grub 2 as an EFI 99*4882a593Smuzhiyun application. 100*4882a593Smuzhiyun 101*4882a593Smuzhiyunif BR2_TARGET_GRUB2_HAS_LEGACY_BOOT 102*4882a593Smuzhiyun 103*4882a593Smuzhiyuncomment "Options for the x86 legacy BIOS or ARM U-Boot support" 104*4882a593Smuzhiyun 105*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_BOOT_PARTITION 106*4882a593Smuzhiyun string "boot partition" 107*4882a593Smuzhiyun default "hd0,msdos1" 108*4882a593Smuzhiyun help 109*4882a593Smuzhiyun Specify the partition where the /boot/grub/grub.cfg file is 110*4882a593Smuzhiyun located. Use 'hd0,msdos1' for the first partition of the 111*4882a593Smuzhiyun first disk if using a legacy partition table, or 'hd0,gpt1' 112*4882a593Smuzhiyun if using GPT partition table. 113*4882a593Smuzhiyun 114*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_BUILTIN_MODULES_PC 115*4882a593Smuzhiyun string "builtin modules" 116*4882a593Smuzhiyun default BR2_TARGET_GRUB2_BUILTIN_MODULES if BR2_TARGET_GRUB2_BUILTIN_MODULES != "" # legacy 117*4882a593Smuzhiyun default "boot linux ext2 fat squash4 part_msdos part_gpt normal biosdisk" if BR2_TARGET_GRUB2_I386_PC 118*4882a593Smuzhiyun default "linux ext2 fat part_msdos normal" if BR2_TARGET_GRUB2_ARM_UBOOT 119*4882a593Smuzhiyun 120*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_BUILTIN_CONFIG_PC 121*4882a593Smuzhiyun string "builtin config" 122*4882a593Smuzhiyun default BR2_TARGET_GRUB2_BUILTIN_CONFIG if BR2_TARGET_GRUB2_BUILTIN_CONFIG != "" # legacy 123*4882a593Smuzhiyun help 124*4882a593Smuzhiyun Path to a Grub 2 configuration file that will be embedded 125*4882a593Smuzhiyun into the Grub image itself. This allows to set the root 126*4882a593Smuzhiyun device and other configuration parameters, but however menu 127*4882a593Smuzhiyun entries cannot be described in this embedded configuration. 128*4882a593Smuzhiyun 129*4882a593Smuzhiyunendif # BR2_TARGET_GRUB2_HAS_LEGACY_BOOT 130*4882a593Smuzhiyun 131*4882a593Smuzhiyunif BR2_TARGET_GRUB2_HAS_EFI_BOOT 132*4882a593Smuzhiyun 133*4882a593Smuzhiyuncomment "Options for the EFI BIOS or ARM EFI support" 134*4882a593Smuzhiyun 135*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI 136*4882a593Smuzhiyun string "builtin modules" 137*4882a593Smuzhiyun default BR2_TARGET_GRUB2_BUILTIN_MODULES if BR2_TARGET_GRUB2_BUILTIN_MODULES != "" # legacy 138*4882a593Smuzhiyun default "boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop" 139*4882a593Smuzhiyun 140*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI 141*4882a593Smuzhiyun string "builtin config" 142*4882a593Smuzhiyun default BR2_TARGET_GRUB2_BUILTIN_CONFIG if BR2_TARGET_GRUB2_BUILTIN_CONFIG != "" # legacy 143*4882a593Smuzhiyun help 144*4882a593Smuzhiyun Path to a Grub 2 configuration file that will be embedded 145*4882a593Smuzhiyun into the Grub image itself. This allows to set the root 146*4882a593Smuzhiyun device and other configuration parameters, but however menu 147*4882a593Smuzhiyun entries cannot be described in this embedded configuration. 148*4882a593Smuzhiyun 149*4882a593Smuzhiyunendif # BR2_TARGET_GRUB2_HAS_EFI_BOOT 150*4882a593Smuzhiyun 151*4882a593Smuzhiyunconfig BR2_TARGET_GRUB2_INSTALL_TOOLS 152*4882a593Smuzhiyun bool "install tools" 153*4882a593Smuzhiyun help 154*4882a593Smuzhiyun Install support tools to interact with GNU GRUB Multiboot 155*4882a593Smuzhiyun boot loader. 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun This will also install the Grub 2 loadable modules to the 158*4882a593Smuzhiyun target. 159*4882a593Smuzhiyun 160*4882a593Smuzhiyunendif # BR2_TARGET_GRUB2 161*4882a593Smuzhiyun 162*4882a593Smuzhiyuncomment "grub2 needs a toolchain w/ wchar" 163*4882a593Smuzhiyun depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS 164*4882a593Smuzhiyun depends on !BR2_USE_WCHAR 165