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:
parent
ab3e2cf4bc
commit
b3dc16eecb
@ -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
|
||||
|
@ -329,18 +329,13 @@ if [ $isCD ]; then
|
||||
echo "Copying boot image ..."
|
||||
$cp "$cdBootFloppy" "$outputDir"
|
||||
|
||||
if [ $(which mkisofs) ]; then
|
||||
# build the iso image using mkisofs
|
||||
echo "Building CD image (mkisofs)..."
|
||||
mkisofs -uid 0 -gid 0 -b `basename $cdBootFloppy` -R -V "$cdLabel" -o "$cdImagePath" "$tPrefix"
|
||||
elif [ $(which genisoimage) ]; then
|
||||
# build the iso image using genisoimage
|
||||
echo "Building CD image (genisoimage)..."
|
||||
echo "WARNING: genisoimage fallback has known problems with long filenames!"
|
||||
echo " Please install mkisofs before making production releases!"
|
||||
genisoimage -r -iso-level 4 -b `basename $cdBootFloppy` -V "$cdLabel" -o "$cdImagePath" "$tPrefix"
|
||||
if [ $(which xorriso) ]; then
|
||||
# build the iso image using xorriso
|
||||
echo "Building CD image..."
|
||||
xorriso -as mkisofs -r -b `basename $cdBootFloppy` \
|
||||
-V "$cdLabel" -o "$cdImagePath" "$tPrefix"
|
||||
else
|
||||
echo "you need mkisofs (preferred) or genisoimage to create a CD image."
|
||||
echo "you need xorriso to create a CD image."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user