The goal is to create a software utility configuration with the following properties:
- Bootable CD (that would also work as a bootable USB, thumb, or flash drive)
- Contains primary disk management utilities:
- Hard disk testing/recovery software (e.g., SpinRite)
- Disk partitioning (e.g., PartitionMagic or gPartEd)
- Memory testing (e.g., MemTest86)
- Raw disk imaging (e.g., Ghost, True Image, or DriveImageXML)
- Contains installable “essential utilities”
- If installed on a writable medium (especially if not on CD), then allow “portable app” support when possible.
This is a work in progress, come back to see my progress.
Preparing a Bootable CD: Concepts
Enabling a bootable CD is a bit of a hack; there is no direct support for booting from optical media. Instead the optical disk emulates more traditional media, floppy or hard disks.Originally, creating a bootable CD meant creating a bootable master hard drive with the exact content and layout which is imaged to the CD. Today, it is difficult to find a hard drive small enough for this purpose. Alternatively, a smaller image can be created from a diskette drive. This startup image can load CD-ROM that allow the subsequent operation to access the remaining content of the disk.
The directly bootable portion (the disk or floppy image) is not visible when not booted from the CD drive, so it is advisable to keep all the generally viewable files separate from the boot image.
- Prepare bootable image that boots in real-mode and loads CD-ROM drivers that allows access to the bulk of the disk's content. This startup also may allow the user to select what functionality they want to run in bootable operation.
- Layout the remaining disk content that will be accessible once the CD-ROM drivers have loaded.
- Create ISO image.
- Burn to disk.
Build Tools
Tools for creating the bootable CD.- Prepackaged command-line tools and diskette images: clean20.zip
- Make ISO filesystem, mkisofs -- opensource Unix, Linux, and DOS command-line utility.
- FreeDos -- opensource DOS implementation.
Some details to be integrated...
Description | What systems support it? |
---|---|
Single boot image configuration | All |
Multiple boot image configuration | Some |
Boot record volume descriptor | All |
Validation entry | All |
Boot Indicator 88 "Bootable" | All |
Boot Indicator 00 "Not bootable" | None |
Boot media type 0 "No emulation" | All *1 |
Boot media type 1,2,3 "Floppy emulation" | All |
Boot media type 4 "Harddisk emulation" | All |
Sector count | Many *2 |
Load RBA | All |
Header indicator | All |
Platform ID | Many *3 |
ID string | Some *4 |
Section entry extensions | I've never used it |
Int 13 function 4A - Initiate disk emulation | None *5 |
Int 13 function 4B - Terminate disk emulation | All |
Int 13 function 4C - Initiate disk emulation and boot | None *5 |
Int 13 function 4D - Return boot catalog | Some |
Future projects
- Support for DVD.
- Support for solid state storage (USB/thumb or flash memory).
- Support for boot on a Mac.
- Support for multi-boot. Rather than driving the selection of the configuration via a Dos menu, multiple boot configurations can be stored on disk and selected directly.
Bibliograpy
- Microsoft. “KB167685: How to Create an El Torito Bootable CD-ROM.” [Online] Available http://support.microsoft.com/kb/167685, April 12, 2004. Details one detailed approach to creating a bootable CD/DVD.
- “Bart’s way to create bootable CD-Roms (for Windows/Dos).” [Online] Available http://www.nu2.nu/bootcd/, June 6, 2005.
- IBM and Phoenix. “‘El Torito’ Bootable CD-ROM Format Specification.” [Online] Available http://www.phoenix.com/NR/rdonlyres/98D3219C-9CC9-4DF5-B496-A286D893E36A/0/specscdrom.pdf, January 25, 1995.
- Wikipedia. “ISO 9660.” [Online] Available http://en.wikipedia.org/wiki/ISO_9660, April 19, 2009
No comments:
Post a Comment