--- using_gnuhurd.texi.orig 2007-03-09 15:48:30.000000000 -0500 +++ using_gnuhurd.texi 2007-03-09 15:47:59.000000000 -0500 @@ -1043,76 +1043,26 @@ @node Server Bootstrap, Shutdown, Installing GRUB, Bootstrap @section Server Bootstrap -@pindex serverboot -The @code{serverboot} program has been deprecated. Newer GNU Mach -kernels support processing the bootscript parameters and boot -the Hurd directly. +As can be seen from the GRUB configuration, the Hurd is bootstrapped by executing bootscript parameters. A close look at the bootscript parameters shows that it starts precisely two programs: the root filesystem, and the exec server. -The @code{serverboot} program is responsible for loading and executing -the rest of the Hurd servers. Rather than containing specific -instructions for starting the Hurd, it follows general steps given in a -user-supplied boot script. +In this case the translator responsible for implementing the root filesystem is ext2fs. The @code{--multiboot-command-line} option tells ext2fs that it is a root filesystem, which triggers it to run @code{/hurd/init} as PID 1. @code{/hurd/init} starts the proc and auth servers. After the servers are launched @code{/hurd/init} starts the @code{/libexec/runsystem.sh} script to finish booting. -To boot the Hurd using @code{serverboot}, the microkernel must start -@code{serverboot} as its first task, and pass it appropriate arguments. -@code{serverboot} has a counterpart, called @code{boot}, which can be invoked -while the Hurd is already running, and allows users to start their own complete -sub-Hurds (@pxref{The Sub-Hurd}). +After the Hurd has booted, the @code{boot} program is used to start a parallel Hurd (@pxref{The Sub-Hurd}) by passing it bootscript parameters in a file. @menu -* Invoking serverboot:: Starting a set of interdependent servers. * Boot Scripts:: Describing server bootstrap relationships. * The Sub-Hurd:: Running a Hurd under another Hurd. * Invoking boot:: How to use the boot program. @end menu -@node Invoking serverboot, Boot Scripts, Server Bootstrap, Server Bootstrap -@subsection Invoking @code{serverboot} - -The @code{serverboot} program has the following synopsis: -@example -serverboot -@var{switch}... [[@var{host-port} @var{device-port}] @var{root-name}] -@end example - -@c FIXME: serverboot should accept --help and --version, for consistency -Each @var{switch} is a single character, out of the following set: -@table @samp -@item a -Prompt the user for the @var{root-name}, even if it was already supplied -on the command line. -@item d -Prompt the user to strike a key after the boot script has been read. -@item q -Prompt the user for the name of the boot script. By default, use -@file{@var{root-name}:/boot/servers.boot}. -@end table - -All the @var{switches} are put into the @code{$@{boot-args@}} script -variable. -@var{host-port} and @var{device-port} are integers which represent the -microkernel host and device ports, respectively (and are used to -initialize the @code{$@{host-port@}} and @code{$@{device-port@}} boot -script variables). If these ports are not specified, then -@code{serverboot} assumes that the Hurd is already running, and fetches -the current ports from the procserver, which is documented in the -GNU Hurd Reference Manual. - -@c There was a @FIXME: xref here for the proc server, but I think -@c that can wait until _much_ later. - -@var{root-name} is the name of the microkernel device that should be -used as the Hurd bootstrap filesystem. @code{serverboot} uses this name -to locate the boot script (described above), and to initialize the -@code{$@{root-device@}} script variable. - -@node Boot Scripts, The Sub-Hurd, Invoking serverboot, Server Bootstrap +@node Boot Scripts, The Sub-Hurd, Server Bootstrap, Server Bootstrap @subsection Boot Scripts @pindex /boot/servers.boot @pindex servers.boot Boot Scripts are used to boot further Hurd systems in parallel to the -first, and are parsed by @code{serverboot} to boot the Hurd. See +first, and are parsed by @code{boot} to boot the Hurd. See @file{/boot/servers.boot} for an example of a Hurd boot script.