“El Torito” Bootable CD-ROM Format Specification Version 1.0 January 25, 1995 Curtis E. Stevens Phoenix Technologies 2575 McCabe Way Irvine, Ca. 92714 Phone: (714) 440-8330 Fax: (714) 440-8300 curtis_stevens@bannet.ptltd.com Stan Merkin (Formerly of IBM, Currently with DELL) IBM 1000 NW 51st BocaRaton, Fl. 33431 Phone: (407) 443-3264 Fax: (407) 982-8823 THIS SPECIFICATION IS MADE AVAILABLE WITHOUT CHARGE FOR USE IN DEVELOPING COMPUTER SYSTEMS AND CD-ROM DRIVES.
version 1.0 Copyright 1994 Phoenix Technologies and IBM All Rights Reserved. Version 1.0 Copyright 1994 Phoenix Technologies and IBM All Rights Reserved.
Contents 1.0 OVERVIEW 4 1.1 Scope 1.2 Notation and Conventions 1.3 Introduction 1.4 Implementation Options 1.5 Definition of Terms 4 4 4 5 6 2.0 ISO-9660 AND THE BOOTING CATALOG 8 2.1 Validation Entry 2.2 Initial/Default Entry 2.3 Section Header 2.4 Section Entry 2.5 Section Entry Extension 8 8 8 8 9 3.0 THE INT 13 ACCESSIBLE IMAGE 14 4.0 INT 13 AND CD-ROMS 14 4.1 INT 13 Function 08 4.2 INT 13 Function 48 4.3 INT 13 and Booting 4.4 Boot Entry Selection 14 14 14 15 5.
1.0 Overview This specification defines how makers of CD-ROMs can package several "images" of floppy and hard disks on a single CD with the ability to catalog these images and to selectively boot from any single image. The possibility of booting a PC from a CD ROM has raised several possibilities, including: 1. 2. 3. 4.
Maintaining compatibility with current software requires using INT 13 calling conventions but providing an entirely new device interface. INT 13 places some restrictions on the information which a CD-ROM contains and also provides several new options for booting a system. The following is a list of new system capabilities and constraints: 1. 2. 3. 4. 5. 6. 7. The CD-ROM may boot as the A drive or the C drive. If the CD-ROM boots as the A, drive it will contain a 1.2M, 1.4M or 2.88M floppy image.
c. Boots from either the image specified in the Initial/Default Entry or from one of the other images listed in Section Headers and Section Entries (See below) that follow the Initial/Default entry. The selection of which image to boot from depends on Selection Criteria determined by the OEM (See below).
Virtual Disk - A series of sectors on the CD which INT 13 presents to the system as a drive with 200 byte virtual sectors. There are 4 virtual sectors found in each “sector” on a CD. Version 1.0 Copyright 1994 Phoenix Technologies and IBM All Rights Reserved.
2.0 ISO-9660 and the Booting Catalog One goal of this specification is to maintain ISO-9660 compatibility while providing system BIOSs with a simple way of getting to the location on the CD that contains the material to be booted. ISO-9660 defines that a “Primary Volume Descriptor” must reside at sector 10 (16 decimal), relative to the start of the session, followed by any number of other Volume Descriptors, followed by a “Volume Descriptor Set Terminator.
2.5 Section Entry Extension Section Entry Extension must follow a Section Entry. This Extension defines additional selection criteria. When the 13 bytes provided by the Section entry are insufficient for representing the selection criteria a Section Entry Extension should immediately follow the Section Entry. Several Section Entry Extensions may be chained together by setting bit 5 of byte 1 for as many Extensions as necessary.
Offset Type Description 0 Byte Boot Indicator. 88 = Bootable, 00 = Not Bootable 1 Byte Boot media type. This specifies what media the boot image is intended to emulate in bits 0-3 as follows, bits 4-7 are reserved and must be 0. Bits 0-3 count as follows: 0 1 2 3 4 No Emulation 1.2 meg diskette 1.44 meg diskette 2.88 meg diskette Hard Disk (drive 80) 5-F Reserved, invalid at this time 2-3 Word Load Segment. This is the load segment for the initial boot image.
Offset Type Description 0 Byte Boot Indicator. 88 = Bootable, 00 = Not Bootable 1 Byte Boot media type. This specifies what media the boot image emulates in bits 0-32. Bits 6 and 7 are specific to the type of system. Bits 0-3 count as follows 0 1 2 3 4 No Emulation 1.2 meg diskette 1.44 meg diskette 2.
2-1F Byte Vendor unique selection criteria Figure 6 - Section Entry Extension Version 1.0 Copyright 1994 Phoenix Technologies and IBM All Rights Reserved.
Offset 0 1-5 6 7-26 Type Byte Byte Byte Byte Description Boot Record Indicator, must be 0 ISO-9660 Identifier, must be “CD001” Version of this descriptor, must be 1 Boot System Identifier, must be “EL TORITO SPECIFICATION” padded with 0’s. 27-46 Byte Unused, must be 0. 47-4A Dword Absolute pointer to first sector of Boot Catalog. 4A-7FF Byte Unused, must be 0. Figure 7 - Boot Record Volume Descriptor Version 1.0 Copyright 1994 Phoenix Technologies and IBM All Rights Reserved.
3.0 The INT 13 Accessible Image The boot image is an exact replica of the floppy or hard disk the system is intended to emulate. You can create this image by reading from the source media as if it were a Logical-Block Addressable (LBA) device and incrementing the logical-block value until all sectors have been read. Concatenate all blocks in a single file. X3T9.2 (ATA 4.
When the boot image is a hard disk, all drives numbered 80 and above are incremented by 1, becoming 81 and up, and, the CD will become drive 80. This allows software vendors to create stand-alone CD’s that normally run under MS-DOS and use the standard INT 13 interface to place their software on the CD without regard to the media. The system’s hard drive remains accessible because the stand alone CD may need some temporary disk storage.
5.0 CD Boot Procedures This purpose of this section is to describe the intended sequence of events for booting from the various CD formats described above. These procedures should guarantee that software can boot and operate as the software vendor intends. The BIOS provides three INT 13 functions for assigning and deassigning the CD. These functions are documented in the next section and referenced in the paragraphs below. 5.
6.0 New INT 13 Functions Transparent system operation is not always desirable because software installation usually requires the system to be in its “normal” configuration. For this reason 3 new INT 13 functions are provided. These functions allow the system to return to its normal state or to enter the “boot” state a second time after the boot process has already been initiated. 6.
6.3 INT 13 Function 4C - Initiate Disk Emulation & Boot This function takes a pointer to the Specification Packet and uses it to reboot the system from scratch. This function only returns if the supplied packet does not contain a pointer to a bootable disk image. Registers at call: AH = 4C AL = 00 DS:SI - Specification Packet as defined in figure 9 Registers on return AX - Return Codes CF - Set if system failed to boot CF Clear will not occur because when this function succeeds no return is generated. 6.
Offset 0 1 Type Byte Byte Description Packet Size, currently 13 Boot media type. This specifies what media the boot image is intended to emulate in bits 0-3. Bits 6 and 7 are specific to the type of system. Bits 0-3 count as follows: 0 - No Emulation 1 - 1.2 meg diskette 2 -1.44 meg diskette 3 -2.
Last Page (This page intentionally left blank) Version 1.0 Copyright 1994 Phoenix Technologies and IBM All Rights Reserved.