Hi, the production of a small multi-extent ISO is remarkably easy thanks to my predecessor in libisofs, Vreixo Formoso.
On GNU/Linux (and probably with Cygwin too): wget https://www.gnu.org/software/xorriso/xorriso-1.4.8.tar.gz tar xzf xorriso-1.4.8.tar.gz cd xorriso-1.4.8 Change in file libisofs/ecma119.h : -#define MAX_ISO_FILE_SECTION_SIZE 0xffffffff +#define MAX_ISO_FILE_SECTION_SIZE 10239 -#define ISO_EXTENT_SIZE 0xFFFFF800 +#define ISO_EXTENT_SIZE (MAX_ISO_FILE_SECTION_SIZE - 2047) MAX_ISO_FILE_SECTION_SIZE must be a multiple of 2048 minus 1, so that ISO_EXTENT_SIZE becomes a multiple of 2048. Build xorriso (no need to install it system-wide): ./configure ; make Create the ISO (xorriso in native mode does not truncate existing ISOs to 0 size) test -e test.iso && rm test.iso xorriso/xorriso -outdev test.iso -map xorriso/opts_i_o.c /multi_extent_file The file opts_i_o.c has ~ 54 KB of size. Let's look at the resulting extents list xorriso/xorriso -indev test.iso -find /multi_extent_file -exec report_lba -- yields Report layout: xt , Startlba , Blocks , Filesize , ISO image path File data lba: 0 , 55 , 4 , 54305 , '/multi_extent_file' File data lba: 1 , 59 , 4 , 54305 , '/multi_extent_file' File data lba: 2 , 63 , 4 , 54305 , '/multi_extent_file' File data lba: 3 , 67 , 4 , 54305 , '/multi_extent_file' File data lba: 4 , 71 , 4 , 54305 , '/multi_extent_file' File data lba: 5 , 75 , 4 , 54305 , '/multi_extent_file' File data lba: 6 , 79 , 3 , 54305 , '/multi_extent_file' The Linux kernel accepts it: mount test.iso /mnt/iso and obviously represents its content correctly. No difference to see by diff /mnt/iso/multi_extent_file xorriso/opts_i_o.c ----------------------------------------------------------------------------- Pete: If you have problems to do this on your system, give me a note so that i upload such an image for you. gzipped size is 12843 bytes. Have a nice day :) Thomas
