In 1cece2813b (grub: add option to
configure the list of supported filesystems), we introduced the
BR2_TARGET_GRUB_FS_SUPPORT option which allows to provide a
space-separated list of filesystems that Grub should support.
However, it turns out that this not very practical, because the
iso9660 filesystem logic in Buildroot should force the ISO9660 support
to be enabled in Grub, which is not easy to do with a string option.
Therefore, this patch changes this option from a string option to a
list of boolean option, one per filesystem supported.
A few useful details:
- Since Grub legacy is dead, the list of filesystem, and therefore
the number of options, will not grow.
- We have only added options for filesystems that are likely to be
used in an embedded Linux context. Filesystems such as VSTAfs,
Minix, UFS2 or FFS2 are not supported.
- There is no need to add some Config.in.legacy support for the
previous option, since it was added after Buildroot 2013.11, and
was therefore never part of an official Buildroot release.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
In preparation to a change to the configuration options of the
supported filesystem in Grub, enclose the network driver options in a
sub-menu.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
These instructions should probaby go in the Buildroot manual, but at
this point, it's not clear in which section they should go. So in
order to not loose those notes, add them to the Grub help text.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Grub can be configured to enable or disable the filesystems supported
in the stage 2. In addition, there are filesystem specific stage
1.5. In order to save space and build time, we provide a new option
that allows to give a space-separated list of filesystems that Grub
should support.
We default to support FAT and ext2, since most of the other
filesystems are fairly unlikely to be used.
We use this option to:
1) Pass --enable-<fs> or --disable-<fs>, which enables/disables the
support of <fs> in Grub stage 2.
2) Install only the stage 1.5 that correspond to the selected
filesystems.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit brings a number of improvements to the grub packaging:
* It builds grub with the host compiler, which is needed so that we
can build a 32 bits grub even if the target architecture is
x86-64. To make sure we have a host compiler capable of generating
32 bits code, grub now selects the BR2_HOSTARCH_NEEDS_IA32_COMPILER
option. Building with the host compiler is done by cheating and
passing $(HOST_CONFIGURE_OPTS) in GRUB_CONF_ENV.
* Some additional CFLAGS are added to make sure grub builds properly
with modern compilers (-O0, --build-id=none, -fno-stack-protector).
* Removal of the GRUB_INSTALL_STAGING_CMDS which were not used, since
GRUB_INSTALL_STAGING was not set to YES.
* Installation of the "grub" binary in $(HOST_DIR) instead of
$(TARGET_DIR) since it's actually used only on the host to install
grub into an image or device.
* Removal of the grub uninstall commands, since they are generally
considered useless.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Sub options are indented anyway, so no need for empty menus / force people
to enter sub menus to see configuration options.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>