aboutsummaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-06-09 00:21:46 +0200
committerGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-06-14 23:24:52 +0200
commit5bac06e8810eb86e7bddc771fda68f0c59a3c3fa (patch)
tree6243352f59da409cb335605389a5845b7a67f85a /fs
parentf9ac784ee68057715ce2f61ad8156228b4e0ddf4 (diff)
downloadbuildroot-5bac06e8810eb86e7bddc771fda68f0c59a3c3fa.tar.gz
buildroot-5bac06e8810eb86e7bddc771fda68f0c59a3c3fa.tar.bz2
fs/iso9660: add hybrid image support
This commit adds a new option, which allows, when isolinux is used as the bootloader, to generate an "hybrid" ISO image. Such images can either be booted from CD-ROM or from USB keys. It simply uses the isohybrid tool provided by syslinux. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Diffstat (limited to 'fs')
-rw-r--r--fs/iso9660/Config.in9
-rw-r--r--fs/iso9660/iso9660.mk8
2 files changed, 17 insertions, 0 deletions
diff --git a/fs/iso9660/Config.in b/fs/iso9660/Config.in
index 97925b9af6..6f057eaba8 100644
--- a/fs/iso9660/Config.in
+++ b/fs/iso9660/Config.in
@@ -58,6 +58,15 @@ config BR2_TARGET_ROOTFS_ISO9660_INITRD
contain a kernel image, an initrd image (unless an initramfs
linked into the kernel is used) and the bootloader.
+config BR2_TARGET_ROOTFS_ISO9660_HYBRID
+ bool "Build hybrid image"
+ depends on BR2_TARGET_ROOTFS_ISO9660_ISOLINUX
+ help
+ Enable this option to build an hybrid image, i.e an image
+ which can either be booted from a CD-ROM or from a device
+ which BIOS considers a hard disk or ZIP disk, e.g. a USB key
+ or similar.
+
endif
comment "iso image needs a Linux kernel and one of grub or isolinux to be built"
diff --git a/fs/iso9660/iso9660.mk b/fs/iso9660/iso9660.mk
index 588e07bf83..4f4abea9ff 100644
--- a/fs/iso9660/iso9660.mk
+++ b/fs/iso9660/iso9660.mk
@@ -140,4 +140,12 @@ define ROOTFS_ISO9660_CMD
-o $@ $(ROOTFS_ISO9660_TARGET_DIR)
endef
+ifeq ($(BR2_TARGET_ROOTFS_ISO9660_HYBRID),y)
+define ROOTFS_ISO9660_GEN_HYBRID
+ $(HOST_DIR)/usr/bin/isohybrid -t 0x96 $@
+endef
+
+ROOTFS_ISO9660_POST_GEN_HOOKS += ROOTFS_ISO9660_GEN_HYBRID
+endif
+
$(eval $(call ROOTFS_TARGET,iso9660))