diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2015-06-09 00:21:43 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2015-06-14 23:21:27 +0200 |
commit | a399f5ebbe990899c51beea95b1764047d435d22 (patch) | |
tree | 21f931e2d0dd3cc5248a0e809042112f69e30173 /fs/iso9660 | |
parent | 1c5a097b7e044170d040b6cd582a80c93c90f1c9 (diff) | |
download | buildroot-a399f5ebbe990899c51beea95b1764047d435d22.tar.gz buildroot-a399f5ebbe990899c51beea95b1764047d435d22.zip |
fs/iso9660: introduce bootloader choice
In preparation to the introduction for the support of other
bootloaders than Grub, this commit adds a "choice ... endchoice" block
with just the Grub option, and adds some conditionals in the
iso9660.mk code for the Grub specific parts.
Of course, for now those conditionals are a bit useless with just this
commit, but they become useful with the followup commits.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Diffstat (limited to 'fs/iso9660')
-rw-r--r-- | fs/iso9660/Config.in | 14 | ||||
-rw-r--r-- | fs/iso9660/iso9660.mk | 20 |
2 files changed, 26 insertions, 8 deletions
diff --git a/fs/iso9660/Config.in b/fs/iso9660/Config.in index e300fdb454..f5e5f32349 100644 --- a/fs/iso9660/Config.in +++ b/fs/iso9660/Config.in @@ -4,8 +4,6 @@ config BR2_TARGET_ROOTFS_ISO9660 depends on BR2_LINUX_KERNEL select BR2_LINUX_KERNEL_INSTALL_TARGET \ if (!BR2_TARGET_ROOTFS_ISO9660_INITRD && !BR2_TARGET_ROOTFS_INITRAMFS) - select BR2_TARGET_GRUB - select BR2_TARGET_GRUB_FS_ISO9660 help Build a bootable ISO9660 image. By default, the root filesystem is directly packed as the ISO9660 filesystem, @@ -22,9 +20,19 @@ config BR2_TARGET_ROOTFS_ISO9660 if BR2_TARGET_ROOTFS_ISO9660 +choice + prompt "Bootloader" + +config BR2_TARGET_ROOTFS_ISO9660_GRUB + bool "grub" + select BR2_TARGET_GRUB + select BR2_TARGET_GRUB_FS_ISO9660 + +endchoice + config BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU string "Boot menu.lst file" - default "fs/iso9660/menu.lst" + default "fs/iso9660/menu.lst" if BR2_TARGET_ROOTFS_ISO9660_GRUB help Use this option to provide a custom Grub menu.lst file. Note that the strings __KERNEL_PATH__ and __INITRD_PATH__ will diff --git a/fs/iso9660/iso9660.mk b/fs/iso9660/iso9660.mk index 2e695b0cae..6a1b214b00 100644 --- a/fs/iso9660/iso9660.mk +++ b/fs/iso9660/iso9660.mk @@ -24,7 +24,7 @@ ROOTFS_ISO9660_BOOT_MENU = $(call qstrip,$(BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU)) -ROOTFS_ISO9660_DEPENDENCIES = grub host-cdrkit host-fakeroot linux +ROOTFS_ISO9660_DEPENDENCIES = host-cdrkit host-fakeroot linux ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y) ROOTFS_ISO9660_USE_INITRD = YES @@ -44,28 +44,36 @@ else ROOTFS_ISO9660_TARGET_DIR = $(TARGET_DIR) endif +ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB),y) +ROOTFS_ISO9660_DEPENDENCIES += grub ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \ $(ROOTFS_ISO9660_TARGET_DIR)/boot/grub/menu.lst ROOTFS_ISO9660_BOOT_IMAGE = boot/grub/stage2_eltorito - -define ROOTFS_ISO9660_PREPARATION +define ROOTFS_ISO9660_INSTALL_BOOTLOADER $(INSTALL) -D -m 0644 $(GRUB_DIR)/stage2/stage2_eltorito \ $(ROOTFS_ISO9660_TARGET_DIR)/boot/grub/stage2_eltorito +endef +endif + +define ROOTFS_ISO9660_PREPARATION $(INSTALL) -D -m 0644 $(ROOTFS_ISO9660_BOOT_MENU) \ $(ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH) $(SED) "s%__KERNEL_PATH__%/boot/$(LINUX_IMAGE_NAME)%" \ $(ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH) + $(ROOTFS_ISO9660_INSTALL_BOOTLOADER) endef ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_PREPARATION -# Splash screen disabling +# Grub splash screen disabling +ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB),y) ifeq ($(BR2_TARGET_GRUB_SPLASH),) define ROOTFS_ISO9660_DISABLE_SPLASHSCREEN $(SED) '/^splashimage/d' $(ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH) endef ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_DISABLE_SPLASHSCREEN endif +endif define ROOTFS_ISO9660_DISABLE_EXTERNAL_INITRD $(SED) '/__INITRD_PATH__/d' $(ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH) @@ -73,7 +81,8 @@ endef ifeq ($(ROOTFS_ISO9660_USE_INITRD),YES) -# Copy splashscreen to temporary filesystem +# Copy Grub splashscreen to temporary filesystem +ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB),y) ifeq ($(BR2_TARGET_GRUB_SPLASH),y) define ROOTFS_ISO9660_INSTALL_SPLASHSCREEN $(INSTALL) -D -m 0644 $(TARGET_DIR)/boot/grub/splash.xpm.gz \ @@ -81,6 +90,7 @@ define ROOTFS_ISO9660_INSTALL_SPLASHSCREEN endef ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_INSTALL_SPLASHSCREEN endif +endif # Copy the kernel to temporary filesystem define ROOTFS_ISO9660_COPY_KERNEL |