Hi, i uploaded the first version of my merger script as https://dev.lovelyhq.com/libburnia/libisoburn/raw/branch/master/test/merge_2_debian_isos
Please download and give x-permission. The need for sudo can be avoided by already mounting the two ISOs at the chosen mount points before running the script. Review and test reports are appreciated. As motivation for tests by Debian installation experts: If this works, then Debian could replace the DLBD sized ISOs by the BD sized ISOs and instructions how to merge them to DLBD ISOs or a QLBD/All-in-one ISO. (In that case the script should move into the hands of debian-cd, i guess.) ======================================================================= $ ./merge_2_debian_isos usage: merge_2_debian_isos \ boot_iso boot_mount add_iso add_mount result_iso [for_dist] Mounts by sudo the boot_iso at directory boot_mount and add_iso at add_mount, if not already mounted that way. Then both Debian pools and package lists get merged and a new ISO 9660 image result_iso is produced, which must not yet exist. If boot_iso is bootable then the new image will be bootable by the same means. This script creates 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 The optional sixth argument for_dist should only be given if this script refuses to work and proposes to give this argument. Exported non-empty variable MERGE_DATE enforces a particular date string in the text which gets prepended to /README.txt . Exported non-empty variable XORRISO overrides command xorriso, which 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 merge_2_debian_isos debian-11.2.0-amd64-DVD-1.iso /mnt/iso1 \ debian-11.2.0-amd64-DVD-2.iso /mnt/iso2 merged.iso ======================================================================= The /README.txt of the result ISO gets a prefix text: ======================================================================= Result of a run of merge_2_debian_isos at 20220523-20:09 Package pools and Packages lists were merged. The other files stem from the first input ISO. Input ISO: debian-11.2.0-amd64-DVD-1.iso Debian GNU/Linux 11.2.0 "Bullseye" - Official amd64 DVD Binary-1 20211218-11:13 Input ISO: debian-11.2.0-amd64-DVD-2.iso Debian GNU/Linux 11.2.0 "Bullseye" - Official amd64 DVD Binary-2 20211218-11:13 ------------------------------------------------------------------------------ [... text of boot_iso's README.txt ...] ======================================================================= The result of merging debian-11.2.0-amd64-DVD-[12].iso boots with qemu-system-x86_64 -enable-kvm -m 512 -hda merged.iso to a boot loader menu with Debian logo. I did not go further with installation yet, mainly because i still lack ideas and experience how i would verify that the ISO's main repo knows 6788 *.deb files instead of 4753 in DVD-1 and 2035 in DVD-2. To ease usage and to avoid quadratic behavior (actually triangular), i plan to beef up the script so that it can merge more than 2 ISOs in one run. E.g. for downloading all 19 11.3.0 amd64 DVDs and merging them. (19 /dev/loop* should be no problem, i hope.) Zhang Boyang wrote: > I came up with a idea. Maybe you can use 'debian-cd' to create a DLBD set, > say disc A1 and A2, then create another ALL-IN-ONE set, say disc B. Then > compare if A1+A2==B. There might be small differences, like the package > order in Packages.gz, but I think if the overall format is OK, then it will > be OK. I fear that several of the tasks in debian-cd are beyond my talents. (I am about the third worst sysadmin which i know of.) In the end it is about whether the merged ISO works fully or not. Have a nice day :) Thomas