buildrootschalter/boot/grub/Config.in
Thomas Petazzoni 4e0257bb90 grub: replace string option for filesystem selection by booleans
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>
2013-12-29 12:17:46 +01:00

199 lines
4.2 KiB
Plaintext

config BR2_TARGET_GRUB
bool "grub"
depends on BR2_i386 || BR2_x86_64
select BR2_HOSTARCH_NEEDS_IA32_COMPILER
help
The GRand Unified Bootloader for x86 systems.
Some notes on creating a disk image with Grub installed:
1. Create an empty disk image
dd if=/dev/zero of=disk.img bs=1M count=32
2. Create one primary partition
cfdisk -h 16 -s 63 disk.img
3. Set up a loop device
sudo losetup -f disk.img
4. Set up loop devices per partitions
sudo partx -a /dev/loop0
5. Create the ext2 filesystem
sudo mkfs.ext2 -L root /dev/loop0p1
6. Mount the filesystem
mount /dev/loop0p1 /mnt
7. Extract the root filesystem
sudo tar -C /mnt -xf output/images/rootfs.tar
8. Unmount the filesystem, clean up loop device
sudo umount /mnt
sudo partx -d /dev/loop0
sudo losetup -d /dev/loop0
9. Install grub
output/host/sbin/grub --device-map=/dev/null
and in the grub shell, enter:
device (hd0) disk.img
geometry (hd0) <cylinders> 16 63
root (hd0,0)
setup (hd0)
10. Image is ready
Can be tested in Qemu, with:
qemu-system-{i386,x86-64} -hda disk.img
if BR2_TARGET_GRUB
config BR2_TARGET_GRUB_SPLASH
bool "Splashimage support"
help
Add support for splashimage.
A splashimage is a 14-color indexed .xpm picture which
is displayed as background for the grub menu.
config BR2_TARGET_GRUB_DISKLESS
bool "diskless support"
help
enable diskless support
menu "filesystem drivers"
config BR2_TARGET_GRUB_FS_EXT2
bool "ext2"
default y
help
Enable support for the ext2 filesystem in Grub
config BR2_TARGET_GRUB_FS_FAT
bool "FAT"
default y
help
Enable support for the FAT filesystem in Grub.
config BR2_TARGET_GRUB_FS_ISO9660
bool "ISO9660"
help
Enable support for the ISO9660 filesystem in Grub.
config BR2_TARGET_GRUB_FS_JFS
bool "IBM JFS"
help
Enable support for the JFS filesystem in Grub.
config BR2_TARGET_GRUB_FS_REISERFS
bool "ReiserFS"
help
Enable support for the ReiserFS filesystem in Grub.
config BR2_TARGET_GRUB_FS_XFS
bool "SGI XFS"
help
Enable support for the XFS filesystem in Grub.
endmenu
menu "network drivers"
config BR2_TARGET_GRUB_3c595
bool "3Com595 driver"
help
enable 3Com595 driver
config BR2_TARGET_GRUB_3c90x
bool "3Com90x driver"
help
enable 3Com90x driver
config BR2_TARGET_GRUB_davicom
bool "Davicom driver"
help
enable Davicom driver
config BR2_TARGET_GRUB_e1000
bool "Etherexpress Pro/1000 driver"
help
enable Etherexpress Pro/1000 driver
config BR2_TARGET_GRUB_eepro100
bool "Etherexpress Pro/100 driver"
help
enable Etherexpress Pro/100 driver
config BR2_TARGET_GRUB_epic100
bool "SMC 83c170 EPIC/100 driver"
help
enable SMC 83c170 EPIC/100 driver
config BR2_TARGET_GRUB_forcedeth
bool "Nvidia Geforce driver"
help
enable Nvidia Geforce driver
config BR2_TARGET_GRUB_natsemi
bool "NatSemi DP8381x driver"
help
enable NatSemi DP8381x driver
config BR2_TARGET_GRUB_ns83820
bool "NS83820 driver"
help
enable NS83820 driver
config BR2_TARGET_GRUB_ns8390
bool "NE2000 PCI driver"
help
enable NE2000 PCI driver
config BR2_TARGET_GRUB_pcnet32
bool "AMD Lance/PCI PCNet/32 driver"
help
enable AMD Lance/PCI PCNet/32 driver
config BR2_TARGET_GRUB_pnic
bool "Bochs Pseudo Nic driver"
help
enable Bochs Pseudo Nic driver
config BR2_TARGET_GRUB_rtl8139
bool "Realtek 8139 driver"
help
enable Realtek 8139 driver
config BR2_TARGET_GRUB_r8169
bool "Realtek 8169 driver"
help
enable Realtek 8169 driver
config BR2_TARGET_GRUB_sis900
bool "SIS 900 and SIS 7016 driver"
help
enable SIS 900 and SIS 7016 driver
config BR2_TARGET_GRUB_tg3
bool "Broadcom Tigon3 driver"
help
enable Broadcom Tigon3 driver
config BR2_TARGET_GRUB_tulip
bool "Tulip driver"
help
enable Tulip driver
config BR2_TARGET_GRUB_tlan
bool "TI ThunderLAN driver"
help
enable TI ThunderLAN driver
config BR2_TARGET_GRUB_undi
bool "PXE UNDI driver"
help
enable PXE UNDI driver
config BR2_TARGET_GRUB_via_rhine
bool "Rhine-I/II driver"
help
enable Rhine-I/II driver
config BR2_TARGET_GRUB_w89c840
bool "Winbond W89c840 driver"
help
enable Winbond W89c840 driver
endmenu
endif # BR2_TARGET_GRUB