Create a multiboot CD (or USB flash drive)

From MEPIS Documentation Wiki

Jump to: navigation, search

Contents

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 (using Norton Ghost or any other ghosting software)
  • 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:

0. Boot from local disk
1. Reset NT passwords
2. Ghost bootdisk Dell GX270
3. Ghost bootdisk Dell G
4. Puppy USB support
5. 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 VirtualBox 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).

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.

Links

Personal tools
In other languages