First, you need to be using a distro that does support hybrid images.
I downloaded linuxmint-12-gnome-cd-nocodecs-32bit.iso and that is what I will use as an example. It was downloaded to my home folder which is also where I will be working at in the terminal.
Install syslinux, genisoimage, and rsync.
Then open a terminal and su to root (or use sudo)
make a folder for the extracted iso
mkdir iso
make a folder to mount the iso so we can copy the contents
mkdir mntiso
mount the iso
mount -o loop linuxmint-12-gnome-cd-nocodecs-32bit.iso mntiso/
copy the contents of the iso to the iso folder
rsync -a mntiso/ iso/
unmount the iso
umount mntiso/
remove the folder
rm -rf mntiso/
remove the incompatible isolinux.bin file
rm iso/isolinux/isolinux.bin
remove the incompatible vesamenu file
rm iso/isolinux/vesamenu.c32
copy a compatible isolinux.bin file from the system
cp /usr/lib/syslinux/isolinux.bin iso/isolinux/
copy a compatible vesamenu.c32 file from the system
cp /usr/lib/syslinux/vesamenu.c32 iso/isolinux/
create the iso image *
genisoimage -r -J -l -D -o ./mint12hybrid.iso -cache-inodes \
-b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 \
-boot-info-table -input-charset UTF8 iso/
make the image a hybrid image
isohybrid mint12hybrid.iso
remove the iso folder
rm -rf iso/
You should see the mint12hybrid.iso in whatever folder you did this in.
Done.
Then you can dd the image to a usb stick to boot from. THIS WILL ERASE EVERYTHING ON THE USB DEVICE! Change /dev/sdb to whatever device your usb stick is.
dd if=mint12hybrid.iso of=/dev/sdb
* The genisoimage command is one long command. The \ at the end of each line allows it to be split up.
So you enter the first line
genisoimage -r -J -l -D -o ./mint12hybrid.iso -cache-inodes \
and press enter
then enter the next line
-b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 \
and press enter
then enter the next line
-boot-info-table -input-charset UTF8 iso/
and press enter
You can type the whole thing in at once if you prefer. Type in the whole command and then press enter.
- Code: Select all
genisoimage -r -J -l -D -o ./mint12hybrid.iso -cache-inodes -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -input-charset UTF8 iso/