<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="bsdinstall">
<info>
<title>Installing &os; 9.<replaceable>X</replaceable> and
Later</title>
<authorgroup>
<author>
<personname>
<firstname>Jim</firstname>
<surname>Mock</surname>
</personname>
<contrib>Restructured, reorganized, and parts rewritten
by </contrib>
</author>
</authorgroup>
<!---
<authorgroup>
<author>
<personname>
<firstname>Randy</firstname>
<surname>Pratt</surname>
</personname>
<contrib>The sysinstall walkthrough, screenshots, and general
copy by </contrib>
</author>
</authorgroup>-->
<authorgroup>
<author>
<personname>
<firstname>Gavin</firstname>
<surname>Atkinson</surname>
</personname>
<contrib>Updated for bsdinstall by </contrib>
</author>
<author>
<personname>
<firstname>Warren</firstname>
<surname>Block</surname>
</personname>
</author>
</authorgroup>
<authorgroup>
<author>
<personname>
<firstname>Allan</firstname>
<surname>Jude</surname>
</personname>
<contrib>Updated for root-on-ZFS by </contrib>
</author>
</authorgroup>
</info>
<sect1 xml:id="bsdinstall-synopsis">
<title>Synopsis</title>
<indexterm><primary>installation</primary></indexterm>
<para>Beginning with &os; 9.0-RELEASE, &os; provides an easy
to use, text-based installation
program named <application>bsdinstall</application>. This
chapter describes how to install &os; using
<application>bsdinstall</application>. The use of
<application>sysinstall</application>, which is the installation
program used by &os; 8.x, is covered in <xref
linkend="install"/>.</para>
<para>In general, the installation instructions in this chapter
are written for the &i386; and <acronym>AMD64</acronym>
architectures. Where applicable, instructions specific to other
platforms will be listed. There may be minor differences
between the installer and what is shown here, so use this
chapter as a general guide rather than as a set of literal
instructions.</para>
<note>
<para>Users who prefer to install &os; using a graphical
installer may be interested in
<application>pc-sysinstall</application>, the installer used
by the PC-BSD Project. It can be used to install either a
graphical desktop (PC-BSD) or a command line version of &os;.
Refer to the PC-BSD Users Handbook for details (<link
xlink:href="http://wiki.pcbsd.org/index.php/PC-BSD%C2%AE_Users_Handbook/10.1">http://wiki.pcbsd.org/index.php/PC-BSD%C2%AE_Users_Handbook/10.1</link>).</para>
</note>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
<para>The minimum hardware requirements and &os; supported
architectures.</para>
</listitem>
<listitem>
<para>How to create the &os; installation media.</para>
</listitem>
<!-- WB: verify this, including GPT partition notation (ada0p2)
<listitem>
<para>How &os; subdivides and refers to hard disks.</para>
</listitem> -->
<listitem>
<para>How to start
<application>bsdinstall</application>.</para>
</listitem>
<listitem>
<para>The questions <application>bsdinstall</application> will
ask, what they mean, and how to answer them.</para>
</listitem>
<listitem>
<para>How to troubleshoot a failed installation.</para>
</listitem>
<listitem>
<para>How to access a live version of &os; before committing
to an installation.</para>
</listitem>
</itemizedlist>
<para>Before reading this chapter, you should:</para>
<itemizedlist>
<listitem>
<para>Read the supported hardware list that shipped with the
version of &os; to be installed and verify that the system's
hardware is supported.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 xml:id="bsdinstall-hardware">
<title>Minimum Hardware Requirements</title>
<para>The hardware requirements to install &os; vary by the &os;
version and the hardware architecture. Hardware architectures
and devices supported by a &os; release are listed in the
Hardware Notes file. Usually named
<filename>HARDWARE.TXT</filename>, the file is located in the
root directory of the release media. Copies of the supported
hardware list are also available on the Release Information page
of the &os; web site (<link
xlink:href="&url.base;/releases/index.html">http://www.FreeBSD.org/releases/index.html</link>).</para>
<para>A &os; installation will require at least 64 MB of
<acronym>RAM</acronym> and 1.5 GB of free hard drive space
for the most minimal installation. However, that is a
<emphasis>very</emphasis> minimal install, leaving almost no
free space. A more realistic minimum is 4 GB without a
graphical environment, and 8 GB or more if a graphical user
interface will be used. Third-party application software
requires more space. It is recommended to increase
<acronym>RAM</acronym> and hard drive space to meet the needs of
the applications that will be used and the amount of data that
will be stored.</para>
<para>The processor requirements for each architecture can be
summarized as follows:</para>
<variablelist>
<varlistentry>
<term>&arch.amd64;</term>
<listitem>
<para>There are two classes of processors capable of running
&arch.amd64;. The first are <acronym>AMD64</acronym>
processors, including the &amd.athlon;64 and &amd.opteron;
processors.</para>
<para>The second class of processors includes those using
the &intel; EM64T architecture. Examples of these
processors include all multi-core &intel; &xeon;
processors except Sossaman, the single-core
&intel; &xeon; processors Nocona, Irwindale, Potomac,
and Cranford, the &intel; &core; 2 (not Core
Duo) and later processors, all &intel; &pentium; D
processors, the &intel; &pentium; 4s and Celeron Ds
using the Cedar Mill core, and some &intel; &pentium;
4s and Celeron Ds using the Prescott core.</para>
<para>Both Uniprocessor (<acronym>UP</acronym>) and
Symmetric Multi-processor (<acronym>SMP</acronym>)
configurations are supported.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&arch.i386;</term>
<listitem>
<para>Almost all i386-compatible processors with a floating
point unit are supported. All &intel; processors 486 or
higher are supported.</para>
<para>&os; will take advantage of Physical Address
Extensions (<acronym>PAE</acronym>) support on
<acronym>CPU</acronym>s that support this feature. A
kernel with the <acronym>PAE</acronym> feature enabled
will detect memory above 4 GB and allow it to be used
by the system. This feature places constraints on the
device drivers and other features of &os; which may be
used; refer to &man.pae.4; for details.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ia64</term>
<listitem>
<para>Currently supported processors are the &itanium; and
the &itanium; 2. Supported chipsets include the HP zx1,
&intel; 460GX, and &intel; E8870. Both Uniprocessor
(<acronym>UP</acronym>) and Symmetric Multi-processor
(<acronym>SMP</acronym>) configurations are
supported.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>pc98</term>
<listitem>
<para>NEC PC-9801/9821 series with almost all
i386-compatible processors, including 80486, &pentium;,
&pentium; Pro, and &pentium; II, are all supported. All
i386-compatible processors by AMD, Cyrix, IBM, and IDT are
also supported. EPSON PC-386/486/586 series, which are
compatible with NEC PC-9801 series, are supported. The
NEC FC-9801/9821 and NEC SV-98 series should be
supported.</para>
<para>High-resolution mode is not supported. NEC
PC-98XA/XL/RL/XL^2, and NEC PC-H98 series are supported in
normal (PC-9801 compatible) mode only. The
<acronym>SMP</acronym>-related features of &os; are not
supported. The New Extend Standard Architecture
(<acronym>NESA</acronym>) bus used in the PC-H98, SV-H98,
and FC-H98 series, is not supported.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&arch.powerpc;</term>
<listitem>
<para>All New World <acronym>ROM</acronym> &apple;
&macintosh; systems with built-in <acronym>USB</acronym>
are supported. <acronym>SMP</acronym> is supported on
machines with multiple <acronym>CPU</acronym>s.</para>
<para>A 32-bit kernel can only use the first 2 GB of
<acronym>RAM</acronym>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>&arch.sparc64;</term>
<listitem>
<para>Systems supported by &os;/&arch.sparc64; are listed at
the FreeBSD/sparc64 Project (<link
xlink:href="&url.base;/platforms/sparc.html">http://www.freebsd.org/platforms/sparc.html</link>).</para>
<para><acronym>SMP</acronym> is supported on all systems
with more than 1 processor. A dedicated disk is required
as it is not possible to share a disk with another
operating system at this time.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 xml:id="bsdinstall-pre">
<title>Pre-Installation Tasks</title>
<para>Once it has been determined that the system meets the
minimum hardware requirements for installing &os;, the
installation file should be downloaded and the installation
media prepared. Before doing this, check that the system is
ready for an installation by verifying the items in this
checklist:</para>
<procedure>
<step>
<title>Back Up Important Data</title>
<para>Before installing any operating system,
<emphasis>always</emphasis> backup all important data first.
Do not store the backup on the system being installed.
Instead, save the data to a removable disk such as a
<acronym>USB</acronym> drive, another system on the network,
or an online backup service. Test the backup before
starting the installation to make sure it contains all of
the needed files. Once the installer formats the system's
disk, all data stored on that disk will be lost.</para>
</step>
<step>
<title>Decide Where to Install &os;</title>
<para>If &os; will be the only operating system installed,
this step can be skipped. But if &os; will share the disk
with another operating system, decide which disk or
partition will be used for &os;.</para>
<para>In the &arch.i386; and &arch.amd64; architectures, disks
can be divided into multiple partitions using one of two
partitioning schemes. A traditional <firstterm>Master Boot
Record</firstterm> (<acronym>MBR</acronym>) holds a
partition table defining up to four <firstterm>primary
partitions</firstterm>. For historical reasons, &os;
calls these primary partition
<firstterm>slices</firstterm>. One of these primary
partitions can be made into an <firstterm>extended
partition</firstterm> containing multiple
<firstterm>logical partitions</firstterm>. The
<firstterm>GUID Partition Table</firstterm>
(<acronym>GPT</acronym>) is a newer and simpler method of
partitioning a disk. Common <acronym>GPT</acronym>
implementations allow up to 128 partitions per disk,
eliminating the need for logical partitions.</para>
<warning>
<para>Some older operating systems, like &windows; XP,
are not compatible with the <acronym>GPT</acronym>
partition scheme. If &os; will be sharing a disk with
such an operating system, <acronym>MBR</acronym>
partitioning is required.</para>
</warning>
<para>The &os; boot loader requires either a primary or
<acronym>GPT</acronym> partition. If all of the primary or
<acronym>GPT</acronym> partitions are already in use, one
must be freed for &os;. To create a partition without
deleting existing data, use a partition resizing tool to
shrink an existing partition and create a new partition
using the freed space.</para>
<para>A variety of free and commercial partition resizing
tools are listed at <link
xlink:href="http://en.wikipedia.org/wiki/List_of_disk_partitioning_software">http://en.wikipedia.org/wiki/List_of_disk_partitioning_software</link>.
<application>GParted Live</application> (<link
xlink:href="http://gparted.sourceforge.net/livecd.php">http://gparted.sourceforge.net/livecd.php</link>)
is a free live <acronym>CD</acronym> which includes the
<application>GParted</application> partition editor.
<application>GParted</application> is also included with
many other Linux live <acronym>CD</acronym>
distributions.</para>
<warning>
<para>When used properly, disk shrinking utilities can
safely create space for creating a new partition. Since
the possibility of selecting the wrong partition exists,
always backup any important data and verify the integrity
of the backup before modifying disk partitions.</para>
</warning>
<para>Disk partitions containing different operating systems
make it possible to install multiple operating systems on
one computer. An alternative is to use virtualization
(<xref linkend="virtualization"/>) which allows multiple
operating systems to run at the same time without modifying
any disk partitions.</para>
</step>
<step>
<title>Collect Network Information</title>
<para>Some &os; installation methods require a network
connection in order to download the installation files.
After any installation, the installer will offer to setup
the system's network interfaces.</para>
<para>If the network has a <acronym>DHCP</acronym> server, it
can be used to provide automatic network configuration. If
<acronym>DHCP</acronym> is not available, the following
network information for the system must be obtained from the
local network administrator or Internet service
provider:</para>
<orderedlist xml:id="bsdinstall-collect-network-information">
<title>Required Network Information</title>
<listitem>
<para><acronym>IP</acronym> address</para>
</listitem>
<listitem>
<para>Subnet mask</para>
</listitem>
<listitem>
<para><acronym>IP</acronym> address of default
gateway</para>
</listitem>
<listitem>
<para>Domain name of the network</para>
</listitem>
<listitem>
<para><acronym>IP</acronym> addresses of the network's
<acronym>DNS</acronym> servers</para>
</listitem>
</orderedlist>
</step>
<step>
<title>Check for &os; Errata</title>
<para>Although the &os; Project strives to ensure that
each release of &os; is as stable as possible, bugs
occasionally creep into the process. On very rare occasions
those bugs affect the installation process. As these
problems are discovered and fixed, they are noted in the
&os; Errata (<link
xlink:href="&url.base;/releases/&rel.current;R/errata.html">http://www.freebsd.org/releases/&rel.current;R/errata.html</link>)
on the &os; web site. Check the errata before installing to
make sure that there are no problems that might affect the
installation.</para>
<para>Information and errata for all the releases can be found
on the release information section of the &os; web site
(<link
xlink:href="&url.base;/releases/index.html">http://www.freebsd.org/releases/index.html</link>).</para>
</step>
</procedure>
<sect2 xml:id="bsdinstall-installation-media">
<title>Prepare the Installation Media</title>
<para>The &os; installer is not an application that can be run
from within another operating system. Instead, download a
&os; installation file, burn it to the media associated with
its file type and size (<acronym>CD</acronym>,
<acronym>DVD</acronym>, or <acronym>USB</acronym>), and boot
the system to install from the inserted media.</para>
<para>&os; installation files are available at <link
xlink:href="&url.base;/where.html#download">www.freebsd.org/where.html#download</link>.
Each installation file's name includes the release version of
&os;, the architecture, and the type of file. For example, to
install &os; 10.0 on an &arch.amd64; system from a
<acronym>DVD</acronym>, download
<filename>FreeBSD-10.0-RELEASE-amd64-dvd1.iso</filename>, burn
this file to a <acronym>DVD</acronym>, and boot the system
with the <acronym>DVD</acronym> inserted.</para>
<para>Several file types are available, though not all file
types are available for all architectures. The possible file
types are:</para>
<itemizedlist>
<listitem>
<para><literal>-bootonly.iso</literal>: This is the smallest
installation file as it only contains the installer. A
working Internet connection is required during
installation as the installer will download the files it
needs to complete the &os; installation. This file should
be burned to a <acronym>CD</acronym> using a
<acronym>CD</acronym> burning application.</para>
</listitem>
<listitem>
<para><literal>-disc1.iso</literal>: This file contains all
of the files needed to install &os;, its source, and the
Ports Collection. It should be burned to a
<acronym>CD</acronym> using a <acronym>CD</acronym>
burning application.</para>
</listitem>
<listitem>
<para><literal>-dvd1.iso</literal>: This file contains all
of the files needed to install &os;, its source, and the
Ports Collection. It also contains a set of popular
binary packages for installing a window manager and some
applications so that a complete system can be installed
from media without requiring a connection to the Internet.
This file should be burned to a <acronym>DVD</acronym>
using a <acronym>DVD</acronym> burning application.</para>
</listitem>
<listitem>
<para><literal>-memstick.img</literal>: This file contains
all of the files needed to install &os;, its source, and
the Ports Collection. It should be burned to a
<acronym>USB</acronym> stick using the instructions
below.</para>
</listitem>
</itemizedlist>
<para>Also download <filename>CHECKSUM.SHA256</filename> from
the same directory as the image file and use it to check the
image file's integrity by calculating a
<firstterm>checksum</firstterm>. &os; provides &man.sha256.1;
for this, while other operating systems have similar programs.
Compare the calculated checksum with the one shown in
<filename>CHECKSUM.SHA256</filename>. The checksums must
match exactly. If the checksums do not match, the file is
corrupt and should be downloaded again.</para>
<sect3 xml:id="bsdinstall-usb">
<title>Writing an Image File to <acronym>USB</acronym></title>
<para>The <filename>*.img</filename> file is an
<emphasis>image</emphasis> of the complete contents of a
memory stick. It <emphasis>cannot</emphasis> be copied
to the target device as a file. Several applications are available
for writing the <filename>*.img</filename> to a
<acronym>USB</acronym> stick. This section describes two of
these utilities.</para>
<important>
<para>Before proceeding, back up any important data on the
<acronym>USB</acronym> stick. This procedure will erase
the existing data on the stick.</para>
</important>
<procedure xml:id="bsdinstall-usb-dd">
<title>Using <command>dd</command> to Write the
Image</title>
<warning>
<para>This example uses <filename>/dev/da0</filename> as
the target device where the image will be written. Be
<emphasis>very careful</emphasis> that the correct
device is used as this command will destroy the existing
data on the specified target device.</para>
</warning>
<step>
<para>The &man.dd.1; command-line utility is
available on BSD, &linux;, and &macos; systems. To burn
the image using <command>dd</command>, insert the
<acronym>USB</acronym> stick and determine its device
name. Then, specify the name of the downloaded
installation file and the device name for the
<acronym>USB</acronym> stick. This example burns the
&arch.amd64; installation image to the first
<acronym>USB</acronym> device on an existing &os;
system.</para>
<screen>&prompt.root; <userinput>dd if=<replaceable>FreeBSD-10.0-RELEASE-amd64-memstick.img</replaceable> of=/dev/<replaceable>da0</replaceable> bs=64k</userinput></screen>
<para>If this command fails, verify that the
<acronym>USB</acronym> stick is not mounted and that the
device name is for the disk, not a partition. Some
operating systems might require this command to be run
with &man.sudo.8;. Systems like &linux; might buffer
writes. To force all writes to complete, use
&man.sync.8;.</para>
</step>
</procedure>
<procedure>
<title>Using &windows; to Write the Image</title>
<warning>
<para>Be sure to give the correct drive letter as the
existing data on the specified drive will be overwritten
and destroyed.</para>
</warning>
<step>
<title>Obtaining <application>Image Writer for
&windows;</application></title>
<para><application>Image Writer for
&windows;</application> is a free application that can
correctly write an image file to a memory stick.
Download it from <uri
xlink:href="https://launchpad.net/win32-image-writer/">https://launchpad.net/win32-image-writer/</uri>
and extract it into a folder.</para>
</step>
<step>
<title>Writing the Image with Image Writer</title>
<para>Double-click the
<application>Win32DiskImager</application> icon to start
the program. Verify that the drive letter shown under
<computeroutput>Device</computeroutput> is the drive
with the memory stick. Click the folder icon and select
the image to be written to the memory stick. Click
<guibutton>[ Save ]</guibutton> to accept the
image file name. Verify that everything is correct, and
that no folders on the memory stick are open in other
windows. When everything is ready, click
<guibutton>[ Write ]</guibutton> to write the
image file to the memory stick.</para>
</step>
</procedure>
<para>You are now ready to start installing &os;.</para>
</sect3>
</sect2>
</sect1>
<sect1 xml:id="bsdinstall-start">
<title>Starting the Installation</title>
<important>
<para>By default, the installation will not make any changes to
the disk(s) before the following message:</para>
<programlisting>Your changes will now be written to disk. If you
have chosen to overwrite existing data, it will
be PERMANENTLY ERASED. Are you sure you want to
commit your changes?</programlisting>
<para>The install can be exited at any time prior to this
warning. If
there is a concern that something is incorrectly configured,
just turn the computer off before this point and no changes
will be made to the system's disks.</para>
</important>
<para>This section describes how to boot the system from the
installation media which was prepared using the instructions in
<xref linkend="bsdinstall-installation-media"/>. When using a
bootable USB stick, plug in the <acronym>USB</acronym> stick
before turning on the computer. When booting from
<acronym>CD</acronym> or <acronym>DVD</acronym>, turn on the
computer and insert the media at the first opportunity. How to
configure the system to boot from the inserted media depends
upon the architecture.</para>
<sect2 xml:id="bsdinstall-starting-i386">
<title>Booting on &i386; and &arch.amd64;</title>
<para>These architectures provide a <acronym>BIOS</acronym>
menu for selecting the boot device. Depending upon the
installation media being used, select the
<acronym>CD</acronym>/<acronym>DVD</acronym> or
<acronym>USB</acronym> device as the first boot device. Most
systems also provide a key for selecting the boot device
during startup without having to enter the
<acronym>BIOS</acronym>. Typically, the key is either
<keycap>F10</keycap>, <keycap>F11</keycap>,
<keycap>F12</keycap>, or <keycap>Escape</keycap>.</para>
<para>If the computer loads the existing operating system
instead of the &os; installer, then either:</para>
<orderedlist>
<listitem>
<para>The installation media was not inserted early enough
in the boot process. Leave the media inserted and try
restarting the computer.</para>
</listitem>
<listitem>
<para>The <acronym>BIOS</acronym> changes were incorrect or
not saved. Double-check that the right boot device is
selected as the first boot device.</para>
</listitem>
<listitem>
<para>This system is too old to support booting from the
chosen media. In this case, the <application>Plop Boot
Manager</application> (<link
xlink:href="http://www.plop.at/en/bootmanager.html">http://www.plop.at/en/bootmanager.html</link>)
can be used to boot the system from the selected
media.</para>
</listitem>
</orderedlist>
</sect2>
<sect2>
<title>Booting on &powerpc;</title>
<para>On most machines, holding <keycap>C</keycap> on the
keyboard during boot will boot from the <acronym>CD</acronym>.
Otherwise, hold <keycombo action="simul">
<keycap>Command</keycap>
<keycap>Option</keycap>
<keycap>O</keycap>
<keycap>F</keycap>
</keycombo>, or
<keycombo action="simul">
<keycap>Windows</keycap>
<keycap>Alt</keycap>
<keycap>O</keycap>
<keycap>F</keycap>
</keycombo> on non-&apple; keyboards. At the
<prompt>0 ></prompt> prompt, enter</para>
<screen><userinput>boot cd:,\ppc\loader cd:0</userinput></screen>
</sect2>
<sect2>
<title>Booting on &sparc64;</title>
<para>Most &sparc64; systems are set up to boot automatically
from disk. To install &os; from a <acronym>CD</acronym>
requires a break into the <acronym>PROM</acronym>.</para>
<para>To do this, reboot the system and wait until the boot
message appears. The message depends on the model, but should
look something like this:</para>
<screen>Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved.
OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.</screen>
<para>If the system proceeds to boot from disk at this point,
press <keycombo
action="simul"><keycap>L1</keycap><keycap>A</keycap></keycombo>
or <keycombo
action="simul"><keycap>Stop</keycap><keycap>A</keycap></keycombo>
on the keyboard, or send a <command>BREAK</command> over the
serial console. When using <application>tip</application> or
<application>cu</application>, <command>~#</command> will
issue a BREAK. The <acronym>PROM</acronym> prompt will be
<prompt>ok</prompt> on systems with one
<acronym>CPU</acronym> and <prompt>ok {0} </prompt> on
<acronym>SMP</acronym> systems, where the digit indicates the
number of the active <acronym>CPU</acronym>.</para>
<para>At this point, place the <acronym>CD</acronym> into the
drive and type <command>boot cdrom</command> from the
<acronym>PROM</acronym> prompt.</para>
</sect2>
<sect2 xml:id="bsdinstall-view-probe">
<title>&os; Boot Menu</title>
<para>Once the system boots from the installation media, a menu
similar to the following will be displayed:</para>
<figure xml:id="bsdinstall-newboot-loader-menu">
<title>&os; Boot Loader Menu</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-newboot-loader-menu"/>
</imageobject>
</mediaobject>
</figure>
<para>By default, the menu will wait ten seconds for user input
before booting into the &os; installer or, if &os; is already
installed, before booting into &os;. To pause the boot timer
in order to review the selections, press
<keycap>Space</keycap>. To select an option, press its
highlighted number, character, or key. The following options
are available.</para>
<itemizedlist>
<listitem>
<para><literal>Boot Multi User</literal>: This will
continue the &os; boot process. If the boot timer has
been paused, press <keycap>1</keycap>, upper- or
lower-case <keycap>B</keycap>, or
<keycap>Enter</keycap>.</para>
</listitem>
<listitem>
<para><literal>Boot Single User</literal>: This mode can be
used to fix an existing &os; installation as described in
<xref linkend="boot-singleuser"/>. Press
<keycap>2</keycap> or the upper- or lower-case
<keycap>S</keycap> to enter this mode.</para>
</listitem>
<listitem>
<para><literal>Escape to loader prompt</literal>: This will
boot the system into a repair prompt that contains a
limited number of low-level commands. This prompt is
described in <xref linkend="boot-loader"/>. Press
<keycap>3</keycap> or <keycap>Esc</keycap> to boot into
this prompt.</para>
</listitem>
<listitem>
<para><literal>Reboot</literal>: Reboots the system.</para>
</listitem>
<listitem>
<para><literal>Configure Boot Options</literal>: Opens the
menu shown in, and described under, <xref
linkend="bsdinstall-boot-options-menu"/>.</para>
</listitem>
</itemizedlist>
<figure xml:id="bsdinstall-boot-options-menu">
<title>&os; Boot Options Menu</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-boot-options-menu"/>
</imageobject>
</mediaobject>
</figure>
<para>The boot options menu is divided into two sections. The
first section can be used to either return to the main boot
menu or to reset any toggled options back to their
defaults.</para>
<para>The next section is used to toggle the available options
to <literal>On</literal> or <literal>Off</literal> by pressing
the option's highlighted number or character. The system will
always boot using the settings for these options until they
are modified. Several options can be toggled using this
menu:</para>
<itemizedlist>
<listitem>
<para><literal>ACPI Support</literal>: If the system hangs
during boot, try toggling this option to
<literal>Off</literal>.</para>
</listitem>
<listitem>
<para><literal>Safe Mode</literal>: If the system still
hangs during boot even with <literal>ACPI
Support</literal> set to <literal>Off</literal>, try
setting this option to <literal>On</literal>.</para>
</listitem>
<listitem>
<para><literal>Single User</literal>: Toggle this option to
<literal>On</literal> to fix an existing &os; installation
as described in <xref linkend="boot-singleuser"/>. Once
the problem is fixed, set it back to
<literal>Off</literal>.</para>
</listitem>
<listitem>
<para><literal>Verbose</literal>: Toggle this option to
<literal>On</literal> to see more detailed messages during
the boot process. This can be useful when troubleshooting
a piece of hardware.</para>
</listitem>
</itemizedlist>
<para>After making the needed selections, press
<keycap>1</keycap> or <keycap>Backspace</keycap> to return to
the main boot menu, then press <keycap>Enter</keycap> to
continue booting into &os;. A series of boot messages will
appear as &os; carries out its hardware device probes and
loads the installation program. Once the boot is complete,
the welcome menu shown in <xref
linkend="bsdinstall-choose-mode"/> will be displayed.</para>
<figure xml:id="bsdinstall-choose-mode">
<title>Welcome Menu</title>
<mediaobject>
<imageobject>
<imagedata fileref="bsdinstall/bsdinstall-choose-mode"/>
</imageobject>
</mediaobject>
</figure>
<para>Press <keycap>Enter</keycap> to select the default of
<guibutton>[ Install ]</guibutton> to enter the
installer. The rest of this chapter describes how to use this
installer. Otherwise, use the right or left arrows or the
colorized letter to select the desired menu item. The
<guibutton>[ Shell ]</guibutton> can be used to
access a &os; shell in order to use command line utilities to
prepare the disks before installation. The
<guibutton>[ Live CD ]</guibutton> option can be
used to try out &os; before installing it. The live version
is described in <xref linkend="using-live-cd"/>.</para>
<tip>
<para>To review the boot messages, including the hardware
device probe, press the upper- or lower-case
<keycap>S</keycap> and then <keycap>Enter</keycap> to access
a shell. At the shell prompt, type <command>more
/var/run/dmesg.boot</command> and use the space bar to
scroll through the messages. When finished, type
<command>exit</command> to return to the welcome
menu.</para>
</tip>
</sect2>
</sect1>
<sect1 xml:id="using-bsdinstall">
<title>Using <application>bsdinstall</application></title>
<para>This section shows the order of the
<application>bsdinstall</application> menus and the type of
information that will be asked before the system is installed.
Use the arrow keys to highlight a menu option, then
<keycap>Space</keycap> to select or deselect that menu item.
When finished, press <keycap>Enter</keycap> to save the selection
and move onto the next screen.</para>
<sect2 xml:id="bsdinstall-keymap">
<title>Selecting the Keymap Menu</title>
<para>Depending on the system console being used,
<application>bsdinstall</application> may initially display
the menu shown in <xref
linkend="bsdinstall-keymap-select-default"/>.</para>
<figure xml:id="bsdinstall-keymap-select-default">
<title>Keymap Selection</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-keymap-select-default"/>
</imageobject>
</mediaobject>
</figure>
<para>To configure the keyboard layout, press
<keycap>Enter</keycap> with
<guibutton>[ YES ]</guibutton> selected, which will
display the menu shown in <xref
linkend="bsdinstall-config-keymap"/>. To instead use the
default layout, use the arrow key to select
<guibutton>[ NO ]</guibutton> and press
<keycap>Enter</keycap> to skip this menu screen.</para>
<figure xml:id="bsdinstall-config-keymap">
<title>Selecting Keyboard Menu</title>
<mediaobject>
<imageobject>
<imagedata fileref="bsdinstall/bsdinstall-config-keymap"/>
</imageobject>
</mediaobject>
</figure>
<para>When configuring the keyboard layout, use the up and down
arrows to select the keymap that most closely represents the
mapping of the keyboard attached to the system. Press
<keycap>Enter</keycap> to save the selection.</para>
<note>
<para>Pressing <keycap>Esc</keycap> will exit this menu and
use the default keymap. If the choice of keymap is not
clear, <guimenuitem>United States of America
ISO-8859-1</guimenuitem> is also a safe option.</para>
</note>
<para>In &os; 10.0-RELEASE and later, this menu has been
enhanced. The full selection of keymaps is shown, with the
default preselected. In addition, when selecting a different
keymap, a dialog is displayed that allows the user to try the
keymap and ensure it is correct before proceeding.</para>
<figure xml:id="bsdinstall-keymap-10">
<title>Enhanced Keymap Menu</title>
<mediaobject>
<imageobject>
<imagedata fileref="bsdinstall/bsdinstall-keymap-10"/>
</imageobject>
</mediaobject>
</figure>
</sect2>
<sect2 xml:id="bsdinstall-hostname">
<title>Setting the Hostname</title>
<para>The next <application>bsdinstall</application> menu is
used to set the hostname for the newly installed
system.</para>
<figure xml:id="bsdinstall-config-hostname">
<title>Setting the Hostname</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-config-hostname"/>
</imageobject>
</mediaobject>
</figure>
<para>Type in a hostname that is unique for the network. It
should be a fully-qualified hostname, such as <systemitem
class="fqdomainname">machine3.example.com</systemitem>.</para>
</sect2>
<sect2 xml:id="bsdinstall-components">
<title>Selecting Components to Install</title>
<para>Next, <application>bsdinstall</application> will prompt to
select optional components to install.</para>
<figure xml:id="bsdinstall-config-components">
<title>Selecting Components to Install</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-config-components"/>
</imageobject>
</mediaobject>
</figure>
<para>Deciding which components to install will depend largely
on the intended use of the system and the amount of disk space
available. The &os; kernel and userland, collectively known
as the <firstterm>base system</firstterm>, are always
installed. Depending on the architecture, some of these
components may not appear:</para>
<itemizedlist>
<listitem>
<para><literal>doc</literal> - Additional documentation,
mostly of historical interest, to install into
<filename>/usr/share/doc</filename>. The documentation
provided by the FreeBSD Documentation Project may be
installed later using the instructions in <xref
linkend="updating-upgrading-documentation"/>.</para>
</listitem>
<listitem>
<para><literal>games</literal> - Several traditional
<acronym>BSD</acronym> games, including
<application>fortune</application>,
<application>rot13</application>, and others.</para>
</listitem>
<listitem>
<para><literal>lib32</literal> - Compatibility libraries for
running 32-bit applications on a 64-bit version of
&os;.</para>
</listitem>
<listitem>
<para><literal>ports</literal> - The &os; Ports Collection
is a collection of files which automates the downloading,
compiling and installation of third-party software
packages. <xref linkend="ports"/> discusses how to use
the Ports Collection.</para>
<warning>
<para>The installation program does not check for
adequate disk space. Select this option only if
sufficient hard disk space is available. The &os; Ports
Collection takes up about &ports.size; of disk
space.</para>
</warning>
</listitem>
<listitem>
<para><literal>src</literal> - The complete &os; source code
for both the kernel and the userland. Although not
required for the majority of applications, it may be
required to build device drivers, kernel modules, or some
applications from the Ports Collection. It is also used
for developing &os; itself. The full source tree requires
1 GB of disk space and recompiling the entire &os;
system requires an additional 5 GB of space.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 xml:id="bsdinstall-netinstall">
<title>Installing from the Network</title>
<para>The menu shown in <xref
linkend="bsdinstall-netinstall-notify"/> only appears when
installing from a <filename>-bootonly.iso</filename>
<acronym>CD</acronym> as this installation media does not hold
copies of the installation files. Since the installation
files must be retrieved over a network connection, this menu
indicates that the network interface must be first
configured.</para>
<figure xml:id="bsdinstall-netinstall-notify">
<title>Installing from the Network</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-netinstall-files"/>
</imageobject>
</mediaobject>
</figure>
<para>To configure the network connection, press
<keycap>Enter</keycap> and follow the instructions in <xref
linkend="bsdinstall-config-network-dev"/>. Once the
interface is configured, select a mirror site that is
located in the same region of the world as the computer on
which &os; is being installed. Files can be retrieved more
quickly when the mirror is close to the target computer,
reducing installation time.</para>
<figure xml:id="bsdinstall-netinstall-mirror">
<title>Choosing a Mirror</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-netinstall-mirrorselect"/>
</imageobject>
</mediaobject>
</figure>
<para>Installation will then continue as if the installation
files were located on the local installation media.</para>
</sect2>
</sect1>
<sect1 xml:id="bsdinstall-partitioning">
<title>Allocating Disk Space</title>
<para>The next menu is used to determine the method for
allocating disk space. The options available in the menu
depend upon the version of &os; being installed.</para>
<figure xml:id="bsdinstall-part-guided-manual">
<title>Partitioning Choices on &os; 9.x</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-part-guided-manual"/>
</imageobject>
</mediaobject>
</figure>
<figure xml:id="bsdinstall-zfs-partmenu">
<title>Partitioning Choices on &os; 10.x and Higher</title>
<mediaobject>
<imageobject>
<imagedata fileref="bsdinstall/bsdinstall-zfs-partmenu"/>
</imageobject>
</mediaobject>
</figure>
<para><literal>Guided</literal> partitioning automatically sets up
the disk partitions, <literal>Manual</literal> partitioning
allows advanced users to create customized partitions from menu
options, and <literal>Shell</literal> opens a shell prompt where
advanced users can create customized partitions using
command-line utilities like &man.gpart.8;, &man.fdisk.8;, and
&man.bsdlabel.8;. <literal>ZFS</literal> partitioning, only
available in &os; 10 and later, creates an optionally encrypted
root-on-ZFS system with support for <firstterm>boot
environments</firstterm>.</para>
<para>This section describes what to consider when laying out the
disk partitions. It then demonstrates how to use the different
partitioning methods.</para>
<sect2 xml:id="configtuning-initial">
<title>Designing the Partition Layout</title>
<indexterm><primary>partition layout</primary></indexterm>
<indexterm>
<primary><filename>/etc</filename></primary>
</indexterm>
<indexterm>
<primary><filename>/var</filename></primary>
</indexterm>
<indexterm>
<primary><filename>/usr</filename></primary>
</indexterm>
<para>When laying out file systems, remember that hard drives
transfer data faster from the outer tracks to the inner.
Thus, smaller and heavier-accessed file systems should be
closer to the outside of the drive, while larger partitions
like <filename>/usr</filename> should be placed toward the
inner parts of the disk. It is a good idea to create
partitions in an order similar to: <filename>/</filename>,
swap, <filename>/var</filename>, and
<filename>/usr</filename>.</para>
<para>The size of the <filename>/var</filename> partition
reflects the intended machine's usage. This partition is
used to hold mailboxes, log files, and printer spools.
Mailboxes and log files can grow to unexpected sizes
depending on the number of users and how long log files are
kept. On average, most users rarely need more than about a
gigabyte of free disk space in
<filename>/var</filename>.</para>
<note>
<para>Sometimes, a lot of disk space is required in
<filename>/var/tmp</filename>. When new software is
installed, the packaging tools extract a temporary copy of
the packages under <filename>/var/tmp</filename>. Large
software packages, like <application>Firefox</application>,
<application>OpenOffice</application> or
<application>LibreOffice</application> may be tricky to
install if there is not enough disk space under
<filename>/var/tmp</filename>.</para>
</note>
<para>The <filename>/usr</filename> partition holds many of the
files which support the system, including the &os; Ports
Collection and system source code. At least 2 gigabytes is
recommended for this partition.</para>
<para>When selecting partition sizes, keep the space
requirements in mind. Running out of space in one partition
while barely using another can be a hassle.</para>
<indexterm>
<primary>swap sizing</primary>
</indexterm>
<indexterm>
<primary>swap partition</primary>
</indexterm>
<para>As a rule of thumb, the swap partition should be about
double the size of physical memory (<acronym>RAM</acronym>).
Systems with minimal <acronym>RAM</acronym> may perform
better with more swap. Configuring too little swap can lead
to inefficiencies in the <acronym>VM</acronym> page scanning
code and might create issues later if more memory is
added.</para>
<para>On larger systems with multiple <acronym>SCSI</acronym>
disks or multiple <acronym>IDE</acronym> disks operating on
different controllers, it is recommended that swap be
configured on each drive, up to four drives. The swap
partitions should be approximately the same size. The
kernel can handle arbitrary sizes but internal data structures
scale to 4 times the largest swap partition. Keeping the swap
partitions near the same size will allow the kernel to
optimally stripe swap space across disks. Large swap sizes
are fine, even if swap is not used much. It might be easier
to recover from a runaway program before being forced to
reboot.</para>
<para>By properly partitioning a system, fragmentation
introduced in the smaller write heavy partitions will not
bleed over into the mostly read partitions. Keeping the
write loaded partitions closer to the disk's edge will
increase <acronym> I/O</acronym> performance in the
partitions where it occurs the most. While
<acronym>I/O</acronym> performance in the larger partitions
may be needed, shifting them more toward the edge of the disk
will not lead to a significant performance improvement over
moving <filename>/var</filename> to the edge.</para>
</sect2>
<sect2 xml:id="bsdinstall-part-guided">
<title>Guided Partitioning</title>
<para>When this method is selected, a menu will display the
available disk(s). If multiple disks are connected, choose
the one where &os; is to be installed.</para>
<figure xml:id="bsdinstall-part-guided-disk">
<title>Selecting from Multiple Disks</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-part-guided-disk"/>
</imageobject>
</mediaobject>
</figure>
<para>Once the disk is selected, the next menu prompts to
install to either the entire disk or to create a partition
using free space. If
<guibutton>[ Entire Disk ]</guibutton> is
chosen, a general partition layout filling the whole disk is
automatically created. Selecting
<guibutton>[ Partition ]</guibutton> creates a
partition layout from the unused space on the disk.</para>
<figure xml:id="bsdinstall-part-entire-part">
<title>Selecting Entire Disk or Partition</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-part-entire-part"/>
</imageobject>
</mediaobject>
</figure>
<para>After the partition layout has been created, review it to
ensure it meets the needs of the installation. Selecting
<guibutton>[ Revert ]</guibutton> will reset the
partitions to their original values and pressing
<guibutton>[ Auto ]</guibutton> will recreate the
automatic &os; partitions. Partitions can also be manually
created, modified, or deleted. When the partitioning is
correct, select <guibutton>[ Finish ]</guibutton> to
continue with the installation.</para>
<figure xml:id="bsdinstall-part-review">
<title>Review Created Partitions</title>
<mediaobject>
<imageobject>
<imagedata fileref="bsdinstall/bsdinstall-part-review"/>
</imageobject>
</mediaobject>
</figure>
</sect2>
<sect2 xml:id="bsdinstall-part-manual">
<title>Manual Partitioning</title>
<para>Selecting this method opens the partition editor:</para>
<figure xml:id="bsdinstall-part-manual-create">
<title>Manually Create Partitions</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-part-manual-create"/>
</imageobject>
</mediaobject>
</figure>
<para>Highlight the installation drive
(<filename>ada0</filename> in this example) and select
<guibutton>[ Create ]</guibutton> to display a menu
of available partition schemes:</para>
<figure xml:id="bsdinstall-part-manual-partscheme">
<title>Manually Create Partitions</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-part-manual-partscheme"/>
</imageobject>
</mediaobject>
</figure>
<para><acronym>GPT</acronym> is usually the most appropriate
choice for &arch.amd64; computers. Older computers that are
not compatible with <acronym>GPT</acronym> should use
<acronym>MBR</acronym>. The other partition schemes are
generally used for uncommon or older computers.</para>
<table frame="none" rowsep="1" pgwide="1">
<title>Partitioning Schemes</title>
<tgroup cols="2" align="left">
<thead>
<row>
<entry align="left">Abbreviation</entry>
<entry align="left">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>APM</entry>
<entry>Apple Partition Map, used by &powerpc;.</entry>
</row>
<row>
<entry>BSD</entry>
<entry><acronym>BSD</acronym> label without an
<acronym>MBR</acronym>, sometimes called
<firstterm>dangerously dedicated mode</firstterm> as
non-<acronym>BSD</acronym> disk utilities may not
recognize it.</entry>
</row>
<row>
<entry>GPT</entry>
<entry>GUID Partition Table (<link
xlink:href="http://en.wikipedia.org/wiki/GUID_Partition_Table">http://en.wikipedia.org/wiki/GUID_Partition_Table</link>).</entry>
</row>
<row>
<entry>MBR</entry>
<entry>Master Boot Record (<link
xlink:href="http://en.wikipedia.org/wiki/Master_boot_record">http://en.wikipedia.org/wiki/Master_boot_record</link>).</entry>
</row>
<row>
<entry>PC98</entry>
<entry><acronym>MBR</acronym> variant used by NEC PC-98
computers (<link
xlink:href="http://en.wikipedia.org/wiki/Pc9801">http://en.wikipedia.org/wiki/Pc9801</link>).</entry>
</row>
<row>
<entry>VTOC8</entry>
<entry>Volume Table Of Contents used by Sun SPARC64 and
UltraSPARC computers.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>After the partitioning scheme has been selected and
created, select <guibutton>[ Create ]</guibutton>
again to create the partitions.</para>
<figure xml:id="bsdinstall-part-manual-addpart">
<title>Manually Create Partitions</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-part-manual-addpart"/>
</imageobject>
</mediaobject>
</figure>
<para>A standard &os; <acronym>GPT</acronym> installation uses
at least three partitions:</para>
<itemizedlist>
<listitem>
<para><literal>freebsd-boot</literal> - Holds the &os; boot
code.</para>
</listitem>
<listitem>
<para><literal>freebsd-ufs</literal> - A &os;
<acronym>UFS</acronym> file system.</para>
</listitem>
<listitem>
<para><literal>freebsd-swap</literal> - &os; swap
space.</para>
</listitem>
</itemizedlist>
<para>Another partition type worth noting is
<literal>freebsd-zfs</literal>, used for partitions that will
contain a &os; <acronym>ZFS</acronym> file system (<xref
linkend="zfs"/>). Refer to &man.gpart.8; for
descriptions of the available <acronym>GPT</acronym> partition
types.</para>
<para>Multiple file system partitions can be created and some
people prefer a traditional layout with separate partitions
for the <filename>/</filename>, <filename>/var</filename>,
<filename>/tmp</filename>, and <filename>/usr</filename> file
systems. See <xref
linkend="bsdinstall-part-manual-splitfs"/> for an
example.</para>
<para>The <literal>Size</literal> may be entered with common
abbreviations: <emphasis>K</emphasis> for kilobytes,
<emphasis>M</emphasis> for megabytes, or
<emphasis>G</emphasis> for gigabytes.</para>
<tip>
<para>Proper sector alignment provides the best performance,
and making partition sizes even multiples of 4K-bytes helps
to ensure alignment on drives with either 512-byte or
4K-byte sectors. Generally, using partition sizes that are
even multiples of 1M or 1G is the easiest way to make sure
every partition starts at an even multiple of 4K. There is
one exception: the <emphasis>freebsd-boot</emphasis>
partition should be no larger than 512K due to current boot
code limitations.</para>
</tip>
<para>A <literal>Mountpoint</literal> is needed if the partition
will contain a file system. If only a single
<acronym>UFS</acronym> partition will be created, the
mountpoint should be <filename>/</filename>.</para>
<para>The <literal>Label</literal> is a name by which the
partition will be known. Drive names or numbers can change if
the drive is connected to a different controller or port, but
the partition label does not change. Referring to labels
instead of drive names and partition numbers in files like
<filename>/etc/fstab</filename> makes the system more tolerant
to hardware changes. <acronym>GPT</acronym> labels appear in
<filename>/dev/gpt/</filename> when a disk is attached. Other
partitioning schemes have different label capabilities and
their labels appear in different directories in
<filename>/dev/</filename>.</para>
<tip>
<para>Use a unique label on every partition to avoid
conflicts from identical labels. A few letters from the
computer's name, use, or location can be added to the label.
For instance, use <literal>labroot</literal> or
<literal>rootfslab</literal> for the <acronym>UFS</acronym>
root partition on the computer named
<literal>lab</literal>.</para>
</tip>
<example xml:id="bsdinstall-part-manual-splitfs">
<title>Creating Traditional Split File System
Partitions</title>
<para>For a traditional partition layout where the
<filename>/</filename>, <filename>/var</filename>,
<filename>/tmp</filename>, and <filename>/usr</filename>
directories are separate file systems on their own
partitions, create a <acronym>GPT</acronym> partitioning
scheme, then create the partitions as shown. Partition
sizes shown are typical for a 20G target disk. If more
space is available on the target disk, larger swap or
<filename>/var</filename> partitions may be useful. Labels
shown here are prefixed with <literal>ex</literal> for
<quote>example</quote>, but readers should use other unique
label values as described above.</para>
<para>By default, &os;'s <filename>gptboot</filename> expects
the first <acronym>UFS</acronym> partition to be the
<filename>/</filename> partition.</para>
<informaltable frame="none">
<tgroup cols="4">
<thead>
<row>
<entry>Partition Type</entry>
<entry>Size</entry>
<entry>Mountpoint</entry>
<entry>Label</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>freebsd-boot</literal></entry>
<entry><literal>512K</literal></entry>
</row>
<row>
<entry><literal>freebsd-ufs</literal></entry>
<entry><literal>2G</literal></entry>
<entry><filename>/</filename></entry>
<entry><literal>exrootfs</literal></entry>
</row>
<row>
<entry><literal>freebsd-swap</literal></entry>
<entry><literal>4G</literal></entry>
<entry></entry>
<entry><literal>exswap</literal></entry>
</row>
<row>
<entry><literal>freebsd-ufs</literal></entry>
<entry><literal>2G</literal></entry>
<entry><filename>/var</filename></entry>
<entry><literal>exvarfs</literal></entry>
</row>
<row>
<entry><literal>freebsd-ufs</literal></entry>
<entry><literal>1G</literal></entry>
<entry><filename>/tmp</filename></entry>
<entry><literal>extmpfs</literal></entry>
</row>
<row>
<entry><literal>freebsd-ufs</literal></entry>
<entry>accept the default (remainder of the
disk)</entry>
<entry><filename>/usr</filename></entry>
<entry><literal>exusrfs</literal></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</example>
<para>After the custom partitions have been created, select
<guibutton>[ Finish ]</guibutton> to continue with
the installation.</para>
</sect2>
<sect2 xml:id="bsdinstall-part-zfs">
<title>Root-on-ZFS Automatic Partitioning</title>
<para>Support for automatic creation of root-on-ZFS
installations was added in &os; 10.0-RELEASE. This
partitioning mode only works with whole disks and will erase
the contents of the entire disk. The installer will
automatically create partitions aligned to 4k boundaries and
force <acronym>ZFS</acronym> to use 4k sectors. This is safe
even with 512 byte sector disks, and has the added benefit of
ensuring that pools created on 512 byte disks will be able to
have 4k sector disks added in the future, either as additional
storage space or as replacements for failed disks. The
installer can also optionally employ <acronym>GELI</acronym>
disk encryption as described in <xref
linkend="disks-encrypting-geli"/>.
If encryption is enabled, a 2 GB unencrypted boot pool
containing the <filename>/boot</filename> directory is
created. It holds the kernel and other files necessary to
boot the system. A swap partition of a user selectable size
is also created, and all remaining space is used for the
<acronym>ZFS</acronym> pool.</para>
<para>The main <acronym>ZFS</acronym> configuration menu offers
a number of options to control the creation of the
pool.</para>
<figure xml:id="bsdinstall-zfs-menu">
<title><acronym>ZFS</acronym> Partitioning Menu</title>
<mediaobject>
<imageobject>
<imagedata fileref="bsdinstall/bsdinstall-zfs-menu"/>
</imageobject>
</mediaobject>
</figure>
<para>Select <keycap>T</keycap> to configure the <literal>Pool
Type</literal> and the disk(s) that will constitute the
pool. The automatic <acronym>ZFS</acronym> installer
currently only supports the creation of a single top level
vdev, except in stripe mode. To create more complex pools,
use the instructions in <xref
linkend="bsdinstall-part-shell"/> to create the pool. The
installer supports the creation of various pool types,
including stripe (not recommended, no redundancy), mirror
(best performance, least usable space), and RAID-Z 1, 2, and 3
(with the capability to withstand the concurrent failure of 1,
2, and 3 disks, respectively). while selecting the pool type,
a tooltip is displayed across the bottom of the screen with
advice about the number of required disks, and in the case of
RAID-Z, the optimal number of disks for each
configuration.</para>
<figure xml:id="bsdinstall-zfs-vdev_type">
<title><acronym>ZFS</acronym> Pool Type</title>
<mediaobject>
<imageobject>
<imagedata fileref="bsdinstall/bsdinstall-zfs-vdev_type"/>
</imageobject>
</mediaobject>
</figure>
<para>Once a <literal>Pool Type</literal> has been selected, a
list of available disks is displayed, and the user is prompted
to select one or more disks to make up the pool. The
configuration is then validated, to ensure enough disks are
selected. If not, select <guibutton><Change
Selection></guibutton> to return to the list of disks, or
<guibutton><Cancel></guibutton> to change the pool
type.</para>
<figure xml:id="bsdinstall-zfs-disk_select">
<title>Disk Selection</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-zfs-disk_select"/>
</imageobject>
</mediaobject>
</figure>
<figure xml:id="bsdinstall-zfs-vdev_invalid">
<title>Invalid Selection</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-zfs-vdev_invalid"/>
</imageobject>
</mediaobject>
</figure>
<para>If one or more disks are missing from the list, or if
disks were attached after the installer was started, select
<guibutton>- Rescan Devices</guibutton> to repopulate the list
of available disks. To ensure that the correct disks are
selected, so as not to accidently destroy the wrong disks, the
<guibutton>- Disk Info</guibutton> menu can be used to inspect
each disk, including its partition table and various other
information such as the device model number and serial number,
if available.</para>
<figure xml:id="bsdinstall-zfs-disk_info">
<title>Analysing a Disk</title>
<mediaobject>
<imageobject>
<imagedata fileref="bsdinstall/bsdinstall-zfs-disk_info"/>
</imageobject>
</mediaobject>
</figure>
<para>The main <acronym>ZFS</acronym> configuration menu also
allows the user to enter a pool name, disable forcing 4k
sectors, enable or disable encryption, switch between
<acronym>GPT</acronym> (recommended) and
<acronym>MBR</acronym> partition table types, and select the
amount of swap space. Once all options have been set to the
desired values, select the
<guibutton>>>> Install</guibutton> option at the
top of the menu.</para>
<para>If <acronym>GELI</acronym> disk encryption was enabled,
the installer will prompt twice for the passphrase to be used
to encrypt the disks.</para>
<figure xml:id="bsdinstall-zfs-geli_password">
<title>Disk Encryption Password</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-zfs-geli_password"/>
</imageobject>
</mediaobject>
</figure>
<para>The installer then offers a last chance to cancel before
the contents of the selected drives are destroyed to create
the <acronym>ZFS</acronym> pool.</para>
<figure xml:id="bsdinstall-zfs-warning">
<title>Last Chance</title>
<mediaobject>
<imageobject>
<imagedata fileref="bsdinstall/bsdinstall-zfs-warning"/>
</imageobject>
</mediaobject>
</figure>
<para>The installation then proceeds normally.</para>
</sect2>
<sect2 xml:id="bsdinstall-part-shell">
<title>Shell Mode Partitioning</title>
<para>When creating advanced installations, the
<application>bsdinstall</application> paritioning menus may
not provide the level of flexibility required. Advanced users
can select the <guibutton>Shell</guibutton> option from the
partitioning menu in order to manually partition the drives,
create the file system(s), populate
<filename>/tmp/bsdinstall_etc/fstab</filename>, and mount the
file systems under <filename>/mnt</filename>. Once this is
done, type <command>exit</command> to return to
<application>bsdinstall</application> and continue the
installation.</para>
</sect2>
</sect1>
<sect1 xml:id="bsdinstall-final-warning">
<title>Committing to the Installation</title>
<para>Once the disks are configured, the next menu provides the
last chance to make changes before the selected hard drive(s)
are formatted. If changes need to be made, select
<guibutton>[ Back ]</guibutton> to return to the main
partitioning menu.
<guibutton>[ Revert & Exit ]</guibutton>
will exit the installer without making any changes to the hard
drive.</para>
<figure xml:id="bsdinstall-final-confirmation">
<title>Final Confirmation</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-final-confirmation"/>
</imageobject>
</mediaobject>
</figure>
<para>To instead start the actual installation, select
<guibutton>[ Commit ]</guibutton> and press
<keycap>Enter</keycap>.</para>
<para>Installation time will vary depending on the distributions
chosen, installation media, and speed of the computer. A series
of messages will indicate the progress.</para>
<para>First, the installer formats the selected disk(s) and
initializes the partitions. Next, in the case of a bootonly
media, it downloads the selected components:</para>
<figure xml:id="bsdinstall-distfile-fetching">
<title>Fetching Distribution Files</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-distfile-fetching"/>
</imageobject>
</mediaobject>
</figure>
<para>Next, the integrity of the distribution files is verified
to ensure they have not been corrupted during download or
misread from the installation media:</para>
<figure xml:id="bsdinstall-distfile-verify">
<title>Verifying Distribution Files</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-distfile-verifying"/>
</imageobject>
</mediaobject>
</figure>
<para>Finally, the verified distribution files are extracted to
the disk:</para>
<figure xml:id="bsdinstall-distfile-extract">
<title>Extracting Distribution Files</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-distfile-extracting"/>
</imageobject>
</mediaobject>
</figure>
<para>Once all requested distribution files have been extracted,
<application>bsdinstall</application> displays the first
post-installation configuration screen. The available
post-configuration options are described in the next
section.</para>
</sect1>
<sect1 xml:id="bsdinstall-post">
<title>Post-Installation</title>
<para>Once &os; is installed,
<application>bsdinstall</application> will prompt to configure
several options before booting into the newly installed system.
This section describes these configuration options.</para>
<tip>
<para>Once the system has booted,
<command>bsdconfig</command> provides a menu-driven method for
configuring the system using these and additional
options.</para>
</tip>
<sect2 xml:id="bsdinstall-post-root">
<title>Setting the <systemitem
class="username">root</systemitem> Password</title>
<para>First, the <systemitem class="username">root</systemitem>
password must be set. While entering the password, the
characters being typed are not displayed on the screen. After
the password has been entered, it must be entered again. This
helps prevent typing errors.</para>
<figure xml:id="bsdinstall-post-set-root-passwd">
<title>Setting the <systemitem
class="username">root</systemitem> Password</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-post-root-passwd"/>
</imageobject>
</mediaobject>
</figure>
</sect2>
<sect2 xml:id="bsdinstall-config-network-dev">
<title>Configuring Network Interfaces</title>
<para>Next, a list of the network interfaces found on the
computer is shown. Select the interface to configure.</para>
<note>
<para>The network configuration menus will be skipped if the
network was previously configured as part of a
<emphasis>bootonly</emphasis> installation.</para>
</note>
<figure xml:id="bsdinstall-configure-net-interface">
<title>Choose a Network Interface</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-configure-network-interface"/>
</imageobject>
</mediaobject>
</figure>
<para>If an Ethernet interface is selected, the installer will
skip ahead to the menu shown in <xref
linkend="bsdinstall-configure-net-ipv4"/>. If a wireless
network interface is chosen, the system will instead scan for
wireless access points:</para>
<figure xml:id="bsdinstall-wireless-scan">
<title>Scanning for Wireless Access Points</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-configure-wireless-scan"/>
</imageobject>
</mediaobject>
</figure>
<para>Wireless networks are identified by a Service Set
Identifier (<acronym>SSID</acronym>), a short, unique name
given to each network. <acronym>SSIDs</acronym> found during
the scan are listed, followed by a description of the
encryption types available for that network. If the desired
<acronym>SSID</acronym> does not appear in the list, select
<guibutton>[ Rescan ]</guibutton> to scan again. If
the desired network still does not appear, check for problems
with antenna connections or try moving the computer closer to
the access point. Rescan after each change is made.</para>
<figure xml:id="bsdinstall-wireless-accesspoints">
<title>Choosing a Wireless Network</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-configure-wireless-accesspoints"/>
</imageobject>
</mediaobject>
</figure>
<para>Next, enter the encryption information for connecting to
the selected wireless network. <acronym>WPA2</acronym>
encryption is strongly recommended as older encryption types,
like <acronym>WEP</acronym>, offer little security. If the
network uses <acronym>WPA2</acronym>, input the password, also
known as the Pre-Shared Key (<acronym>PSK</acronym>). For
security reasons, the characters typed into the input box are
displayed as asterisks.</para>
<figure xml:id="bsdinstall-wireless-wpa2">
<title>WPA2 Setup</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-configure-wireless-wpa2setup"/>
</imageobject>
</mediaobject>
</figure>
<para>Next, choose whether or not an <acronym>IPv4</acronym>
address should be configured on the Ethernet or wireless
interface:</para>
<figure xml:id="bsdinstall-configure-net-ipv4">
<title>Choose <acronym>IPv4</acronym> Networking</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-configure-network-interface-ipv4"/>
</imageobject>
</mediaobject>
</figure>
<para>There are two methods of <acronym>IPv4</acronym>
configuration. <acronym>DHCP</acronym> will automatically
configure the network interface correctly and should be used
if the network provides a <acronym>DHCP</acronym> server.
Otherwise, the addressing information needs to be input
manually as a static configuration.</para>
<note>
<para>Do not enter random network information as it will not
work. If a <acronym>DHCP</acronym> server is not available,
obtain the information listed in <xref
linkend="bsdinstall-collect-network-information"/> from
the network administrator or Internet service
provider.</para>
</note>
<para>If a <acronym>DHCP</acronym> server is available, select
<guibutton>[ Yes ]</guibutton> in the next menu to
automatically configure the network interface. The installer
will appear to pause for a minute or so as it finds the
<acronym>DHCP</acronym> server and obtains the addressing
information for the system.</para>
<figure xml:id="bsdinstall-net-ipv4-dhcp">
<title>Choose <acronym>IPv4</acronym> <acronym>DHCP</acronym>
Configuration</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-configure-network-interface-ipv4-dhcp"/>
</imageobject>
</mediaobject>
</figure>
<para>If a <acronym>DHCP</acronym> server is not available,
select <guibutton>[ No ]</guibutton> and input the
following addressing information in this menu:</para>
<figure xml:id="bsdinstall-net-ipv4-static">
<title><acronym>IPv4</acronym> Static Configuration</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-configure-network-interface-ipv4-static"/>
</imageobject>
</mediaobject>
</figure>
<itemizedlist>
<listitem>
<para><literal>IP Address</literal> - The
<acronym>IPv4</acronym> address assigned to this computer.
The address must be unique and not already in use by
another piece of equipment on the local network.</para>
</listitem>
<listitem>
<para><literal>Subnet Mask</literal> - The subnet mask for
the network.</para>
</listitem>
<listitem>
<para><literal>Default Router</literal> - The
<acronym>IP</acronym> address of the network's default
gateway.</para>
</listitem>
</itemizedlist>
<para>The next screen will ask if the interface should be
configured for <acronym>IPv6</acronym>. If
<acronym>IPv6</acronym> is available and desired, choose
<guibutton>[ Yes ]</guibutton> to select it.</para>
<figure xml:id="bsdinstall-net-ipv6">
<title>Choose IPv6 Networking</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-configure-network-interface-ipv6"/>
</imageobject>
</mediaobject>
</figure>
<para><acronym>IPv6</acronym> also has two methods of
configuration. StateLess Address AutoConfiguration
(<acronym>SLAAC</acronym>) will automatically request the
correct configuration information from a local router. Refer
to <link
xlink:href="http://tools.ietf.org/html/rfc4862">http://tools.ietf.org/html/rfc4862</link>
for more information. Static configuration requires manual
entry of network information.</para>
<para>If an <acronym>IPv6</acronym> router is available, select
<guibutton>[ Yes ]</guibutton> in the next menu to
automatically configure the network interface. The installer
will appear to pause for a minute or so as it finds the router
and obtains the addressing information for the system.</para>
<figure xml:id="bsdinstall-net-ipv6-slaac">
<title>Choose IPv6 SLAAC Configuration</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-configure-network-interface-slaac"/>
</imageobject>
</mediaobject>
</figure>
<para>If an <acronym>IPv6</acronym> router is not available,
select <guibutton>[ No ]</guibutton> and input the
following addressing information in this menu:</para>
<figure xml:id="bsdinstall-net-ipv6-static">
<title>IPv6 Static Configuration</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-configure-network-interface-ipv6-static"/>
</imageobject>
</mediaobject>
</figure>
<itemizedlist>
<listitem>
<para><literal>IPv6 Address</literal> - The
<acronym>IPv6</acronym> address assigned to this computer.
The address must be unique and not already in use by
another piece of equipment on the local network.</para>
</listitem>
<listitem>
<para><literal>Default Router</literal> - The
<acronym>IPv6</acronym> address of the network's default
gateway.</para>
</listitem>
</itemizedlist>
<para>The last network configuration menu is used to configure
the Domain Name System (<acronym>DNS</acronym>) resolver,
which converts hostnames to and from network addresses. If
<acronym>DHCP</acronym> or <acronym>SLAAC</acronym> was used
to autoconfigure the network interface, the <literal>Resolver
Configuration</literal> values may already be filled in.
Otherwise, enter the local network's domain name in the
<literal>Search</literal> field. <literal>DNS #1</literal>
and <literal>DNS #2</literal> are the <acronym>IPv4</acronym>
and/or <acronym>IPv6</acronym> addresses of the
<acronym>DNS</acronym> servers. At least one
<acronym>DNS</acronym> server is required.</para>
<figure xml:id="bsdinstall-net-dns-config">
<title>DNS Configuration</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-configure-network-ipv4-dns"/>
</imageobject>
</mediaobject>
</figure>
</sect2>
<sect2 xml:id="bsdinstall-timezone">
<title>Setting the Time Zone</title>
<para>The next menu asks if the system clock uses
<acronym>UTC</acronym> or local time. When in doubt, select
<guibutton>[ No ]</guibutton> to choose the more
commonly-used local time.</para>
<figure xml:id="bsdinstall-local-utc">
<title>Select Local or UTC Clock</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-set-clock-local-utc"/>
</imageobject>
</mediaobject>
</figure>
<para>The next series of menus are used to determine the correct
local time by selecting the geographic region, country, and
time zone. Setting the time zone allows the system to
automatically correct for regional time changes, such as
daylight savings time, and perform other time zone related
functions properly.</para>
<para>The example shown here is for a machine located in the
Eastern time zone of the United States. The selections will
vary according to the geographical location.</para>
<figure xml:id="bsdinstall-timezone-region">
<title>Select a Region</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-timezone-region"/>
</imageobject>
</mediaobject>
</figure>
<para>The appropriate region is selected using the arrow keys
and then pressing <keycap>Enter</keycap>.</para>
<figure xml:id="bsdinstall-timezone-country">
<title>Select a Country</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-timezone-country"/>
</imageobject>
</mediaobject>
</figure>
<para>Select the appropriate country using the arrow keys and
press <keycap>Enter</keycap>.</para>
<figure xml:id="bsdinstall-timezone-zone">
<title>Select a Time Zone</title>
<mediaobject>
<imageobject>
<imagedata fileref="bsdinstall/bsdinstall-timezone-zone"/>
</imageobject>
</mediaobject>
</figure>
<para>The appropriate time zone is selected using the arrow keys
and pressing <keycap>Enter</keycap>.</para>
<figure xml:id="bsdinstall-timezone-confirmation">
<title>Confirm Time Zone</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-timezone-confirm"/>
</imageobject>
</mediaobject>
</figure>
<para>Confirm the abbreviation for the time zone is correct. If
it is, press <keycap>Enter</keycap> to continue with the
post-installation configuration.</para>
</sect2>
<sect2 xml:id="bsdinstall-sysconf">
<title>Enabling Services</title>
<para>The next menu is used to configure which system services
will be started whenever the system boots. All of these
services are optional. Only start the services that are
needed for the system to function.</para>
<figure xml:id="bsdinstall-config-serv">
<title>Selecting Additional Services to Enable</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-config-services"/>
</imageobject>
</mediaobject>
</figure>
<para>Here is a summary of the services which can be enabled in
this menu:</para>
<itemizedlist>
<listitem>
<para><literal>sshd</literal> - The Secure Shell
(<acronym>SSH</acronym>) daemon is used to remotely access
a system over an encrypted connection. Only enable this
service if the system should be available for remote
logins.</para>
</listitem>
<listitem>
<para><literal>moused</literal> - Enable this service if the
mouse will be used from the command-line system
console.</para>
</listitem>
<listitem>
<para><literal>ntpd</literal> - The Network Time Protocol
(<acronym>NTP</acronym>) daemon for automatic clock
synchronization. Enable this service if there is a
&windows;, Kerberos, or <acronym>LDAP</acronym> server on
the network.</para>
</listitem>
<listitem>
<para><literal>powerd</literal> - System power control
utility for power control and energy saving.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 xml:id="bsdinstall-crashdump">
<title>Enabling Crash Dumps</title>
<para>The next menu is used to configure whether or not crash
dumps should be enabled. Enabling crash dumps can be useful
in debugging issues with the system, so users are encouraged
to enable crash dumps.</para>
<figure xml:id="bsdinstall-config-crashdump">
<title>Enabling Crash Dumps</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-config-crashdump"/>
</imageobject>
</mediaobject>
</figure>
</sect2>
<sect2 xml:id="bsdinstall-addusers">
<title>Add Users</title>
<para>The next menu prompts to create at least one user account.
It is recommended to login to the system using a user account
rather than as <systemitem class="username">root</systemitem>.
When logged in as <systemitem
class="username">root</systemitem>, there are essentially no
limits or protection on what can be done. Logging in as a
normal user is safer and more secure.</para>
<para>Select <guibutton>[ Yes ]</guibutton> to add new
users.</para>
<figure xml:id="bsdinstall-add-user1">
<title>Add User Accounts</title>
<mediaobject>
<imageobject>
<imagedata fileref="bsdinstall/bsdinstall-adduser1"/>
</imageobject>
</mediaobject>
</figure>
<para>Follow the prompts and input the requested information for
the user account. The example shown in <xref
linkend="bsdinstall-add-user2"/> creates the <systemitem
class="username">asample</systemitem> user account.</para>
<figure xml:id="bsdinstall-add-user2">
<title>Enter User Information</title>
<mediaobject>
<imageobject>
<imagedata fileref="bsdinstall/bsdinstall-adduser2"/>
</imageobject>
</mediaobject>
</figure>
<para>Here is a summary of the information to input:</para>
<itemizedlist>
<listitem>
<para><literal>Username</literal> - The name the user will
enter to log in. A common convention is to use the first
letter of the first name combined with the last name, as
long as each username is unique for the system. The
username is case sensitive and should not contain any
spaces.</para>
</listitem>
<listitem>
<para><literal>Full name</literal> - The user's full name.
This can contain spaces and is used as a description for
the user account.</para>
</listitem>
<listitem>
<para><literal>Uid</literal> - User <acronym>ID</acronym>.
Typically, this is left blank so the system will assign a
value.</para>
</listitem>
<listitem>
<para><literal>Login group</literal> - The user's group.
Typically this is left blank to accept the default.</para>
</listitem>
<listitem>
<para><literal>Invite <replaceable>user</replaceable> into
other groups?</literal> - Additional groups to which the
user will be added as a member. If the user needs
administrative access, type <literal>wheel</literal>
here.</para>
</listitem>
<listitem>
<para><literal>Login class</literal> - Typically left blank
for the default.</para>
</listitem>
<listitem>
<para><literal>Shell</literal> - Type in one of the listed
values to set the interactive shell for the user. Refer
to <xref linkend="shells"/> for more information about
shells.</para>
</listitem>
<listitem>
<para><literal>Home directory</literal> - The user's home
directory. The default is usually correct.</para>
</listitem>
<listitem>
<para><literal>Home directory permissions</literal> -
Permissions on the user's home directory. The default is
usually correct.</para>
</listitem>
<listitem>
<para><literal>Use password-based authentication?</literal>
- Typically <literal>yes</literal> so that the user is
prompted to input their password at login.</para>
</listitem>
<listitem>
<para><literal>Use an empty password?</literal> -
Typically <literal>no</literal> as it is insecure to have
a blank password.</para>
</listitem>
<listitem>
<para><literal>Use a random password?</literal> - Typically
<literal>no</literal> so that the user can set their own
password in the next prompt.</para>
</listitem>
<listitem>
<para><literal>Enter password</literal> - The password for
this user. Characters typed will not show on the
screen.</para>
</listitem>
<listitem>
<para><literal>Enter password again</literal> - The password
must be typed again for verification.</para>
</listitem>
<listitem>
<para><literal>Lock out the account after
creation?</literal> - Typically <literal>no</literal> so
that the user can login.</para>
</listitem>
</itemizedlist>
<para>After entering everything, a summary is shown for review.
If a mistake was made, enter <literal>no</literal> and try
again. If everything is correct, enter <literal>yes</literal>
to create the new user.</para>
<figure xml:id="bsdinstall-add-user3">
<title>Exit User and Group Management</title>
<mediaobject>
<imageobject>
<imagedata fileref="bsdinstall/bsdinstall-adduser3"/>
</imageobject>
</mediaobject>
</figure>
<para>If there are more users to add, answer the <literal>Add
another user?</literal> question with
<literal>yes</literal>. Enter <literal>no</literal> to finish
adding users and continue the installation.</para>
<para>For more information on adding users and user management,
see <xref linkend="users-synopsis"/>.</para>
</sect2>
<sect2 xml:id="bsdinstall-final-conf">
<title>Final Configuration</title>
<para>After everything has been installed and configured, a
final chance is provided to modify settings.</para>
<figure xml:id="bsdinstall-final-config">
<title>Final Configuration</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-finalconfiguration"/>
</imageobject>
</mediaobject>
</figure>
<para>Use this menu to make any changes or do any additional
configuration before completing the installation.</para>
<itemizedlist>
<listitem>
<para><literal>Add User</literal> - Described in <xref
linkend="bsdinstall-addusers"/>.</para>
</listitem>
<listitem>
<para><literal>Root Password</literal> - Described in <xref
linkend="bsdinstall-post-root"/>.</para>
</listitem>
<listitem>
<para><literal>Hostname</literal> - Described in <xref
linkend="bsdinstall-hostname"/>.</para>
</listitem>
<listitem>
<para><literal>Network</literal> - Described in <xref
linkend="bsdinstall-config-network-dev"/>.</para>
</listitem>
<listitem>
<para><literal>Services</literal> - Described in <xref
linkend="bsdinstall-sysconf"/>.</para>
</listitem>
<listitem>
<para><literal>Time Zone</literal> - Described in <xref
linkend="bsdinstall-timezone"/>.</para>
</listitem>
<listitem>
<para><literal>Handbook</literal> - Download and install the
&os; Handbook.</para>
</listitem>
</itemizedlist>
<para>After any final configuration is complete, select
<guibutton>Exit</guibutton>.</para>
<figure xml:id="bsdinstall-final-modification-shell">
<title>Manual Configuration</title>
<mediaobject>
<imageobject>
<imagedata
fileref="bsdinstall/bsdinstall-final-modification-shell"/>
</imageobject>
</mediaobject>
</figure>
<para><application>bsdinstall</application> will prompt if there
are any additional configuration that needs to be done before
rebooting into the new system. Select
<guibutton>[ Yes ]</guibutton> to exit to a shell
within the new system or
<guibutton>[ No ]</guibutton> to proceed to the last
step of the installation.</para>
<figure xml:id="bsdinstall-final-main">
<title>Complete the Installation</title>
<mediaobject>
<imageobject>
<imagedata fileref="bsdinstall/bsdinstall-mainexit"/>
</imageobject>
</mediaobject>
</figure>
<para>If further configuration or special setup is needed,
select <guibutton>[ Live CD ]</guibutton> to
boot the install media into Live <acronym>CD</acronym>
mode.</para>
<para>If the installation is complete, select
<guibutton>[ Reboot ]</guibutton> to reboot the
computer and start the new &os; system. Do not forget to
remove the &os; install media or the computer may boot from it
again.</para>
<para>As &os; boots, informational messages are displayed.
After the system finishes booting, a login prompt is
displayed. At the <prompt>login:</prompt> prompt, enter the
username added during the installation. Avoid logging in as
<systemitem class="username">root</systemitem>. Refer to
<xref linkend="users-superuser"/> for instructions on how to
become the superuser when administrative access is
needed.</para>
<para>The messages that appeared during boot can be reviewed by
pressing <keycap>Scroll-Lock</keycap> to turn on the
scroll-back buffer. The <keycap>PgUp</keycap>,
<keycap>PgDn</keycap>, and arrow keys can be used to scroll
back through the messages. When finished, press
<keycap>Scroll-Lock</keycap> again to unlock the display and
return to the console. To review these messages once the
system has been up for some time, type <command>less
/var/run/dmesg.boot</command> from a command prompt. Press
<keycap>q</keycap> to return to the command line after
viewing.</para>
<para>If <application>sshd</application> was enabled in <xref
linkend="bsdinstall-config-serv"/>, the first boot may be
a bit slower as the system will generate the
<acronym>RSA</acronym> and <acronym>DSA</acronym> keys.
Subsequent boots will be faster. The fingerprints of the keys
will be displayed, as seen in this example:</para>
<screen>Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
10:a0:f5:af:93:ae:a3:1a:b2:bb:3c:35:d9:5a:b3:f3 root@machine3.example.com
The key's randomart image is:
+--[RSA1 1024]----+
| o.. |
| o . . |
| . o |
| o |
| o S |
| + + o |
|o . + * |
|o+ ..+ . |
|==o..o+E |
+-----------------+
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
7e:1c:ce:dc:8a:3a:18:13:5b:34:b5:cf:d9:d1:47:b2 root@machine3.example.com
The key's randomart image is:
+--[ DSA 1024]----+
| .. . .|
| o . . + |
| . .. . E .|
| . . o o . . |
| + S = . |
| + . = o |
| + . * . |
| . . o . |
| .o. . |
+-----------------+
Starting sshd.</screen>
<para>Refer to <xref linkend="openssh"/> for more information
about fingerprints and <acronym>SSH</acronym>.</para>
<para>&os; does not install a graphical environment by default.
Refer to <xref linkend="x11"/> for more information about
installing and configuring a graphical window manager.</para>
<para>Proper shutdown of a &os; computer helps protect data and
hardware from damage. <emphasis>Do not turn off the power
before the system has been properly shut down!</emphasis> If
the user is a member of the <systemitem
class="groupname">wheel</systemitem> group, become the
superuser by typing <command>su</command> at the command line
and entering the <systemitem
class="username">root</systemitem> password. Then, type
<command>shutdown -p now</command> and the system will shut
down cleanly, and if the hardware supports it, turn itself
off.</para>
</sect2>
</sect1>
<sect1 xml:id="bsdinstall-install-trouble">
<title>Troubleshooting</title>
<indexterm>
<primary>installation</primary>
<secondary>troubleshooting</secondary>
</indexterm>
<para>This section covers basic installation
troubleshooting, such as common problems people have
reported.</para>
<para>Check the Hardware Notes (<link
xlink:href="&url.base;/releases/index.html">http://www.freebsd.org/releases/index.html</link>)
document for the version of &os; to make sure the hardware is
supported. If the hardware is supported and lock-ups or other
problems occur, build a custom kernel using the instructions in
<xref linkend="kernelconfig"/> to add support for devices which
are not present in the <filename>GENERIC</filename> kernel. The
default kernel assumes that most hardware devices are in their
factory default configuration in terms of
<acronym>IRQ</acronym>s, <acronym>I/O</acronym> addresses, and
<acronym>DMA</acronym> channels. If the hardware has been
reconfigured, a custom kernel configuration file can tell &os;
where to find things.</para>
<note>
<para>Some installation problems can be avoided or alleviated by
updating the firmware on various hardware components, most
notably the motherboard. Motherboard firmware is usually
referred to as the <acronym>BIOS</acronym>. Most motherboard
and computer manufacturers have a website for upgrades and
upgrade information.</para>
<para>Manufacturers generally advise against upgrading the
motherboard <acronym>BIOS</acronym> unless there is a good
reason for doing so, like a critical update. The upgrade
process <emphasis>can</emphasis> go wrong, leaving the
<acronym>BIOS</acronym> incomplete and the computer
inoperative.</para>
</note>
<para>If the system hangs while probing hardware during boot, or
it behaves strangely during install, <acronym>ACPI</acronym> may
be the culprit. &os; makes extensive use of the system
<acronym>ACPI</acronym> service on the &arch.i386;,
&arch.amd64;, and ia64 platforms to aid in system configuration
if it is detected during boot. Unfortunately, some bugs still
exist in both the <acronym>ACPI</acronym> driver and within
system motherboards and <acronym>BIOS</acronym> firmware.
<acronym>ACPI</acronym> can be disabled by setting the
<literal>hint.acpi.0.disabled</literal> hint in the third stage
boot loader:</para>
<screen><userinput>set hint.acpi.0.disabled="1"</userinput></screen>
<para>This is reset each time the system is booted, so it is
necessary to add <literal>hint.acpi.0.disabled="1"</literal> to
the file <filename>/boot/loader.conf</filename>. More
information about the boot loader can be found in <xref
linkend="boot-synopsis"/>.</para>
</sect1>
<sect1 xml:id="using-live-cd">
<title>Using the Live <acronym>CD</acronym></title>
<para>The welcome menu of <application>bsdinstall</application>,
shown in <xref linkend="bsdinstall-choose-mode"/>, provides a
<guibutton>[ Live CD ]</guibutton> option. This
is useful for those who are still wondering whether &os; is the
right operating system for them and want to test some of the
features before installing.</para>
<para>The following points should be noted before using the
<guibutton>[ Live CD ]</guibutton>:</para>
<itemizedlist>
<listitem>
<para>To gain access to the system, authentication is
required. The username is <systemitem
class="username">root</systemitem> and the password is
blank.</para>
</listitem>
<listitem>
<para>As the system runs directly from the installation media,
performance will be significantly slower than that of a
system installed on a hard disk.</para>
</listitem>
<listitem>
<para>This option only provides a command prompt and not a
graphical interface.</para>
</listitem>
</itemizedlist>
</sect1>
</chapter>