You just need to put your ISO on your external drive, then install Grub2 and configure it properly.
Let's assume your drive is /dev/sdb mounted under /media/Drive, then in a root terminal (use sudo -i to become root), type in :
grub-install --no-floppy --root-directory=/media/Drive /dev/sdb
You'll obtain a boot folder at the root of your external drive. Go to /media/drive/boot/grub and put there a grub.cfg file, containing something like (please adapt paths and ISO names to your needs - in the example below, ISOs are juste put at the root of the partition) :
set timeout=10
set default=0
menuentry "System Rescue CD 64 bits" {
loopback loop /systemRescueCD.iso
linux (loop)/isolinux/rescue64 isoloop=/systemRescueCD.iso setkmap=fr docache
initrd (loop)/isolinux/initram.igz
}
menuentry "System Rescue CD 32 bits" {
loopback loop /systemRescueCD.iso
linux (loop)/isolinux/rescuecd isoloop=/systemRescueCD.iso setkmap=fr docache
initrd (loop)/isolinux/initram.igz
}
menuentry "Ubuntu 11.10 64 bits ISO" {
loopback loop /ubuntu64-11.10.iso
linux (loop)/casper/vmlinuz boot=casper locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=/ubuntu64-11.10.iso file=/cdrom/preseed/ubuntu.seed noeject noprompt quiet splash --
initrd (loop)/casper/initrd.lz
}
menuentry "Ubuntu 11.10 64 bits alternate ISO" {
loopback loop /ubuntu64-11.10-alternate.iso
linux (loop)/casper/vmlinuz boot=casper locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=/ubuntu64-11.10-alternate.iso noeject --
initrd (loop)/casper/initrd.lz
}
As you can see, you can put others ISOs. Please note that all ISOs are not compatible ! For example you need to extract the content of a Fedora 16 ISO and use a slightly different configuration for Grub2 :
menuentry "Fedora 16 64 bits Gnome" {
set root=(hd0,msdos1)
linux /fedora16-64/efi/boot/vmlinuz0 root=LABEL=InstalLinux live_dir=/fedora16-64/LiveOS/ rootfstype=auto ro liveimg rhgb locale=fr_FR bootkbd=fr
initrd /fedora16-64/efi/boot/initrd0.img
}
Also, note that your external drive must have a proper filesystem (avoid NTFS !) and that it's sometimes completely impossible to use some USB keys this way (don't know why... they just doesn't boot, event with boot flag set !)
Lastly, a suggestion : make two partitions on your external drive. One (typically FAT32 or ext?) where you will put your ISOs, and another where you wille be able to store data persistently.
Hoping this helps...
PS : Grub could complain at the first stage. You could use --force option, or reformat you external drive (making the first partition starting at 1 MB).
Also if you are using a system like DSL (DamnSmallLINUX) then it wont see ext4 partition extensions need to format external drive using ext3 for persistence.