xref: /OK3568_Linux_fs/buildroot/boot/grub2/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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