#982244 debian-installer: please stop using genisoimage

#982244#5
Date:
2021-02-07 16:11:31 UTC
From:
To:
Dear Debian Installer Maintainers,

the debian-installer package depends on genisoimage, which as you
know, comes from cdrkit. This causes cdrkit to be marked as a key
package for the release.

As far as I can tell, debian-installer uses genisoimage only for
alpha and hppa. It _looks_ like the genisoimage invocations could
be trivially replaced with xorriso, but I do not have any systems to
test this.

Please consider doing the replacements, or at least marking
genisoimage [alpha hppa].

I think we all agree that cdrkit should better go away except for
cases where there are no replacements yet.

Many thanks,
Chris

#982244#10
Date:
2021-02-07 16:18:04 UTC
From:
To:
Hello Christian!

As discussed in the bug report, I am working on this issue. I am on
the debian-installer team. I have access to the systems in question.

I just can't do hyper-tasking and fix 1000 issues at once.

Adrian

#982244#15
Date:
2021-02-07 16:18:38 UTC
From:
To:
* Chris Hofstaedtler <zeha@debian.org> [210207 16:17]:

From 63dc1eea2e458c79dbe8439f3f437dbb4f72f92d Mon Sep 17 00:00:00 2001
From: Chris Hofstaedtler <zeha@debian.org>
Date: Sun, 7 Feb 2021 16:16:18 +0000
Subject: [PATCH] Replace genisoimage with xorriso
---
 build/config/alpha/miniiso.cfg | 2 +-
 build/config/hppa/miniiso.cfg  | 3 +--
 debian/changelog               | 3 +++
 debian/control                 | 2 --
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/build/config/alpha/miniiso.cfg b/build/config/alpha/miniiso.cfg
index d53a64da9..740c92e10 100644
--- a/build/config/alpha/miniiso.cfg
+++ b/build/config/alpha/miniiso.cfg
@@ -20,7 +20,7 @@ arch_miniiso:
 	ln -f $(BASE_TMP)netboot/initrd.gz $(TEMP_CD_TREE)/boot/root.bin
 	cp boot/alpha/aboot.conf $(TEMP_CD_TREE)/etc/
 	cp /boot/bootlx $(TEMP_CD_TREE)/boot
-	genisoimage -r -J -o $(TEMP_MINIISO) $(TEMP_CD_TREE)
+	xorriso -as mkisofs -r -J -o $(TEMP_MINIISO) $(TEMP_CD_TREE)
 	# make bootable for SRM
 	isomarkboot $(TEMP_MINIISO) /boot/bootlx

diff --git a/build/config/hppa/miniiso.cfg b/build/config/hppa/miniiso.cfg
index 5c6cde9d2..25502e6f3 100644
--- a/build/config/hppa/miniiso.cfg
+++ b/build/config/hppa/miniiso.cfg
@@ -14,8 +14,7 @@ arch_miniiso:
 	install -m 644 -D $(BASE_TMP)miniiso/vmlinuz*parisc $(TEMP_CD_TREE)/boot/vmlinux-parisc
 	install -m 644 -D $(BASE_TMP)miniiso/vmlinuz*parisc64 $(TEMP_CD_TREE)/boot/vmlinux-parisc64
 	install -m 644 -D /usr/share/palo/iplboot $(TEMP_CD_TREE)/boot/iplboot
-
-	genisoimage -r -J -o $(TEMP_MINIISO) $(TEMP_CD_TREE)
+	xorriso -as mkisofs -r -J -o $(TEMP_MINIISO) $(TEMP_CD_TREE)
 	palo -f /dev/null $(foreach kern,$(TEMP_KERNEL),-k $(kern) ) \
 		-r $(TEMP_INITRD) -b $(TEMP_CD_TREE)/boot/iplboot \
 		-c "0/linux initrd=0/ramdisk" \
diff --git a/debian/changelog b/debian/changelog
index 3ce445fac..bb835f531 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -19,6 +19,9 @@ debian-installer (20201203) UNRELEASED; urgency=medium
   * On hurd-i386, mips, and powerpc, add debian-ports-archive-keyring-udeb also
     in the monolithic images for bootstraping from debian-ports' unreleased.

