Ok, this way solution becomes even quicker and dirtier.
The new minirt26.gz is here:
ftp://belyi.ac93.org/pub/KNOPPIX/new-minirt26.gz
It has new linuxrc with the following difference:
ftp://belyi.ac93.org/pub/KNOPPIX/linuxrc-append.patch and an utility to check if CD/DVD contains more than one filesystem:
ftp://belyi.ac93.org/pub/KNOPPIX/fssize.c
You prepare new ISO image from the old one as following (using zsh):
1. Mount the old image
mount -o loop KNOPPIX-3.7.iso /mnt/src
2. Create filesystem containing compressed KNOPPIX. It looks like 0.25% extra for file system overhead should be enough.
size=$(du -ks /mnt/src/KNOPPIX)
size=$((($size + $size/400)/1024))
dd if=/dev/zero of=KNOPPIX-suffix.iso bs=1M count=$size
mke2fs -F -m 0 -T largefile4 KNOPPIX-suffix.iso
mount -o loop KNOPPIX-suffix.iso /mnt/root
rsync -a --exclude boot /mnt/src/ /mnt/root
umount /mnt/root
3. Create a bootable image in ISO without big compressed KNOPPIX file.
rsync -a --exclude=KNOPPIX/KNOPPIX /mnt/src/ newimage
cp new-minirt26.gz newimage/boot/isolinux/minirt26.gz
mkisofs -pad -l -r -J -v -V "KNOPPIX" -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o KNOPPIX-prefix.iso newimage
4. Concatenate them and burn the result image on CD.
cat KNOPPIX-prefix.iso KNOPPIX-suffix.iso > KNOPPIX-full.iso
I suggest that the burn of the image is to a DVD disc rather than CD..............................................
Note1: You don't have to copy text files in both prefix and suffix images but you would want to modify linuxrc even more to find them in the other part of the image.
Note2: when cloop is taught to read from a block device instead of a file the solution will be much cleaner - suffix image won't need to have filesystem overhead, plus you would be able to avoid using driver mapper altogether which will make the solution portable for Linux 2.4 as well.
Cheers,
Igor