"ElToro" CD/DVD boot manager, version 1.0 Copyright (c) 2006 Oliver Fromme, Munich -- All rights reserved. For further information please contact: olli@secnetix.de Note that ElToro is NOT free software. You have to obtain a license from the authors in order to use it. This is the preliminary documentation for ElToro version 1.0 Table of Contents ================= - What is ElToro? - The Scripting Language - List of Commands - String Syntax - Path Syntax - How to Create the CD or DVD - Some Advice - To Do What is ElToro? =============== ElToro is a boot manager for ISO9660 media. It implements the eltorito standard for booting from CD-ROM and DVD-ROM. It can be used to enable booting several different operating systems from the same CD or DVD. Please note that no floppy emulation is provided, i.e. only the "no emulation" part of the Eltorito standard is implemented (this might change in future versions). What ElToro does is sometimes referred to as "chain loading". The ElToro binary is installed as the boot image in an ISO9660 file system. When booted, it runs a script file ("eltororc") which is also included in the file system. That script file presents a menu (or multiple menus) to the user, reads a key press, and then boots another boot image (which must also be provided on the CD or DVD). For example, it can be used to boot multiple BSD operating systems from the same DVD. +--------------------+ | IS9660 File System | +---------++---------+ || \||/ boots \/ +--------------------+ | ElToro | +--------------------+ || \||/ reads \/ +--------------------+ | eltororc | +--------------------+ || || || \||/ \||/ \||/ boots \/ \/ \/ +---------+ +--------+ +---------+ | FreeBSD | | NetBSD | | OpenBSD | +---------+ +--------+ +---------+ The number of operating systems is not limitied, provided that they all fit on the CD-ROM or DVD-ROM without file name collisions. Optionally, the inital script file (eltororc) can load and execute further scripts. The number of scripts is not limited, but a single script must not exceed 32 KBytes. The Scripting Language ====================== ElToro provides a simple scripting language. It contains commands to display text, boot an Eltorito image, jump to a label within the script, read key presses from the keyboard, and perform conditional actions depending on the key press. Lines can be separated by newlines (ASCII dec. 10), as is used by UNIX systems, or by combinations of return+newline (CR+LF, ASCII dec. 13+10), as is used by DOS and Windows. Basically there is one ElToro command per line, with the following exceptions: - Empty lines (or lines with only spaces) are ignored. - Lines starting with a hash symbol ("#"), possibly preceeded by spaces, are considered to be comments. They are also ignored. - Multiple commands can be put on a single line, separated by semicolons (";"). Note that the semicolon is only required to separate commands that are on the same line. Superfluous semicolons don't hurt (they're just inter- preted to seperate an empty command). Note that a single command cannot span multiple lines. However, the line length is not limited, except by the maximum size of the whole script (32 KByte). Note that only very few errors are considered fatal. In the case of a failure (e.g. a syntax error, or file not found), ElToro continues executing the script at the next command. If the offending command was the last one, ElToro restarts executing the script from the top. List of Commands ================ :