--- /dev/null
+BSD-Licence(7) BSD Reference Manual BSD-Licence(7)
+
+NAME
+ This is the BSD-Licence for the MirOS bsd4grml base system.
+
+DESCRIPTION
+ This document provides a list of all advertising clauses required to be
+ reproduced when distributing MirOS, as well as the terms and conditions
+ covering the operating system.
+
+MIROS PROJECT
+ MirOS is Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ The MirOS Project <miros-dev@mirbsd.org>
+ and its contributors.
+
+ It is available under the terms listed below. We strive to make MirOS
+ available on OSD conformant licences and believe that it is DFSG free.
+ This subset included with grml certainly is.
+
+MirOS' origins
+ MirBSD is Copyright (C) 1999, 2002, 2003 ff.
+ Thorsten "mirabilos" Glaser <tg@mirbsd.de>
+ All rights reserved.
+
+ Provided that these terms and disclaimer and all copyright notices are
+ retained or reproduced in an accompanying document, permission is granted
+ to deal in this work without restriction, including unlimited rights to
+ use, publicly perform, distribute, sell, modify, merge, give away, or
+ sublicence.
+
+ Where legally impermissible the licensor does not disclaim liability for
+ direct physical injury or death caused solely by defects in the work un-
+ less it is modified by a third party.
+
+ This work is provided "AS IS" and WITHOUT WARRANTY of any kind, to the
+ utmost extent permitted by applicable law, neither express nor implied;
+ without malicious intent or gross negligence. In no event may a licensor,
+ author or contributor be held liable for indirect, direct, other damage,
+ loss, or other issues arising in any way out of dealing in the work, even
+ if advised of the possibility of such damage or existence of a defect,
+ except proven that it results out of said person's immediate fault when
+ using the work as intended.
+
+ This licence agreement shall be governed in all aspects by the law of
+ Germany; designated place of court is Bonn, NRW, Germany.
+ (Gerichtsstand ist Bonn, NRW/Deutschland. Es gilt deutsches Recht.)
+
+ I as the MirOS Project leader and MirBSD's owner hereby assert a
+ collective-work copyright on "MirBSD" including the MirPorts Framework
+ and the (OpenBSD-derived) kernel and userland, as well as the MirOS Port-
+ able Subprojects (for example, mksh, MirMake and jupp), but excluding
+ single ports, the contributed sections (the modules gcc, x11 and contrib)
+ and any part of MirBSD with copyright assignments in place (appropriate
+ CVS access control ought to be set). Please note that this copyright
+ still applies to some work contained within the X11 and contrib modules.
+
+NON-BSD SOFTWARE
+ MirOS aggregates third-party work, which is owned by their respective au-
+ thors and covered by their respective licences (Sendmail, Apache, LGPL,
+ GPL). In this edition, the e3 editor (GPLv2) and the tinyirc IRC client
+ (GPLv1) are aggregated on the rescue kernel. Their sources accompany this
+ document, as demanded by the GNU GPL. The tinyirc author has agreed for
+ it to be crunched into the instbin binary; full source code for the other
+ binaries and libraries linked is available from our CVS repository.
+
+UCB
+ All of the documentation and software included in the second BSD Network-
+ ing Software Release is copyrighted by The Regents of the University of
+ California.
+
+ Copyright 1979, 1980, 1983, 1986, 1988, 1989, 1991, 2003 The Regents of
+ the University of California.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without modif-
+ ication, are permitted provided that the following conditions are met:
+ 1. Redistributions of source code must retain the above copyright no-
+ tice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND ANY
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBIL-
+ ITY OF SUCH DAMAGE.
+
+IEEE
+ The Institute of Electrical and Electronics Engineers and the American
+ National Standards Committee X3, on Information Processing Systems have
+ given us permission to reprint portions of their documentation.
+
+ In the following statement, the phrase "this text" refers to portions of
+ the system documentation.
+
+ Portions of this text are reprinted and reproduced in electronic form in
+ the second BSD Networking Software Release, from IEEE Std 1003.1-1988,
+ IEEE Standard Portable Operating System Interface for Computer Environ-
+ ments (POSIX), copyright C 1988 by the Institute of Electrical and Elec-
+ tronics Engineers, Inc. In the event of any discrepancy between these
+ versions and the original IEEE Standard, the original IEEE Standard is
+ the referee document.
+
+ANSI
+ In the following statement, the phrase "This material" refers to portions
+ of the system documentation.
+
+ This material is reproduced with permission from American National Stan-
+ dards Committee X3, on Information Processing Systems. Computer and Busi-
+ ness Equipment Manufacturers Association (CBEMA), 311 First St., NW,
+ Suite 500, Washington, DC 20001-2178. The developmental work of Program-
+ ming Language C was completed by the X3J11 Technical Committee.
+
+DARPA
+ Portions of the manual reflect system enhancements made at Berkeley and
+ sponsored in part by the Defense Advanced Research Projects Agency (DoD),
+ Arpa Order No. 4871 monitored by the Naval Electronics Systems Command
+ under contract No. N00039-84-C-0089. The views and conclusions contained
+ in these documents are those of the authors and should not be interpreted
+ as representing official policies, either expressed or implied, of the
+ Defense Research Projects Agency or of the US Government.
+
+SCO
+ SCOPE
+ In the following statement, the licence applies to all material from AT&T
+ UNIX as well as from the formerly encumbered BSD releases, from which
+ much historical material has flown into MirOS, for example nroff(1) and
+ large parts of documentation.
+
+ January 23, 2002
+ Dear UNIX(R) enthusiasts,
+ Caldera International, Inc. hereby grants a fee free license that in-
+ cludes the rights use, modify and distribute this named source code, in-
+ cluding creating derived binary products created from the source code.
+ The source code for which Caldera International, Inc. grants rights are
+ limited to the following UNIX Operating Systems that operate on the 16-
+ Bit PDP-11 CPU and early versions of the 32-Bit UNIX Operating System,
+ with specific exclusion of UNIX System III and UNIX System V and succes-
+ sor operating systems:
+ + o 32-bit 32V UNIX
+ + o 16 bit UNIX Versions 1, 2, 3, 4, 5, 6, 7
+
+ Caldera International, Inc. makes no guarantees or commitments that any
+ source code is available from Caldera International, Inc.
+
+ The following copyright notice applies to the source code files for which
+ this license is granted.
+
+ THE CALDERA LICENSE
+ Copyright (C) Caldera International Inc. 2001-2002.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without modif-
+ ication, are permitted provided that the following conditions are met:
+
+ Redistributions of source code and documentation must retain the above
+ copyright notice, this list of conditions and the following disclaimer.
+ Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution. All advertising
+ materials mentioning features or use of this software must display the
+ following acknowledgement:
+
+ This product includes software developed or owned by Caldera
+ International, Inc.
+
+ Neither the name of Caldera International, Inc. nor the names of other
+ contributors may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+
+ USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA INTERNA-
+ TIONAL, INC. AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRAN-
+ TIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTA-
+ BILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+ SHALL CALDERA INTERNATIONAL, INC. BE LIABLE FOR ANY DIRECT, INDIRECT IN-
+ CIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (IN-
+ CLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ Very truly yours,
+ /signed/ Bill Broderick
+ Bill Broderick
+ Director, Licensing Services
+
+TRADEMARKS
+ All trademarks are properties of their respective holders. Particularily,
+ the UNIX(R) trademark changed its owner so often it's impossible to track
+ it down.
+
+ADVERTISING CLAUSES
+ The following attribution clauses are required to be reproduced when ad-
+ vertising for MirOS:
+ + o This model includes software developed by Christopher G. Demetriou.
+ + o This model includes software developed by Christos Zoulas
+ + o This product contains software developed by Ignatios Souvatzis for
+ the NetBSD project.
+ + o This product includes cryptographic software written by Eric Young
+ (eay@mincom.oz.au)
+ + o This product includes software designed by William Allen Simpson.
+ + o This product includes software developed at the Information Technolo-
+ gy Division, US Naval Research Laboratory.
+ + o This product includes software developed by Aaron Brown and Harvard
+ University.
+ + o This product includes software developed by Aaron Campbell.
+ + o This product includes software developed by Adam Glass and Charles M.
+ Hannum.
+ + o This product includes software developed by Adam Glass.
+ + o This product includes software developed by Amancio Hasty and Roger
+ Hardiman.
+ + o This product includes software developed by Angelos D. Keromytis.
+ + o This product includes software developed by Berkeley Software Design,
+ Inc.
+ + o This product includes software developed by Bill Paul.
+ + o This product includes software developed by Charles D. Cranor and
+ Washington University.
+ + o This product includes software developed by Charles D. Cranor, Wash-
+ ington University, and the University of California, Berkeley
+ + o This product includes software developed by Charles D. Cranor, Wash-
+ ington University, the University of California, Berkeley and its
+ contributors.
+ + o This product includes software developed by Charles D. Cranor.
+ + o This product includes software developed by Charles Hannum, by the
+ University of Vermont and State Agricultural College and Garrett A.
+ Wollman, by William F. Jolitz, and by the University of California,
+ Berkeley, Lawrence Berkeley Laboratory, and its contributors.
+ + o This product includes software developed by Charles Hannum.
+ + o This product includes software developed by Charles M. Hannum.
+ + o This product includes software developed by Christopher G. Demetriou
+ for the NetBSD Project.
+ + o This product includes software developed by Christopher G. Demetriou.
+ + o This product includes software developed by Christos Zoulas for the
+ NetBSD Project.
+ + o This product includes software developed by Christos Zoulas.
+ + o This product includes software developed by Colin Wood for the NetBSD
+ Project.
+ + o This product includes software developed by Computing Services at
+ Carnegie Mellon University (http://www.cmu.edu/computing/).
+ + o This product includes software developed by Daan Vreeken.
+ + o This product includes software developed by David Dawes, Jean-
+ Baptiste Marchand, Julien Montagne, Thomas Roell, Michael Smith,
+ Jerome Verdon and Kazutaka Yokota.
+ + o This product includes software developed by David Hulton.
+ + o This product includes software developed by David Jones and Gordon
+ Ross
+ + o This product includes software developed by David Miller.
+ + o This product includes software developed by Dean Huxley.
+ + o This product includes software developed by Eric S. Raymond
+ + o This product includes software developed by Eric Young
+ (eay@mincom.oz.au)
+ + o This product includes software developed by Gardner Buchanan.
+ + o This product includes software developed by Gordon Ross
+ + o This product includes software developed by Gordon W. Ross
+ + o This product includes software developed by Gordon W. Ross and Leo
+ Weppelman.
+ + o This product includes software developed by HAYAKAWA Koichi.
+ + o This product includes software developed by HD Associates
+ + o This product includes software developed by Harvard University and
+ its contributors.
+ + o This product includes software developed by Harvard University.
+ + o This product includes software developed by Hellmuth Michaelis and
+ Joerg Wunsch
+ + o This product includes software developed by Hellmuth Michaelis, Brian
+ Dunford-Shore, Joerg Wunsch, Scott Turner and Charles Hannum.
+ + o This product includes software developed by Herb Peyerl
+ + o This product includes software developed by Iain Hibbert
+ + o This product includes software developed by Ichiro FUKUHARA.
+ + o This product includes software developed by Ignatios Souvatzis for
+ the NetBSD project.
+ + o This product includes software developed by Jason R. Thorpe for And
+ Communications, http://www.and.com/
+ + o This product includes software developed by Joachim Koenig-Baltes.
+ + o This product includes software developed by Jochen Pohl for The
+ NetBSD Project.
+ + o This product includes software developed by Jonathan Stone
+ + o This product includes software developed by Jonathan Stone and Jason
+ R. Thorpe for the NetBSD Project.
+ + o This product includes software developed by Julian Highfield.
+ + o This product includes software developed by Kenneth Stailey and Ian
+ Darwin.
+ + o This product includes software developed by Kenneth Stailey.
+ + o This product includes software developed by LAN Media Corporation and
+ its contributors.
+ + o This product includes software developed by Leo Weppelman.
+ + o This product includes software developed by Manuel Bouyer.
+ + o This product includes software developed by Marc Horowitz.
+ + o This product includes software developed by Mark Tinguely and Jim
+ Lowe
+ + o This product includes software developed by Marshall M. Midden.
+ + o This product includes software developed by Matthias Pfaller.
+ + o This product includes software developed by Michael Graff for the
+ NetBSD Project.
+ + o This product includes software developed by Michael L. Hitch.
+ + o This product includes software developed by Michael Long.
+ + o This product includes software developed by Michael Shalayeff.
+ + o This product includes software developed by Mike Pritchard.
+ + o This product includes software developed by Niels Provos.
+ + o This product includes software developed by Niklas Hallqvist, C Stone
+ and Job de Haas.
+ + o This product includes software developed by Niklas Hallqvist.
+ + o This product includes software developed by Paul Kranenburg.
+ + o This product includes software developed by Paul Mackerras
+ <paulus@samba.org>.
+ + o This product includes software developed by Peter Galbavy.
+ + o This product includes software developed by Phase One, Inc.
+ + o This product includes software developed by Philip A. Nelson.
+ + o This product includes software developed by Ralf S. Engelschall
+ <rse@engelschall.com> for use in the mod_ssl project
+ (http://www.modssl.org/).
+ + o This product includes software developed by Rodney W. Grimes.
+ + o This product includes software developed by Roland C. Dowdeswell.
+ + o This product includes software developed by Rolf Grossmann.
+ + o This product includes software developed by Serge V. Vakulenko.
+ + o This product includes software developed by Tatoku Ogaito for the
+ NetBSD Project.
+ + o This product includes software developed by Terrence R. Lambert.
+ + o This product includes software developed by Thomas Skibo.
+ + o This product includes software developed by TooLs GmbH.
+ + o This product includes software developed by Winning Strategies, Inc.
+ + o This product includes software developed by Zembu Labs, Inc.
+ + o This product includes software developed by the Apache Software Foun-
+ dation (http://www.apache.org/).
+ + o This product includes software developed by the Charles D. Cranor,
+ Washington University, University of California, Berkeley and its
+ contributors.
+ + o This product includes software developed by the Computer Systems En-
+ gineering Group at Lawrence Berkeley Laboratory.
+ + o This product includes software developed by the Harvard University
+ and its contributors.
+ + o This product includes software developed by the Kungliga Tekniska
+ Högskolan and its contributors.
+ + o This product includes software developed by the Network Research
+ Group at Lawrence Berkeley Laboratory.
+ + o This product includes software developed by the OpenSSL Project for
+ use in the OpenSSL Toolkit. (http://www.openssl.org/)
+ + o This product includes software developed by the SMCC Technology
+ Development Group at Sun Microsystems, Inc.
+ + o This product includes software developed by the University of Cali-
+ fornia, Berkeley and its contributors, as well as Christoph Herrmann
+ and Thomas-Henning von Kamptz.
+ + o This product includes software developed by the University of Cali-
+ fornia, Berkeley and its contributors.
+ + o This product includes software developed by the University of Cali-
+ fornia, Lawrence Berkeley Laboratories.
+ + o This product includes software developed by the University of Cali-
+ fornia, Lawrence Berkeley Laboratory and its contributors.
+ + o This product includes software developed by the University of Vermont
+ and State Agricultural College and Garrett A. Wollman, by William F.
+ Jolitz, and by the University of California, Berkeley, Lawrence
+ Berkeley Laboratory, and its contributors.
+ + o This product includes software developed by the University of Vermont
+ and State Agricultural College and Garrett A. Wollman.
+ + o This product includes software developed by the author.
+ + o This product includes software developed for the FreeBSD project.
+ + o This product includes software developed for the NetBSD Project by
+ Christopher G. Demetriou.
+ + o This product includes software developed for the NetBSD Project by
+ Frank van der Linden
+ + o This product includes software developed for the NetBSD Project by
+ Jason Downs and Jason R. Thorpe.
+ + o This product includes software developed for the NetBSD Project by
+ Jason R. Thorpe.
+ + o This product includes software developed for the NetBSD Project by
+ John M. Vinopal.
+ + o This product includes software developed for the NetBSD Project by
+ Juergen Hannken-Illjes.
+ + o This product includes software developed for the NetBSD Project by
+ Perry E. Metzger.
+ + o This product includes software developed for the NetBSD Project by
+ Wasabi Systems, Inc.
+ + o This product includes software developed for the NetBSD Project. See
+ http://www.netbsd.org/ for information about NetBSD.
+ + o This product includes software developed or owned by Caldera Interna-
+ tional, Inc.
+ + o This product uses a modified version of Henry Spencer's regular ex-
+ pression library.
+ + o This product uses zlib by Jean-loup Gailly.
+ + o This software is a component of "386BSD" developed by William F. Jol-
+ itz, TeleMuse.
+ + o This software was developed by Holger Veit and Brian Moore for use
+ with "386BSD" and similar operating systems.
+
+ All trademarks and registered trademarks are properties of their respec-
+ tive owners.
+
+NO-ENDORSEMENT CLAUSE
+ Neither the name of licensor, nor the names of the authors and contribu-
+ tors may be used to endorse or promote products derived from this work
+ without specific prior written permission.
+
+AUTHORS
+ This manual was carefully put together first for the release of MirOS #8
+ by Thorsten "mirabilos" Glaser <tg@mirbsd.org>. It is still maintained
+ for MirOS #11.
+
+SOURCE ACCESS CLAUSE
+ Some licences require access to source code. When said code is not part
+ of the original distribution medium or placed alongside it, it is either
+ available via standard means, specifically AnonCVS, AnonRSYNC, or HTTP
+ distfile download, from the project server, or, in some cases, available
+ upon request for a reasonable time period, such as three years.
+
+SEE ALSO
+ http://mirbsd.de/
+
+ https://www.mirbsd.org/
+
+BUGS
+ Although collected carefully, there might be some. Please report to the
+ MirOS project at <miros-discuss@mirbsd.org> if you think you have
+ discovered a bug.
+
+MirOS January 17, 2009 6
--- /dev/null
+BOOT(8) BSD System Manager's Manual (i386) BOOT(8)
+
+NAME
+ boot, boot.cfg, ldbsd.com, pxeboot - i386 second-stage boot loader
+
+DESCRIPTION
+ The boot system programme, often called ldbsd.com, aims to load the sys-
+ tem kernel into core memory from disc or network and run it, as well as
+ do some auxiliary functions, while dealing with the problems arising from
+ the history of the i386 architecture since 1978, incompatibilities, ex-
+ tensions, bugs, El Torito booting, Intel's Preboot Execution Environment
+ (PXE) for network boot, etc. MirOS floppies use a specially limited ver-
+ sion optimised for size, lacking support for any filesystem other than
+ 4.2FFS and most commands.
+
+ It can be loaded either directly from the BIOS (most commonly via PXE;
+ earlier versions could also be loaded using El Torito), the bootxx first
+ stage boot loader (from floppy, hard disc, compact flash card, USB stick,
+ and the likes; recently, since bootxx itself was made El Torito capable,
+ this has become the desired method for El Torito boot), any bootloader
+ compliant with the Multiboot specification (as boot is a Multiboot com-
+ pliant OS Kernel image), or after renaming to ldbsd.com by any bootloader
+ implementing the COMBOOT API (specified by SYSLINUX, EXTLINUX, ISOLINUX,
+ PXELINUX) or MS-DOS(R) (unless DOS occupies the HMA). Once loaded, it can
+ be used, in a more or less limited fashion, to boot a MirOS kernel from a
+ supported filesystem (4.2FFS, ISO 9660, FAT12, FAT16, FAT28, TFTP, NFS),
+ inspect the filesystems, get or set machine information, or load other
+ bootloaders (see below for details). It can inflate gzip(1) compressed
+ files, set up serial console, and provides an interactive prompt.
+
+ Basic operation procedure is as follows:
+
+ 1. Be loaded.
+
+ BIOS We are loaded to 0x07C00. The drive used to load us from
+ is passed in the DL register. The ES:BX and DS:SI regis-
+ ters and the stack contain additional data. While we do
+ not care about the actual address, we expect to be whole.
+
+ bootxx We are loaded at the final address. The drive used to
+ load us from is passed in a special memory location. The
+ DS:SI registers are set up if we were loaded from a HDD
+ partition. The Master Boot Record (/usr/mdec/mbrldr or
+ /usr/mdec/mbrmgr) takes care to set these up correctly.
+
+ PXE The NIC's PXE boot ROM initialises the NIC, network
+ driver, UNDI and PXE interfaces, contacts a DHCP server
+ by broadcasting an IPv4 request on the network, gets an
+ IP address and the name of a file to load from the DHCP
+ server, and downloads the file indicated via TFTP to
+ 0x07C00. That would be boot. Control is then passed to
+ address 0x07C00 with ES:BX and the stack set up.
+
+ PXE booting is useful for diskless(8) clients or initial
+ download and execution of the installation kernel,
+ bsd.rd, or for rescue system purposes.
+
+ DOS We are loaded to xxxx:0100h with no drive or PXE informa-
+ tion set up. The interrupt vectors are hooked by DOS, so
+ if we overwrite any memory in use by DOS, we lose. That
+ would be the case if xxxx is larger than our final ad-
+ dress, any hooks point to an address between our final
+ address and 9000:0000h, the HMA is in use (because that's
+ where the kernel is loaded to), or somesuch. This also
+ implies we cannot chain any other bootloader. Further-
+ more, we require the machine to be in Real Mode, not in
+ VM86 mode, so EMM386.SYS, Win32 or similar must not be
+ active. We ask DOS for the current drive to use this in-
+ formation later.
+
+ COMBOOT We are loaded in a similar way as from DOS, except the
+ machine state is not changed as much from the initial
+ state. After determining that we are in fact loaded via
+ COMBOOT and not DOS, we ask SYSLINUX to terminate after
+ gathering information about the boot drive, partition, or
+ PXE; the UNDI and PXE stacks are kept active if any.
+
+ Multiboot We request to be loaded to 0x00100000 (the HMA) due to
+ GNU GRUB's limitations, save the boot device off the MBI
+ structure, copy ourselves to the final location, and
+ switch back to Real Mode.
+
+ During the initial operation, the stack is located about 80 KiB
+ behind the start of our own memory area, and switched to the final
+ location if the position in memory is known to be correct early.
+
+ 2. System information (boot drive, potential partition table entry,
+ PXENV+ and !PXE structure pointers) are stored in safe locations.
+
+ 3. The code is relocated to the final address once or twice if needed.
+ The final address is 4000:0000h with the stack beginning at
+ 3000:FFFCh. The stack is shared between Real Mode and 32-bit Virtual
+ Protected Address Mode. The code is mostly organised using the small
+ memory model, with everything within 64 KiB (although the real limit
+ is more than 256 bytes less than that due to initial loading is-
+ sues), except some rather large uninitialised areas and the disc I/O
+ bounce buffer, which begin at 3000:0000 and grow upwards. The heap
+ begins after the bss section and grows up to just short of
+ 9000:0000h.
+
+ 4. If the bootloader is compiled to do so, for example on a Live CD, it
+ displays a boot menu unless the shift key is pressed, and retains
+ the numeric return value for later, to replace the cfg suffix of the
+ configuration file with it.
+
+ 5. The IDT for the Protected Mode is set up.
+
+ 6. The system is switched to Protected Mode.
+
+ 7. The hardware is probed:
+
+ + o Console devices: the default BIOS console (INT 10h, which may be
+ a MDA/MGA/Hercules, CGA/EGA or VGA CRT/LCD, plus DIN or PS/2 or
+ emulated keyboard) as well as up to four serial ports (via the
+ BIOS interface).
+ + o Memory: ask the BIOS and probe page by page through the address
+ space, in case the BIOS reports wrong information.
+ + o APM support
+ + o PXE support
+
+ 8. Unless a control key is held, the files /x.x.x.x/boot.cfg (where
+ x.x.x.x is our own IPv4 address) and /boot.cfg (with cfg possibly
+ replaced from the menu) are read and executed as if the commands had
+ been entered on the loader prompt.
+
+ 9. The bootloader prompt
+
+ boot> _
+
+ is issued, and a command line is read. If no key is pressed within
+ five seconds, the kernels /bsd and /bsd.old are tried, in order, to
+ be booted with the current parameters; if unsuccessful or any key is
+ pressed, the timeout is disabled (it can be manipulated from the
+ configuration file or command line). The system will be unable to
+ boot if no suitable kernel image is found.
+
+ Commands from the configuration file and the loader prompt are read line
+ by line and executed as read. Empty lines and lines beginning with the
+ comment character, '#', are ignored when reading from the configuration
+ file. Just entering an empty line at the loader prompt, however, will do
+ the default action of booting a kernel with the current parameters. To
+ pass multiple commands on a line, use the U+0060 character, '`', as del-
+ imiter. To pass multiple commands into a macro definition, use the tilde,
+ '~', as delimiter. Leading and trailing whitespace is ignored.
+
+COMMANDS
+ The following commands are accepted at the loader prompt:
+
+ boot [image [-acds]]
+ Boots the kernel image specified by image with any options given.
+ If the image file specification, or one of its device or filename
+ parts (see below) is omitted, values from variables will be used.
+
+ -a Causes the kernel to ask for the root filesystem to use.
+
+ -c Causes the kernel to go into UKC(8) before performing
+ autoconf(4).
+
+ -d Causes the kernel to drop into ddb(4) at the earliest con-
+ venient point.
+
+ -s Attempts to boot into single-user mode.
+
+ cat image
+ Displays the file onto the console. Output is paginated every 24
+ lines.
+
+ echo Displays the arguments onto the console.
+
+ env On i386, this command is not used.
+
+ help Prints a list of available commands.
+
+ ls [dirspec]
+ Prints the content of the specified directory in long format.
+ Output is paginated every 24 lines.
+
+ The cd9660, tftp and nfs filesystems do not support this command.
+ They will either always fail or always succeed with sane but
+ unusable results. The FAT12, FAt16 and FAT28 filesystems have
+ hardcoded perms and uid/gid.
+
+ machine [command]
+ Issues machine-specific commands:
+
+ boot dev Load a bootsector (MBR or PBR) from the indicated dev-
+ ice and boot it. Possible devices are fd0 (floppy
+ boot), hd0 (MBR), hd0a, hd0b, hd0c, hd0d (PBR), and
+ some more useless combinations.
+
+ diskinfo Display a list of probed floppy and hard disc drives
+ including BIOS and geometry information.
+
+ exec type image
+ Load a bootsector or other bootloader from an image
+ file and execute it. Currently known values for type:
+
+ grub GNU GRUB 0.9x stage2 file
+ GNU GRUB 0.9x stage2_eltorito file
+ GNU GRUB2 core.img file
+
+ sector Boot sector or image, loaded to 0000:7C00h
+ MirOS boot second-stage loader
+
+ label [device]
+ Displays the idea boot has about the disklabel of the
+ currently active or the specified device.
+
+ memory [arg]
+ If used without any arguments, print the current idea
+ boot has about the memory configuration taken from BIOS
+ or probed. Arguments having the form of
+
+ [+-]<size>@<address>
+
+ add (+) or exempt (-) the specified amount of memory.
+ Both size and base address can be specified in decimal,
+ octal or hexadecimal, using standard C prefixes.
+
+ Memory segments are not required to be adjacent to each
+ other; the only requirement is that there is real phy-
+ sical memory under the range added. The following exam-
+ ple adds 32 MiB of memory right after the first 16 MiB:
+
+ boot> machine mem +0x2000000@0x01000000
+
+ Another useful command is to withdraw a range of memory
+ from OS usage, which may have been wrongfully reported
+ as useful by the BIOS. This example excludes the 1516
+ MiB range from the map of useful memory:
+
+ boot> machine mem -0x100000@0x00F00000
+
+ regs Debugging command displaying register dumps.
+
+ oldbios Enable or disable the so-called "Old BIOS / Soekris
+ helper", which restricts boot from loading more than
+ one sector at a time from disc.
+
+ macro Displays the names of all currently defined macros. Up to four
+ can be defined, holding up to 256 characters.
+
+ macro name [cmd]
+ Deletes the macro name, or defines it to cmd.
+
+ reboot Initiates a warm machine reboot.
+
+ set [name [value]]
+ If invoked without arguments, prints a list of variables and
+ their values. If only a name is given, the value of that variable
+ is displayed. Otherwise, the variable is set to the new value.
+ The following variables are defined:
+
+ addr Address at which to load the kernel
+
+ debug Debug flag
+
+ device Boot device name (see below)
+
+ doboot "0" disables automatic boot on entering an empty line
+
+ howto Options passed to the loaded kernel, see boot
+
+ image File name containing the kernel image
+
+ timeout Number of seconds to wait for human intervention before
+ auto-booting
+
+ tty Name of the active console device, for example:
+ + o com0
+ + o com1
+ + o pc0
+
+ stty [device [speed]]
+ Displays or sets the speed for a console device. If the baudrate
+ for the currently active console device is changed, boot offers
+ you five seconds of grace period to switch your terminal to
+ match. If the baudrate for an inactive device is changed, it will
+ only become active on the next switch to a serial console device;
+ it is not used on the PC CRT console.
+
+ The default baudrate is 9600 bps. boot uses eight data bits, no
+ parity, one stop bit.
+
+ time Displays the system date and time.
+
+IMAGE SPECIFICATIONS
+ An image specification consists of two parts, the device name and a path-
+ name, separated by a colon (':'). In most circumstances, both can be om-
+ itted, and pathnames do not need to begin with a leading slash even if
+ they are absolute. Note that, for some filesystems, you are limited to an
+ 8.3 character naming scheme with case insensitive (mapped to lowercase)
+ filenames. Other filesystems may not provide directory listing informa-
+ tion or the ability to stat files (especially remote filesystems).
+
+ Examples of valid image specifications are:
+ + o fd0a:/bsd
+ + o hd0o:/bsd.rd
+ + o / (for "ls")
+ + o cd0a:/boot/grub/stage2
+
+ Disklabels are read from hard discs (BIOS drive >= 80h) by searching for
+ a primary MirOS partition first. The default partition type, 0x27, can be
+ changed at installboot(8) time, where it is hardcoded into the partition
+ boot record. If no suitable MBR partition was found or we're on a floppy,
+ the disklabel is searched at the beginning of the drive instead. The la-
+ bel offset for the i386 architecture is one 512-byte sector. On MirOS
+ DuaLive CDs, it may be embedded in the first-stage sparc bootloader. If
+ no disklabel can be read from the disc, one is faked. The device size
+ ('c' slice) defaults to the size of an 1440 KiB floppy disc, but if any
+ MBR primary partitions are found which span more space, their values are
+ used instead. The 'd', 'e', 'f' and 'g' slices are filled with the four
+ MBR primary partitions, if any. The 'a' slice is filled, in this order,
+ with: the partition passed via DS:SI if plausible, the first non-empty
+ MBR partition ('d'-'g' slices), the whole disc ('c' slice).
+
+FILES
+ /usr/mdec/bootxx first stage bootloader (PBR)
+ /usr/mdec/boot second stage bootloader
+ /usr/mdec/mbrldr hard disc MBR, simple version
+ /usr/mdec/mbrmgr MBR, bootmanager version
+ /boot usual location of installed loader
+ ldbsd.com alternative name for boot
+ /boot.cfg boot configuration file
+ /bsd standard kernel image
+ /bsd.rd kernel image for installation/recovery
+ /bsd.old alternative kernel image
+ /etc/dhcpd.conf dhcpd(8) configuration file
+ /tftpboot/boot standard location of boot for netboot
+ /tftpboot/boot.cfg common/shared boot configuration file on the TFTP
+ server; /tftpboot/10.11.12.13/boot.cfg contains
+ peer-specific configuration to be used instead
+ /tftpboot/bsd kernel image
+ /tftpboot/pxeboot deprecated, no longer in use
+
+EXAMPLES
+ A sample configuration file for dhcpd(8) is already contained with MirOS
+ and might look as follows:
+
+ shared-network KICKSTART {
+ subnet 172.23.42.0 netmask 255.255.255.0 {
+ option routers 172.23.42.1;
+ filename "boot";
+ range 172.23.42.10 172.23.42.199;
+ }
+ }
+
+ Boot the default kernel:
+
+ boot> boot
+
+ Remove the 5 second pause at boot-time permanently, causing boot to load
+ the kernel immediately without prompting:
+
+ # echo "boot" >/boot.cfg
+
+ Remove the 5 second pause at boot-time permanently, causing boot to do
+ nothing automatically:
+
+ # echo "set timeout 0" >/boot.cfg
+
+ Use serial console. A null modem cable should connect the specified seri-
+ al port to a terminal. Useful for debugging.
+
+ boot> set tty com0
+
+ Invoke the serial console at every boot:
+
+ # echo "set tty com0" >/boot.cfg
+
+ Multiple commands on one line are useful for machines whose serial con-
+ sole is unusable from within the boot loader, but the only way to talk to
+ the kernel, e.g. for installation on a Soekris/WRAP:
+
+ boot> stty com0 38400 ` set tty com0 ` boot /bsd.rd
+
+ Boot the kernel named /bsd from the second hard disc in "User Kernel
+ Configuration" mode (see boot_config(8)). This mechanism allows for the
+ explicit enabling and disabling of devices during the current boot se-
+ quence, as well as the modification of device parameters. Once booted,
+ such changes can be made permanent by using config(8)'s -e option.
+
+ boot> boot hd1a:/bsd -c
+
+SEE ALSO
+ gzip(1), compress(3), autoconf(4), ddb(4), dhcpd.conf(5), boot_config(8),
+ boot_i386(8), dhcpd(8), diskless(8), fdisk(8), httpd(8), inetd(8),
+ installboot(8), reboot(8), tftpd(8)
+
+ Intel Corporation, Preboot Execution Environment (PXE) Specification,
+ Version 2.1, September 20, 1999.
+
+HISTORY
+ This bootloader is based on code written by Michael Shalayeff for
+ OpenBSD 2.1. The separate pxeboot command first appeared in OpenBSD 3.5,
+ based upon work from NetBSD. In OpenBSD and MirOS #7 and below, the
+ boot.cfg file was called boot.conf, it has been renamed for ISO 9660 and
+ FAT compatibility. A version called cdboot appeared in MirOS #8 and went
+ away for MirOS #10. The separate versions got merged into one bootloader,
+ DOS, COMBOOT, Multiboot support, pagination, macros, the machine exec and
+ cat commands, working chainbooting of bootsectors and GNU GRUB, faked
+ disklabels (if none exist on disc), FAT filesystem support, and many more
+ things were added or rewritten for MirOS #11 and grml by Thorsten Glaser.
+
+CAVEATS
+ The default location of the kernels and the boot.cfg file can be changed
+ at compile time.
+
+MirOS BSD #10-current February 1, 2009 6