Having shot my mouth off about bootable multisession CDs I decided to do some research on the subject. Here's what I found:
First, a comprehensive and very readable history of the CD and all its formats: http://www.zzz.com.ru/zzz_original_site/art24.html
Bootable CD writing
[From what I found on the web, especially Bart's excellent website on how to create bootable CDs http://www.nu2.nu/bootcd/ and also http://www.smart-projects.net/isobuster/help/noframes/hs295.htm ]:
The El Torito http://www.phoenix.com/NR/rdonlyres/98D3219C-9CC9-4DF5-B496-A286D893E36A/0/specscdrom.pdf extension to ISO 9660 http://www.smart-projects.net/isobuster/help/noframes/hs160.htm created bootable CD ROMs which opened the door for Knoppix. I guessed that the code which makes a bootable disc bootable must be in the disc directory. Naturally the situation would be more complicated than that. First, there is something on the disc called a TOC (Table Of Contents) which I guess is what I meant by the disc directory. Then the filesystem, which I gather is not the TOC, must have some sort of internal directory that points to the files on the disc which contain the code the computer actually loads and runs when it boots.
"...The beauty of a bootable CD is that the contents are not limited to using ISO 9660 or any other file system, or any hardware platform, for that matter. Because the operating system can be included on the disc, it can be created to suit the application. More than one operating system can exist on the disc, to take optimum advantage of whatever platform or system on which it is played..." ( http://www.zzz.com.ru/zzz_original_site/art24.html )
Multi session CD writing
First: http://www-106.ibm.com/developerworks/linux/library/l-cdburn.html?ca=dgr-lnxw41BurnCD
Then [Copied from http://www.kumarayil.net/cdrw.htm ]:
(This is based on Mr. A Vasudevan <
[email protected]> mail to ILUG-Chennai)
[I also found it here http://www-106.ibm.com/developerworks/linux/library/l-cdburn.html?ca=dgr-lnxw41BurnCD ]
"Multisession CDs are built with sessions, and sessions are divided into tracks. On a single-session disk, there is a lead-in, a single TOC (table of contents), the data, and a lead-out, which finalizes the disk and prevents further recording on the disk. mkisofs links the separate sessions together.
The first time you record a session on a disk, use the -multi switch in cdrecord:
$ cdrecord -v speed=8 dev=0,0 -data -multi -eject /writer/image.iso
The disk will be fixated in a manner that makes it readable and open for adding more data. To add more sessions to this disk, mkisofs needs to know the starting and ending sector numbers, which you can find like this:
$ cdrecord dev=0,0 -msinfo
0,27139
Be sure to have the disk you are adding data to in the CD recorder. Then add two new switches, -C and -M:
$ mkisofs -o test2.iso -J -R -V Session2 -C 0,27139 -M 0,0 /files/path/
Or better, let the command shell do the work:
$ mkisofs -o test2.iso -J -R -V Session2 -C `cdrecord dev=0,0 -msinfo` -M 0,0 /files/path/
Multisession CD drives read the last session written. This command takes the TOC from the last session and combines it into the new TOC. For the last session on the disk, omit the -multi option."
Several references on the internet said that the CD drive must be new enough to be capable of reading multisession discs.