I've been collecting ISOs for a while and want to see what all of the diff
parts look like w/o giving up a bunch of CDs for a one-shot tryout. In
doing this, you can see how one person assembles a multi-boot disc (CD/DVD)
using ISOLINUX. If you want to follow along, you'll need a bunch of sware
to do this project:
ISOLINUX syslinux.zytor.com DSL 3.2 damnsmalllinux.org System Rescue CD sysresccd.org ZenWalk Live 4.2 zenwalk.org cdrtools freshmeat.net Virtual CD Driver microsoft.com
The Virtual CD Driver is needed only for the initial phase of the project.
I'm using UltraISO, bec I have it and bec it permits dismantling the indiv
ISOs, but it isn't free, while the Virtual CD driver from Microsoft, *is*
free. If you already have something else, like Daemon Tools, MagicISO, ISO
Buster, whatever, free free to use that instead. If it isn't obvious, the
VCD Driver permits an ISO be mounted as a CD drive w/ its own drive letter,
so folders and files can be extracted to disc for the bild. Since it took a
while for me to find it (and *I* already know that it exists) here's the URL
You'd also do well to get VMWare or Virtual PC (free from Microsoft), QEMU
(free, OSS code) or some other virtual machine software, to test ISO images
before burning them to disc. You won't need it right now, bec *if* you follow
my instructions CAREFULLY, your finished ISO *will* be work. However, it
wouldn't hurt to get it now, just in case....
This is a HOWTO, not a TUTORIAL. It's assumed that the reader knows how to
use the different tools or can figure them out on his/her own. To make this
a full-blown tutorial (with step-by-step explanations of everything) would
require many hours of work that I don't have to give. I've never read a
single tutorial or HOWTO on using ZIP/WINZIP/whatever. I've never read a
HOWTO or tutorial on making sub-directories. Everything I've learned on
these subjects has come through trial-and-error. This HOWTO offers a
structure for a single project that works, which you'll be able to apply
onwards and outwards for your own efforts. But it's your responsibility to
grasp the concepts behind this structure and experiment, experiment,
experiment. In fact, there were other parts that I'd hoped to include like
the Ultimate Boot CD and Trinity Rescue Kit. Unfortunately, for several
reasons, I had to abandon these elements as they would make things too
complicated (UBCD) or simply didn't lend themselves a different disc
structure (TRK.) These discoveries were the result of hours of experiments
which you didn't see.
1) Alright, let's get this party started. Make a sub-dir called
\Super-Disc. Next, extract the SYSLINUX kit into \syslinux (be sure to keep
the original directory structure.) The idea here is to put Super-Disc in
the root of your hdrive. Actually, you can put it anywhere you like, but
if you really need this HOWTO, do it my way the 1st time through.
2) Underneath \Super-Disc\, create boot\isolinux\, boot\dsl\, boot\zenlive\,
boot\sysresccd\, dsl\, and sysresccd\.
3) From \syslinux, *COPY* (don't *MOVE*) vesamenu.c32, chain.c32,
isolinux.bin, memdisk to boot\isolinux\.
4) Open the System Rescue ISO and copy vmlinuz1 and vmlinuz.igz to
boot\sysdresccd\. Copy sysrescd.dat to sysresccd\. Copy memtest86 to
Making the System Rescue CD "cooperate" was accomplished by changing the
KERNEL and APPEND stmts, to point to the new location of the kernel
(boot/sysresccd) and initial ramdisk or initrd (also in boot/sysresccd).
Better designed live CD distros permit the compressed file system archive
(where the bulk of the system files are contained) to be relocated. In this
case using the loop= and subdir= clauses in the APPEND stmt. Some distros
also call these "cheat codes."
5) Open the DSL ISO and copy the KNOPPIX *file* (*NOT* the entire KNOPPIX
sub-dir) to dsl\, linux24, and minirt24.gz to boot\dsl\.
The key cheat code for relocating DSL is knoppix_dir=dsl, since DSL is
derived from Knoppix.
6) Open the ZenWalk ISO and copy vmlinuz and initrd.gz to boot\zenlive\ and
the entire zenlive\ directory tree to \Super-Disc.
At the end of this process, one should have a directory tree structure that
looks something like this:
C:\Super-Disc\ boot\ isolinux\ dsl\ sysresccd\ zenlive\ sysresccd\ dsl\ zenlive\
&) Almost forgot, you'll need an ISOLINUX.CFG to make this work. Copy
the bracketed text block below and put isolinux.cfg into boot/isolinux/.
DEFAULT /boot/isolinux/vesamenu.c32 PROMPT 0 TIMEOUT 300 TOTALTIMEOUT 450 #### MENU BACKGROUND /boot/isolinux/splash.png MENU TITLE Super-Disc ** 09Mar07 Edition #### #### The 1st byte of the fgnd color is brightness. #### blue MENU COLOR title 1;36;44 #ff0000ff #00000000 std #### blue MENU COLOR unsel 37;44 #ff0000ff #00000000 std #### white MENU COLOR sel 7;37;40 #c0ffffff #ff000000 std #### red MENU COLOR hotkey 1;37;44 #ffff0000 #00000000 std #### green MENU COLOR hotsel 1;7;37;40 #ff00ff00 #ff000000 all #### LABEL sysresccd1 MENU label ^1 System Rescue CD VESA Display MENU DEFAULT KERNEL /boot/sysresccd/vmlinuz1 APPEND initrd=/boot/sysresccd/vmlinuz1.igz root=/dev/ram0 init=/linuxrc vga=788 looptype=squashfs loop=/sysresccd/sysrcd.dat setkmap=us subdir=sysresccd cdroot forcevesa splash=silent LABEL sysresccd2 MENU LABEL ^2 System Rescue CD fb1024x768 Display KERNEL /boot/sysresccd/vmlinuz1 APPEND initrd=/boot/sysresccd/vmlinuz1.igz root=/dev/ram0 init=/linuxrc vga=791 looptype=squashfs loop=/sysresccd/sysrcd.dat setkmap=us subdir=sysresccd cdroot splash=silent LABEL sysresccd3 MENU LABEL ^3 System Rescue CD fb800x600 Display KERNEL /boot/sysresccd/vmlinuz1 APPEND initrd=/boot/sysresccd/vmlinuz1.igz root=/dev/ram0 init=/linuxrc vga=788 looptype=squashfs loop=/sysresccd/sysrcd.dat setkmap=us subdir=sysresccd cdroot splash=silent LABEL sysresccd4 MENU LABEL ^4 System Rescue CD fb640x480 Display KERNEL /boot/sysresccd/vmlinuz1 APPEND initrd=/boot/sysresccd/vmlinuz1.igz root=/dev/ram0 init=/linuxrc vga=785 looptype=squashfs loop=/sysresccd/sysrcd.dat setkmap=us subdir=sysresccd cdroot splash=silent LABEL dsl MENU LABEL ^5 **** Small Linux 3.2 KERNEL /boot/dsl/linux24 APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=/boot/dsl/minirt24.gz dma acpi nomce noapic quiet tz="America/New York" knoppix_dir=dsl BOOT_IMAGE=knoppix LABEL zenlive MENU LABEL ^7 ZenLive Linux kernel /boot/zenlive/vmlinuz append max_loop=255 initrd=/boot/zenlive/initrd.gz init=linuxrc load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=4444 root=/dev/ram0 rw vga=791 splash=silent changes=zensave.xfs LABEL memtest86 MENU LABEL ^Memtest86 (RAM Diagnostic) KERNEL /boot/isolinux/memtest86
Any 640x480 PNG will sufice for the initial splash screen, but try this
one, making sure to rename it to splash.png and place it in boot/isolinux/.
8) To create an ISO for the project using MKISOFS, try the following:
@ECHO OFF ECHO Starting @ (%TIME%) .... SET _VNBR_=01 SET _ROOT_=C:\ SET CDTITLE="SUPERDISC-%_VNBR_%" SET CDFILENAME="%_ROOT_%%CDTITLE%.ISO" mkisofs -N -V %CDTITLE% -b boot/isolinux/isolinux.bin -d -iso-level 4 -no-emul-boot -boot-load-size 4 -boot-info-table -o %CDFILENAME% Super-Disc
Of course, you can use any util you have available, like CDIMAGE, ULTRAISO,
etc. The only significant issue is that the util *MUST* support the
"boot-info-table" option. This eliminates from consideration my own
favorite CD burning app, NERO and probably another popular burning app, Easy
CD Creator. If you have a working Linux disc, you can use K3B, which does
support boot-info-table patching and is an excellent CD/DVD burning app, so
you could burn the project directly to disc.
Well that's it. If you've run the batch scriptlet above, you should have a
multi-boot ISO you can burn to CD. Hope this helps. Good luck....Jet
This thing has grown beyond my initial expectations, which is good. So, I've changed the name of the topic to 'Super-Disc: Multi-Boot Project CD/DVD Using ISOLINUX', which is what it has become. Onwards and outwards, I (and others) will continue adding new elements to the project and talking about it. Periodically, I'll add links to the different milestones/additions.
1) Adding BartPE
2) Adding a XP Installer
3) More BartPE/XP Customization Links from Kof94
Fleshing out these 1st few milestones will take the rest of the weekend, since this idea is a middle-of-the-nite inspiration. So use your imaginations in the meantime....
4) A Q-n-D Mini-HOWTO on WiFi under Linux Using NDISWrapper
This post has been edited by jetman: 30 April 2007 - 09:04 PM