You don't need to modify the initrds of the various distros. You do need the boot information from the isolinux.cfg file of each distro.
I made a multi boot cdrom which uses the grub. RIP linux was used as the host system because it has a grub patch which allows it to boot cdroms.
Not all of the distros out there are cooperative for this project and because Knoppix based distros expect to find a KNOPPIX directory, it would be difficult to have more than one knoppix based distro on this cd. I access this knoppix distro a little differently than the other distros. I renamed the boot.img to knoppix.img and put it in a directory called images. Then you put an entry in the menu.lst similar to this...
title Feather Linux V0.3.7
That images directory is handy for accessing other goodies like the ones found on the Ultimate Boot CD.
I made a directory with sub directories which I copied each distro into. Then I made a working directory ( cdbase ) where the multi boot cd is built. This can be a bit time consuming and experimenting will show what does or doesn't work, use a R/W cdrom for this reason.
If you have more than one distro with the same kernel and / or initrd name, rename those for one of the distros. Don't forget to change the reference to that kernel and initrd in the menu.lst .
Grub Based Multi Boot CDROM
On this cd, grub expects to find the kernel and initrd in a directory. Therefore, I put them into the /boot directory which came with RIP.
The version of grub which comes with RIP didn't allow any extras like "default=" or "timeout=" or even blank lines.
Below is my /boot/grub/menu.lst
color light-gray/blue black/light-gray
title *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* R.I.P. *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
title RIP V7.8
initrd=/boot/initrd3.gz vga=normal devfs=nomount load_ramdisk=1 init=/linuxrc prompt_ramdisk=0 root=/dev/ram0 rw
title Rescue CD V0.2.10
kernel /boot/vmlinuz1 video=i810fb:xres=800 acpi=off root=/dev/ram0 init=/linuxrc nokeymap
title Feather Linux V0.3.7
Puppy Linux V0.8.4
kernel /boot/vmlinuz root=/dev/ram0 ramdisk_size=55296 initrd_archive=ext2 PFILE=pup080-none-262144
title Slax Linux V4.0.1
kernel /boot/vmlinuz2 max_loop=255 init=linuxrc livecd_subdir=/ load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=7777 root=/dev/ram0 rw
title Mulinux V14r0
kernel /boot/mulinuz root=/dev/ram0 ramdisk_size=4600 vga=normal max_scsi_luns=1
title Freedos V9
title Tomsrtbt Linux
title Ranish Tool V2.44
Once you have the systems loaded into the working directory ( cdbase ) and have the menu.lst setup, you can proceed as follows....
CD into the cdbase and type:
cdrecord dev=0,0,0 blank=fast
mkisofs -J -R -b boot/grub/iso9660_stage1_5 -c boot/boot.cat \
-o /home/bootcd.iso -no-emul-boot -boot-load-size 32 -boot-info-table .
Note: that period ( . ) is important.
cdrecord -v speed=4 dev=0,0,0 -data /home/bootcd.iso
Sometimes these boot cdroms will not boot on all computers.
That is mostly hit or miss from what I've seen. If you have that problem and you know that you did everything correctly, your bios may be fussy.