White space fix only. Translators can ignore.

Sponsored by:	iXsystems
This commit is contained in:
Dru Lavigne 2014-04-18 20:31:04 +00:00
parent 7db46ccbc1
commit 6591696d39
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44609

View file

@ -26,10 +26,10 @@
different versions of the same operating system, or a different
installed kernel.</para>
<para>This chapter details the configuration options that can
be set. It demonstrates how to customize the &os; boot
process, including everything that happens until the &os; kernel
has started, probed for devices, and started &man.init.8;. This
<para>This chapter details the configuration options that can be
set. It demonstrates how to customize the &os; boot process,
including everything that happens until the &os; kernel has
started, probed for devices, and started &man.init.8;. This
occurs when the text color of the boot messages changes from
bright white to grey.</para>
@ -63,8 +63,8 @@
<para>Turning on a computer and starting the operating system
poses an interesting dilemma. By definition, the computer does
not know how to do anything until the operating system is
started. This includes running programs from the disk. If
the computer can not run a program from the disk without the
started. This includes running programs from the disk. If the
computer can not run a program from the disk without the
operating system, and the operating system programs are on the
disk, how is the operating system started?</para>
@ -129,16 +129,16 @@
systems so that the user can choose which one to boot from. Two
boot managers are discussed in the next subsection.</para>
<para>The remainder of the &os; bootstrap system is divided
into three stages. The first stage is run by the
<para>The remainder of the &os; bootstrap system is divided into
three stages. The first stage is run by the
<acronym>MBR</acronym>, which knows just enough to get the
computer into a specific state and run the second stage. The
second stage can do a little bit more, before running the
third stage. The third stage finishes the task of loading the
second stage can do a little bit more, before running the third
stage. The third stage finishes the task of loading the
operating system. The work is split into three stages because
PC standards put limits on the size of the programs that can
be run at stages one and two. Chaining the tasks together
allows &os; to provide a more flexible loader.</para>
PC standards put limits on the size of the programs that can be
run at stages one and two. Chaining the tasks together allows
&os; to provide a more flexible loader.</para>
<indexterm><primary>kernel</primary></indexterm>
<indexterm><primary>&man.init.8;</primary></indexterm>
@ -158,85 +158,83 @@
<indexterm><primary>Boot Manager</primary></indexterm>
<indexterm><primary>Master Boot Record
(<acronym>MBR</acronym>)</primary></indexterm>
<indexterm><primary>Master Boot Record
(<acronym>MBR</acronym>)</primary></indexterm>
<para>The code in the <acronym>MBR</acronym> or boot manager is
sometimes referred to as <emphasis>stage zero</emphasis> of
the boot process. This section discusses two boot managers:
<application>boot0</application> and
<application>LILO</application>.</para>
<para>The code in the <acronym>MBR</acronym> or boot manager is
sometimes referred to as <emphasis>stage zero</emphasis> of the
boot process. This section discusses two boot managers:
<application>boot0</application> and
<application>LILO</application>.</para>
<formalpara>
<title>The <application>boot0</application> Boot
Manager:</title>
<formalpara>
<title>The <application>boot0</application> Boot
Manager:</title>
<para>The <acronym>MBR</acronym> installed by &os;'s installer
or &man.boot0cfg.8; is based on
<filename>/boot/boot0</filename>. The size and capability
of <application>boot0</application> is restricted to 446
bytes due to the slice table and <literal>0x55AA</literal>
identifier at the end of the <acronym>MBR</acronym>. If
<application>boot0</application> and multiple operating
systems are installed, a message similar to this example
will be displayed at boot time:</para>
</formalpara>
<para>The <acronym>MBR</acronym> installed by &os;'s installer
or &man.boot0cfg.8; is based on
<filename>/boot/boot0</filename>. The size and capability of
<application>boot0</application> is restricted to 446 bytes
due to the slice table and <literal>0x55AA</literal>
identifier at the end of the <acronym>MBR</acronym>. If
<application>boot0</application> and multiple operating
systems are installed, a message similar to this example will
be displayed at boot time:</para>
</formalpara>
<example xml:id="boot-boot0-example">
<title><filename>boot0</filename> Screenshot</title>
<example xml:id="boot-boot0-example">
<title><filename>boot0</filename> Screenshot</title>
<screen>F1 Win
<screen>F1 Win
F2 FreeBSD
Default: F2</screen>
</example>
</example>
<para>Other operating systems, in particular &windows;, will
overwrite an existing <acronym>MBR</acronym> if they are
installed after &os;. If this happens, or to replace the
existing <acronym>MBR</acronym> with the &os;
<acronym>MBR</acronym>, use the following command:</para>
<para>Other operating systems, in particular &windows;, will
overwrite an existing <acronym>MBR</acronym> if they are
installed after &os;. If this happens, or to replace the
existing <acronym>MBR</acronym> with the &os;
<acronym>MBR</acronym>, use the following command:</para>
<screen>&prompt.root; <userinput>fdisk -B -b /boot/boot0 <replaceable>device</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>fdisk -B -b /boot/boot0 <replaceable>device</replaceable></userinput></screen>
<para>where <replaceable>device</replaceable> is the boot disk,
such as <filename>ad0</filename> for the first
<acronym>IDE</acronym> disk, <filename>ad2</filename>
for the first <acronym>IDE</acronym> disk on a second
<acronym>IDE</acronym> controller, or
<filename>da0</filename>
for the first <acronym>SCSI</acronym> disk. To create a
custom configuration of the <acronym>MBR</acronym>, refer to
&man.boot0cfg.8;.</para>
<para>where <replaceable>device</replaceable> is the boot disk,
such as <filename>ad0</filename> for the first
<acronym>IDE</acronym> disk, <filename>ad2</filename> for the
first <acronym>IDE</acronym> disk on a second
<acronym>IDE</acronym> controller, or <filename>da0</filename>
for the first <acronym>SCSI</acronym> disk. To create a
custom configuration of the <acronym>MBR</acronym>, refer to
&man.boot0cfg.8;.</para>
<formalpara>
<title>The LILO Boot Manager:</title>
<formalpara>
<title>The LILO Boot Manager:</title>
<para>To install this boot manager so it will also boot
&os;, boot into Linux and add the following to the existing
<filename>/etc/lilo.conf</filename> configuration:</para>
</formalpara>
<para>To install this boot manager so it will also boot &os;,
boot into Linux and add the following to the existing
<filename>/etc/lilo.conf</filename> configuration:</para>
</formalpara>
<programlisting>other=/dev/hdXY
<programlisting>other=/dev/hdXY
table=/dev/hdX
loader=/boot/chain.b
label=FreeBSD</programlisting>
<para>Specify &os;'s primary partition and drive using Linux
specifiers, replacing <replaceable>X</replaceable> with the
Linux drive letter and <replaceable>Y</replaceable> with the
Linux primary partition number. For a <acronym>SCSI</acronym>
drive, change <replaceable>/dev/hd</replaceable> to
<replaceable>/dev/sd</replaceable>. The
<option>loader=/boot/chain.b</option> line can be omitted if
both operating systems are installed on the same drive. Next,
run <command>/sbin/lilo&nbsp;-v</command> to commit the new
changes. Verify these are correct by checking the screen
messages.</para>
<para>Specify &os;'s primary partition and drive using Linux
specifiers, replacing <replaceable>X</replaceable> with the
Linux drive letter and <replaceable>Y</replaceable> with the
Linux primary partition number. For a <acronym>SCSI</acronym>
drive, change <replaceable>/dev/hd</replaceable> to
<replaceable>/dev/sd</replaceable>. The
<option>loader=/boot/chain.b</option> line can be omitted if
both operating systems are installed on the same drive. Next,
run <command>/sbin/lilo&nbsp;-v</command> to commit the new
changes. Verify these are correct by checking the screen
messages.</para>
<sect2 xml:id="boot-boot1">
<title>Stage One and Stage
Two</title>
<title>Stage One and Stage Two</title>
<para>Conceptually, the first and second stages are part of the
same program, on the same area of the disk. Because of space
@ -314,30 +312,30 @@ boot:</screen>
more powerful interpreter which has a more complex command
set.</para>
<para>During initialization, the loader will probe for a
console and for disks, and figure out which disk it is
booting from. It will set variables accordingly, and an
interpreter is started where user commands can be passed
from a script or interactively.</para>
<para>During initialization, the loader will probe for a
console and for disks, and figure out which disk it is
booting from. It will set variables accordingly, and an
interpreter is started where user commands can be passed from
a script or interactively.</para>
<indexterm><primary>loader</primary></indexterm>
<indexterm><primary>loader configuration</primary></indexterm>
<indexterm><primary>loader</primary></indexterm>
<indexterm><primary>loader configuration</primary></indexterm>
<para>The loader will then read
<filename>/boot/loader.rc</filename>, which by default reads
in <filename>/boot/defaults/loader.conf</filename> which
sets reasonable defaults for variables and reads
<filename>/boot/loader.conf</filename> for local changes to
those variables. <filename>loader.rc</filename> then acts
on these variables, loading whichever modules and kernel are
selected.</para>
<para>The loader will then read
<filename>/boot/loader.rc</filename>, which by default reads
in <filename>/boot/defaults/loader.conf</filename> which sets
reasonable defaults for variables and reads
<filename>/boot/loader.conf</filename> for local changes to
those variables. <filename>loader.rc</filename> then acts on
these variables, loading whichever modules and kernel are
selected.</para>
<para>Finally, by default, the loader issues a 10 second wait
for key presses, and boots the kernel if it is not
interrupted. If interrupted, the user is presented with a
prompt which understands the command set, where the user may
adjust variables, unload all modules, load modules, and then
finally boot or reboot.</para>
<para>Finally, by default, the loader issues a 10 second wait
for key presses, and boots the kernel if it is not
interrupted. If interrupted, the user is presented with a
prompt which understands the command set, where the user may
adjust variables, unload all modules, load modules, and then
finally boot or reboot.</para>
<sect3 xml:id="boot-loader-commands">
<title>Loader Built-In Commands</title>
@ -539,19 +537,17 @@ boot:</screen>
</sect3>
</sect2>
<sect2 xml:id="boot-kernel">
<title>Kernel Interaction During Boot</title>
<sect2 xml:id="boot-kernel">
<title>Kernel Interaction During Boot</title>
<indexterm>
<primary>kernel</primary>
<secondary>boot interaction</secondary>
</indexterm>
<indexterm>
<primary>kernel</primary>
<secondary>boot interaction</secondary>
</indexterm>
<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>
<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>
<indexterm>
<primary>kernel</primary>
@ -610,15 +606,16 @@ boot:</screen>
</note>
</sect2>
<!-- <sect2 id="boot-kernel-userconfig">
<!--
<sect2 id="boot-kernel-userconfig">
<title>UserConfig: the Boot-time Kernel Configurator</title>
<para> </para>
</sect2> -->
<sect2 xml:id="boot-splash">
<info>
<title>Configuring Boot Time Splash Screens</title>
<sect2 xml:id="boot-splash">
<info>
<title>Configuring Boot Time Splash Screens</title>
<authorgroup>
<author>
@ -629,150 +626,146 @@ boot:</screen>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</info>
</info>
<para>The splash screen creates an alternate boot screen. The
splash screen hides all the boot probe messages and service
startup messages before displaying either a command line or
graphical login prompt.</para>
<para>The splash screen creates an alternate boot screen. The
splash screen hides all the boot probe messages and service
startup messages before displaying either a command line or
graphical login prompt.</para>
<para>There are two basic environments available in &os;. The
first is the default legacy virtual console command line
environment. After the system finishes booting, a console
login prompt is presented. The second environment is the
graphical environment as described in <xref linkend="x11"/>.
Refer to that chapter for more information on how to install
and configure a graphical display manager and a graphical
login manager.</para>
<para>There are two basic environments available in &os;. The
first is the default legacy virtual console command line
environment. After the system finishes booting, a console
login prompt is presented. The second environment is the
graphical environment as described in <xref linkend="x11"/>.
Refer to that chapter for more information on how to install
and configure a graphical display manager and a graphical
login manager.</para>
<para>The splash screen function supports 256-colors in the
bitmap (<filename>.bmp</filename>), ZSoft
<acronym>PCX</acronym> (<filename>.pcx</filename>), or
TheDraw (<filename>.bin</filename>) formats. The splash
image files must have a resolution of 320 by 200 pixels or
less in order to work on standard VGA adapters.</para>
<para>The splash screen function supports 256-colors in the
bitmap (<filename>.bmp</filename>), ZSoft
<acronym>PCX</acronym> (<filename>.pcx</filename>), or
TheDraw (<filename>.bin</filename>) formats. The splash image
files must have a resolution of 320 by 200 pixels or less in
order to work on standard VGA adapters.</para>
<para>To use larger images, up to the maximum resolution of
1024 by 768 pixels, load the <acronym>VESA</acronym>
module during system boot. For a custom kernel, as
described in <xref linkend="kernelconfig"/>, include the
<literal>VESA</literal> kernel configuration option.
Loading <acronym>VESA</acronym> support provides the
ability to display a splash screen image that fills the
whole display screen.</para>
<para>To use larger images, up to the maximum resolution of
1024 by 768 pixels, load the <acronym>VESA</acronym> module
during system boot. For a custom kernel, as described in
<xref linkend="kernelconfig"/>, include the
<literal>VESA</literal> kernel configuration option. Loading
<acronym>VESA</acronym> support provides the ability to
display a splash screen image that fills the whole display
screen.</para>
<para>While the splash screen is being displayed during the
booting process, it can be turned off any time by hitting
any key on the keyboard.</para>
<para>While the splash screen is being displayed during the
booting process, it can be turned off any time by hitting any
key on the keyboard.</para>
<para>The splash screen also defaults to being a screen
saver outside. After a time period of non-use, the splash
screen will be displayed and will cycle through steps of
changing intensity of the image, from bright to very dark
and over again. The configuration of the splash screen
saver can be overridden by adding a
<literal>saver=</literal> line to
<filename>/etc/rc.conf</filename>. Several built-in
screen savers are available and described in
&man.splash.4;. The <literal>saver=</literal> option only
applies to virtual consoles and has no effect on graphical
display managers.</para>
<para>The splash screen also defaults to being a screen saver
outside. After a time period of non-use, the splash screen
will be displayed and will cycle through steps of changing
intensity of the image, from bright to very dark and over
again. The configuration of the splash screen saver can be
overridden by adding a <literal>saver=</literal> line to
<filename>/etc/rc.conf</filename>. Several built-in screen
savers are available and described in &man.splash.4;. The
<literal>saver=</literal> option only applies to virtual
consoles and has no effect on graphical display
managers.</para>
<para>A few boot loader messages, including the boot options
menu and a timed wait count down prompt, are displayed at
boot time, even when the splash screen is enabled.</para>
<para>A few boot loader messages, including the boot options
menu and a timed wait count down prompt, are displayed at
boot time, even when the splash screen is enabled.</para>
<para>Sample splash screen files can be downloaded from the
gallery at <link
xlink:href="http://artwork.freebsdgr.org/node/3/">http://artwork.freebsdgr.org</link>.
By installing the
<package>sysutils/bsd-splash-changer</package> port,
splash images can be chosen from a collection randomly at
each boot.</para>
<para>Sample splash screen files can be downloaded from the
gallery at <link
xlink:href="http://artwork.freebsdgr.org/node/3/">http://artwork.freebsdgr.org</link>.
By installing the
<package>sysutils/bsd-splash-changer</package> port, splash
images can be chosen from a collection randomly at each
boot.</para>
<para>The splash screen <filename>.bmp</filename>,
<filename>.pcx</filename>, or <filename>.bin</filename>
image has to be placed on the root partition, for example
in <filename>/boot</filename>.</para>
<para>The splash screen <filename>.bmp</filename>,
<filename>.pcx</filename>, or <filename>.bin</filename> image
has to be placed on the root partition, for example in
<filename>/boot</filename>.</para>
<para>For the default boot display resolution of 256-colors
and 320 by 200 pixels or less, edit
<filename>/boot/loader.conf</filename> so it contains the
following:</para>
<para>For the default boot display resolution of 256-colors and
320 by 200 pixels or less, edit
<filename>/boot/loader.conf</filename> so it contains the
following:</para>
<programlisting>splash_bmp_load="YES"
<programlisting>splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="<replaceable>/boot/splash.bmp</replaceable>"</programlisting>
<para>For larger video resolutions up to the maximum of 1024
by 768 pixels, edit
<filename>/boot/loader.conf</filename>, so it contains the
following:</para>
<para>For larger video resolutions up to the maximum of 1024 by
768 pixels, edit <filename>/boot/loader.conf</filename>, so it
contains the following:</para>
<programlisting>vesa_load="YES"
<programlisting>vesa_load="YES"
splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="<replaceable>/boot/splash.bmp</replaceable>"</programlisting>
<para>This example assumes that
<filename><replaceable>/boot/splash.bmp</replaceable></filename>
is used for the splash screen. To use a
<acronym>PCX</acronym> file, use the following statements,
plus the <literal>vesa_load="YES"</literal> line,
depending on the resolution:</para>
<para>This example assumes that
<filename><replaceable>/boot/splash.bmp</replaceable></filename>
is used for the splash screen. To use a
<acronym>PCX</acronym> file, use the following statements,
plus the <literal>vesa_load="YES"</literal> line, depending on
the resolution:</para>
<programlisting>splash_pcx_load="YES"
<programlisting>splash_pcx_load="YES"
bitmap_load="YES"
bitmap_name="<replaceable>/boot/splash.pcx</replaceable>"</programlisting>
<para>Beginning with &os;&nbsp;8.3, another option is to use
ASCII art in <link
xlink:href="https://en.wikipedia.org/wiki/TheDraw">TheDraw</link>
format.</para>
<para>Beginning with &os;&nbsp;8.3, another option is to use
ASCII art in <link
xlink:href="https://en.wikipedia.org/wiki/TheDraw">TheDraw</link>
format.</para>
<programlisting>splash_txt="YES"
<programlisting>splash_txt="YES"
bitmap_load="YES"
bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>
<para>The file name is not restricted to
<quote>splash</quote> as shown in the above example. It
can be anything as long as it is one of the supported
types such as,
<filename><replaceable>splash_640x400</replaceable>.bmp</filename>
or
<filename><replaceable>bluewave</replaceable>.pcx</filename>.</para>
<para>The file name is not restricted to <quote>splash</quote>
as shown in the above example. It can be anything as long as
it is one of the supported types such as,
<filename><replaceable>splash_640x400</replaceable>.bmp</filename>
or
<filename><replaceable>bluewave</replaceable>.pcx</filename>.</para>
<para>Other interesting <filename>loader.conf</filename>
options include:</para>
<para>Other interesting <filename>loader.conf</filename> options
include:</para>
<variablelist>
<varlistentry>
<term><literal>beastie_disable="YES"</literal></term>
<variablelist>
<varlistentry><term><literal>beastie_disable="YES"</literal></term>
<listitem>
<para>This will stop the boot options menu from being
displayed, but the timed wait count down prompt will
still be present. Even with the display of the boot
options menu disabled, entering an option selection
at the timed wait count down prompt will enact the
corresponding boot option.</para>
</listitem>
</varlistentry>
<listitem>
<para>This will stop the boot options menu from being
displayed, but the timed wait count down prompt will
still be present. Even with the display of the boot
options menu disabled, entering an option selection at
the timed wait count down prompt will enact the
corresponding boot option.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>loader_logo="beastie"</literal></term>
<varlistentry>
<term><literal>loader_logo="beastie"</literal></term>
<listitem>
<para>This will replace the default words
<quote>&os;</quote>, which are displayed to the
right of the boot options menu with the colored
beastie logo.</para>
</listitem>
</varlistentry>
</variablelist>
<listitem>
<para>This will replace the default words
<quote>&os;</quote>, which are displayed to the right of
the boot options menu with the colored beastie
logo.</para>
</listitem>
</varlistentry>
</variablelist>
<para>For more information, refer to &man.splash.4;,
&man.loader.conf.5;, and &man.vga.4;.</para>
<para>For more information, refer to &man.splash.4;,
&man.loader.conf.5;, and &man.vga.4;.</para>
</sect2>
</sect1>
@ -885,12 +878,11 @@ bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>
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>
<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>
@ -899,9 +891,9 @@ bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>
<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>
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
@ -909,8 +901,8 @@ bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>
<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
the system will prompt for the <systemitem
class="username">root</systemitem> password before
initiating single-user mode.</para>
<example xml:id="boot-insecure-console">
@ -927,11 +919,11 @@ console none unknown off insecure</programlisting>
<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>
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>
@ -941,26 +933,24 @@ console none unknown off insecure</programlisting>
<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
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>
<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>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>
<para>To learn more about the resource configuration system,
refer to &man.rc.8; and examine the scripts themselves.</para>
</sect2>
</sect1>