|
@@ -57,7 +57,14 @@ else
|
|
|
ROOTFS_ISO9660_TMP_TARGET_DIR = $(TARGET_DIR)
|
|
|
endif
|
|
|
|
|
|
-ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB2),y)
|
|
|
+ifeq ($(BR2_REPRODUCIBLE),y)
|
|
|
+ROOTFS_ISO9660_VFAT_OPTS = --invariant
|
|
|
+ROOTFS_ISO9660_FIX_TIME = touch -d @$(SOURCE_DATE_EPOCH)
|
|
|
+else
|
|
|
+ROOTFS_ISO9660_FIX_TIME = @:
|
|
|
+endif
|
|
|
+
|
|
|
+ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB2)$(BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER),yy)
|
|
|
ROOTFS_ISO9660_DEPENDENCIES += grub2
|
|
|
ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \
|
|
|
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub.cfg
|
|
@@ -66,6 +73,23 @@ define ROOTFS_ISO9660_INSTALL_BOOTLOADER
|
|
|
$(INSTALL) -D -m 0644 $(BINARIES_DIR)/grub-eltorito.img \
|
|
|
$(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub-eltorito.img
|
|
|
endef
|
|
|
+else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB2)$(BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER),yy)
|
|
|
+ROOTFS_ISO9660_DEPENDENCIES += grub2 host-dosfstools host-mtools
|
|
|
+ROOTFS_ISO9660_EFI_PARTITION = boot/fat.efi
|
|
|
+ROOTFS_ISO9660_EFI_PARTITION_PATH = $(ROOTFS_ISO9660_TMP_TARGET_DIR)/$(ROOTFS_ISO9660_EFI_PARTITION)
|
|
|
+ROOTFS_ISO9660_EFI_PARTITION_CONTENT = $(BINARIES_DIR)/efi-part
|
|
|
+ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \
|
|
|
+ $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub.cfg
|
|
|
+define ROOTFS_ISO9660_INSTALL_BOOTLOADER
|
|
|
+ rm -rf $(ROOTFS_ISO9660_EFI_PARTITION_PATH)
|
|
|
+ mkdir -p $(dir $(ROOTFS_ISO9660_EFI_PARTITION_PATH))
|
|
|
+ dd if=/dev/zero of=$(ROOTFS_ISO9660_EFI_PARTITION_PATH) bs=1M count=1
|
|
|
+ $(HOST_DIR)/sbin/mkfs.vfat $(ROOTFS_ISO9660_VFAT_OPTS) $(ROOTFS_ISO9660_EFI_PARTITION_PATH)
|
|
|
+ $(ROOTFS_ISO9660_FIX_TIME) $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/*
|
|
|
+ $(HOST_DIR)/bin/mcopy -p -m -i $(ROOTFS_ISO9660_EFI_PARTITION_PATH) -s \
|
|
|
+ $(ROOTFS_ISO9660_EFI_PARTITION_CONTENT)/* ::/
|
|
|
+ $(ROOTFS_ISO9660_FIX_TIME) $(ROOTFS_ISO9660_EFI_PARTITION_PATH)
|
|
|
+endef
|
|
|
else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_ISOLINUX),y)
|
|
|
ROOTFS_ISO9660_DEPENDENCIES += syslinux
|
|
|
ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \
|
|
@@ -128,9 +152,25 @@ ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_DISABLE_EXTERNAL_INITRD
|
|
|
|
|
|
endif # ROOTFS_ISO9660_USE_INITRD
|
|
|
|
|
|
+ROOTFS_ISO9660_OPTS += \
|
|
|
+ -J \
|
|
|
+ -R \
|
|
|
+ -no-emul-boot
|
|
|
+
|
|
|
+ifeq ($(BR2_TARGET_ROOTFS_ISO9660_BIOS_BOOTLOADER),y)
|
|
|
+ROOTFS_ISO9660_OPTS += \
|
|
|
+ -boot-load-size 4 \
|
|
|
+ -boot-info-table \
|
|
|
+ -b $(ROOTFS_ISO9660_BOOT_IMAGE)
|
|
|
+endif
|
|
|
+
|
|
|
+ifeq ($(BR2_TARGET_ROOTFS_ISO9660_EFI_BOOTLOADER),y)
|
|
|
+ROOTFS_ISO9660_OPTS += \
|
|
|
+ --efi-boot $(ROOTFS_ISO9660_EFI_PARTITION)
|
|
|
+endif
|
|
|
+
|
|
|
define ROOTFS_ISO9660_CMD
|
|
|
- $(HOST_DIR)/bin/xorriso -as mkisofs -J -R -b $(ROOTFS_ISO9660_BOOT_IMAGE) \
|
|
|
- -no-emul-boot -boot-load-size 4 -boot-info-table \
|
|
|
+ $(HOST_DIR)/bin/xorriso -as mkisofs \
|
|
|
$(ROOTFS_ISO9660_OPTS) \
|
|
|
-o $@ $(ROOTFS_ISO9660_TMP_TARGET_DIR)
|
|
|
endef
|