The story came fall short to my need for a single USB flashdrive which I need to install multiple operating systems from. Most 'USB installer maker' application like
Unetbootin and
Wintoflash will only allow a single instance of installer; and I hate to backup-copy the drive's MBR and PBR everytime I install a new installer on it. Some other like
YUMI will allow you to install several installer, but its ISO emulation is pain the ass that the ISOs have to be placed contiguously on the drive (and some installer won't recognize installation sources' path properly doing so).
Then I decided to install a nice bootloader on it so that every instance of installer will be accessible by choice. At first my choice came to
Lilo which is Slackware-based distros' default bootloader. I like its simplycity and 'solid-state' model. But lack of on-the-fly configuration edit, and my stupidity (I misplaced Lilo on my laptop's MBR instead of on flashdrive's MBR) led me not to choose it. I also considered
grub, grub2,
grub4dos (grldr), but I simply don't like them very much from the beginning.
Finally my choice came to
syslinux. It has nice features like supporting EXT filesystems, FAT filesystems, and btrfs; and its menu configuration is simpler (at least to me) than grubs', and pretty much similar to Lilo by design (syslinux even mentions lilo at its manpage)
Installing syslinux on flash drive is pretty simple: mount your drive and invoke.
# mount /dev/sdb1 /mnt
# syslinux install /dev/sdb1
Then you can copy its modules to do things later. I like to place the modules inside a sub-directory rather than put in root directory as I still use the drive for file transferring.
# cp -vfr /usr/share/syslinux /mnt
In some cases, you need to work with the MBR.
# dd if=/mnt/syslinux/mbr.bin of=/dev/sdb
Yep, good to go!