Create a multiboot CD (or USB flash drive) 

http://www.mepis.org/docs/en/index.php/Create_a_multiboot_CD_(or_USB_flash_drive)

Purpose 

I want to have a business card size CD with which I could boot multiple floppy images (I don't want to carry floppies with me because of their size, fragility, and lack of reliability). I'm posting this because someone might find it useful. Basically I want a CD that has:

  • NT password reset
  • Ghost boot disks
  • Mini (floppy) Linux distribution for recovery and other purposes.
  • DSL and Puppy floppy images that load DSL or Puppy from USB flash drive (in case the BIOS of the computer does not support USB booting directly).

Multiboot CD 

  1. First, create a folder ~/bootdisk that will hold the images. Download floppy images or rip floppies with

    dd if=/dev/fd0 of=~/bootdisk/imagename
     (by the way, keep "imagename" under 7 letters because of CD file system
    limitations).
  2. Install syslinux (use apt-get/Synaptic).
  3. Copy "isolinux.bin" and "memdisk" from /usr/lib/syslinux to the ~/bootdisk folder.
  4. In the ~/bootdisk folder create an "isolinux.cfg" file like this:

    default 0
    prompt 1
    timeout 100
    display message.txt
    label 0
      localboot 0x80
    label 1
      kernel memdisk
      append initrd=reset
    label 2
      kernel memdisk
      append initrd=img1
    label 3
      kernel memdisk
      append initrd=img2
    label 4
      kernel memdisk
      append initrd=puppy
    label 5
      kernel memdisk
      append initrd=dsl

    Explanations:

    label 0
    bypass the CD and boot from localdisk
    label 1 to 3
    "reset", "img1", "img2" are the names of floppy images that I put in ~/bootdisk
    label 4 and 5

    start the "puppy" and "dsl" floppy images that provide support for USB (in case the computer cannot boot directly from USB)

    Again, make sure the image names have less than 7 characters.

  5. Create "message.txt" in ~/bootdisk that contains a menu like this one:

    1. Boot from local disk
    2. Reset NT passwords
    3. Ghost bootdisk Dell GX270
    4. Ghost bootdisk Dell G
    5. Puppy USB support
    6. DSL USB support

      Make sure the numbers correspond with the ones in isolinux.cfg (messages.txt is not absolutely necessary, but otherwise you'd need to know the label names when you boot).

  6. Create the iso image, run this command while in ~/bootdisk:

    mkisofs -o cdproject.iso -b isolinux.bin -c boot.cat \
    -no-emul-boot -boot-load-size 4 \
    -boot-info-table ~/bootdisk
  7. Burn cdproject.iso (or test it first in QEMU or VMWare if you don't want to waste a CD)

    # apt-get install qemu
    # qemu -m 256 -cdrom cdproject.iso -boot d

    By the way, this is not applicable to boot different ISO files, there are other ways to do that (for example if you want a DVD to contain multiple distros): use this howto

Multiboot USB drive 

  1. get Puppy Linux, boot from CD, install it to your USB flash drive (use "syslinux" choice).
  2. create and add floppy images in root of USB drive as instructed above.
  3. modify syslinux.cfg in the root of USB drive to point to the floppy images just like in the example above (keep the entry for Puppy) add a messages.txt for the menu.