Hi, although it was not the final solution of this bug report, i beefed up my merger script for Debian ISOs so that it can combine an arbitrary number of ISOs (within the limits of /dev/loop* and mount(8)). Maybe it can serve as answer for the next time this wish comes up.
The script is uploaded as https://dev.lovelyhq.com/libburnia/libisoburn/raw/branch/master/test/merge_debian_isos with GPG detached signature https://dev.lovelyhq.com/libburnia/libisoburn/raw/branch/master/test/merge_debian_isos.sig for checking by gpg --verify. After download, the user probably has to give x-permissions to the script. When run without arguments it gives this help text: ----------------------------------------------------------------------- usage: merge_debian_isos result_iso mount_template iso1 iso2 [... isoN] Mounts by sudo the ISO 9660 images iso1 to isoN at directories mount_template1 to mount_templateN, if not already mounted that way. Then the Debian pools and package lists get merged and a new ISO 9660 image result_iso is produced, which must not yet exist. If iso1 is bootable then the new image will be bootable by the same means. At least the parent directory of mount_template must already exist. All arguments must be single words without using quotation marks. None of the isoN must be equal to another isoM. This script creates and finally removes the following temporary tree and files which must not yet exist in the current working directory: ./merged_dists , ./merged_md5sum.txt , ./merged_REAMDE.txt ./temp_file Further it creates and finally removes directories mount_template* if they are needed and do not exist when the script starts. It depends on the following programs: awk, basename, bash, cat, chmod, cp, dirname, expr, fgrep, grep, gunzip, gzip, head, ls, mkdir, mount, mv, rm, rmdir, sha256sum, sed, sort, stat, sudo, umount, xorriso Recommended are: md5sum, sha1sum, sha512sum Exported non-empty variable MERGE_DATE enforces a particular date string in the text which gets prepended to /README.txt . Exported non-empty variable MERGE_FOR_DIST enforces the use of a particular directory in /dists of iso1. Normally only one such directory is found and thus no need to set MERGE_FOR_DIST. Exported non-empty variable XORRISO overrides command xorriso. This may be needed if installed xorriso is older than 1.4.2. Example using GNU xorriso-1.5.4 instead of /usr/bin/xorriso: export XORRISO=$HOME/xorriso-1.5.4/xorriso/xorriso mkdir merge_mount merge_debian_isos merged.iso merge_mount/iso \ debian-11.2.0-amd64-DVD-[12345].iso rmdir merge_mount ----------------------------------------------------------------------- The old script merge_2_debian_isos still exists but will refuse to run, unless the user removes an exit command near the start of the script. In its downloaded form it tells the user: ----------------------------------------------------------------------- THIS SCRIPT IS DEPRECATED ! USE ITS SUCCESSOR: merge_debian_isos The script merge_2_debian_isos still exists only because it was mentioned in Debian bug 1011343. The successor can merge more than two ISOs. So do not edit this script to remove this warning and the 'exit 7' line. ----------------------------------------------------------------------- I tested the new script by merging the first three ISOs of debian-11.2.0-amd64-DVD-*.iso and installing Debian from the result into a qemu-system-x86_64 VM with 4 GB RAM and 128 GB system disk. After the installation was completed, i successfuly installed packages which are in DVDs 1, 2, and 3 and were not installed yet: apt-get install apt-file apt-get install lame apt-get install xorriso To verify that this success does not come from an unwanted network connection i tried to install packages from DVD 4 apt-get install bash-doc apt-get install devede Both attempts failed with the message that the packages are not available. Have a nice day :) Thomas