isohybrid may not always work. For example, I had an .iso with FreeDOS and isohybrid was not able to find some important files there (I don't know whether they should had been put there by syslinux, which I used too, or anything else). I propose several alternatives here.
1) Install another bootloader there such as GRUB. It is explained here:
"Assume your USB stick's first partition is FAT32 and its partition is /dev/sdy1" (I had
grub2 on my Fedora Core, so I changed the commands a bit):
# mkdir -p /mnt/usb ; mount /dev/sdy1 /mnt/usb
# grub2-install --target=i386-pc --recheck --debug --boot-directory=/mnt/usb/boot /dev/sdy
# grub2-mkconfig -o /mnt/usb/boot/grub2/grub.cfg
# optional, backup config files of grub.cfg
# mkdir -p /mnt/usb/etc/default
# cp /etc/default/grub /mnt/usb/etc/default
# cp -a /etc/grub.d /mnt/usb/etc
# sync; umount /mnt/usb
2) FreeDOS wiki offers a compound method with GRUB and syslinux here (though I don't understand how they launched
grub> - I couldn't boot from the usb up to that stage).
3) Here is a post which may be useful - it says 'As long as the command.com, kernel.sys, syslinux.cfg, ldlinux.sys and fat32lba.bss files are in the root of the drive and the MBR and boot sector are not rewritten the drive should remain bootable.'
4) Here it is explained how to generate a bootable .iso file with a syslinux bootloader. They don't even use isohybrid. Unfortunately that didn't help me (maybe because of syslinux).
5*) Use a windows program via
wine. I tried rufus, however that didn't work, it couldn't find the device.
I warn you that unfortunately I couldn't solve this problem, my device was unbootable, but I hope that this may be useful for other people (also those who want to install not a linux on the usb).
The usb image generated by chtaube though worked for me, so I think these methods are correct.
UPD: The 3rd method really works (with a correction for a custom installation file).
UPD2: (fixed links). The problem with
isohybrid was probably because the versions of isolinux.bin on iso and my system were different. Recompiled the iso using
genisoimage as suggested here:
genisoimage -l -r -J -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o fd11new.iso fd11new
There were some problems too, they were solved by the method here before genisoimage:
cp /boot/extlinux/*.c32 fd11new/isolinux/
extlinux --install /boot/isolinux
== end UPD2 ==