svn commit: r44626 - head/en_US.ISO8859-1/books/handbook/boot
Dru Lavigne
dru at FreeBSD.org
Tue Apr 22 15:49:55 UTC 2014
Author: dru
Date: Tue Apr 22 15:49:54 2014
New Revision: 44626
URL: http://svnweb.freebsd.org/changeset/doc/44626
Log:
Move init section into Boot Process as the Last Stage.
Format boot options as a table.
Expand on single-user mode section.
More commits to come.
Sponsored by: iXsystems
Modified:
head/en_US.ISO8859-1/books/handbook/boot/chapter.xml
Modified: head/en_US.ISO8859-1/books/handbook/boot/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/handbook/boot/chapter.xml Tue Apr 22 05:23:35 2014 (r44625)
+++ head/en_US.ISO8859-1/books/handbook/boot/chapter.xml Tue Apr 22 15:49:54 2014 (r44626)
@@ -345,7 +345,7 @@ boot:</screen>
specified options or kernel name. Providing a kernel
name on the command-line is only applicable after an
<command>unload</command> has been issued.
- Otherwise the previously-loaded kernel will be
+ Otherwise, the previously-loaded kernel will be
used.</entry>
</row>
@@ -432,25 +432,16 @@ boot:</screen>
</tbody>
</tgroup>
</table>
- </sect2>
- <sect2 xml:id="boot-loader-examples">
- <title>Loader Examples</title>
-
- <para>Here are some practical examples of loader usage:</para>
-
- <itemizedlist>
- <listitem>
- <para>To boot the usual kernel in single-user
+ <para>Here are some practical examples of
+ loader usage. To boot the usual kernel in single-user
mode<indexterm><primary>single-user
mode</primary></indexterm>:</para>
<screen><userinput>boot -s</userinput></screen>
- </listitem>
- <listitem>
- <para>To unload the usual kernel and modules, and then
- load the previous or another kernel:</para>
+ <para>To unload the usual kernel and modules and then
+ load the previous or another, specified kernel:</para>
<screen><userinput>unload</userinput>
<userinput>load <replaceable>kernel.old</replaceable></userinput></screen>
@@ -463,94 +454,183 @@ boot:</screen>
system upgrade or before configuring a custom
kernel.</para>
- <note>
<para>Use the following to load the usual modules with
another kernel:</para>
<screen><userinput>unload</userinput>
<userinput>set kernel="<replaceable>kernel.old</replaceable>"</userinput>
-<userinput>boot-conf</userinput></screen></note>
- </listitem>
+<userinput>boot-conf</userinput></screen>
- <listitem>
<para>To load an automated kernel configuration
script:</para>
<screen><userinput>load -t userconfig_script <replaceable>/boot/kernel.conf</replaceable></userinput></screen>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2 xml:id="boot-kernel">
- <title>Kernel Interaction During Boot</title>
<indexterm>
<primary>kernel</primary>
<secondary>boot interaction</secondary>
</indexterm>
+ </sect2>
- <para>Once the kernel is loaded by either the default loader or
- by boot2, which bypasses the loader, it examines any boot
- flags and adjusts its behavior as necessary.</para>
+ <sect2 xml:id="boot-init">
+ <title>Last Stage</title>
+
+ <indexterm>
+ <primary>&man.init.8;</primary>
+ </indexterm>
+ <para>Once the kernel is loaded by either <application>loader</application> or
+ by <application>boot2</application>, which bypasses
+ <application>loader</application>, it examines any boot
+ flags and adjusts its behavior as necessary. <xref
+ linkend="boot-kernel"/> lists the commonly used boot flags.
+ Refer to &man.boot.8; for more information on the other
+ boot flags.</para>
<indexterm>
<primary>kernel</primary>
<secondary>bootflags</secondary>
</indexterm>
- <para>Here are the more common boot flags:</para>
+ <table xml:id="boot-kernel" frame="none" pgwide="1">
+ <title>Kernel Interaction During Boot</title>
- <variablelist xml:id="boot-kernel-bootflags-list">
- <varlistentry>
- <term><option>-a</option></term>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Option</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
- <listitem>
- <para>During kernel initialization, ask for the device
- to mount as the root file system.</para>
- </listitem>
- </varlistentry>
+ <tbody>
+ <row>
+ <entry><option>-a</option></entry>
+ <entry>During kernel initialization, ask for the device
+ to mount as the root file system.</entry>
+ </row>
- <varlistentry>
- <term><option>-C</option></term>
+ <row>
+ <entry><option>-C</option></entry>
+ <entry>Boot the root file system from a <acronym>CDROM</acronym>.</entry>
+ </row>
- <listitem>
- <para>Boot from CDROM.</para>
- </listitem>
- </varlistentry>
+ <row>
+ <entry><option>-s</option></entry>
+ <entry>Boot into single-user mode.</entry>
+ </row>
- <varlistentry>
- <term><option>-c</option></term>
+ <row>
+ <entry><option>-v</option></entry>
+ <entry>Be more verbose during kernel startup.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
- <listitem>
- <para>Run UserConfig, the boot-time kernel
- configurator.</para>
- </listitem>
- </varlistentry>
+ <para>Once the kernel has finished booting, it passes control to
+ the user process &man.init.8;, which is located at
+ <filename>/sbin/init</filename>, or the program path specified
+ in the <envar>init_path</envar> variable in
+ <command>loader</command>. This is the last stage of the boot
+ process.</para>
- <varlistentry>
- <term><option>-s</option></term>
+ <para>The boot sequence makes sure that the file systems available
+ on the system are consistent. If a <acronym>UFS</acronym> file
+ system is not, and <command>fsck</command>
+ cannot fix the inconsistencies,
+ <application>init</application> drops the system into single-user mode so that the
+ system administrator can resolve the problem directly. Otherwise,
+ the system boots into multi-user mode.</para>
- <listitem>
- <para>Boot into single-user mode.</para>
- </listitem>
- </varlistentry>
+ <sect3 xml:id="boot-singleuser">
+ <title>Single-User Mode</title>
- <varlistentry>
- <term><option>-v</option></term>
+ <indexterm><primary>single-user mode</primary></indexterm>
+ <indexterm><primary>console</primary></indexterm>
- <listitem>
- <para>Be more verbose during kernel startup.</para>
- </listitem>
- </varlistentry>
- </variablelist>
+ <para>A user can specify this mode by
+ booting with <option>-s</option>, or by
+ setting the <envar>boot_ single</envar> variable in
+ <application>loader</application>. It can also be reached by
+ running <command>shutdown now</command> from
+ multi-user mode. Single-user mode begins with this message:</para>
+
+ <programlisting>Enter full pathname of shell or RETURN for /bin/sh:</programlisting>
+
+ <para>If the user presses <keycap>Enter</keycap>, the system
+ will enter the default Bourne shell. To specify a different
+ shell, input the full path to the shell.</para>
+
+ <para>Single-user mode is usually used to repair a system that will not
+ boot due to an inconsistent file system or an error in a boot
+ configuration file. It can also be used to reset the
+ <systemitem class="username">root</systemitem> password when
+ it is unknown. These actions are possible as the single-user
+ mode prompt gives full, local access to the system and its
+ configuration files. There is no networking in this mode.</para>
+
+ <para>While single-user mode is useful for repairing a system,
+ it poses a security risk unless the system is in a physically
+ secure location. By default, any user who can gain physical
+ access to a system will have full control of that system after
+ booting into single-user mode.</para>
- <note>
- <para>Refer to &man.boot.8; for more information on the other
- boot flags.</para>
- </note>
+ <para>If the system <literal>console</literal> is changed to
+ <literal>insecure</literal> in <filename>/etc/ttys</filename>,
+ the system will first prompt for the <systemitem
+ class="username">root</systemitem> password before
+ initiating single-user mode. This adds a measure of security
+ while removing the ability to reset the <systemitem
+ class="username">root</systemitem> password when it is
+ unknown.</para>
+
+ <example xml:id="boot-insecure-console">
+ <title>Configuring an Insecure Console in
+ <filename>/etc/ttys</filename></title>
+
+ <programlisting># name getty type status comments
+#
+# If console is marked "insecure", then init will ask for the root password
+# when going to single-user mode.
+console none unknown off <replaceable>insecure</replaceable></programlisting>
+ </example>
+
+ <para>An <literal>insecure</literal> console means that
+ physical security to the console is considered to be
+ insecure, so only someone who knows the <systemitem
+ class="username">root</systemitem> password may use
+ single-user mode.</para>
+ </sect3>
+
+ <sect3 xml:id="boot-multiuser">
+ <title>Multi-User Mode</title>
+
+ <indexterm><primary>multi-user mode</primary></indexterm>
+
+ <para>If <application>init</application> finds the file systems to be in order, or
+ once the user has finished their commands in single-user mode
+ and has typed <command>exit</command> to leave single-user mode,
+ the system enters
+ multi-user mode, in which it starts the resource configuration
+ of the system.</para>
+
+ <indexterm><primary>rc files</primary></indexterm>
+
+ <para>The resource configuration system reads in configuration
+ defaults from <filename>/etc/defaults/rc.conf</filename> and
+ system-specific details from
+ <filename>/etc/rc.conf</filename>. It then proceeds to mount
+ the system file systems listed in
+ <filename>/etc/fstab</filename>. It starts up networking
+ services, miscellaneous system daemons, then the startup
+ scripts of locally installed packages.</para>
+
+ <para>To learn more about the resource configuration system,
+ refer to &man.rc.8; and examine the scripts located in
+ <filename>/etc/rc.d</filename>.</para>
+ </sect3>
</sect2>
</sect1>
-
<!--
<sect2 id="boot-kernel-userconfig">
<title>UserConfig: the Boot-time Kernel Configurator</title>
@@ -809,95 +889,6 @@ bitmap_name="<replaceable>/boot/splash.b
&man.kenv.1;, &man.loader.conf.5;, and &man.loader.8;.</para>
</sect1>
- <sect1 xml:id="boot-init">
- <title>Init: Process Control Initialization</title>
-
- <indexterm>
- <primary>&man.init.8;</primary>
- </indexterm>
-
- <para>Once the kernel has finished booting, it passes control to
- the user process &man.init.8;, which is located at
- <filename>/sbin/init</filename>, or the program path specified
- in the <envar>init_path</envar> variable in
- <command>loader</command>.</para>
-
- <para>The boot sequence makes sure that the file systems available
- on the system are consistent. If they are not, and &man.fsck.8;
- cannot fix the inconsistencies of a UFS file system,
- &man.init.8; drops the system into single-user mode so that the
- system administrator can resolve the problem directly.</para>
-
- <sect2 xml:id="boot-singleuser">
- <title>Single-User Mode</title>
-
- <indexterm><primary>single-user mode</primary></indexterm>
- <indexterm><primary>console</primary></indexterm>
-
- <para>This mode can be reached through the automatic reboot
- sequence, the user booting with <option>-s</option>, or by
- setting the <envar>boot_ single</envar> variable in
- &man.loader.8;.</para>
-
- <para>It can also be reached by calling &man.shutdown.8; from
- multi-user mode (<xref linkend="boot-multiuser"/>) without
- including <option>-r</option> or <option>-h</option>.</para>
-
- <para>If the system <literal>console</literal> is set to
- <literal>insecure</literal> in <filename>/etc/ttys</filename>,
- the system will prompt for the <systemitem
- class="username">root</systemitem> password before
- initiating single-user mode.</para>
-
- <example xml:id="boot-insecure-console">
- <title>An Insecure Console in
- <filename>/etc/ttys</filename></title>
-
- <programlisting># name getty type status comments
-#
-# If console is marked "insecure", then init will ask for the root password
-# when going to single-user mode.
-console none unknown off insecure</programlisting>
- </example>
-
- <note>
- <para>An <literal>insecure</literal> console means that
- physical security to the console is considered to be
- insecure, so only someone who knows the <systemitem
- class="username">root</systemitem> password may use
- single-user mode. Thus, to add this measure of security,
- choose <literal>insecure</literal>, instead of the default
- of <literal>secure</literal>.</para>
- </note>
- </sect2>
-
- <sect2 xml:id="boot-multiuser">
- <title>Multi-User Mode</title>
-
- <indexterm><primary>multi-user mode</primary></indexterm>
-
- <para>If &man.init.8; finds the file systems to be in order, or
- once the user has finished their commands in single-user mode
- (<xref linkend="boot-singleuser"/>), the system enters
- multi-user mode, in which it starts the resource configuration
- of the system.</para>
-
- <indexterm><primary>rc files</primary></indexterm>
-
- <para>The resource configuration system reads in configuration
- defaults from <filename>/etc/defaults/rc.conf</filename>, and
- system-specific details from
- <filename>/etc/rc.conf</filename>, and then proceeds to mount
- the system file systems listed in
- <filename>/etc/fstab</filename>. It starts up networking
- services, miscellaneous system daemons, then the startup
- scripts of locally installed packages.</para>
-
- <para>To learn more about the resource configuration system,
- refer to &man.rc.8; and examine the scripts themselves.</para>
- </sect2>
- </sect1>
-
<sect1 xml:id="boot-shutdown">
<title>Shutdown Sequence</title>
More information about the svn-doc-head
mailing list