I have a question in this vein. Using the utility mk-boot-usb I have partitioned an 8GB key to run several livecd installations. Then, using the following commands I mounted the .iso images and copied the entire contents to individual logical ext2 partitions on the key.
mount -o loop -t iso9660 /iso/path/here /mnt/iso
mount /dev/targetpartition /mnt/target
cp -rvp /mnt/iso/* /mnt/target
I have already done this with a 4GB key which runs beautifully with my customized grub menu, but it has many less distros.
The problem is, the number of livecds that fit on the 8GB key is greater than the number of partitions I can have on the device (/dev/sd* are apparently limited to 16 maximum from what I have read). So, to overcome this, I have doubled-up some distros on single partitions. For example...
Ubuntu 9.04 32-bit in /dev/sda5/32 mounted as /media/Ubuntu32.64/32/
Ubuntu 9.04 64-bit in /dev/sda5/64 mounted as /media/Ubuntu32.64/64/
BackTrack 3 in /dev/sda6 mounted as /media/BackTrack3/
...where BackTrack 3 boots just fine, but Ubuntu 32 and 64 both start booting just fine with the kernel and initrd paths specified explicitly, but get lost looking for other boot files when referring to root=LABEL=Ubuntu32.64 since I can't figure out how to tell is that root is supposed to be root=(LABEL=Ubuntu32.64)/32/ or root=(LABEL=Ubuntu32.64)/64/ respectively.
Oddly enough, I can call the kernel and initrd lines using...
kernel (hd0,4)/32/casper/vmlinuz file=/32/cdrom/preseed/ubuntu.seed boot=/32/casper quiet splash --
...but making similar modifications to the root line doesn't help. The same problem occurs with Arch 2009.08 32 & 64, DSL, TinyMe and TinyCore, but not when they're on their own partitions.
Any ideas? I know my way around linux in general, but I can't find anything in the GRUB manual or online that deals with this issue directly, and any syntax attempts I've made have failed. Oh, and thanks a million for reading through this book of a post.