Subject: Re: Does anybody have a 5 1/4" 1.2 Mb floppy-only system?
To: Chris G Demetriou <Chris_G_Demetriou@UX2.SP.CS.CMU.EDU>
From: Andrew Gillham <gillhaa@ghost.whirlpool.com>
List: port-i386
Date: 05/29/1996 23:43:25
cgd wrote:
> 
> In my opinion, the majority of the problem with making bootable
> CD-ROMs would indeed be the boot blocks.  I don't know enough about
> CD-ROMs to know if one could e.g. put seperate boot blocks in multiple
> places on them, but even if that's possible my guess is that most
> machines' native firmware wouldn't actually work properly with them.

Note that booting a CD on a "PC" *requires* support in the BIOS for
this.  Newer Adaptec SCSI controllers support booting SCSI CDs, and
most newer mainboards (all Intel?) support booting EIDE CDs.

The "EL TORITO" standard developed by Pheonix/IBM allows you to put
a floppy (or hard disk) image in the ISO9660 filesystem, and the PC BIOS
emulates a floppy/hard drive.  Of course the emulation only works for
BIOS calls, but the NetBSD bootblocks use the BIOS, so it works.
I've been able to make a bootable CD with the following basic steps:

 1. build a kernel with the 'rd' device.
 2. create a ~512k image for the ramdisk (using src/distrib/i386)
 3. create a 1.44MB bootable floppy with 'rd' kernel
 4. put floppy image (+ catalog file required by EL TORITO) in 
    my CD working directory
 5. create ISO9660 image with mkisofs (noting extent #'s of image/catalog)
 6. hex edit resulting image to plug extent #'s into the right spots
 7. fire up the CDR!

I only had to burn 4 CDs to get one that actually (mostly) worked.
I say mostly because it turned out that the SCSI drivers I had 
configured into my kernel didn't probe correctly, so it doesn't get as
far as mounting the CDROM, but it does boot the kernel, and mounts
the rd0a as root.

Because of the way ISO9660 leaves the first 32k free on a CD, it should
be relatively easy to create a CD that can boot a PC (with a new BIOS),
_and_ a Sun Sparcstation.  Basically the Sun just needs a "normal" disklabel
at the beginning of the CD, listing the ISO9660 partition, plus the
sun4/sun4c/sun4m partitions. (so 4 entries in the disklabel)
In theory, it will work, but I don't have the money ($7/CDR) to prove
it! :)

-Andrew

PS. Compressed image support would sure help me out here.. :) :)