+  [ Chris Hofstaedtler ]
+  * Replace genisoimage with xorriso
+
  -- Shawn Guo <shawn.guo@linaro.org>  Sat, 12 Dec 2020 12:11:26 +0000

 debian-installer (20201202) unstable; urgency=medium
diff --git a/debian/control b/debian/control
index e58e6cdd9..a153d5ddb 100644
--- a/debian/control
+++ b/debian/control
@@ -44,8 +44,6 @@ Build-Depends:
 #		them.
 #		Lintian: Yes, we know it's essential. We prefer not to
 #		count on it remaining so.
-	genisoimage [!s390 !s390x],
-#		For making mini isos.
 	genromfs [sparc sparc64],
 #		Used for creating sparc floppies (which are not built by
 #		default.)
-- 
2.30.0

#982244#22
Date:
2021-02-07 16:24:29 UTC
From:
To:
An untested change to debian-installer isn't really something we can commit.

Adrian

#982244#27
Date:
2021-02-07 17:34:08 UTC
From:
To:
* John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> [210207 17:24]:

I didn't suggest for you to commit it untested.

Chris

#982244#32
Date:
2025-09-03 23:22:23 UTC
From:
To:
Hi,

A lot of time has passed since.

I would ask you to at least restrict the dependency to these
architectures. This would get us closer to removing
genisoimage/cdrkit from testing.

Thanks,
Chris

#982244#37
Date:
2025-09-04 05:22:29 UTC
From:
To:
genisoimage is required for creating HFS-formatted ISO images as it's
not supported by xorrisofs last time I checked. We can loop in the
upstream author of libburnia and ask him.

Adrian

#982244#42
Date:
2025-09-04 07:07:03 UTC
From:
To:
Hi,

i'm the upstream developer of xorriso.

There are no plans to support HFS in xorriso. The project has a HFS+
add-on contributed by Vladimir Serbinenko (of GRUB). One may test it by
a run of grub-mkrescue when grub-efi-amd is installed.
Dunno whether this helps in any way with the powerpc architecture.

As an alternative to HFS in xorriso (i.e. in libisofs) i would propose
the method which Matthew Garrett used to bring HFS+ into Fedora ISOs
in 2012. He created a small HFS+ filesystem image with enough content
to bring execution to the files of the ISO 9660 filesystem, similar to
what the EFI system partition image does in Debian amd64 ISOs.
This HFS+ image was then brought into the ISO as El Torito boot image
and marked it in a GPT and an Apple Partition Map as partition.
See https://mjg59.dreamwidth.org/11285.html .

xorriso can do this stunt. debian-13.0.0-amd64-netinst.iso even has a
remnant from the Fedora layout by marking its EFI boot image not only
in MBR and GPT but also in an Apple Map. (What's missing is the HFS+
image which was the original reason for the Apple Map.)
One could try with a HFS image and see how far the boot process gets.
The decisive xorrisofs option is  -isohybrid-apm-hfsplus  .
See https://codesearch.debian.net/search?q=package%3Adebian-cd+apm-hfsplus


Said this, i wonder why cdrkit should be forced out of Debian.
genisoimage still is in charge of producing ISO 9660 / UDF hybrids for
video or for operating systems which cannot read large files from
ISO 9660 filesystems.
wodim is still in charge of producing exotic CD sector layouts, like
-raw96r, -raw96p, -raw16, -xa1, -xa2, -xamix.

Ok, https://tracker.debian.org/pkg/cdrkit shows 132 bugs, the oldest
being 18 years old. But if wodim users refrain from burning DVD or BD
media and genisoimage users refrain from using exotic long file names
then cdrkit is still usable for its classic purposes.
After all genisoimage still works for producing Debian powerpc ISOs.

If there show up mission critical bugs in genisoimage, then i would be
willing to help with diagnosing and developing remedies.
(But i am not willing to learn about cmake in order to fix the newest
bug:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1112771
  "cdrkit: FTBFS with CMake 4"
pointing to:
https://lists.debian.org/debian-devel/2025/04/msg00310.html
which looks like Debian maintainer's work for which i'm not qualified
anayways.)

If Debian ditches cdrkit, i expect that cdrtools zombies will become
more popular among Debian users.


Have a nice day :)

Thomas