build: Use xorriso instead of mkisofs or genisoimage.

It seems that not all Linux distributions ship an EFI-enabled
cdrtools (i.e. mkisofs takes -e option), Arch being one that
does not.

So instead, we now use xorriso universally, which is
as (or more, in most cases) widely available, and supports
emulating mkisofs with the EFI commands universally.

This also has the added benefit that we can drop genisoimage
support altogether.
This commit is contained in:
Augustin Cavalier
2019-01-08 19:31:15 -05:00
parent ab3e2cf4bc
commit b3dc16eecb
2 changed files with 10 additions and 18 deletions
+4 -7
View File
@@ -1565,13 +1565,14 @@ rule BuildCDBootImage image : bootfloppy : bootefi : extrafiles
actions BuildCDBootImageMBR
{
$(RM) $(<)
mkisofs -b $(BOOTIMG) -r -J -V bootimg -o $(<) $(>[1]) $(>[2-])
xorriso -as mkisofs -b $(BOOTIMG) -r -J -V bootimg -o $(<) $(>[1]) $(>[2-])
}
actions BuildCDBootImageEFI
{
$(RM) $(<)
mkisofs -b $(BOOTIMG) -eltorito-alt-boot -no-emul-boot -e $(BOOTEFI) -r -J -V bootimg -o $(<) $(>[1]) $(>[2]) $(>[3-])
xorriso -as mkisofs -b $(BOOTIMG) -eltorito-alt-boot -no-emul-boot -e $(BOOTEFI) \
-r -J -V bootimg -o $(<) $(>[1]) $(>[2]) $(>[3-])
}
@@ -1605,11 +1606,7 @@ actions BuildCDBootPPCImage1 bind MAPS
# Extras (readme files, etc)
cp $(>[4]) $(HAIKU_OUTPUT_DIR)/cd/
mkisofs -v -hfs -part -map $(MAPS) -no-desktop -hfs-volid bootimg \
-V bootimg -hfs-bless $(HAIKU_OUTPUT_DIR)/cd/boot -prep-boot \
boot/haikuloader.xcf -r -o $(<) $(HAIKU_OUTPUT_DIR)/cd \
|| \
genisoimage -v -hfs -part -map $(MAPS) -no-desktop -hfs-volid bootimg \
xorriso -as mkisofs -v -hfs -part -map $(MAPS) -no-desktop -hfs-volid bootimg \
-V bootimg -hfs-bless $(HAIKU_OUTPUT_DIR)/cd/boot -prep-boot \
boot/haikuloader.xcf -r -o $(<) $(HAIKU_OUTPUT_DIR)/cd
$(RM) -r $(HAIKU_OUTPUT_DIR)/cd