ISOLINUX

http://www.syslinux.org/wiki/index.php/HowTos

My Rescuecd USB Example

default rescuecd
append initrd=initram.igz video=ofonly vga=0
timeout 300
prompt 1
display f1boot.msg
F1 f1boot.msg
F2 f2images.msg
F3 f3params.msg
F4 f4arun.msg
F5 f5troubl.msg
F6 f6pxe.msg
F7 f7net.msg
label rescue64
  kernel rescue64
  append initrd=initram.igz video=ofonly vga=0
label altker32
  kernel altker32
  append initrd=initram.igz video=ofonly vga=0
label vesa
  kernel rescuecd
  append initrd=initram.igz video=ofonly vga=0 forcevesa
label us
  kernel rescuecd
  append initrd=initram.igz video=ofonly vga=0 setkmap=us
label freedos
  kernel memdisk
  append initrd=/bootdisk/freedos.img floppy
label gag
  kernel memdisk
  append initrd=/bootdisk/gag.img floppy
label knoppix 
  kernel knoppix62.img
  append fromhd=/dev/hda2 nomce quiet ramdisk_size=100000 init=/etc/init 2 lang=us BOOT_IMAGE=knoppix noeject noprompt noagp nodhcp nofirewire noapic noaudio noddc nopcmcia noscsi noudev noideraid pnpbios=off acpi=off 2 initrd=minirt.gz 
  append initrd=/bootdisk/dban.img floppy
label disk1
  localboot 0x80
label disk2
  localboot 0x81
label floppy
  localboot 0x00
label nextboot
  localboot -1

write thisto usb stick:

						dd conv=notrunc bs=440 count=1 if=mbr.bin of=/dev/sdX
parted /dev/sdX set 1 boot on

 

write this to boot cd: mkisofs -o /tmp/bootcd.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table /tmp/CDroot