]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
cdrom: Build EFI-enabled ISO image
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 16 Oct 2015 21:57:18 +0000 (23:57 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 14 Jul 2018 12:43:50 +0000 (13:43 +0100)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
lfs/cdrom

index 6382034b54f4c76063e19bf0b30f8b312641a742..91d9c9b5a41d915366386e45f293bdac11e1a0a7 100644 (file)
--- a/lfs/cdrom
+++ b/lfs/cdrom
@@ -29,6 +29,27 @@ VER = ipfire
 THISAPP    = cdrom
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
+ifeq "$(MACHINE_TYPE)" "arm"
+       TAR_OPTIONS =
+else
+       TAR_OPTIONS = --lzma
+endif
+
+ISO_ARGS = -J -r -v \
+       -A "$(NAME) $(VERSION)" \
+       -V "$(NAME)_$(VERSION)" \
+       -no-emul-boot \
+       -boot-load-size 4 \
+       -boot-info-table \
+       -b boot/isolinux/isolinux.bin \
+       -c boot/isolinux/boot.catalog
+
+ifeq "$(EFI)" "1"
+       ISO_ARGS += \
+               -eltorito-alt-boot \
+               -e boot/isolinux/efiboot.img
+endif
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -89,6 +110,12 @@ ifneq "$(BUILD_PLATFORM)" "arm"
        cp /usr/lib/memtest86+/memtest.bin          /install/cdrom/boot/isolinux/memtest
        cp /usr/share/ipfire-netboot/ipxe.lkrn      /install/cdrom/boot/isolinux/netboot
        cp /usr/share/syslinux/isolinux.bin         /install/cdrom/boot/isolinux/isolinux.bin
+ifeq "$(EFI)" "1"
+       dd if=/dev/zero of=/install/cdrom/boot/isolinux/efiboot.img bs=1k count=1440
+       mkdosfs -F 12 -n "IPFIRE_EFI" /install/cdrom/boot/isolinux/efiboot.img
+
+       # XXX Some bootloader needs to be put in this image
+endif
        cp /usr/share/hwdata/pci.ids                /install/cdrom/boot/isolinux/pci.ids
        cp -vf /usr/share/syslinux/*.c32            /install/cdrom/boot/isolinux/
        sed -e "s/VERSION/$(VERSION) - Core $(CORE)/g" \
@@ -103,8 +130,12 @@ ifeq "$(BUILD_PLATFORM)" "arm"
        cd /install/cdrom && mkisofs -J -r -V "$(NAME)_$(VERSION)" \
                . > /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso
 else
-       cd /install/cdrom && mkisofs -J -r -V "$(NAME)_$(VERSION)" \
-           -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table \
-           -c boot/isolinux/boot.catalog . > /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso
+       cd /install/cdrom && mkisofs $(ISO_ARGS) \
+               -o /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso .
+
+ifeq "$(EFI)" "1"
+       isohybrid --uefi /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso
+else
        isohybrid /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso
 endif
+endif