Hello, I have found that the bootstrapping section of the manual is sorely lacking.
Attached is a patch that adds more information to the manual regarding the bootstrap procedure on the Hurd. I have also removed some of the deprecated serverboot documentation. If I have missed anything, let me know. regards, Ben
--- 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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED] as its first task, and pass it appropriate arguments. [EMAIL PROTECTED] 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 [EMAIL PROTECTED] Invoking serverboot, Boot Scripts, Server Bootstrap, Server Bootstrap [EMAIL PROTECTED] Invoking @code{serverboot} - -The @code{serverboot} program has the following synopsis: [EMAIL PROTECTED] -serverboot [EMAIL PROTECTED] [EMAIL PROTECTED] @var{device-port}] @var{root-name}] [EMAIL PROTECTED] example - [EMAIL PROTECTED] FIXME: serverboot should accept --help and --version, for consistency -Each @var{switch} is a single character, out of the following set: [EMAIL PROTECTED] @samp [EMAIL PROTECTED] a -Prompt the user for the @var{root-name}, even if it was already supplied -on the command line. [EMAIL PROTECTED] d -Prompt the user to strike a key after the boot script has been read. [EMAIL PROTECTED] q -Prompt the user for the name of the boot script. By default, use [EMAIL PROTECTED]@var{root-name}:/boot/servers.boot}. [EMAIL PROTECTED] table - -All the @var{switches} are put into the @[EMAIL PROTECTED]@}} script -variable. [EMAIL PROTECTED] and @var{device-port} are integers which represent the -microkernel host and device ports, respectively (and are used to -initialize the @[EMAIL PROTECTED]@}} and @[EMAIL PROTECTED]@}} boot -script variables). If these ports are not specified, then [EMAIL PROTECTED] assumes that the Hurd is already running, and fetches -the current ports from the procserver, which is documented in the -GNU Hurd Reference Manual. - [EMAIL PROTECTED] There was a @FIXME: xref here for the proc server, but I think [EMAIL PROTECTED] that can wait until _much_ later. - [EMAIL PROTECTED] 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 [EMAIL PROTECTED]@[EMAIL PROTECTED] script variable. - [EMAIL PROTECTED] Boot Scripts, The Sub-Hurd, Invoking serverboot, Server Bootstrap [EMAIL PROTECTED] 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.
_______________________________________________ Bug-hurd mailing list Bug-hurd@gnu.org http://lists.gnu.org/mailman/listinfo/bug-hurd