Return-Path: Received: from merbach.net [66.70.210.50] by localhost with POP3 (fetchmail-6.2.5) for listen@localhost (single-drop); Tue, 07 Mar 2006 12:44:09 +0100 (CET) Received: from lists-outbound.sourceforge.net (lists-outbound.sourceforge.net [66.35.250.225]) by milestone.prohost.de (8.11.6/8.11.6) with ESMTP id k27Bh4j20980; Tue, 7 Mar 2006 12:43:04 +0100 Received: from sc8-sf-list2-b.sourceforge.net (sc8-sf-list2-b.sourceforge.net [10.3.1.8]) by sc8-sf-spam2.sourceforge.net (Postfix) with ESMTP id F0E44130FA; Tue, 7 Mar 2006 03:43:02 -0800 (PST) Received: from sc8-sf-mx1-b.sourceforge.net ([10.3.1.91] helo=mail.sourceforge.net) by sc8-sf-list2.sourceforge.net with esmtp (Exim 4.30) id 1FGaa5-00036C-Ve for kboot-general@lists.sourceforge.net; Tue, 07 Mar 2006 03:42:21 -0800 Received: from mtagate3.de.ibm.com ([195.212.29.152]) by mail.sourceforge.net with esmtps (TLSv1:AES256-SHA:256) (Exim 4.44) id 1FGaa1-0002Rx-Na for kboot-general@lists.sourceforge.net; Tue, 07 Mar 2006 03:42:22 -0800 Received: from d12nrmr1607.megacenter.de.ibm.com (d12nrmr1607.megacenter.de.ibm.com [9.149.167.49]) by mtagate3.de.ibm.com (8.12.10/8.12.10) with ESMTP id k27Bg8Qk210288 for ; Tue, 7 Mar 2006 11:42:08 GMT Received: from d12av01.megacenter.de.ibm.com (d12av01.megacenter.de.ibm.com [9.149.165.212]) by d12nrmr1607.megacenter.de.ibm.com (8.12.10/NCO/VER6.8) with ESMTP id k27BgTwY236816 for ; Tue, 7 Mar 2006 12:42:29 +0100 Received: from d12av01.megacenter.de.ibm.com (loopback [127.0.0.1]) by d12av01.megacenter.de.ibm.com (8.12.11/8.13.3) with ESMTP id k27Bg83M025188 for ; Tue, 7 Mar 2006 12:42:08 +0100 Received: from mloehrtp (dyn-9-155-23-65.mainz.de.ibm.com [9.155.23.65]) by d12av01.megacenter.de.ibm.com (8.12.11/8.12.11) with SMTP id k27Bg8kr025177 for ; Tue, 7 Mar 2006 12:42:08 +0100 From: Michael Loehr To: "kboot-general@lists.sourceforge.net" Message-Id: <20060307124214.c850f190.mloehr2@de.ibm.com> X-Mailer: Sylpheed version 2.2.0 (GTK+ 2.8.12; i486-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 X-Spam-Score: 0.5 (/) X-Spam-Report: Spam Filtering performed by sourceforge.net. See http://spamassassin.org/tag/ for more details. Report problems to http://sf.net/tracker/?func=add&group_id=1&atid=200001 0.5 TO_ADDRESS_EQ_REAL To: repeats address as real name Subject: [Kboot-general] Resending: system loader add-on to kboot-9 (patch 2) Sender: kboot-general-admin@lists.sourceforge.net Errors-To: kboot-general-admin@lists.sourceforge.net X-BeenThere: kboot-general@lists.sourceforge.net X-Mailman-Version: 2.0.9-sf.net Precedence: bulk List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Date: Tue, 7 Mar 2006 12:42:14 +0100 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by milestone.prohost.de id k27Bh4j20980 X-UIDL: n~(#!W4,!!V")!!eaE"! Hello all, I just received a mail from Dennis Merbach where he told me that the resend of my first patch looked OK and where he asked for the documentation. So here it is for everyone who might be interested. best regards Michael === diff -Nuar kboot_sl/doc/description.lyx kboot_sl_doc/doc/description.lyx --- kboot_sl/doc/description.lyx 1970-01-01 01:00:00.000000000 +0100 +++ kboot_sl_doc/doc/description.lyx 2006-02-13 13:40:06.000000000 +0100 @@ -0,0 +1,1446 @@ +#LyX 1.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 221 +\textclass article +\begin_preamble +\usepackage[pdftex]{hyperref} +\end_preamble +\language english +\inputencoding auto +\fontscheme pslatex +\graphics default +\paperfontsize default +\spacing single +\papersize a4paper +\paperpackage widemarginsa4 +\use_geometry 0 +\use_amsmath 0 +\use_natbib 0 +\use_numerical_citations 0 +\paperorientation portrait +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation skip +\defskip medskip +\quotes_language english +\quotes_times 2 +\papercolumns 1 +\papersides 1 +\paperpagestyle default + +\layout Title + +Linux System Loader Description +\layout Author + +Michael Löhr +\layout Date + +$Id: specs.lyx,v 1.9 2006/02/08 14:49:11 loehr Exp $ +\layout Standard +\pagebreak_top \pagebreak_bottom + +\begin_inset LatexCommand \tableofcontents{} + +\end_inset + + +\layout Standard + + +\begin_inset ERT +status Collapsed + +\layout Standard + +\backslash +sloppy +\end_inset + + +\layout Section + +Overview +\layout Standard + +This document describes the installation and configuration of the system + loader. + Every available option of the system loader configuration file is treated + in detail. + In addition the usage of the system loader user interface is shown. + The appendix provides example configurations. +\layout Section + +Description +\layout Standard + +The system loader is an extension of the +\family typewriter +kboot +\family default + project by Werner Almesberger ( +\begin_inset LatexCommand \htmlurl[kboot homepage]{http://kboot.sourceforge.net/} + +\end_inset + +). + It runs in a minimal Linux environment that has to be started by a platform + specific first stage boot loader. + It will read a boot configuration file from a location specified by an + URI and display a boot selection menu. + Based on the user selection it loads a boot configuration and reinitializes + the system via the +\family typewriter +kexec +\family default + system call. + This second stage of the boot process will directly replace the already + running minimal Linux system by the system selected in the boot configuration. + Because the second stage is controlled dynamically by the system loader + configuration file there is no need to rerun the first stage loader when + the boot configuration changes. +\layout Section + +Building +\layout Standard + +In most cases the end user of the system loader will use prebuilt components + and has therefore no need to build the system loader from scratch. + If it is necessary to rebuild the system loader components there are three + possibilities. +\layout Subsection + +The +\family typewriter +kboot +\family default + Build Environment +\layout Standard + +As an extension to the +\family typewriter +kboot +\family default + environment the system loader is integrated into the +\family typewriter +kboot +\family default + build environment and into the Makefile. + As a result a +\family typewriter +make +\family default + in the +\family typewriter +kboot +\family default + top level will download and compile all required components and finally + create a system loader kernel and ramdisk. + This ramdisk contains the kboot base environment plus the system loader + extensions described in this document. + Additional information about this build environment can be found in the + original +\family typewriter +kboot +\family default + documents by Werner Almesberger. +\layout Subsection + +RPM Package Build +\layout Standard + +This build option is only available on RPM based Linux distributions. + Executing +\family typewriter +make redhat-rpm +\family default + in the +\family typewriter +kboot +\family default + top level directory will first execute +\family typewriter +make +\family default + in the +\family typewriter +kboot +\family default + build environment and finally create source and binary RPM packages of + the system loader. + The standard kboot build environment must be working without problems before + building RPMs. +\layout Subsection + +System Loader Standalone Build +\layout Standard + +It is possible to build the system loader as a standalone application without + the whole kboot kernel and ramdisk environment. + Calling make in the +\family typewriter +kboot/ui +\family default + directory will create this version of the system loader. + It can be used for debugging purposes or to initiate a fast menu controlled + reboot of the system. +\layout Section + +Installation +\layout Standard + +In the case of a manual installation it is necessary to copy the system + loader kernel and ramdisk to the +\family typewriter +/boot +\family default + directory. + The installation of a system loader rpm package will put the files to +\family typewriter +/boot +\family default + as well. + In both cases the systemloader is not activated automatically. +\layout Standard + +Instead of the kernel that is provided with the system loader package it + is also possible to use a kernel that is already available on the system. + The kernel version of such a kernel should be at least 2.6.13 and the kexec + system call has to be enabled. + It is also important that all modules that are required to access the boot + files (e.g. + disk drivers) are compiled into this kernel. + Kernels and ramdisks are different for 31/32-bit and 64-bit systems and + should not be mixed. +\layout Standard + +To make the system loader usable on the target system it has to be configured + as one of the possible boot selections of the first stage loader. + On i386 +\family typewriter +lilo +\family default + or +\family typewriter +grub +\family default + can be used as first stage loaders, on s390 the system loader can be booted + from the reader or it may use +\family typewriter +zipl +\family default + as the first stage loader. + A minimal first stage loader is sufficient because the system loader will + handle the boot selection menu and user interaction. +\layout Standard + +Before the system loader can be used a valid system loader configuration + file has to be written. + A detailed description of all elements of the system loader configuration + file is given in section +\begin_inset LatexCommand \ref{sec:Elements-of-the} + +\end_inset + +. + Example configuration files can be found in sections +\begin_inset LatexCommand \ref{i386conf} + +\end_inset + + and +\begin_inset LatexCommand \ref{sub:kboot.conf-for-s390} + +\end_inset + +. + When the system loader configuration file is available the system loader + kernel and initrd can be booted via the first stage boot loader. + Sections +\begin_inset LatexCommand \ref{sub:menu.lst-for-grub} + +\end_inset + + and +\begin_inset LatexCommand \ref{sub:zipl.conf} + +\end_inset + + show example configurations for +\family typewriter +grub +\family default + and +\family typewriter +zipl +\family default +. +\layout Standard + +The system loader will be started if the kernel command line contains an + additional parameter +\family typewriter +kboot +\family default + that specifies the location of the configuration file. + Otherwise the +\family typewriter +kboot +\family default + environment will be started without the system loader. +\layout Standard + +Example: +\layout LyX-Code + +kboot=dasd://(0.0.5c5e,1)/boot/kboot.conf +\layout Section + +Boot Methods +\layout Standard + +Depending on the hardware platform and the available disk types the system + loader supports several boot methods. + On the i386 and s390 platform the system can be booted from a kernel image + file. + An initial ramdisk and a kernel command line or parmfile can be specified + together with this kernel file. + On the s390 platform +\family typewriter +*.ins +\family default + files or the boot map information written by +\family typewriter +zipl +\family default + can be used in addition. +\layout Standard + +In any case the location of kernel, ramdisk, parmfile, insfile or boot map + will be defined as an URI. + Which URI scheme has to be used depends on the system platform and available + disk. + The +\family typewriter +block +\family default + URI is typically used on the i386 platform. + The +\family typewriter +dasd +\family default + and +\family typewriter +zfcp +\family default + URI schemes are specific for the s390 platform. +\layout Standard + +All boot methods and URI schemes will be described in detail in the following + chapter. +\layout Section + +Elements of the Config File +\layout Standard + + +\begin_inset LatexCommand \label{sec:Elements-of-the} + +\end_inset + +The config file for the system loader consists of some global definitions + which are followed by one or more boot entries. + External files are always referenced by an URI. + A detailed description of supported URIs will be given in section +\begin_inset LatexCommand \ref{sub:URIs} + +\end_inset + +. +\layout Subsection + +Global Definitions +\layout Standard + +Preceding the boot entries the system loader configuration file contains + a number of definitions that are valid for the whole configuration file. +\layout Subsubsection + +Comments +\layout Standard + +Comments are allowed in the global definitions part of the configuration + file and in the boot entries. + A comment starts with +\family typewriter +# +\family default + and ends at the end of the line. + Tabs or spaces in front of the # are possible but comments at the end of + a line that contains a definition are not allowed. +\layout Standard + +Example: +\layout LyX-Code + +# this is a comment +\layout LyX-Code + + # this is also a comment +\layout LyX-Code + + +\layout LyX-Code + + # this is not allowed! +\layout Subsubsection + + +\family typewriter +default +\begin_inset LatexCommand \label{sub:default} + +\end_inset + + +\layout Standard + +The +\family typewriter +default +\family default + statement references the boot entry that will be selected automatically + after the timeout. + Valid references are the label of a boot entry or a number. + Implicit numbering of the boot entries starts with 0. + If the default statement is not used, entry number 0 will be used as the + default. +\layout Standard + +Example: +\layout LyX-Code + +default linux2 +\layout LyX-Code + +default 1 +\layout Subsubsection + + +\family typewriter +timeout +\layout Standard + +The +\family typewriter +timeout +\family default + statement specifies the time in seconds until the default boot entry will + be started automatically. + If the statement is not used or the timeout is set to 0 no timeout will + occur. +\layout Standard + +Example: +\layout LyX-Code + +timeout 15 +\layout Subsubsection + + +\family typewriter +password +\begin_inset LatexCommand \label{sub:password} + +\end_inset + + +\layout Standard + +The +\family typewriter +password +\family default + statement defines the password that has to be entered if a locked boot + entry (see section +\begin_inset LatexCommand \ref{sub:lock} + +\end_inset + +) has been selected. +\layout Standard + +Example: +\layout LyX-Code + +password topsecret +\layout Subsubsection + + +\family typewriter +userinterface +\layout Standard + +The +\family typewriter +userinterface +\family default + statement specifies which userinterface module should be started to display + the boot selection menu. + For every userinterface line a userinterface process will be started. + This allows to start several instances of the same userinterface module + listening on different input devices. + Additional options may be specified depending on the user interface module. + Currently +\family typewriter +linemode +\family default + is the only available user interface module. + It allows to specify the device on which the boot selection menu will be + displayed. +\layout Standard + +Syntax: +\layout LyX-Code + +userinterface MODULE_NAME [MODULE_OPTIONS] +\layout Standard + +Example: +\layout LyX-Code + +userinterface linemode /dev/tty1 +\layout LyX-Code + +userinterface linemode /dev/tty +\layout Subsubsection + + +\family typewriter +include +\layout Standard + +The +\family typewriter +include +\family default + statement can be used anywhere in the system loader configuration file. + The content of the file file refereced by the URI will be included at the + position of the +\family typewriter +include +\family default + statement. + Nested includes are allowed but limited to twenty levels. +\layout Standard + +Syntax: +\layout LyX-Code + +include URI +\layout Standard + +Example: +\layout LyX-Code + +include dasd://(0.0.5c5e,1)/boot/extra_menu.conf +\layout Subsection + +Boot Entry Definitions +\layout Standard + +The global definitions are followed by a section of boot entries which describe + the available boot configurations. + A boot entry starts with the line +\layout LyX-Code + +boot_entry { +\layout Standard + +and ends with a closing bracket +\layout LyX-Code + +} +\layout Standard + +Every boot entry must contain exactly one statement that triggers a boot + action. + These boot action statements are +\family typewriter +kernel +\family default +, +\family typewriter +insfile +\family default +, +\family typewriter +bootmap +\family default +, +\family typewriter +halt +\family default + and +\family typewriter +reboot +\family default +. + Other statements can be used optionally. + Some of them will specify labels or variables to improve the handling of + the configuration file, some will influence the behaviour of the boot menu + and some will pass additional information to the booted system. + All possible statements inside the boot entry are described in the following + sections. +\layout Subsubsection + + +\family typewriter +title +\layout Standard + +The +\family typewriter +title +\family default + statement defines a text that will be displayed in the boot selection menu + and should give some meaningful description of the boot configuration. + This statement is mandatory for all boot entries. +\layout Standard + +Example: +\layout LyX-Code + +title Debian GNU/Linux, latest kernel +\layout Subsubsection + + +\family typewriter +label +\layout Standard + +The +\family typewriter +label +\family default + statement allows to assign a symbolic label to a boot entry. + This label can be used in the default statement to reference the default + boot entry (see section +\begin_inset LatexCommand \ref{sub:default} + +\end_inset + +). + If no label definition is present the boot entry can still be referenced + numerically by its position in the configuration file. +\layout Standard + +Example: +\layout LyX-Code + +label linux3 +\layout Subsubsection + + +\family typewriter +root +\layout Standard + +The +\family typewriter +root +\family default + statement defines an URI path prefix and will be prepended to all URIs +\begin_inset Foot +collapsed true + +\layout Standard + +The root definition will not be applied to +\family typewriter +bootmap +\family default + URIs because a path definition makes no sense for a structure that is not + part of any filesystem. +\end_inset + + specified in the same boot entry. + Typically it is used to specify a common path for kernel, initrd and parmfile. + Note that the path prefix and the rest of the URI will be concatenated + as they are specified. + There is no automatic insertion of a +\family typewriter +'/' +\family default + character and no syntax checking. +\layout Standard + +Example: +\layout LyX-Code + +root dasd://(0.0.5c5e,1)/boot/ +\layout Subsubsection + + +\family typewriter +kernel +\layout Standard + +The +\family typewriter +kernel +\family default + statement specifies the kernel file that will be booted if this boot entry + is selected. + All supported URI formats are allowed to specify the location of the kernel + file. + If a root statement is given in the same boot entry, it will be prepended + to the specified kernel path. +\layout Standard + +Example: +\layout LyX-Code + +kernel vmlinuz +\layout Subsubsection + + +\family typewriter +initrd +\layout Standard + +The +\family typewriter +initrd +\family default + statement specifies the initial ramdisk that will be used if this boot + entry is selected. + All supported URI formats are allowed to specify the location of the ramdisk + file. + If a root statement is given in the same boot entry, it will be prepended + to the specified ramdisk path. +\layout Standard + +Example: +\layout LyX-Code + +initrd initrd.img +\layout Subsubsection + + +\family typewriter +cmdline +\layout Standard + +The cmdline statement specifies the kernel commandline that is used to start + the kernel if this boot entry is selected. +\layout Standard + +Example: +\layout LyX-Code + +cmdline ro root=/dev/ram0 ramdisk_size=100000 +\layout Subsubsection + + +\family typewriter +parmfile +\layout Standard + +As an alternative to the cmdline statement the +\family typewriter +parmfile +\family default + statement can be used to specify the file that will be used as the kernel + command line if this boot entry is selected. + All supported URI formats are allowed to specify the location of the parmfile. + If a root statement is given in the same boot entry, it will be prepended + to the specified parmfile path. + If parmfile and cmdline are specified at the same time they will be concatenate +d as +\family typewriter +parmfile +\family default ++ +\family typewriter + ' ' +\family default ++ +\family typewriter + cmdline +\family default + . +\layout Standard + +Example: +\layout LyX-Code + +parmfile parmfile.txt +\layout Subsubsection + + +\family typewriter +lock +\begin_inset LatexCommand \label{sub:lock} + +\end_inset + + +\layout Standard + +The +\family typewriter +lock +\family default + command allows to have password protected boot entries. + If a locked boot entry is selected the user has to enter the password specified + in the +\family typewriter +password +\family default + statement (see section +\begin_inset LatexCommand \ref{sub:password} + +\end_inset + +) to execute this boot selection entry. +\layout Standard + +Example: +\layout LyX-Code + +lock +\layout Subsubsection + + +\family typewriter +pause +\layout Standard + +The +\family typewriter +pause +\family default + statement displays a message and waits for user input before the boot entry + will be started. + This can be used to ask the user to prepare the system for booting (e.g. + by inserting a boot CD to the CD drive). +\layout Standard + +Example: +\layout LyX-Code + +pause Please insert your boot floppy! +\layout Subsubsection + + +\family typewriter +insfile +\layout Standard + +The +\family typewriter +insfile +\family default + statement can be used as an alternative method to specify a boot configuration. + An +\family typewriter +\size scriptsize +*.ins +\family default +\size default + file contains the definitions of a kernel, initial ramdisk and parmfile, + therefore it makes no sense to specify these components . + The +\family typewriter +insfile +\family default + statement is only available on the s390 platform and is provided with several + Linux distributions for this platform. +\layout Standard + +Example: +\layout LyX-Code + + +\size footnotesize +insfile dasd://(0.0.5c5e,1)/usr/local/insfile_test/redhat/generic.ins +\layout Subsubsection + + +\family typewriter +bootmap +\begin_inset LatexCommand \label{sub:bootmap} + +\end_inset + + +\layout Standard + +The +\family typewriter +bootmap +\family default + command can be used as an alternative method to specify a boot configuration. + It is only available on the s390 platform and boots the system using the + boot information from the boot map of the specified disk. + This boot information is written by the tool +\family typewriter +zipl +\family default +. + Only bootmaps in the format created by +\family typewriter +zipl +\family default + version 1.2 or newer are supported. + The bootmap command uses a modified URI format that is described in section + +\begin_inset LatexCommand \ref{sub:dasd-URI-for} + +\end_inset + + and +\begin_inset LatexCommand \ref{sub:zfcp-URI-for} + +\end_inset + +. +\layout Standard + +Example: +\layout LyX-Code + +bootmap dasd://(0.0.5e2a,0) +\layout Subsubsection + + +\family typewriter +halt +\layout Standard + +The +\family typewriter +halt +\family default + statement can be used instead of a real boot selection. + It will halt the Linux environment of the system loader. +\layout Subsubsection + + +\family typewriter +reboot +\layout Standard + +The +\family typewriter +reboot +\family default + statement can be used instead of a real boot selection. + This statement will reboot the system. + If a first stage bootloader is installed the system will be restarted via + this bootloader. +\layout Subsection + +URI Definitions +\layout Standard + + +\begin_inset LatexCommand \label{sub:URIs} + +\end_inset + +URIs provide a generic mechanism to describe the location of files. + They are used by the system loader to locate boot and configuration files. + The following sections describe the supported URI schemes in detail. +\layout Subsubsection + + +\family typewriter +block +\layout Standard + +The +\family typewriter +block +\family default + URI can be used to reference a file on any block device containing a supported + filesystem. + This is the typical method to access the boot files on the i386 platform + and on other non s390 platforms. + If no filesystem type is specified, the filesystem type will be autodetected. +\layout Standard + +Syntax: +\layout LyX-Code + + +\size footnotesize +block://([,])/ +\layout Standard + +Example: +\layout LyX-Code + + +\size footnotesize +block://(/dev/hda5,ext3)/boot/vmlinuz +\layout Subsubsection + + +\family typewriter +dasd +\layout Standard + +The +\family typewriter +dasd +\family default + URI can be used to reference files on zSeries ESCON/FICON attached storage. + This type of URI is only available on the s390 platform. + If no filesystem type is specified, the filesystem type will be autodetected. +\layout Standard + +Syntax: +\layout LyX-Code + + +\size footnotesize +dasd://(,[[,]])/ +\layout Standard + +Example: +\layout LyX-Code + + +\size footnotesize +dasd://(0.0.5c5e,1)/usr/local/insfile_test/SuSE/suse.ins +\layout Subsubsection + + +\family typewriter +zfcp +\layout Standard + +The zfcp URI can be used to reference files on s390 (zSeries) FCP attached + storage. + This type of URI is only available on the s390 platform. + If no filesystem type is specified, the filesystem type will be autodetected. +\layout Standard + +Syntax: +\layout LyX-Code + + +\size footnotesize +zfcp://(,,,[[,]])/ +\layout Standard + +Example: +\layout LyX-Code + + +\size footnotesize +zfcp://(0.0.54e0,0x5005076303000104,0x4011400500000000,1)/boot/initrd.img +\layout Subsubsection + + +\family typewriter +file +\layout Standard + +The +\family typewriter +file +\family default + URI can be used to reference files on an already mounted filesystem. + This type of URI is available on all platforms. + In an unmodified system loader boot environment it can only be used to + reference files on the initial ramdisk. + If the system loader is running as a program on an already booted Linux + system it can be used instead of the other URIs. +\layout Standard + +Example: +\layout LyX-Code + + +\size footnotesize +file:///boot/vmlinuz +\layout Subsubsection + + +\family typewriter +dasd +\family default + URI for the bootmap command +\begin_inset LatexCommand \label{sub:dasd-URI-for} + +\end_inset + + +\layout Standard + +Because the bootmap information is not stored inside a file system the bootmap + command (see section +\begin_inset LatexCommand \ref{sub:bootmap} + +\end_inset + +) uses a reduced form of the dasd URI. +\layout Standard + +Syntax: +\layout LyX-Code + + +\size footnotesize +dasd://([,]) +\layout Standard + +Example: +\layout LyX-Code + + +\size footnotesize +dasd://(0.0.5e89,1) +\layout Subsubsection + + +\family typewriter +zfcp +\family default + URI for the bootmap command +\begin_inset LatexCommand \label{sub:zfcp-URI-for} + +\end_inset + + +\layout Standard + +Because the bootmap information is not stored inside a file system the bootmap + command (see section +\begin_inset LatexCommand \ref{sub:bootmap} + +\end_inset + +) uses a reduced form of the zfcp URI. +\layout Standard + +Syntax: +\layout LyX-Code + + +\size footnotesize +zfcp://(,,[,]) +\layout Standard + +Example: +\layout LyX-Code + + +\size footnotesize +zfcp://(0.0.04ae,0x500507630e01fca2,0x4010404500000000,2) +\layout Section + +Using the Command Line Interface +\layout Standard + +The command line interface is the basic user interface of the system loader. + It is designed to run on all platforms and without any special requirements + regarding the capabilities of the user interface device. + Therefore it will be usable on line mode interfaces like the 3270 terminal + on the s390 platform or via a serial line on typical open systems platforms. +\layout Standard + +The command line interface displays the title information from all boot + entries found in the system loader configuration file. + The default entry is marked by an arrow symbol +\family typewriter +-> +\family default +, locked entries are displayed in brackets +\family typewriter +[] +\family default +. +\layout LyX-Code + +kboot user interface is starting. + +\layout LyX-Code + +Configuration file source: file:///boot/boot_menu.config +\layout LyX-Code + + +\layout LyX-Code + +Welcome to kboot! +\layout LyX-Code + + +\layout LyX-Code + +The following boot options are available: +\layout LyX-Code + + +\layout LyX-Code + +-> 1 Debian GNU/Linux, latest kernel +\layout LyX-Code + + 2 Debian GNU/Linux, rescue kernel +\layout LyX-Code + + [3 Debian GNU/Linux, rescue kernel (locked)] +\layout LyX-Code + + 4 kboot environment +\layout LyX-Code + + 5 System Reboot +\layout LyX-Code + + 6 System Halt +\layout LyX-Code + + 7 INSFILE Boot +\layout LyX-Code + + +\layout LyX-Code + +Please enter your selection: +\layout Standard + +The selection of a specific entry is done by entering its number. + If the menu is not completely visible it can be redisplayed by entering + an empty input. + If a timeout occurs while one or more user interfaces are waiting for input, + all user interfaces will be terminated and the default entry will be executed. + If a timeout is defined it will be displayed by the user interface. +\layout Section + +Using Online Documentation +\layout Standard + +Man pages are available for the +\family typewriter +kboot +\family default + executable and for the system loader configuration file +\family typewriter +kboot.conf +\family default +. + These man pages are meant as a short overview and refer to this specification + and to the system loader design document for a detailed description of + this software. +\layout Section + +Extending the System Loader +\layout Standard + +The system loader is designed to be extensible. + The extension can be done without changing the code of the existing components. + User provided loader modules can provide support for additional URI schemes + (e.g. + ftp, http). + Additional user interface modules can provide more comfortable user interfaces + (e.g. + graphical or web-based). + Interface definitions are given in the design documents. +\layout Section + +Dependencies on Other Software +\layout Standard + +The system loader is designed as an extension to the kboot environment by + Werner Almesberger. + Therefore in most cases it will be used within this environment and depends + on all components that make up the kboot environment. + It is possible to use the system loader within any other Linux runtime + environment. + In this case the main dependencies are the availablility of the kexec system + call in the kernel and the kexec tool. + In addition the current implementation depends on several basic Linux tools + and programs like +\family typewriter +udev +\family default +, +\family typewriter +sh +\family default +, +\family typewriter +awk +\family default +, +\family typewriter +mount +\family default +, +\family typewriter +umount +\family default +, +\family typewriter +mkdir +\family default +, +\family typewriter +rmdir +\family default +, +\family typewriter +usleep +\family default +, etc. + . + The +\family typewriter +/bin +\family default + , +\family typewriter +/sbin +\family default +, +\family typewriter +/usr/bin +\family default + and +\family typewriter +/usr/sbin +\family default + directories of the +\family typewriter +kboot +\family default + ramdisk provide a still small subset of these programs and can be used + as a guideline. +\layout Section +\start_of_appendix +Examples +\layout Subsection + + +\family typewriter +zipl.conf +\layout Standard + +The following example shows a configuration file for the zipl boot loader + on the s390 platform. + It selects the kboot based system loader as the default boot option and + offers an additional kernel that can be booted directly. +\layout Standard + + +\size scriptsize + +\begin_inset LatexCommand \label{sub:zipl.conf} + +\end_inset + + +\begin_inset Include \verbatiminput{zipl.conf} +preview false + +\end_inset + + +\layout LyX-Code + +\layout Subsection + + +\family typewriter +kboot.conf +\family default + for s390 +\layout Standard + +The following example configuration for the system loader uses most of the + options that are available for the system loader on the s390 platform. +\layout Standard + + +\size scriptsize + +\begin_inset LatexCommand \label{sub:kboot.conf-for-s390} + +\end_inset + + +\begin_inset Include \verbatiminput{kboot_s390.conf} +preview false + +\end_inset + + +\layout LyX-Code + +\layout Subsection + + +\family typewriter +menu.lst +\family default + for grub +\layout Standard + +This example shows how the system loader can be booted as default on the + i386 platform using grub as the first stage boot loader. +\layout Standard + + +\size scriptsize + +\begin_inset LatexCommand \label{sub:menu.lst-for-grub} + +\end_inset + + +\begin_inset Include \verbatiminput{menu.lst} +preview false + +\end_inset + + +\layout LyX-Code + +\layout Subsection + + +\family typewriter +kboot.conf +\family default + for i386 +\layout Standard + +The following example show an example of a system loader configuration for + the i386 platform. + Two userinterface instances are started to listen on two different devices + simultaneously. +\layout LyX-Code + + +\size scriptsize + +\begin_inset LatexCommand \label{i386conf} + +\end_inset + + +\begin_inset Include \verbatiminput{kboot_i386.conf} +preview false + +\end_inset + + +\layout LyX-Code + +\the_end diff -Nuar kboot_sl/doc/kboot_i386.conf kboot_sl_doc/doc/kboot_i386.conf --- kboot_sl/doc/kboot_i386.conf 1970-01-01 01:00:00.000000000 +0100 +++ kboot_sl_doc/doc/kboot_i386.conf 2006-02-08 15:49:11.000000000 +0100 @@ -0,0 +1,65 @@ +# +# This is a sample config file for kilo +# + +default linux1 +timeout 0 +password secret + +userinterface linemode /dev/tty1 +userinterface linemode /dev/tty + +boot_entry { + title Debian GNU/Linux, latest kernel + label linux1 + + root block://(/dev/hda5,ext3)/boot/ + kernel vmlinuz + initrd initrd.img + cmdline root=/dev/hda5 ro ramdisk_size=100000 lang=de apm=power-off nomce lapic vga=normal +} + +boot_entry { + title Debian GNU/Linux, rescue kernel + label linux2 + + root block://(/dev/hda5,ext3)/boot/ + kernel vmlinuz-2.6.11-kanotix-7 + initrd initrd.img-2.6.11-kanotix-7 + cmdline root=/dev/hda5 ro ramdisk_size=100000 lang=de apm=power-off nomce vga=0x317 +} + +boot_entry { + title Debian GNU/Linux, rescue kernel (locked) + label linux3 + + lock + root block://(/dev/hda5,ext3)/boot/ + kernel vmlinuz-2.6.11-kanotix-7 + initrd initrd.img-2.6.11-kanotix-7 + cmdline root=/dev/hda5 ro ramdisk_size=100000 lang=de apm=power-off nomce vga=0x317 +} + +boot_entry { + title kboot environment + label kboot + + root block://(/dev/hda5,ext3)/boot/ + kernel vmlinuz + initrd kboot-root-glibc.cpio.gz + cmdline root=/dev/hda5 ro ramdisk_size=100000 lang=de apm=power-off nomce lapic vga=normal + +} + +boot_entry { + title System Reboot + label reboot + + reboot +} + +boot_entry { + title System Halt + + halt +} diff -Nuar kboot_sl/doc/kboot_s390.conf kboot_sl_doc/doc/kboot_s390.conf --- kboot_sl/doc/kboot_s390.conf 1970-01-01 01:00:00.000000000 +0100 +++ kboot_sl_doc/doc/kboot_s390.conf 2006-02-08 15:49:11.000000000 +0100 @@ -0,0 +1,96 @@ +# +# My first kboot config file +# + +default linux1 +timeout 20 + +userinterface linemode /dev/console + +#include dasd://(0.0.5e98,1)/boot/kboot/kboot_incl.conf + +boot_entry { + title latest kernel from DASD + label linux1 + + kernel dasd://(0.0.5c5e,1)/boot/image + cmdline dasd=5c5e-5c5f root=/dev/dasda1 ro noinitrd selinux=0 +} + +boot_entry { + title kboot (New Prototype) + label kboot + + kernel dasd://(0.0.5c5e,1)/boot/image.kboot + initrd dasd://(0.0.5c5e,1)/boot/initrd.kboot + cmdline kboot=dasd://(0.0.5c5e,1)/boot/kboot.conf + pause Please insert your boot floppy! +} + +boot_entry { + title kboot (development version) + label kboot2 + + root dasd://(0.0.5c5e,1)/boot/ + kernel image + initrd kboot-root-glibc.cpio.gz + cmdline kboot=dasd://(0.0.5c5e,1)/boot/kboot.conf +} + +boot_entry { + title kboot (Werner Almesberger Version) + label kboot_wa + + root dasd://(0.0.5c5e,1)/boot/ + kernel vmlinuz.kboot + initrd initrd.kboot + cmdline ro root=/dev/ram0 ramdisk_size=100000 +} + +boot_entry { + title Linux 2.6.13-14.x from FCP disk + label linux2 + + root zfcp://(0.0.54e0,0x5005076303000104,0x4011400500000000,1)/boot/ + + kernel image-2.6.13-14.x.20050907-s390xdefault + # cmdline dasd=5e2a,5e29 root=/dev/dasda1 ro noinitrd selinux=0 + parmfile parmfile +} + +boot_entry { + title System Reboot + label reboot + + reboot +} + +boot_entry { + title System Halt + + halt +} + +boot_entry { + title IBM insfile + + insfile dasd://(0.0.5c5e,1)/usr/local/insfile_test/IBM/IBM-Linux.ins +} + +boot_entry { + title SuSE insfile + + insfile dasd://(0.0.5c5e,1)/usr/local/insfile_test/SuSE/suse.ins +} + +boot_entry { + title redhat insfile + + insfile dasd://(0.0.5c5e,1)/usr/local/insfile_test/redhat/generic.ins +} + +boot_entry { + title Boot Map Boot + + bootmap dasd://(0.0.5e2a,0) +} diff -Nuar kboot_sl/doc/Makefile kboot_sl_doc/doc/Makefile --- kboot_sl/doc/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ kboot_sl_doc/doc/Makefile 2006-02-14 16:49:20.000000000 +0100 @@ -0,0 +1,17 @@ +# +# Makefile for the system loader PDF description +# + +all: description.pdf + +description.pdf: description.tex + pdflatex description.tex # aller guten Dinge sind drei! + pdflatex description.tex + pdflatex description.tex + +description.tex: description.lyx + lyx -e latex description.lyx + +clean: + rm -f *~ *.pdf *.tex *.aux *.toc *.out *.log + diff -Nuar kboot_sl/doc/menu.lst kboot_sl_doc/doc/menu.lst --- kboot_sl/doc/menu.lst 1970-01-01 01:00:00.000000000 +0100 +++ kboot_sl_doc/doc/menu.lst 2005-12-20 11:12:15.000000000 +0100 @@ -0,0 +1,124 @@ +# Deutsche Tastaturbelegung + +setkey y z +setkey z y +setkey Y Z +setkey Z Y +setkey equal parenright +setkey parenright parenleft +setkey parenleft asterisk +setkey doublequote at +setkey plus bracketright +setkey minus slash +setkey slash ampersand +setkey ampersand percent +setkey percent caret +setkey underscore question +setkey question underscore +setkey semicolon less +setkey less numbersign +setkey numbersign backslash +setkey colon greater +setkey greater bar +setkey asterisk braceright +# menu.lst - See: grub(8), info grub, update-grub(8) +# grub-install(8), grub-floppy(8), +# grub-md5-crypt, /usr/share/doc/grub +# and /usr/share/doc/grub-doc/. + +## default num +# Set the default entry to the entry number NUM. Numbering starts from 0, and +# the entry number 0 is the default if the command is not used. +default 1 + +## timeout sec +# Set a timeout, in SEC seconds, before automatically booting the default entry +# (normally the first entry defined). +timeout 5 + +# Pretty colours +color cyan/blue white/blue +gfxmenu (hd0,4)/boot/message + +## password ['--md5'] passwd +# If used in the first section of a menu file, disable all interactive editing +# control (menu entry editor and command-line) and entries protected by the +# command 'lock' +# e.g. password topsecret +# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/ +# password topsecret + +# +# examples +# +# title Windows 95/98/NT/2000 +# root (hd0,0) +# makeactive +# chainloader +1 +# +# title Linux +# root (hd0,1) +# kernel /vmlinuz root=/dev/hda2 ro +# + +# +# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST + +### BEGIN AUTOMAGIC KERNELS LIST +## lines between the AUTOMAGIC KERNELS LIST markers will be modified +## by the debian update-grub script except for the default optons below + +## DO NOT UNCOMMENT THEM, Just edit them to your needs + +## ## Start Default Options ## +## default kernel options +## default kernel options for automagic boot options +## If you want special options for specifiv kernels use kopt_x_y_z +## where x.y.z is kernel version. Minor versions can be omitted. +## e.g. kopt=root=/dev/hda1 ro +# kopt=root=/dev/hda5 ro ramdisk_size=100000 lang=de apm=power-off nomce vga=0x317 + +## default grub root device +## e.g. groot=(hd0,0) +# groot=(hd0,4) + +## should update-grub create alternative automagic boot options +## e.g. alternative=true +## alternative=false +# alternative=false + +## should update-grub lock alternative automagic boot options +## e.g. lockalternative=true +## lockalternative=false +# lockalternative=false + +## altoption boot targets option +## multiple altoptions lines are allowed +## e.g. altoptions=(extra menu suffix) extra boot options +## altoptions=(recovery mode) single +# altoptions=(recovery mode) single + +## controls how many kernels should be put into the menu.lst +## only counts the first occurence of a kernel, not the +## alternative kernel options +## e.g. howmany=all +## howmany=7 +# howmany=all + +## ## End Default Options ## + +title Debian GNU/Linux, kernel +root (hd0,4) +kernel /boot/vmlinuz root=/dev/hda5 ro ramdisk_size=100000 lang=de apm=power-off nomce lapic vga=normal +initrd /boot/initrd.img +boot + +title kboot system loader +root (hd0,4) +kernel /boot/image.kboot ro root=/dev/ram0 ramdisk_size=100000 lang=de apm=power-off nomce lapic vga=normal +initrd /boot/initrd.kboot +boot + +### END DEBIAN AUTOMAGIC KERNELS LIST +title Windows 2K/XP/2003 (hda1) +chainloader (hd0,0)+1 diff -Nuar kboot_sl/doc/zipl.conf kboot_sl_doc/doc/zipl.conf --- kboot_sl/doc/zipl.conf 1970-01-01 01:00:00.000000000 +0100 +++ kboot_sl_doc/doc/zipl.conf 2005-12-20 11:12:15.000000000 +0100 @@ -0,0 +1,22 @@ +# This is an expample zipl.conf file +[defaultboot] +defaultmenu = menu +[linux-2.6] +target = "/boot" +image = "/boot/image-2.6.14-15.x.20051116-s390xdefault" +parmfile = "/boot/parmfile" +[kboot] +target = "/boot" +image = "/boot/image.kboot" +ramdisk = "/boot/initrd.kboot" +parameters = "kboot=dasd://(0.0.5c5e,1)/boot/kboot.conf" +[dump] +target = "/boot" +dumpto = "/dev/dasd?1" +:menu +target = "/boot" +1 = "linux-2.6" +2 = "kboot" +default = 2 +prompt = 1 +timeout = 15 ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd_______________________________________________ Kboot-general mailing list Kboot-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kboot-general