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
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-hurd