doc/en_US.ISO8859-1/books/handbook/install/chapter.xml
Glen Barber e05926f374 MF ISBN:
Merged /projects/print2013/en_US.ISO8859-1:r40693-40726
   Merged /projects/ISBN_1-57176-407-0/en_US.ISO8859-1:r40727-41455,
	41457-41469,41472-41477,41479-41513,41515-41521,41523-41577,
	41579-41581,41583-42013

Notes:  This merge entirely excludes the en_US/books/handbook/ppp-and-slip/
changes.  They will need to be looked at a bit more closely.

Note to translators:  I am very, very sorry.  There was no *clean* way
to merge this as separate commits.  Trust me, I tried.
The revision logs for the ISBN branch should provide some insight to what
content has changed.  I am more than happy to help out here.  Sorry :(

Approved by:	doceng (implicit)
2013-06-23 22:37:08 +00:00

4891 lines
159 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="install">
<chapterinfo>
<authorgroup>
<author>
<firstname>Jim</firstname>
<surname>Mock</surname>
<contrib>Restructured, reorganized, and parts
rewritten by </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Randy</firstname>
<surname>Pratt</surname>
<contrib>The sysinstall walkthrough, screenshots, and general
copy by </contrib>
</author>
</authorgroup>
<!-- January 2000 -->
</chapterinfo>
<title>Installing &os;&nbsp;8.<replaceable>X</replaceable></title>
<sect1 id="install-synopsis">
<title>Synopsis</title>
<indexterm><primary>installation</primary></indexterm>
<para>&os; provides a text-based, easy to use installation
program. &os; 9.0-RELEASE and later use the installation program
known as &man.bsdinstall.8;
while &os;&nbsp;8.<replaceable>X</replaceable> uses
&man.sysinstall.8;. This chapter describes
how to use &man.sysinstall.8;.
The use of &man.bsdinstall.8;
is covered in <xref linkend="bsdinstall"/>.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
<para>How to create the &os; installation media.</para>
</listitem>
<listitem>
<para>How &os; refers to and subdivides hard disks.</para>
</listitem>
<listitem>
<para>How to start &man.sysinstall.8;.</para>
</listitem>
<listitem>
<para>The questions &man.sysinstall.8; asks,
what they mean, and how to answer them.</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 install, and verify that the system's hardware is
supported.</para>
</listitem>
</itemizedlist>
<note>
<para>In general, these installation instructions are written
for the &i386; and &os;/&arch.amd64; architectures.
Where applicable, instructions specific to other
platforms will be listed. There may be minor
differences between the installer and what is shown here.
This chapter should be used as a general guide rather
than a literal installation manual.</para>
</note>
</sect1>
<sect1 id="install-hardware">
<title>Hardware Requirements</title>
<sect2 id="install-hardware-minimal">
<title>Minimal Configuration</title>
<para>The minimal configuration to install &os; varies with the
&os; version and the hardware architecture.</para>
<para>A summary of this information is given in the following sections.
Depending on the method chosen to install &os;,
a floppy drive, CDROM drive, or
network adapter may be needed. Instructions on how to
prepare the installation media can be found in
<xref linkend="install-boot-media"/>.</para>
<sect3>
<title>&os;/&arch.i386; and &os;/&arch.pc98;</title>
<para>Both &os;/&arch.i386; and &os;/&arch.pc98; require a 486 or
better processor, at least 24&nbsp;MB of RAM, and at
least 150&nbsp;MB of free hard drive space for the
most minimal installation.</para>
<note>
<para>In the case of older hardware, installing more RAM and
more hard drive space is often more important than
a faster processor.</para>
</note>
</sect3>
<sect3>
<title>&os;/&arch.amd64;</title>
<para>There are two classes of processors capable of running
&os;/&arch.amd64;. The first are AMD64 processors,
including the &amd.athlon;64,
&amd.athlon;64-FX, and &amd.opteron; or better
processors.</para>
<para>The second class of processors
includes those using the &intel; EM64T
architecture. Examples of these processors include the
&intel;&nbsp;&core;&nbsp;2 Duo, Quad, Extreme processor
families, and the &intel;&nbsp;&xeon; 3000, 5000, and 7000
sequences of processors.</para>
<para>If the machine is based on an nVidia nForce3
Pro-150, the BIOS setup <emphasis>must</emphasis> be used to
disable the IO APIC. If this option does not exist,
disable ACPI instead as there
are bugs in the Pro-150 chipset.</para>
</sect3>
<sect3>
<title>&os;/&arch.sparc64;</title>
<para>To install &os;/&arch.sparc64;, use a supported
platform (see <xref
linkend="install-hardware-supported"/>).</para>
<para>A dedicated disk is needed for &os;/&arch.sparc64; as
it is not possible to share a disk with another operating
system at this time.</para>
</sect3>
</sect2>
<sect2 id="install-hardware-supported">
<title>Supported Hardware</title>
<para>A list of supported hardware is provided with each &os;
release in the &os; Hardware Notes. This document can usually
be found in a file named <filename>HARDWARE.TXT</filename>, in
the top-level directory of a CDROM or FTP distribution, or in
&man.sysinstall.8;'s documentation menu.
It lists, for a given architecture, which hardware devices are
known to be supported by each release of &os;. Copies of the
supported hardware list for various releases and architectures
can also be found on the <ulink
url="http://www.FreeBSD.org/releases/index.html">Release
Information</ulink> page of the &os; website.</para>
</sect2>
</sect1>
<sect1 id="install-pre">
<title>Pre-installation Tasks</title>
<sect2 id="install-inventory">
<title>Inventory the Computer</title>
<para>Before installing &os; it is recommended to inventory the
components in the computer. The &os; installation routines
will show components such as hard disks, network cards,
and CDROM drives with their model number and manufacturer.
&os; will also
attempt to determine the correct configuration for these devices,
including information about IRQ and I/O port usage. Due
to the
vagaries of computer hardware, this process is not always
completely
successful, and &os; may need some manual
configuration.</para>
<para>If another operating system is already installed,
use the facilities provided
by that operating systems to view the hardware configuration.
If the settings of an expansion
card are not obvious, check if they are printed on the
card itself. Popular IRQ
numbers are 3, 5, and 7, and I/O port addresses are normally
written as
hexadecimal numbers, such as <literal>0x330</literal>.</para>
<para>It is recommended to print or write down this information
before
installing &os;. It may help to use a table, as seen in this
example:</para>
<table pgwide="1" frame="none">
<title>Sample Device Inventory</title>
<tgroup cols="4">
<colspec colwidth="2*"/>
<colspec colwidth="1*"/>
<colspec colwidth="1*"/>
<colspec colwidth="4*"/>
<thead>
<row>
<entry>Device Name</entry>
<entry>IRQ</entry>
<entry>I/O port(s)</entry>
<entry>Notes</entry>
</row>
</thead>
<tbody>
<row>
<entry>First hard disk</entry>
<entry>N/A</entry>
<entry>N/A</entry>
<entry>40&nbsp;GB, made by Seagate, first IDE master</entry>
</row>
<row>
<entry>CDROM</entry>
<entry>N/A</entry>
<entry>N/A</entry>
<entry>First IDE slave</entry>
</row>
<row>
<entry>Second hard disk</entry>
<entry>N/A</entry>
<entry>N/A</entry>
<entry>20&nbsp;GB, made by IBM, second IDE master</entry>
</row>
<row>
<entry>First IDE controller</entry>
<entry>14</entry>
<entry>0x1f0</entry>
<entry></entry>
</row>
<row>
<entry>Network card</entry>
<entry>N/A</entry>
<entry>N/A</entry>
<entry>&intel; 10/100</entry>
</row>
<row>
<entry>Modem</entry>
<entry>N/A</entry>
<entry>N/A</entry>
<entry>&tm.3com; 56K faxmodem, on COM1</entry>
</row>
<row>
<entry>&hellip;</entry>
</row>
</tbody>
</tgroup>
</table>
<para>Once the inventory of the components in the computer is
complete, check if it matches the hardware
requirements of the &os; release to install.</para>
</sect2>
<sect2>
<title>Make a Backup</title>
<para>If the computer contains
valuable data, ensure it is backed up, and that the backup
has been
tested before installing &os;. The &os;
installer will prompt before writing any
data to disk, but once that process has started, it cannot be
undone.</para>
</sect2>
<sect2 id="install-where">
<title>Decide Where to Install &os;</title>
<para>If &os; is to be installed on the entire hard disk,
skip this
section.</para>
<para>However, if &os; will co-exist with other operating
systems, a rough understanding of how data is
laid out on the disk is useful.</para>
<sect3 id="install-where-i386">
<title>Disk Layouts for &os;/&arch.i386;</title>
<para>A PC disk can be divided into discrete chunks known as
<firstterm>partitions</firstterm>. Since
&os; also has partitions, naming
can quickly become confusing. Therefore, these
disk chunks are referred to as slices
in &os;. For example, the &os; version of
&man.fdisk.8;
refers to slices instead of partitions. By design, the PC only
supports four partitions per disk. These partitions are called
<firstterm>primary partitions</firstterm>. To work around this
limitation and allow more than four partitions, a new partition type
was created, the <firstterm>extended partition</firstterm>. A disk
may contain only one extended partition. Special partitions, called
<firstterm>logical partitions</firstterm>, can be created inside this
extended partition.</para>
<para>Each partition has a <firstterm>partition ID</firstterm>, which is
a number used to identify the type of data on the partition. &os;
partitions have the partition ID of <literal>165</literal>.</para>
<para>In general, each operating system will identify
partitions in a particular way. For example,
&windows;, assigns each primary and logical partition a
<firstterm>drive letter</firstterm>, starting with
<devicename>C:</devicename>.</para>
<para>&os; must be installed into a primary partition. If
there are multiple disks, a &os;
partition can be created
on all, or some, of them. When &os; is installed, at least
one partition must be available. This might be a blank
partition or it might be an existing partition whose
data can be overwritten.</para>
<para>If all the partitions on all the disks are in use,
free one of them for &os; using the tools
provided by an existing operating system, such as &windows;
<command>fdisk</command>.</para>
<para>If there is a spare partition, use that. If it is too
small,
shrink one or more existing partitions to create more
available space.</para>
<para>A minimal installation of &os; takes as little as 100&nbsp;MB
of disk
space. However, that is a <emphasis>very</emphasis> minimal install,
leaving almost no space for files. A more realistic minimum
is 250&nbsp;MB without a graphical environment, and 350&nbsp;MB or
more for
a graphical user interface. If other
third-party software will be installed,
even more space is needed.</para>
<para>You can use a tool such as <application>GParted</application>
to resize your partitions and make space for
&os;. <application>GParted</application> is known to work on
<acronym>NTFS</acronym> and
is available on a number of Live CD Linux distributions, such as
<ulink url="http://www.sysresccd.org/">SystemRescueCD</ulink>.</para>
<warning>
<para>Incorrect use of a shrinking tool can delete the data
on the disk.
Always have a recent, working backup before using this
type of tool.</para>
</warning>
<example>
<title>Using an Existing Partition Unchanged</title>
<para>Consider a computer with a single 4&nbsp;GB disk
that
already has a version of &windows; installed, where the
disk has been split into two drive letters,
<devicename>C:</devicename> and
<devicename>D:</devicename>, each of which is 2&nbsp;GB in size.
There is 1&nbsp;GB of data on <devicename>C:</devicename>,
and
0.5&nbsp;GB of data on
<devicename>D:</devicename>.</para>
<para>This disk has two partitions, one per
drive letter. Copy all existing data from
<devicename>D:</devicename> to <devicename>C:</devicename>, which
will free up the second partition, ready for &os;.</para>
</example>
<example>
<title>Shrinking an Existing Partition</title>
<para>Consider a computer with a single 4&nbsp;GB disk
that already has a version of &windows; installed. When
&windows; was installed, it created one large partition,
a
<devicename>C:</devicename> drive that is 4&nbsp;GB in size.
Currently, 1.5&nbsp;GB of space is used, and &os; should
have 2&nbsp;GB
of space.</para>
<para>In order to install &os;, either:</para>
<orderedlist>
<listitem>
<para>Backup the &windows; data and then reinstall
&windows;,
asking for a 2&nbsp;GB partition at install time.</para>
</listitem>
<listitem>
<para>Use one of the tools described above to shrink your &windows;
partition.</para>
</listitem>
</orderedlist>
</example>
</sect3>
</sect2>
<sect2>
<title>Collect the Network Configuration Details</title>
<para>Before
installing from an FTP
site or an
<acronym>NFS</acronym> server, make note of the network
configuration. The
installer
will prompt for this information so that
it can connect to the network to complete the
installation.</para>
<sect3>
<title>Connecting to an Ethernet Network or Cable/DSL Modem</title>
<para>If using an Ethernet network or an Internet
connection using an Ethernet adapter via cable or DSL, the
following information is needed:</para>
<orderedlist>
<listitem>
<para>IP address</para>
</listitem>
<listitem>
<para>IP address of the default gateway</para>
</listitem>
<listitem>
<para>Hostname</para>
</listitem>
<listitem>
<para>DNS server IP addresses</para>
</listitem>
<listitem>
<para>Subnet Mask</para>
</listitem>
</orderedlist>
<para>If this information is unknown, ask the system
administrator or service provider. Make note if this
information is assigned automatically using
<firstterm>DHCP</firstterm>.</para>
</sect3>
<sect3>
<title>Connecting Using a Modem</title>
<para>If using a dialup modem,
&os; can still be installed over the Internet, it will just
take a very
long time.</para>
<para>You will need to know:</para>
<orderedlist>
<listitem>
<para>The phone number to dial the Internet Service
Provider (<acronym>ISP</acronym>)</para>
</listitem>
<listitem>
<para>The COM: port the modem is connected to</para>
</listitem>
<listitem>
<para>The username and password for the
<acronym>ISP</acronym> account</para>
</listitem>
</orderedlist>
</sect3>
</sect2>
<sect2>
<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 do occasionally creep into
the process. On rare occasions those bugs affect the
installation process. As these problems are discovered and fixed, they
are noted in the <ulink url="http://www.FreeBSD.org/releases/&rel.current;R/errata.html">&os; Errata</ulink>,
which is found on the &os; website.
Check the errata before installing to make sure that there are
no late-breaking problems to be aware of.</para>
<para>Information about all releases, including the errata for
each
release, can be found on the
<ulink
url="&url.base;/releases/index.html">release
information</ulink> section of the
<ulink
url="&url.base;/index.html">&os; website</ulink>.</para>
</sect2>
<sect2>
<title>Obtain the &os; Installation Files</title>
<para>The &os; installer can install &os; from files
located in any of the following places:</para>
<itemizedlist>
<title>Local Media</title>
<listitem>
<para>A CDROM or DVD</para>
</listitem>
<listitem>
<para>A USB Memory Stick</para>
</listitem>
<listitem>
<para>A &ms-dos; partition on the same computer</para>
</listitem>
<listitem>
<para>Floppy disks (&os;/&arch.pc98; only)</para>
</listitem>
</itemizedlist>
<itemizedlist>
<title>Network</title>
<listitem>
<para>An FTP site through a firewall or using an HTTP
proxy</para>
</listitem>
<listitem>
<para>An NFS server</para>
</listitem>
<listitem>
<para>A dedicated parallel or serial connection</para>
</listitem>
</itemizedlist>
<para>If installing from a purchased &os; CD/DVD,
skip ahead to
<xref linkend="install-boot-media"/>.</para>
<para>To obtain the &os; installation files,
skip ahead to <xref linkend="install-diff-media"/> which explains how
to prepare the installation media. After reading
that section, come back here and read on to
<xref linkend="install-boot-media"/>.</para>
</sect2>
<sect2 id="install-boot-media">
<title>Prepare the Boot Media</title>
<para>The &os; installation process is started by booting the
computer into the &os; installer. It is not a program that
can be run
within another operating system. The computer normally boots
using the operating system installed on the hard disk, but it
can also be configured to boot from a CDROM or from a USB
disk.</para>
<tip>
<para>If installing from a CD/DVD to a
computer whose BIOS supports booting from
the CD/DVD, skip this section. The
&os; CD/DVD images are bootable and can be used to
install
&os; without any other special preparation.</para>
</tip>
<para>To create a bootable memory stick, follow these
steps:</para>
<procedure>
<step>
<title>Acquire the Memory Stick Image</title>
<para>Memory stick images for
&os;&nbsp;8.<replaceable>X</replaceable> can be downloaded
from
the <filename class="directory">ISO-IMAGES/</filename>
directory at
<literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<replaceable>arch</replaceable>/ISO-IMAGES/<replaceable>version</replaceable>/&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-memstick.img</literal>.
Replace <replaceable>arch</replaceable> and
<replaceable>version</replaceable> with the
architecture and the version number to
install. For example, the memory stick
images for &os;/&arch.i386;&nbsp;&rel2.current;-RELEASE are
available from <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/ISO-IMAGES/&rel2.current;/&os;-&rel2.current;-RELEASE-&arch.i386;-memstick.img"></ulink>.</para>
<tip>
<para>A different directory path is used for
&os;&nbsp;9.0-RELEASE and later versions. How to
download and install
&os;&nbsp;9.<replaceable>X</replaceable>
is covered in <xref linkend="bsdinstall"/>.</para>
</tip>
<para>The memory stick image has a <filename>.img</filename>
extension. The <filename
class="directory">ISO-IMAGES/</filename> directory
contains a number of different images and the one to
use depends on the version of &os; and the
type of media supported by the hardware being installed
to.</para>
<important>
<para>Before proceeding, <emphasis>back up</emphasis> the
data on the USB stick, as this
procedure will <emphasis>erase</emphasis> it.</para>
</important>
</step>
<step>
<title>Write the Image File to the Memory Stick</title>
<procedure>
<title>Using &os; to Write the Image</title>
<warning>
<para>The example below
lists <filename class="devicefile">/dev/da0</filename> as the
target device where the image will be written. Be very careful
that you have the correct device as the output target, or you
may destroy your existing data.</para>
</warning>
<step>
<title>Writing the Image with &man.dd.1;</title>
<para>The <filename>.img</filename> file
is <emphasis>not</emphasis> a regular file that can
just be copied to the
memory stick. It is an image of the complete contents of the
disk. This means that
&man.dd.1; must be used to write the image directly to
the disk:</para>
<screen>&prompt.root; <userinput>dd if=&os;-&rel2.current;-RELEASE-&arch.i386;-memstick.img of=/dev/<replaceable>da0</replaceable> bs=64k</userinput></screen>
<para>If an
<computeroutput>Operation not permitted</computeroutput>
error is displayed, make certain that the target device
is not in use, mounted, or being automounted by
another program. Then try
again.</para>
</step>
</procedure>
<procedure>
<title>Using &windows; to Write the Image</title>
<warning>
<para>Make sure to use the correct drive letter as the
output
target, as this command will overwrite and destroy
any existing data on the specified device.</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
<ulink url="https://launchpad.net/win32-image-writer/"></ulink>
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. Finally,
click <guibutton>Write</guibutton> to write the image file to
the drive.</para>
</step>
</procedure>
</step>
</procedure>
<para>To create the boot floppy images for a &os;/&arch.pc98;
installation, follow these steps:</para>
<procedure>
<step>
<title>Acquire the Boot Floppy Images</title>
<para>The &os;/&arch.pc98; boot disks
can be downloaded from the floppies directory,
<literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/pc98/<replaceable>version</replaceable>-RELEASE/floppies/</literal>.
Replace <replaceable>version</replaceable> with the
version number to install.</para>
<para>The floppy images have a <filename>.flp</filename>
extension. <filename
class="directory">floppies/</filename> contains a number
of different images. Download
<filename>boot.flp</filename> as well as the number of
files associated with the type of installation, such as
<literal>kern.small*</literal> or
<literal>kern*</literal>.</para>
<important>
<para>The FTP program must use <emphasis>binary
mode</emphasis>
to download these disk images. Some web browsers
use <emphasis>text</emphasis> or
<emphasis>ASCII</emphasis> mode, which will be apparent
if
the disks are not bootable.</para>
</important>
</step>
<step>
<title>Prepare the Floppy Disks</title>
<para>Prepare one floppy disk per downloaded image file.
It is imperative that these disks are free from
defects. The easiest way to test this is to reformat the
disks.
Do not trust pre-formatted floppies. The format
utility in &windows; will not tell about the presence of
bad blocks, it simply marks them as <quote>bad</quote>
and ignores them. It is advised to use brand new
floppies.</para>
<important>
<para>If the installer
crashes, freezes, or otherwise misbehaves, one of
the first things to suspect is the floppies. Write
the floppy image files to new disks and try
again.</para>
</important>
</step>
<step>
<title>Write the Image Files to the Floppy Disks</title>
<para>The <filename>.flp</filename> files are
<emphasis>not</emphasis> regular files that can be copied
to the disk.
They are images of the complete contents of the
disk.
Specific tools must be used to write the
images directly to the disk.</para>
<indexterm><primary>DOS</primary></indexterm>
<para>&os; provides a tool called
<command>rawrite</command> for creating the floppies on a
computer running
&windows;. This tool can be downloaded from
<literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/pc98/<replaceable>
version</replaceable>-RELEASE/tools/</literal>
on the &os; FTP site. Download this tool, insert a
floppy, then specify the filename to write to the floppy
drive:</para>
<screen><prompt>C:\&gt;</prompt> <userinput>rawrite boot.flp A:</userinput></screen>
<para>Repeat this command for each <filename>.flp</filename>
file, replacing the floppy disk each time, being sure to label
the disks with the name of the file.
Adjust the command line as necessary, depending on where
the <filename>.flp</filename> files are located.</para>
<para>When writing the floppies on a &unix;-like system,
such as
another &os; system, use &man.dd.1; to
write the image files directly to disk. On &os;,
run:</para>
<screen>&prompt.root; <userinput>dd if=boot.flp of=/dev/fd0</userinput></screen>
<para>On &os;, <filename>/dev/fd0</filename> refers to the
first floppy disk. Other &unix;
variants might have different names for the floppy disk
device, so check the documentation for the
system as necessary.</para>
</step>
</procedure>
<para>You are now ready to start installing &os;.</para>
</sect2>
</sect1>
<sect1 id="install-start">
<title>Starting the Installation</title>
<important>
<para>By default, the installer will not make any changes to
the
disk(s) until after the following message:</para>
<literallayout class="monospaced">Last Chance: Are you SURE you want continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!</literallayout>
<para>The install can be exited at any time prior to this final
warning without changing the contents of the hard drive. If
there is a
concern that something is configured incorrectly,
turn the computer off before this point, and no damage
will be
done.</para>
</important>
<sect2 id="install-starting">
<title>Booting</title>
<sect3 id="install-starting-i386">
<title>Booting for the &i386;</title>
<procedure>
<step>
<para>Turn on the computer. As it starts it should display an
option to enter the system set up menu, or BIOS, commonly reached
by keys like <keycap>F2</keycap>, <keycap>F10</keycap>,
<keycap>Del</keycap>, or
<keycombo action="simul">
<keycap>Alt</keycap>
<keycap>S</keycap>
</keycombo>. Use whichever keystroke is indicated on screen. In
some cases the computer may display a graphic while it
starts.
Typically, pressing <keycap>Esc</keycap> will dismiss the graphic
and display the boot messages.</para>
</step>
<step>
<para>Find the setting that controls which devices the system boots
from. This is usually labeled as the <quote>Boot Order</quote>
and commonly shown as a list of devices, such as
<literal>Floppy</literal>, <literal>CDROM</literal>,
<literal>First Hard Disk</literal>, and so on.</para>
<para>If booting from the CD/DVD, make sure that
the CDROM drive is selected. If booting from a USB disk,
make sure that it is selected instead. When in doubt,
consult the manual that came with the computer or its
motherboard.</para>
<para>Make the change, then save and exit. The computer should now
restart.</para>
</step>
<step>
<para>If using a prepared a <quote>bootable</quote> USB
stick, as described in
<xref linkend="install-boot-media"/>, plug in the USB
stick before turning on the computer.</para>
<para>If booting from CD/DVD, turn on
the computer, and insert the CD/DVD at the first
opportunity.</para>
<note>
<para>For &os;/&arch.pc98;, installation boot floppies are
available and can be prepared as described in <xref
linkend="install-boot-media"/>. The first floppy
disc will contain <filename>boot.flp</filename>. Put
this floppy in the floppy drive to boot into the
installer.</para>
</note>
<para>If the computer starts up as normal and loads the
existing
operating system, then either:</para>
<orderedlist>
<listitem>
<para>The disks were not inserted early enough in the boot
process. Leave them in, and try restarting the
computer.</para>
</listitem>
<listitem>
<para>The BIOS changes did not work correctly.
Redo that step until the right option is
selected.</para>
</listitem>
<listitem>
<para>That particular BIOS does not support booting from
the desired media.</para>
</listitem>
</orderedlist>
</step>
<step>
<para>&os; will start to boot. If booting from CD/DVD,
messages will be displayed, similar to these:</para>
<screen>Booting from CD-Rom...
645MB medium detected
CD Loader 1.2
Building the boot loader arguments
Looking up /BOOT/LOADER... Found
Relocating the loader and the BTX
Starting the BTX loader
BTX loader 1.00 BTX version is 1.02
Consoles: internal video/keyboard
BIOS CD is cd0
BIOS drive C: is disk0
BIOS drive D: is disk1
BIOS 636kB/261056kB available memory
FreeBSD/i386 bootstrap loader, Revision 1.1
Loading /boot/defaults/loader.conf
/boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d]
\</screen>
<para>If booting from floppy disc, a display
similar to this will be shown:</para>
<screen>Booting from Floppy...
Uncompressing ... done
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive C: is disk1
BIOS 639kB/261120kB available memory
FreeBSD/i386 bootstrap loader, Revision 1.1
Loading /boot/defaults/loader.conf
/kernel text=0x277391 data=0x3268c+0x332a8 |
Insert disk labelled "Kernel floppy 1" and press any key...</screen>
<para>Remove the
<filename>boot.flp</filename> floppy, insert the
next floppy, and press
<keycap>Enter</keycap>.
When prompted, insert the other disks as required.</para>
</step>
<step>
<para>The
boot process will then display the &os; boot loader
menu:</para>
<figure id="boot-loader-menu">
<title>&os; Boot Loader Menu</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/boot-loader-menu"/>
</imageobject>
</mediaobject>
</figure>
<para>Either wait ten seconds, or press <keycap>Enter</keycap>.</para>
</step>
</procedure>
</sect3>
<sect3>
<title>Booting for &sparc64;</title>
<para>Most &sparc64; systems are set to boot automatically
from disk. To install &os;, boot over the
network or from a CD/DVD and wait until the boot
message appears. The message depends on the model, but
should look similar to:</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,
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 using <command>~#</command> in
&man.tip.1; or &man.cu.1; to get to the PROM prompt. It
looks like this:</para>
<screen><prompt>ok </prompt><co id="prompt-single"/>
<prompt>ok {0} </prompt><co id="prompt-smp"/></screen>
<calloutlist>
<callout arearefs="prompt-single">
<para>This is the prompt used on systems with just one
CPU.</para>
</callout>
<callout arearefs="prompt-smp">
<para>This is the prompt used on SMP systems and the
digit
indicates the number of the active CPU.</para>
</callout>
</calloutlist>
<para>At this point, place the CD/DVD into the drive and from
the PROM prompt, type <command>boot cdrom</command>.</para>
</sect3>
</sect2>
<sect2 id="view-probe">
<title>Reviewing the Device Probe Results</title>
<para>The last few hundred lines that have been displayed on screen are
stored and can be reviewed.</para>
<para>To review this buffer, press <keycap>Scroll Lock</keycap>
to
turn on scrolling in the display. Use the arrow keys or
<keycap>PageUp</keycap> and <keycap>PageDown</keycap> to view the
results. Press <keycap>Scroll Lock</keycap> again to stop
scrolling.</para>
<para>Do this now, to review the text that scrolled off the screen when
the kernel was carrying out the device probes. Text
similar to <xref linkend="install-dev-probe"/> will be
displayed, although
it will differ depending on the devices in the
computer.</para>
<figure id="install-dev-probe">
<title>Typical Device Probe Results</title>
<screen>avail memory = 253050880 (247120K bytes)
Preloaded elf kernel "kernel" at 0xc0817000.
Preloaded mfs_root "/mfsroot" at 0xc0817084.
md0: Preloaded image &lt;/mfsroot&gt; 4423680 bytes at 0xc03ddcd4
md1: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: &lt;math processor&gt; on motherboard
npx0: INT 16 interface
pcib0: &lt;Host to PCI bridge&gt; on motherboard
pci0: &lt;PCI bus&gt; on pcib0
pcib1:&lt;VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge&gt; at device 1.0 on pci0
pci1: &lt;PCI bus&gt; on pcib1
pci1: &lt;Matrox MGA G200 AGP graphics accelerator&gt; at 0.0 irq 11
isab0: &lt;VIA 82C586 PCI-ISA bridge&gt; at device 7.0 on pci0
isa0: &lt;iSA bus&gt; on isab0
atapci0: &lt;VIA 82C586 ATA33 controller&gt; port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0 &lt;VIA 83C572 USB controller&gt; port 0xe400-0xe41f irq 10 at device 7.2 on pci
0
usb0: &lt;VIA 83572 USB controller&gt; on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1
uhub0: 2 ports with 2 removable, self powered
pci0: &lt;unknown card&gt; (vendor=0x1106, dev=0x3040) at 7.3
dc0: &lt;ADMtek AN985 10/100BaseTX&gt; port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
q 11 at device 8.0 on pci0
dc0: Ethernet address: 00:04:5a:74:6b:b5
miibus0: &lt;MII bus&gt; on dc0
ukphy0: &lt;Generic IEEE 802.3u media interface&gt; on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ed0: &lt;NE2000 PCI Ethernet (RealTek 8029)&gt; port 0xec00-0xec1f irq 9 at device 10.
0 on pci0
ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
orm0: &lt;Option ROM&gt; at iomem 0xc0000-0xc7fff on isa0
fdc0: &lt;NEC 72065B or clone&gt; at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: &lt;1440-KB 3.5&rdquo; drive&gt; on fdc0 drive 0
atkbdc0: &lt;Keyboard controller (i8042)&gt; at port 0x60,0x64 on isa0
atkbd0: &lt;AT Keyboard&gt; flags 0x1 irq1 on atkbdc0
kbd0 at atkbd0
psm0: &lt;PS/2 Mouse&gt; irq 12 on atkbdc0
psm0: model Generic PS/@ mouse, device ID 0
vga0: &lt;Generic ISA VGA&gt; at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: &lt;System console&gt; at flags 0x100 on isa0
sc0: VGA &lt;16 virtual consoles, flags=0x300&gt;
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: &lt;Parallel port&gt; at port 0x378-0x37f irq 7 on isa0
pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
plip0: &lt;PLIP network interface&gt; on ppbus0
ad0: 8063MB &lt;IBM-DHEA-38451&gt; [16383/16/63] at ata0-master UDMA33
acd0: CD-RW &lt;LITE-ON LTR-1210B&gt; at ata1-slave PIO4
Mounting root from ufs:/dev/md0c
/stand/sysinstall running as init on vty0</screen>
</figure>
<para>Check the probe results carefully to make sure that &os; found
all the devices. If a device was not found, it will
not be listed. A <link linkend="kernelconfig">custom kernel</link>
can be used to add in support for devices which are not in the
<filename>GENERIC</filename> kernel.</para>
<para>After the device
probe, the menu shown in <xref linkend="config-country"/>
will be displayed. Use the
arrow key to choose a country, region, or group. Then press
<keycap>Enter</keycap> to set the country.</para>
<figure id="config-country">
<title>Selecting Country Menu</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/config-country"/>
</imageobject>
</mediaobject>
</figure>
<para>If <guimenuitem>United States</guimenuitem> is selected
as the country, the standard American keyboard map will be
used.
If a different country is chosen, the following menu will be
displayed. Use the arrow keys to choose the correct keyboard
map and press <keycap>Enter</keycap>.</para>
<figure id="config-keymap">
<title>Selecting Keyboard Menu</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/config-keymap"/>
</imageobject>
</mediaobject>
</figure>
<para>After the country selection, the &man.sysinstall.8;
main menu will display.</para>
</sect2>
</sect1>
<sect1 id="using-sysinstall">
<title>Introducing &man.sysinstall.8;</title>
<para>The &os;&nbsp;8.<replaceable>X</replaceable> installer,
&man.sysinstall.8;, is console based and
is
divided into a number of menus and screens that can be used to
configure and control the installation process.</para>
<para>This menu system is controlled
by the arrow keys, <keycap>Enter</keycap>, <keycap>Tab</keycap>,
<keycap>Space</keycap>, and
other keys. To view a detailed description of these keys and
what they do, ensure that the
<guimenuitem>Usage</guimenuitem> entry is highlighted and that the
<guibutton>[Select]</guibutton> button is selected, as shown in <xref
linkend="sysinstall-main3"/>, then press <keycap>Enter</keycap>.</para>
<para>The instructions for using the menu system will be displayed. After
reviewing them, press <keycap>Enter</keycap> to return to the Main
Menu.</para>
<figure id="sysinstall-main3">
<title>Selecting Usage from Sysinstall Main Menu</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/main1"/>
</imageobject>
</mediaobject>
</figure>
<sect2 id="select-doc">
<title>Selecting the Documentation Menu</title>
<para>From the Main Menu, select <guimenuitem>Doc</guimenuitem> with
the arrow keys and
press <keycap>Enter</keycap>.</para>
<figure id="main-doc">
<title>Selecting Documentation Menu</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/main-doc"/>
</imageobject>
</mediaobject>
</figure>
<para>This will display the Documentation Menu.</para>
<figure id="docmenu1">
<title>Sysinstall Documentation Menu</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/docmenu1"/>
</imageobject>
</mediaobject>
</figure>
<para>It is important to read the documents provided. To view a
document, select it with the arrow keys and
press <keycap>Enter</keycap>. When finished reading a document,
press <keycap>Enter</keycap> to return to the Documentation
Menu.</para>
<para>To return to the Main Installation Menu, select
<guimenuitem>Exit</guimenuitem> with the
arrow keys and press <keycap>Enter</keycap>.</para>
</sect2>
<sect2 id="keymap">
<title>Selecting the Keymap Menu</title>
<para>To change the keyboard mapping, use the arrow keys to select
<guimenuitem>Keymap</guimenuitem> from the menu and press
<keycap>Enter</keycap>. This is only required when
using a non-standard or non-US keyboard.</para>
<figure id="sysinstall-keymap">
<title>Sysinstall Main Menu</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/main-keymap"/>
</imageobject>
</mediaobject>
</figure>
<para>A different keyboard mapping may be chosen by selecting the
menu item using the up and down arrow keys and pressing
<keycap>Space</keycap>.
Pressing <keycap>Space</keycap> again will unselect the item.
When finished, choose the &gui.ok; using the arrow keys and press
<keycap>Enter</keycap>.</para>
<para>Only a partial list is shown in this screen representation.
Selecting &gui.cancel; by pressing <keycap>Tab</keycap> will use the
default keymap and return to the Main Install Menu.</para>
<figure id="sysinstall-keymap-menu">
<title>Sysinstall Keymap Menu</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/keymap"/>
</imageobject>
</mediaobject>
</figure>
</sect2>
<sect2 id="viewsetoptions">
<title>Installation Options Screen</title>
<para>Select <guimenuitem>Options</guimenuitem> and press
<keycap>Enter</keycap>.</para>
<figure id="sysinstall-options">
<title>Sysinstall Main Menu</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/main-options"/>
</imageobject>
</mediaobject>
</figure>
<figure id="options">
<title>Sysinstall Options</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/options"/>
</imageobject>
</mediaobject>
</figure>
<para>The default values are usually fine for most users and do
not need to be changed. The release name will vary according
to the version being installed.</para>
<para>The description of the selected item will appear at the
bottom of the screen highlighted in blue. Notice that one of the
options is <guimenuitem>Use Defaults</guimenuitem> to reset all
values to startup defaults.</para>
<para>Press <keycap>F1</keycap> to read the help screen about the
various options.</para>
<para>Press <keycap>Q</keycap> to return to the Main Install
menu.</para>
</sect2>
<sect2 id="start-install">
<title>Begin a Standard Installation</title>
<para>The <guimenuitem>Standard</guimenuitem> installation is the
option recommended for those new to &unix; or &os;. Use the arrow
keys to select <guimenuitem>Standard</guimenuitem> and
then press <keycap>Enter</keycap> to start the installation.</para>
<figure id="sysinstall-standard">
<title>Begin Standard Installation</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/main-std"/>
</imageobject>
</mediaobject>
</figure>
</sect2>
</sect1>
<sect1 id="install-steps">
<title>Allocating Disk Space</title>
<para>The first task is to allocate disk space for &os;, and label
that space so that &man.sysinstall.8; can prepare
it. In order to do this you need to know how &os; expects to find
information on the disk.</para>
<sect2 id="install-drive-bios-numbering">
<title>BIOS Drive Numbering</title>
<para>Before installing and configuring &os; it is important to
be aware how &os; deals with BIOS drive mappings.</para>
<indexterm><primary>MS-DOS</primary></indexterm>
<indexterm><primary>Microsoft Windows</primary></indexterm>
<para>In a PC running a BIOS-dependent operating system such as
&microsoft.windows;, the BIOS is able to abstract the
normal disk drive order and
the operating system goes along with the change. This allows the user
to boot from a disk drive other than the "primary
master". This is especially convenient for users
buy an identical second hard drive, and perform routine copies of the
first drive to the second drive.
If the
first drive fails, is attacked by a virus, or is scribbled upon by an
operating system defect, they can easily recover by instructing the BIOS
to logically swap the drives. It is like switching the cables on the
drives, without having to open the case.</para>
<indexterm><primary>SCSI</primary></indexterm>
<indexterm><primary>BIOS</primary></indexterm>
<para>Systems with SCSI controllers often include BIOS
extensions which allow the SCSI drives to be re-ordered in a similar
fashion for up to seven drives.</para>
<para>A user who is accustomed to taking advantage of these features may
become surprised when the results with &os; are not as expected.
&os; does not use the BIOS, and does not know the <quote>logical BIOS
drive mapping</quote>. This can lead to perplexing
situations,
especially when drives are physically identical in geometry
and have
been made as data clones of one another.</para>
<para>When using &os;, always restore the BIOS to natural drive
numbering before installing &os;, and then leave it that way.
If drives
need to be switched around, take the time to
open the case and move the jumpers and cables.</para>
<sidebar>
<title>An Illustration from the Files of Bill and Fred's Exceptional
Adventures:</title>
<para>Bill breaks-down an older Wintel box to make another &os; box
for Fred. Bill installs a single SCSI drive as SCSI unit zero and
installs &os; on it.</para>
<para>Fred begins using the system, but after several days notices that
the older SCSI drive is reporting numerous
errors.</para>
<para>To address the
situation, Bill grabs an identical SCSI drive and installs
this drive as SCSI
unit four and makes an image copy from drive zero to drive four. Now
that the new drive is installed and functioning, Bill
decides
to start using it, so he uses features in the
SCSI BIOS to re-order the disk drives so that the system boots from
SCSI unit four. &os; boots and runs just fine.</para>
<para>Fred continues his work and soon
decides that it is time to upgrade
to a
newer version of &os;. Bill removes SCSI unit zero because it was
a bit flaky and replaces it with another identical disk
drive. Bill then installs the new version of
&os; onto the new SCSI unit zero and the installation goes
well.</para>
<para>Fred uses the new version of &os; for a few days, and certifies
that it is good enough for use in the engineering department. It is
time to copy all of his work from the old version, so Fred
mounts
SCSI unit four which should contain the latest copy of the
older
&os; version. Fred
is dismayed to find that none of his work is present on SCSI
unit four.</para>
<para>It turns out that when Bill made an image copy of the
original SCSI unit zero onto
SCSI unit four, unit four became the <quote>new clone</quote>.
When Bill re-ordered the SCSI BIOS so that he could boot from
SCSI unit four,
&os; was still running on SCSI unit zero.
Making this kind of BIOS change causes some or all of the
boot and
loader code to be fetched from the selected BIOS drive. But
when the
&os; kernel drivers take over, the BIOS drive numbering is
ignored, and &os; transitions back to normal drive
numbering.
In this example, the system continued to operate on the
original SCSI unit zero, and all of Fred's data was there, not on SCSI
unit four. The fact that the system appeared to be running on SCSI
unit four was simply an artifact of human expectations.</para>
<para>Fortunately, the older SCSI
unit zero was retrieved and all of Fred's work was
restored.</para>
<para>Although SCSI drives were used in this illustration, the concepts
apply equally to IDE drives.</para>
</sidebar>
</sect2>
<sect2 id="main-fdisk">
<title>Creating Slices Using FDisk</title>
<para>After choosing to begin a standard installation in
&man.sysinstall.8;, this
message will appear:</para>
<screen> Message
In the next menu, you will need to set up a DOS-style ("fdisk")
partitioning scheme for your hard disk. If you simply wish to devote
all disk space to FreeBSD (overwriting anything else that might be on
the disk(s) selected) then use the (A)ll command to select the default
partitioning scheme followed by a (Q)uit. If you wish to allocate only
free space to FreeBSD, move to a partition marked "unused" and use the
(C)reate command.
[ OK ]
[ Press enter or space ]</screen>
<para>Press <keycap>Enter</keycap> and
a list of all the hard drives that the kernel found when it
carried out the device probes will be displayed.
<xref linkend="sysinstall-fdisk-drive1"/> shows an example from a
system with two IDE disks called
<devicename>ad0</devicename> and <devicename>ad2</devicename>.</para>
<figure id="sysinstall-fdisk-drive1">
<title>Select Drive for FDisk</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/fdisk-drive1"/>
</imageobject>
</mediaobject>
</figure>
<para>Note that <devicename>ad1</devicename> is not
listed here.</para>
<para>Consider two IDE hard disks where one
is the master on the first IDE controller and one is the
master on
the second IDE controller. If &os; numbered these as
<devicename>ad0</devicename> and
<devicename>ad1</devicename>, everything would work.</para>
<para>But if a third disk is later added as the slave device on
the
first IDE controller, it would now be <devicename>ad1</devicename>,
and the previous <devicename>ad1</devicename> would become
<devicename>ad2</devicename>. Because device names
are used to find filesystems,
some filesystems may no longer
appear correctly, requiring a change to the &os;
configuration.</para>
<para>To work around this, the kernel can be configured to name IDE
disks based on where they are and not the order in which they
were
found. With this scheme, the master disk on the second IDE
controller will <emphasis>always</emphasis> be
<devicename>ad2</devicename>, even if there are no
<devicename>ad0</devicename> or <devicename>ad1</devicename>
devices.</para>
<para>This configuration is the default for the &os; kernel, which
is why the display in this example shows
<devicename>ad0</devicename> and
<devicename>ad2</devicename>. The machine on which this screenshot
was taken had IDE disks on both master channels of the IDE
controllers and no disks on the slave channels.</para>
<para>Select the disk on which to install &os;,
and then press &gui.ok;.
<application>FDisk</application> will start, with a display similar to
that shown in <xref linkend="sysinstall-fdisk1"/>.</para>
<para>The <application>FDisk</application> display is broken into three
sections.</para>
<para>The first section, covering the first two lines of the display,
shows details about the currently selected disk, including its &os;
name, the disk geometry, and the total size of the disk.</para>
<para>The second section shows the slices that are currently on the
disk, where they start and end, how large they are, the name &os;
gives them, and their description and sub-type. This example shows two
small unused slices which are artifacts of disk layout schemes
on the
PC. It also shows one large <acronym>FAT</acronym> slice, which
appears as <devicename>C:</devicename> in
&windows;, and an extended slice, which may contain other
drive letters in &windows;.</para>
<para>The third section shows the commands that are available in
<application>FDisk</application>.</para>
<figure id="sysinstall-fdisk1">
<title>Typical Default <application>FDisk</application>
Partitions</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/fdisk-edit1"/>
</imageobject>
</mediaobject>
</figure>
<para>This step varies, depending on how the disk is to be
sliced.</para>
<para>To install &os; to the entire disk, which will delete
all the other data on this disk, press <keycap>A</keycap>,
which
corresponds to the <guimenuitem>Use Entire Disk</guimenuitem> option.
The existing slices will be removed and replaced with a small
area
flagged as <literal>unused</literal>
and one large slice for &os;. Then,
select the newly created &os; slice using the arrow
keys and press <keycap>S</keycap> to mark the slice as being
bootable. The screen will then look similar to
<xref linkend="sysinstall-fdisk2"/>. Note the
<literal>A</literal> in the <literal>Flags</literal> column, which
indicates that this slice is <emphasis>active</emphasis>, and will be
booted from.</para>
<para>If an existing slice needs to be deleted to make space for
&os;, select the slice using the arrow keys and
press <keycap>D</keycap>. Then, press <keycap>C</keycap> to
be prompted for the size of the slice to create. Enter the
appropriate value and press <keycap>Enter</keycap>. The
default
value in this box represents the largest possible slice to
make, which could be the largest contiguous block of unallocated
space or the size of the entire hard disk.</para>
<para>If you have already made space for &os;
then you can
press <keycap>C</keycap> to create a new slice. Again, you will be
prompted for the size of slice you would like to create.</para>
<figure id="sysinstall-fdisk2">
<title>Fdisk Partition Using Entire Disk</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/fdisk-edit2"/>
</imageobject>
</mediaobject>
</figure>
<para>When finished, press <keycap>Q</keycap>. Any changes will
be
saved in &man.sysinstall.8;, but will not yet be
written to disk.</para>
</sect2>
<sect2 id="bootmgr">
<title>Install a Boot Manager</title>
<para>The next menu provides the option to install a boot
manager. In general,
install the &os; boot manager if:</para>
<itemizedlist>
<listitem>
<para>There is more than one drive and &os; will be
installed onto
a drive other than the first one.</para>
</listitem>
<listitem>
<para>&os; will be installed alongside another operating
system
on the same disk, and you want to choose whether to start &os;
or the other operating system when the computer
starts.</para>
</listitem>
</itemizedlist>
<para>If &os; is going to be the only operating system on
this machine, installed on the first hard disk, then the
<guimenuitem>Standard</guimenuitem> boot manager will suffice.
Choose <guimenuitem>None</guimenuitem> if using a
third-party boot manager capable of booting &os;.</para>
<para>Make a selection and press <keycap>Enter</keycap>.</para>
<figure id="sysinstall-bootmgr">
<title>Sysinstall Boot Manager Menu</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/boot-mgr"/>
</imageobject>
</mediaobject>
</figure>
<para>The help screen, reached by pressing <keycap>F1</keycap>,
discusses the problems that can be encountered when trying to share
the hard disk between operating systems.</para>
</sect2>
<sect2>
<title>Creating Slices on Another Drive</title>
<para>If there is more than one drive, it will return to the
Select Drives screen after the boot manager selection. To
install &os; on to more than one disk, select another
disk and repeat the slice process using
<application>FDisk</application>.</para>
<important>
<para>If installing &os; on a drive other than the
first drive, the &os; boot manager needs to be installed on
both drives.</para>
</important>
<figure id="sysinstall-fdisk-drive2">
<title>Exit Select Drive</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/fdisk-drive2"/>
</imageobject>
</mediaobject>
</figure>
<para>Use <keycap>Tab</keycap> to toggle between the last drive
selected, &gui.ok;, and
&gui.cancel;.</para>
<para>Press <keycap>Tab</keycap> once to toggle to
&gui.ok;, then
press <keycap>Enter</keycap>
to continue with the installation.</para>
</sect2>
<sect2 id="bsdlabeleditor">
<title>Creating Partitions Using
<application>Disklabel</application></title>
<para>Next, create some partitions inside each slice.
Remember that each partition is lettered, from
<literal>a</literal> through to <literal>h</literal>, and that
partitions <literal>b</literal>, <literal>c</literal>, and
<literal>d</literal> have conventional meanings that should
be adhered
to.</para>
<para>Certain applications can benefit from particular partition
schemes, especially when laying out partitions across more
than
one disk. However, for a first &os; installation, do
not give too much thought to how to partition the disk. It
is more important to install &os; and start learning how to
use it. You can always re-install &os; to change the
partition
scheme after becoming more familiar with the operating
system.</para>
<para>The following scheme features four partitions: one
for swap space and
three for filesystems.</para>
<table frame="none" pgwide="1">
<title>Partition Layout for First Disk</title>
<tgroup cols="4">
<colspec colwidth="1*"/>
<colspec colwidth="1*"/>
<colspec colwidth="1*"/>
<colspec colwidth="4*"/>
<thead>
<row>
<entry>Partition</entry>
<entry>Filesystem</entry>
<entry>Size</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>a</literal></entry>
<entry><filename class="directory">/</filename></entry>
<entry>1&nbsp;GB</entry>
<entry>This is the root filesystem. Every other filesystem
will be mounted somewhere under this one. 1&nbsp;GB is a
reasonable size for this filesystem as user files
should not be stored here and
a regular &os; install will put
about 128&nbsp;MB of data here.</entry>
</row>
<row>
<entry><literal>b</literal></entry>
<entry>N/A</entry>
<entry>2-3 x RAM</entry>
<entry><para>The system's swap space is kept on the <literal>b</literal> partition.
Choosing the right amount of swap space can be a bit of an
art. A good rule of thumb is that swap
space should be two or three times as much as the
available physical memory (RAM).
There should be at least 64&nbsp;MB of swap, so if
there is
less than 32&nbsp;MB of RAM in the computer, set
the swap amount to 64&nbsp;MB.
If there is more than one disk, swap
space can be put on each disk. &os; will then use
each disk for
swap, which effectively speeds up the act of swapping. In
this case, calculate the total amount of swap needed
and divide this by the number of
disks to give the amount of swap
to put on each disk.</para></entry>
</row>
<row>
<entry><literal>e</literal></entry>
<entry><filename
class="directory">/var</filename></entry>
<entry>512&nbsp;MB to 4096&nbsp;MB</entry>
<entry><filename class="directory">/var</filename>
contains
files that are constantly varying, such as
log files and other administrative files. Many
of these files are read from or written to extensively
during
&os;'s day-to-day running. Putting these files on another
filesystem allows &os; to optimize the access of these
files without affecting other files in other directories that
do not have the same access pattern.</entry>
</row>
<row>
<entry><literal>f</literal></entry>
<entry><filename
class="directory">/usr</filename></entry>
<entry>Rest of disk (at least 8&nbsp;GB)</entry>
<entry>All other files will typically be stored in
<filename class="directory">/usr</filename> and its
subdirectories.</entry>
</row>
</tbody>
</tgroup>
</table>
<warning>
<para>The values above are given as example and should be used
by experienced users only. Users are encouraged to use the
automatic partition layout called <literal>Auto
Defaults</literal> by the &os; partition editor.</para>
</warning>
<para>If installing &os; on to more than one disk,
create partitions in the other configured slices.
The easiest way to do this is to create two partitions on
each disk, one for the swap space, and one for a filesystem.</para>
<table frame="none" pgwide="1">
<title>Partition Layout for Subsequent Disks</title>
<tgroup cols="4">
<colspec colwidth="1*"/>
<colspec colwidth="1*"/>
<colspec colwidth="2*"/>
<colspec colwidth="3*"/>
<thead>
<row>
<entry>Partition</entry>
<entry>Filesystem</entry>
<entry>Size</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>b</literal></entry>
<entry>N/A</entry>
<entry>See description</entry>
<entry>Swap space can be split across
each disk. Even though the <literal>a</literal> partition is
free, convention dictates that swap space stays on the
<literal>b</literal> partition.</entry>
</row>
<row>
<entry><literal>e</literal></entry>
<entry>/disk<replaceable>n</replaceable></entry>
<entry>Rest of disk</entry>
<entry>The rest of the disk is taken up with one big partition.
This could easily be put on the <literal>a</literal>
partition, instead of the <literal>e</literal> partition.
However, convention says that the <literal>a</literal>
partition on a slice is reserved for the filesystem that will
be the root (<filename class="directory">/</filename>)
filesystem. Following
this convention is not necessary, but
&man.sysinstall.8; uses it, so following it
makes the installation slightly cleaner.
This filesystem can be mounted anywhere; this example
mounts it as
<filename
class="directory">/disk<replaceable>n</replaceable></filename>,
where
<replaceable>n</replaceable> is a number that changes for each
disk.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>Having chosen the partition layout, create it using
&man.sysinstall.8;.</para>
<screen> Message
Now, you need to create BSD partitions inside of the fdisk
partition(s) just created. If you have a reasonable amount of disk
space (1GB or more) and don't have any special requirements, simply
use the (A)uto command to allocate space automatically. If you have
more specific needs or just don't care for the layout chosen by
(A)uto, press F1 for more information on manual layout.
[ OK ]
[ Press enter or space ]</screen>
<para>Press <keycap>Enter</keycap> to start the &os; partition
editor, called <application>Disklabel</application>.</para>
<para><xref linkend="sysinstall-label"/> shows the display when
<application>Disklabel</application> starts. The display is
divided into three sections.</para>
<para>The first few lines show the name of the disk being
worked on and the slice that contains the partitions to
create. At this point, <application>Disklabel</application>
calls
this the <literal>Partition name</literal> rather than slice
name.
This display also shows the amount of free space within the slice;
that is, space that was set aside in the slice, but that has not yet
been assigned to a partition.</para>
<para>The middle of the display shows the partitions that have been
created, the name of the filesystem that each partition contains,
their size, and some options pertaining to the creation of the
filesystem.</para>
<para>The bottom third of the screen shows the keystrokes that are valid
in <application>Disklabel</application>.</para>
<figure id="sysinstall-label">
<title>Sysinstall Disklabel Editor</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-ed1"/>
</imageobject>
</mediaobject>
</figure>
<para><application>Disklabel</application> can automatically create
partitions and assign them default sizes. The default sizes
are calculated with the help of an internal partition sizing algorithm
based on the disk size.
Press <keycap>A</keycap> to see a display similar to that
shown in <xref linkend="sysinstall-label2"/>. Depending on the size of
the disk, the defaults may or may not be appropriate.</para>
<note>
<para>The default partitioning assigns
<filename class="directory">/tmp</filename> its own
partition instead
of being part of the <filename
class="directory">/</filename> partition. This
helps avoid filling the <filename
class="directory">/</filename> partition with
temporary files.</para>
</note>
<figure id="sysinstall-label2">
<title>Sysinstall Disklabel Editor with Auto Defaults</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-auto"/>
</imageobject>
</mediaobject>
</figure>
<para>To
replace the default partitions,
use the arrow keys to select the first partition and press
<keycap>D</keycap> to delete it. Repeat this to delete all the
suggested partitions.</para>
<para>To create the first partition, <literal>a</literal>,
mounted as
<filename class="directory">/</filename>, make sure the
proper disk slice
at the top of
the screen is selected and press <keycap>C</keycap>. A dialog box
will appear, prompting for the size of the new partition,
as shown
in <xref linkend="sysinstall-label-add"/>. The size can
be entered as
the number of disk blocks to use or as a
number followed by either <literal>M</literal> for megabytes,
<literal>G</literal> for gigabytes, or <literal>C</literal> for
cylinders.</para>
<figure id="sysinstall-label-add">
<title>Free Space for Root Partition</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-root1"/>
</imageobject>
</mediaobject>
</figure>
<para>The default size shown will create a partition that takes up the
rest of the slice. If using the partition sizes described
in the earlier example, delete the existing figure using
<keycap>Backspace</keycap>, and then type in
<userinput>512M</userinput>, as shown in
<xref linkend="sysinstall-label-add2"/>. Then press
&gui.ok;.</para>
<figure id="sysinstall-label-add2">
<title>Edit Root Partition Size</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-root2"/>
</imageobject>
</mediaobject>
</figure>
<para>After choosing the partition's size, the installer will
ask whether
this partition will contain a filesystem or swap space. The dialog
box is shown in <xref linkend="sysinstall-label-type"/>. This first
partition will contain a filesystem, so check that
<guimenuitem>FS</guimenuitem> is selected and press
<keycap>Enter</keycap>.</para>
<figure id="sysinstall-label-type">
<title>Choose the Root Partition Type</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-fs"/>
</imageobject>
</mediaobject>
</figure>
<para>Finally, tell
<application>Disklabel</application> where the filesystem will
be
mounted. The dialog box is shown in
<xref linkend="sysinstall-label-mount"/>. Type
<userinput>/</userinput>, and
then press <keycap>Enter</keycap>.</para>
<figure id="sysinstall-label-mount">
<title>Choose the Root Mount Point</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-root3"/>
</imageobject>
</mediaobject>
</figure>
<para>The display will then update to show the newly created
partition. Repeat this procedure for the other
partitions. When creating the swap partition, it will not
prompt for the filesystem mount point. When creating the
final partition,
<filename class="directory">/usr</filename>, leave the
suggested size as is to
use the rest of the slice.</para>
<para>The final &os; DiskLabel Editor screen will appear similar
to
<xref linkend="sysinstall-label4"/>, although the values
chosen may
be different. Press <keycap>Q</keycap> to finish.</para>
<figure id="sysinstall-label4">
<title>Sysinstall Disklabel Editor</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/disklabel-ed2"/>
</imageobject>
</mediaobject>
</figure>
</sect2>
</sect1>
<sect1 id="install-choosing">
<title>Choosing What to Install</title>
<sect2 id="distset">
<title>Select the Distribution Set</title>
<para>Deciding which distribution set to install will depend largely
on the intended use of the system and the amount of disk space
available. The predefined options range from installing the
smallest possible configuration to everything. Those who are
new to &unix; or &os; should select one
of these canned options. Customizing a distribution set is
typically for the more experienced user.</para>
<para>Press <keycap>F1</keycap> for more information on the
distribution set options and what they contain. When finished
reviewing the help, press <keycap>Enter</keycap> to return
to the Select Distributions Menu.</para>
<para>If a graphical user interface is desired, the
configuration of <application>&xorg;</application> and
selection of a default
desktop must be done after the installation of &os;. More
information regarding the installation and configuration of a
<application>&xorg;</application> can be found in <xref
linkend="x11"/>.</para>
<para>If compiling a custom kernel is anticipated, select an option
which includes the source code. For more information on why a
custom kernel should be built or how to build a custom kernel, see
<xref linkend="kernelconfig"/>.</para>
<para>The most versatile system is one that includes
everything. If there is adequate disk space, select
<guimenuitem>All</guimenuitem>, as shown in
<xref linkend="distribution-set1"/>, by using the arrow keys
and
pressing <keycap>Enter</keycap>. If there is a concern about
disk
space, consider using an option that is more suitable for the
situation.
Do not fret over the perfect choice, as other distributions can be
added after installation.</para>
<figure id="distribution-set1">
<title>Choose Distributions</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/dist-set"/>
</imageobject>
</mediaobject>
</figure>
</sect2>
<sect2 id="portscol">
<title>Installing the Ports Collection</title>
<para>After selecting the desired distribution, an opportunity to
install the &os; Ports Collection is presented. The Ports
Collection is an easy and convenient way to install software
as it provides a collection of files that
automate the downloading, compiling, and installation
of third-party software packages.
<xref linkend="ports"/> discusses how to use the Ports
Collection.</para>
<para>The installation program does not check to see if you have
adequate space. Select this option only if you have
adequate hard disk space. As of &os; &rel.current;, the &os;
Ports Collection takes up about &ports.size; of disk space.
You can safely assume a larger value for more recent versions
of &os;.</para>
<screen> User Confirmation Requested
Would you like to install the FreeBSD ports collection?
This will give you ready access to over &os.numports; ported software packages,
at a cost of around &ports.size; of disk space when "clean" and possibly much
more than that if a lot of the distribution tarballs are loaded
(unless you have the extra CDs from a FreeBSD CD/DVD distribution
available and can mount it on /cdrom, in which case this is far less
of a problem).
The Ports Collection is a very valuable resource and well worth having
on your /usr partition, so it is advisable to say Yes to this option.
For more information on the Ports Collection &amp; the latest ports,
visit:
http://www.FreeBSD.org/ports
[ Yes ] No</screen>
<para>Select &gui.yes; with the arrow keys to
install the Ports Collection or &gui.no; to
skip this option. Press <keycap>Enter</keycap> to continue.
The Choose Distributions menu will redisplay.</para>
<figure id="distribution-set2">
<title>Confirm Distributions</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/dist-set2"/>
</imageobject>
</mediaobject>
</figure>
<para>Once satisfied with the options, select
<guimenuitem>Exit</guimenuitem> with the arrow keys, ensure that
&gui.ok; is highlighted, and press
<keycap>Enter</keycap> to continue.</para>
</sect2>
</sect1>
<sect1 id="install-media">
<title>Choosing the Installation Media</title>
<para>If installing from a CD/DVD, use the arrow keys to highlight
<guimenuitem>Install from a &os; CD/DVD</guimenuitem>. Ensure
that &gui.ok; is highlighted, then press
<keycap>Enter</keycap> to proceed with the installation.</para>
<para>For other methods of installation, select the appropriate
option and follow the instructions.</para>
<para>Press <keycap>F1</keycap> to display the Online Help for
installation media. Press <keycap>Enter</keycap> to return
to the media selection menu.</para>
<figure id="choose-media">
<title>Choose Installation Media</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/media"/>
</imageobject>
</mediaobject>
</figure>
<note>
<title>FTP Installation Modes</title>
<indexterm>
<primary>installation</primary>
<secondary>network</secondary>
<tertiary>FTP</tertiary>
</indexterm>
<para>There are three FTP installation modes to choose from:
active FTP, passive FTP, or via a HTTP proxy.</para>
<variablelist>
<varlistentry>
<term>FTP Active: <guimenuitem>Install from an FTP
server</guimenuitem></term>
<listitem>
<para>This option makes all FTP transfers
use <quote>Active</quote>
mode. This will not work through firewalls, but will
often work with older FTP servers that do not support
passive mode. If the connection hangs with passive
mode (the default), try using active mode.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>FTP Passive: <guimenuitem>Install from an FTP server through a
firewall</guimenuitem></term>
<listitem>
<indexterm>
<primary>FTP</primary>
<secondary>passive mode</secondary>
</indexterm>
<para>This option instructs &man.sysinstall.8;
to use passive mode for all FTP
operations.
This allows the user to pass through firewalls
that do not allow incoming connections on random TCP ports.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>FTP via a HTTP proxy: <guimenuitem>Install from an FTP server
through a http proxy</guimenuitem></term>
<listitem>
<indexterm>
<primary>FTP</primary>
<secondary>via a HTTP proxy</secondary>
</indexterm>
<para>This option instructs &man.sysinstall.8;
to use the HTTP
protocol to connect to a proxy
for all FTP operations. The proxy will translate
the requests and send them to the FTP server.
This allows the user to pass through firewalls
that do not allow FTP, but offer a HTTP
proxy.
In this case, specify the proxy in
addition to the FTP server.</para>
</listitem>
</varlistentry>
</variablelist>
<para>For a proxy FTP server, give the name of the
server as part of the username, after an
<quote>@</quote> sign. The proxy server then <quote>fakes</quote>
the real server. For example, to install from
<hostid role="fqdn">ftp.FreeBSD.org</hostid>, using the proxy FTP
server <hostid role="fqdn">foo.example.com</hostid>, listening on port
1234, go to the options menu, set the FTP username
to <literal>ftp@ftp.FreeBSD.org</literal> and the password to
an
email address. As the installation media, specify FTP (or
passive FTP, if the proxy supports it), and the URL
<literal>ftp://foo.example.com:1234/pub/FreeBSD</literal>.</para>
<para>Since <filename class="directory">/pub/FreeBSD</filename>
from
<hostid role="fqdn">ftp.FreeBSD.org</hostid> is proxied under
<hostid role="fqdn">foo.example.com</hostid>, the proxy
will fetch the files
from <hostid role="fqdn">ftp.FreeBSD.org</hostid> as the
installer requests them.</para>
</note>
</sect1>
<sect1 id="install-final-warning">
<title>Committing to the Installation</title>
<para>The installation can now proceed if desired. This is also
the last chance for aborting the installation to prevent changes
to the hard drive.</para>
<screen> User Confirmation Requested
Last Chance! Are you SURE you want to continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!
[ Yes ] No</screen>
<para>Select &gui.yes; and press
<keycap>Enter</keycap> to proceed.</para>
<para>The installation time will vary according to the distribution
chosen, installation media, and the speed of the computer.
There will be a series of
messages displayed, indicating the status.</para>
<para>The installation is complete when the following message is
displayed:</para>
<screen> Message
Congratulations! You now have FreeBSD installed on your system.
We will now move on to the final configuration questions.
For any option you do not wish to configure, simply select No.
If you wish to re-enter this utility after the system is up, you may
do so by typing: /usr/sbin/sysinstall.
[ OK ]
[ Press enter or space ]</screen>
<para>Press <keycap>Enter</keycap> to proceed with post-installation
configurations.</para>
<para>Selecting &gui.no; and pressing
<keycap>Enter</keycap> will abort
the installation so no changes will be made to the system. The
following message will appear:</para>
<screen> Message
Installation complete with some errors. You may wish to scroll
through the debugging messages on VTY1 with the scroll-lock feature.
You can also choose "No" at the next prompt and go back into the
installation menus to retry whichever operations have failed.
[ OK ]</screen>
<para>This message is generated because nothing was installed.
Pressing <keycap>Enter</keycap> will return to the
Main Installation Menu to exit the installation.</para>
</sect1>
<sect1 id="install-post">
<title>Post-installation</title>
<para>Configuration of various options can be performed after a
successful installation. An option can be configured by
re-entering the
configuration menus before booting the new &os;
system or after boot using
&man.sysinstall.8;
and then selecting the
<guimenuitem>Configure</guimenuitem> menu.</para>
<sect2 id="inst-network-dev">
<title>Network Device Configuration</title>
<para>If PPP was previously configured for an FTP install, this
screen
will not display and can be configured after boot as described
above.</para>
<para>For detailed information on Local Area Networks and
configuring &os; as a gateway/router refer to the
<link linkend="advanced-networking">Advanced Networking</link>
chapter.</para>
<screen> User Confirmation Requested
Would you like to configure any Ethernet or PPP network devices?
[ Yes ] No</screen>
<para>To configure a network device, select
&gui.yes; and press <keycap>Enter</keycap>.
Otherwise, select &gui.no; to continue.</para>
<figure id="ed-config1">
<title>Selecting an Ethernet Device</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/ed0-conf"/>
</imageobject>
</mediaobject>
</figure>
<para>Select the interface to be configured with the arrow keys and press
<keycap>Enter</keycap>.</para>
<screen> User Confirmation Requested
Do you want to try IPv6 configuration of the interface?
Yes [ No ]</screen>
<para>In this private local area network, the current Internet
type protocol (<acronym>IPv4</acronym>) was sufficient and &gui.no;
was selected with the arrow keys and <keycap>Enter</keycap>
pressed.</para>
<para>If connected to an existing <acronym>IPv6</acronym>
network
with an <acronym>RA</acronym> server, choose
&gui.yes; and press <keycap>Enter</keycap>.
It will take several seconds to scan for RA servers.</para>
<screen> User Confirmation Requested
Do you want to try DHCP configuration of the interface?
Yes [ No ]</screen>
<para>If Dynamic Host Configuration Protocol
<acronym>DHCP</acronym>) is not required,
select &gui.no; with the arrow keys and press
<keycap>Enter</keycap>.</para>
<para>Selecting &gui.yes; will execute
&man.dhclient.8; and, if successful, will fill
in the network configuration information automatically. Refer to
<xref linkend="network-dhcp"/> for more information.</para>
<para>The following Network Configuration screen shows the
configuration of the Ethernet device for a system that will act
as the gateway for a Local Area Network.</para>
<figure id="ed-config2">
<title>Set Network Configuration for <replaceable>ed0</replaceable></title>
<mediaobject>
<imageobject>
<imagedata fileref="install/ed0-conf2"/>
</imageobject>
</mediaobject>
</figure>
<para>Use <keycap>Tab</keycap> to select the information fields and
fill in appropriate information:</para>
<variablelist>
<varlistentry>
<term>Host</term>
<listitem>
<para>The fully-qualified hostname, such as
<hostid role="fqdn">k6-2.example.com</hostid> in
this case.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Domain</term>
<listitem>
<para>The name of the domain that the machine is
in, such as <hostid role="domainname">example.com</hostid>
for this case.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>IPv4 Gateway</term>
<listitem>
<para>IP address of host forwarding packets to non-local
destinations. This must be filled in if the machine is
a node
on the network. <emphasis>Leave this field blank</emphasis>
if the machine is the gateway to the Internet for the
network. The IPv4 Gateway is also known as the default
gateway or default route.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Name server</term>
<listitem>
<para>IP address of the local DNS server. There is no
local
DNS server on this private local area network so the IP
address of the provider's DNS server
(<hostid role="ipaddr">208.163.10.2</hostid>) was used.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>IPv4 address</term>
<listitem>
<para>The IP address to be used for this interface was
<hostid role="ipaddr">192.168.0.1</hostid></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Netmask</term>
<listitem>
<para>The address block being used for this local area
network is
<hostid role="ipaddr">192.168.0.0</hostid> -
<hostid role="ipaddr">192.168.0.255</hostid>
with a netmask of
<hostid role="netmask">255.255.255.0</hostid>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Extra options to &man.ifconfig.8;</term>
<listitem>
<para>Any additional interface-specific options to
&man.ifconfig.8;. There were none in this case.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Use <keycap>Tab</keycap> to select &gui.ok;
when finished and press <keycap>Enter</keycap>.</para>
<screen> User Confirmation Requested
Would you like to bring the ed0 interface up right now?
[ Yes ] No</screen>
<para>Choosing &gui.yes; and pressing
<keycap>Enter</keycap> will bring
the machine up on the network so it is ready for use.
However,
this does not accomplish much during installation, since
the machine still needs to be rebooted.</para>
</sect2>
<sect2 id="gateway">
<title>Configure Gateway</title>
<screen> User Confirmation Requested
Do you want this machine to function as a network gateway?
[ Yes ] No</screen>
<para>If the machine will be acting as the gateway for a local area
network and forwarding packets between other machines, select
&gui.yes; and press <keycap>Enter</keycap>.
If the machine is a node on a network,
select &gui.no; and press
<keycap>Enter</keycap> to continue.</para>
</sect2>
<sect2 id="inetd-services">
<title>Configure Internet Services</title>
<screen> User Confirmation Requested
Do you want to configure inetd and the network services that it provides?
Yes [ No ]</screen>
<para>If &gui.no; is selected, various services
will not be enabled. These services can be enabled after
installation by editing
<filename>/etc/inetd.conf</filename> with a text editor.
See <xref linkend="network-inetd-overview"/> for more information.</para>
<para>Otherwise, select &gui.yes; to
configure these services during install. An additional
confirmation will display:</para>
<screen> User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
services to be enabled, including finger, ftp and telnetd. Enabling
these services may increase risk of security problems by increasing
the exposure of your system.
With this in mind, do you wish to enable inetd?
[ Yes ] No</screen>
<para>Select &gui.yes; to continue.</para>
<screen> User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
which of its Internet services will be available. The default FreeBSD
inetd.conf(5) leaves all services disabled by default, so they must be
specifically enabled in the configuration file before they will
function, even once inetd(8) is enabled. Note that services for
IPv6 must be separately enabled from IPv4 services.
Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
use the current settings.
[ Yes ] No</screen>
<para>Selecting &gui.yes; allows services to be enabled
by deleting the <literal>#</literal> at the beginning
of the lines representing those services.</para>
<figure id="inetd-edit">
<title>Editing <filename>inetd.conf</filename></title>
<mediaobject>
<imageobject>
<imagedata fileref="install/edit-inetd-conf"/>
</imageobject>
</mediaobject>
</figure>
<para>Once the edits are complete, press <keycap>Esc</keycap>
to display a menu which will exit the editor and save
the changes.</para>
</sect2>
<sect2 id="ssh-login">
<title>Enabling SSH Login</title>
<indexterm>
<primary>SSH</primary>
<secondary>sshd</secondary>
</indexterm>
<screen> User Confirmation Requested
Would you like to enable SSH login?
Yes [ No ]</screen>
<para>Selecting &gui.yes; will enable &man.sshd.8;, the daemon
for <application>OpenSSH</application>. This
allows secure remote access to the machine. For more
information about <application>OpenSSH</application>, see
<xref linkend="openssh"/>.</para>
</sect2>
<sect2 id="ftpanon">
<title>Anonymous FTP</title>
<indexterm>
<primary>FTP</primary>
<secondary>anonymous</secondary>
</indexterm>
<screen> User Confirmation Requested
Do you want to have anonymous FTP access to this machine?
Yes [ No ]</screen>
<sect3 id="deny-anon">
<title>Deny Anonymous FTP</title>
<para>Selecting the default &gui.no; and pressing
<keycap>Enter</keycap> will still allow users who have accounts
with passwords to use FTP to access the machine.</para>
</sect3>
<sect3 id="ftpallow">
<title>Allow Anonymous FTP</title>
<para>Anyone can access the machine if
anonymous FTP connections are allowed. The security
implications should be
considered before enabling this option. For more information
about security, see <xref linkend="security"/>.</para>
<para>To allow anonymous FTP, use the arrow keys to select
&gui.yes; and press <keycap>Enter</keycap>.
An additional confirmation will display:</para>
<screen> User Confirmation Requested
Anonymous FTP permits un-authenticated users to connect to the system
FTP server, if FTP service is enabled. Anonymous users are
restricted to a specific subset of the file system, and the default
configuration provides a drop-box incoming directory to which uploads
are permitted. You must separately enable both inetd(8), and enable
ftpd(8) in inetd.conf(5) for FTP services to be available. If you
did not do so earlier, you will have the opportunity to enable inetd(8)
again later.
If you want the server to be read-only you should leave the upload
directory option empty and add the -r command-line option to ftpd(8)
in inetd.conf(5)
Do you wish to continue configuring anonymous FTP?
[ Yes ] No</screen>
<para>This message indicates that the FTP service will also
have to be enabled in <filename>/etc/inetd.conf</filename>
to allow anonymous FTP connections. Select &gui.yes; and
press
<keycap>Enter</keycap> to continue. The following screen
will display:</para>
<figure id="anon-ftp2">
<title>Default Anonymous FTP Configuration</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/ftp-anon1"/>
</imageobject>
</mediaobject>
</figure>
<para>Use <keycap>Tab</keycap> to select the information
fields and fill in appropriate information:</para>
<variablelist>
<varlistentry>
<term>UID</term>
<listitem>
<para>The user ID to assign to the anonymous
FTP user. All files uploaded will be owned by this
ID.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Group</term>
<listitem>
<para>Which group to place the anonymous FTP user
into.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Comment</term>
<listitem>
<para>String describing this user in
<filename>/etc/passwd</filename>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>FTP Root Directory</term>
<listitem>
<para>Where files available for anonymous FTP will be
kept.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Upload Subdirectory</term>
<listitem>
<para>Where files uploaded by anonymous FTP users will
go.</para>
</listitem>
</varlistentry>
</variablelist>
<para>The FTP root directory will be put in <filename
class="directory">/var</filename>
by default. If there is not enough room there for the
anticipated FTP needs, use <filename
class="directory">/usr</filename> instead
by setting the FTP root directory to
<filename class="directory">/usr/ftp</filename>.</para>
<para>Once satisfied with the values, press
<keycap>Enter</keycap> to continue.</para>
<screen> User Confirmation Requested
Create a welcome message file for anonymous FTP users?
[ Yes ] No</screen>
<para>If &gui.yes; is selected, press
<keycap>Enter</keycap> and the &man.cu.1; editor
will automatically start.</para>
<figure id="anon-ftp4">
<title>Edit the FTP Welcome Message</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/ftp-anon2"/>
</imageobject>
</mediaobject>
</figure>
<para>Use the
instructions to change the message. Note the file name
location
at the bottom of the editor screen.</para>
<para>Press <keycap>Esc</keycap> and a pop-up menu will default
to <guimenuitem>a) leave editor</guimenuitem>. Press
<keycap>Enter</keycap> to exit and continue. Press
<keycap>Enter</keycap> again to save any changes.</para>
</sect3>
</sect2>
<sect2 id="nfsconf">
<title>Configure the Network File System</title>
<para>The Network File System (<acronym>NFS</acronym>) allows
sharing of files across a
network. A machine can be configured as a server, a client, or
both. Refer to <xref linkend="network-nfs"/> for more
information.</para>
<sect3 id="nsf-server-options">
<title>NFS Server</title>
<screen> User Confirmation Requested
Do you want to configure this machine as an NFS server?
Yes [ No ]</screen>
<para>If there is no need for a <acronym>NFS</acronym> server,
select &gui.no; and press
<keycap>Enter</keycap>.</para>
<para>If &gui.yes; is chosen, a message will
pop-up indicating that <filename>/etc/exports</filename>
must be
created.</para>
<screen> Message
Operating as an NFS server means that you must first configure an
/etc/exports file to indicate which hosts are allowed certain kinds of
access to your local filesystems.
Press [Enter] now to invoke an editor on /etc/exports
[ OK ]</screen>
<para>Press <keycap>Enter</keycap> to continue. A text editor will
start, allowing <filename>/etc/exports</filename> to be
edited.</para>
<figure id="nfs-server-edit">
<title>Editing <filename>exports</filename></title>
<mediaobject>
<imageobject>
<imagedata fileref="install/nfs-server-edit"/>
</imageobject>
</mediaobject>
</figure>
<para>Use the instructions to add the exported filesystems.
Note the
file name location at the bottom of the editor
screen.</para>
<para>Press <keycap>Esc</keycap> and a pop-up menu will default to
<guimenuitem>a) leave editor</guimenuitem>. Press
<keycap>Enter</keycap> to exit and continue.</para>
</sect3>
<sect3 id="nfs-client-options">
<title><acronym>NFS</acronym> Client</title>
<para>The <acronym>NFS</acronym> client allows the machine to
access <acronym>NFS</acronym> servers.</para>
<screen> User Confirmation Requested
Do you want to configure this machine as an NFS client?
Yes [ No ]</screen>
<para>With the arrow keys, select &gui.yes;
or &gui.no; as appropriate and
press <keycap>Enter</keycap>.</para>
</sect3>
</sect2>
<sect2 id="console">
<title>System Console Settings</title>
<para>There are several options available to customize the system
console.</para>
<screen> User Confirmation Requested
Would you like to customize your system console settings?
[ Yes ] No</screen>
<para>To view and configure the options, select
&gui.yes; and press
<keycap>Enter</keycap>.</para>
<figure id="saver-options">
<title>System Console Configuration Options</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/console-saver1"/>
</imageobject>
</mediaobject>
</figure>
<para>A commonly used option is the screen saver. Use the arrow keys
to select <guimenuitem>Saver</guimenuitem> and then press
<keycap>Enter</keycap>.</para>
<figure id="saver-select">
<title>Screen Saver Options</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/console-saver2"/>
</imageobject>
</mediaobject>
</figure>
<para>Select the desired screen saver using the arrow keys
and then press <keycap>Enter</keycap>. The System Console
Configuration menu will redisplay.</para>
<para>The default time interval is 300 seconds. To change the time
interval, select <guimenuitem>Saver</guimenuitem> again. At the
Screen Saver Options menu, select <guimenuitem>Timeout</guimenuitem>
using the arrow keys and press <keycap>Enter</keycap>. A pop-up
menu will appear:</para>
<figure id="saver-timeout">
<title>Screen Saver Timeout</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/console-saver3"/>
</imageobject>
</mediaobject>
</figure>
<para>The value can be changed, then select &gui.ok;
and press <keycap>Enter</keycap> to return to the System Console
Configuration menu.</para>
<figure id="saver-exit">
<title>System Console Configuration Exit</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/console-saver4"/>
</imageobject>
</mediaobject>
</figure>
<para>Select <guimenuitem>Exit</guimenuitem> and press
<keycap>Enter</keycap> to continue with the post-installation
configuration.</para>
</sect2>
<sect2 id="timezone">
<title>Setting the Time Zone</title>
<para>Setting the time zone allows the system to
automatically correct for any regional time changes and perform
other time zone related functions properly.</para>
<para>The example shown is for a machine located in the Eastern
time zone of the United States. The selections will vary
according
to the geographic location.</para>
<screen> User Confirmation Requested
Would you like to set this machine's time zone now?
[ Yes ] No</screen>
<para>Select &gui.yes; and press
<keycap>Enter</keycap> to set the time zone.</para>
<screen> User Confirmation Requested
Is this machine's CMOS clock set to UTC? If it is set to local time
or you don't know, please choose NO here!
Yes [ No ]</screen>
<para>Select &gui.yes;
or &gui.no; according to how the machine's
clock is configured, then press <keycap>Enter</keycap>.</para>
<figure id="set-timezone-region">
<title>Select the Region</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/timezone1"/>
</imageobject>
</mediaobject>
</figure>
<para>The appropriate region is selected using the arrow keys
and then pressing <keycap>Enter</keycap>.</para>
<figure id="set-timezone-country">
<title>Select the Country</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/timezone2"/>
</imageobject>
</mediaobject>
</figure>
<para>Select the appropriate country using the arrow keys
and press <keycap>Enter</keycap>.</para>
<figure id="set-timezone-locality">
<title>Select the Time Zone</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/timezone3"/>
</imageobject>
</mediaobject>
</figure>
<para>The appropriate time zone is selected using the arrow
keys and pressing <keycap>Enter</keycap>.</para>
<screen> Confirmation
Does the abbreviation 'EDT' look reasonable?
[ Yes ] No</screen>
<para>Confirm that the abbreviation for the time zone is
correct.
If it looks okay, press <keycap>Enter</keycap> to continue with
the post-installation configuration.</para>
</sect2>
<sect2 id="mouse">
<title>Mouse Settings</title>
<para>This option allows cut and paste in the
console and user programs using a 3-button mouse. If using a
2-button
mouse, refer to &man.moused.8; for
details on emulating the 3-button style. This example depicts a
non-USB mouse configuration:</para>
<screen> User Confirmation Requested
Does this system have a PS/2, serial, or bus mouse?
[ Yes ] No </screen>
<para>Select &gui.yes; for a PS/2, serial, or bus mouse, or
&gui.no; for a USB mouse, then press
<keycap>Enter</keycap>.</para>
<figure id="mouse-protocol">
<title>Select Mouse Protocol Type</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mouse1"/>
</imageobject>
</mediaobject>
</figure>
<para>Use the arrow keys to select <guimenuitem>Type</guimenuitem> and
press <keycap>Enter</keycap>.</para>
<figure id="set-mouse-protocol">
<title>Set Mouse Protocol</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mouse2"/>
</imageobject>
</mediaobject>
</figure>
<para>The mouse used in this example is a PS/2 type, so the default
<guimenuitem>Auto</guimenuitem> is appropriate. To change the
mouse protocol,
use the arrow keys to select another option. Ensure that &gui.ok; is
highlighted and press <keycap>Enter</keycap> to exit this menu.</para>
<figure id="config-mouse-port">
<title>Configure Mouse Port</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mouse3"/>
</imageobject>
</mediaobject>
</figure>
<para>Use the arrow keys to select <guimenuitem>Port</guimenuitem> and
press <keycap>Enter</keycap>.</para>
<figure id="set-mouse-port">
<title>Setting the Mouse Port</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mouse4"/>
</imageobject>
</mediaobject>
</figure>
<para>This system had a PS/2 mouse, so the default
<guimenuitem>PS/2</guimenuitem> is appropriate. To change the
port,
use the arrow keys and then press <keycap>Enter</keycap>.</para>
<figure id="test-daemon">
<title>Enable the Mouse Daemon</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mouse5"/>
</imageobject>
</mediaobject>
</figure>
<para>Last, use the arrow keys to select
<guimenuitem>Enable</guimenuitem>, and press
<keycap>Enter</keycap> to enable and test the mouse
daemon.</para>
<figure id="test-mouse-daemon">
<title>Test the Mouse Daemon</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mouse6"/>
</imageobject>
</mediaobject>
</figure>
<para>Move the mouse around the screen to verify that the cursor
responds properly. If it does, select
&gui.yes; and press <keycap>Enter</keycap>. If
not, the mouse has not been configured correctly. Select
&gui.no; and try using different configuration
options.</para>
<para>Select <guimenuitem>Exit</guimenuitem> with the arrow keys
and press <keycap>Enter</keycap> to continue with the
post-installation configuration.</para>
</sect2>
<sect2 id="packages">
<title>Install Packages</title>
<para>Packages are pre-compiled binaries and are a convenient
way to install software.</para>
<para>Installation of one package is shown for purposes of
illustration. Additional packages can also be added at this
time if desired. After installation,
&man.sysinstall.8; can be used to add additional
packages.</para>
<screen> User Confirmation Requested
The FreeBSD package collection is a collection of hundreds of
ready-to-run applications, from text editors to games to WEB servers
and more. Would you like to browse the collection now?
[ Yes ] No</screen>
<para>Select &gui.yes; and press
<keycap>Enter</keycap> to be presented with
the Package Selection screens:</para>
<figure id="package-category">
<title>Select Package Category</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/pkg-cat"/>
</imageobject>
</mediaobject>
</figure>
<para>Only packages on the current installation media are
available for installation at any given time.</para>
<para>All packages available will be displayed if
<guimenuitem>All</guimenuitem> is selected. Otherwise, select
a
particular category. Highlight the selection with the arrow
keys and press <keycap>Enter</keycap>.</para>
<para>A menu will display showing all the packages available for
the selection made:</para>
<figure id="package-select">
<title>Select Packages</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/pkg-sel"/>
</imageobject>
</mediaobject>
</figure>
<para>The <application>bash</application> shell is shown as
selected.
Select as many packages as desired by highlighting the package
and pressing
<keycap>Space</keycap>. A short description of each package
will
appear in the lower left corner of the screen.</para>
<para>Press <keycap>Tab</keycap> to toggle between the last
selected package, &gui.ok;, and &gui.cancel;.</para>
<para>Once finished marking the packages for installation,
press <keycap>Tab</keycap> once to toggle to &gui.ok; and
press
<keycap>Enter</keycap> to return to the Package Selection menu.</para>
<para>The left and right arrow keys will also toggle between &gui.ok;
and &gui.cancel;. This method can also be used to select &gui.ok; and
press <keycap>Enter</keycap> to return to the Package Selection
menu.</para>
<figure id="package-install">
<title>Install Packages</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/pkg-install"/>
</imageobject>
</mediaobject>
</figure>
<para>Use the <keycap>Tab</keycap> and arrow keys to select <guibutton>[&nbsp;Install&nbsp;]</guibutton>
and press <keycap>Enter</keycap> to see the installation
confirmation message:</para>
<figure id="package-install-confirm">
<title>Confirm Package Installation</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/pkg-confirm"/>
</imageobject>
</mediaobject>
</figure>
<para>Select &gui.ok; and press <keycap>Enter</keycap> to start
the package installation. Installation messages will appear
until all of the installations have
completed. Make note if there are any error messages.</para>
<para>The final configuration continues after packages are
installed. If no packages are selected, select
<guibutton>Install</guibutton> to return to the final
configuration.</para>
</sect2>
<sect2 id="addusers">
<title>Add Users/Groups</title>
<para>Add at least one user during the installation so
that the system can be used without logging in as
<username>root</username>. The root partition is generally small
and running applications as <username>root</username> can quickly
fill it. A bigger danger is noted below:</para>
<screen> User Confirmation Requested
Would you like to add any initial user accounts to the system? Adding
at least one account for yourself at this stage is suggested since
working as the "root" user is dangerous (it is easy to do things which
adversely affect the entire system).
[ Yes ] No</screen>
<para>Select &gui.yes; and press
<keycap>Enter</keycap> to continue with adding a user.</para>
<figure id="add-user2">
<title>Select User</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/adduser1"/>
</imageobject>
</mediaobject>
</figure>
<para>Select <guimenuitem>User</guimenuitem> with the arrow keys
and press <keycap>Enter</keycap>.</para>
<figure id="add-user3">
<title>Add User Information</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/adduser2"/>
</imageobject>
</mediaobject>
</figure>
<para>The following descriptions will appear in the lower part of
the screen as the items are selected with <keycap>Tab</keycap>
to assist with entering the required information:</para>
<variablelist>
<varlistentry>
<term>Login ID</term>
<listitem>
<para>The login name of the new user (mandatory).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>UID</term>
<listitem>
<para>The numerical ID for this user (leave blank for
automatic choice).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Group</term>
<listitem>
<para>The login group name for this user (leave blank for
automatic choice).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Password</term>
<listitem>
<para>The password for this user (enter this field with
care!).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Full name</term>
<listitem>
<para>The user's full name (comment).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Member groups</term>
<listitem>
<para>The groups this user belongs to.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Home directory</term>
<listitem>
<para>The user's home directory (leave blank for
default).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Login shell</term>
<listitem>
<para>The user's login shell (leave blank for
default of <filename>/bin/sh</filename>).</para>
</listitem>
</varlistentry>
</variablelist>
<para>In this example, the login shell was changed from
<filename>/bin/sh</filename> to
<filename>/usr/local/bin/bash</filename> to use the
<application>bash</application> shell that was previously installed as
a package. Do not use a shell that does not exist or the user
will
not be able to login. The most common shell used in &os;
is the C shell,
<filename>/bin/tcsh</filename>.</para>
<para>The user was also added to the <groupname>wheel</groupname> group
to be able to become a superuser with <username>root</username>
privileges.</para>
<para>Once satisfied, press &gui.ok; and
the User and Group Management menu will redisplay:</para>
<figure id="add-user4">
<title>Exit User and Group Management</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/adduser3"/>
</imageobject>
</mediaobject>
</figure>
<para>Groups can also be added at this time. Otherwise, this
menu may be accessed using
&man.sysinstall.8;
at a later time.</para>
<para>When finished adding users, select
<guimenuitem>Exit</guimenuitem> with the arrow keys and press
<keycap>Enter</keycap> to continue the installation.</para>
</sect2>
<sect2 id="rootpass">
<title>Set the <username>root</username> Password</title>
<screen> Message
Now you must set the system manager's password.
This is the password you'll use to log in as "root".
[ OK ]
[ Press enter or space ]</screen>
<para>Press <keycap>Enter</keycap> to set the <username>root</username>
password.</para>
<para>The password will need to be typed in twice correctly.
Do not forget this password.
Notice that the typed password is not echoed, nor
are asterisks displayed.</para>
<screen>New password:
Retype new password :</screen>
<para>The installation will continue after the password is
successfully entered.</para>
</sect2>
<sect2 id="exit-inst">
<title>Exiting Install</title>
<para>A message will ask if
configuration is complete:</para>
<screen> User Confirmation Requested
Visit the general configuration menu for a chance to set any last
options?
Yes [ No ]</screen>
<para>Select &gui.no; with the arrow keys
and press <keycap>Enter</keycap> to return to the Main
Installation Menu.</para>
<figure id="final-main">
<title>Exit Install</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mainexit"/>
</imageobject>
</mediaobject>
</figure>
<para>Select <guibutton>[X Exit Install]</guibutton> with the arrow
keys and press <keycap>Enter</keycap>. The installer will
prompt to
confirm exiting the installation:</para>
<screen> User Confirmation Requested
Are you sure you wish to exit? The system will reboot.
[ Yes ] No</screen>
<para>Select &gui.yes;. If booting from the CDROM drive,
the following message will remind you to remove the
disk:</para>
<screen> Message
Be sure to remove the media from the drive.
[ OK ]
[ Press enter or space ]</screen>
<para>The CDROM drive is locked until the machine
starts to reboot, then the disk can quickly
be removed from the drive. Press &gui.ok; to reboot.</para>
<para>The system will reboot so watch for any error messages that
may appear, see <xref linkend="freebsdboot"/> for more
details.</para>
</sect2>
<sect2 id="network-services">
<sect2info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contributed by </contrib>
</author>
</authorgroup>
</sect2info>
<title>Configure Additional Network Services</title>
<para>Configuring network services can be a daunting
task for users that lack previous
knowledge in this area. Since networking and the Internet
are critical to all modern operating systems,
it is useful to have some understanding of
&os;'s extensive networking capabilities.</para>
<para>Network services are programs that accept input from
anywhere on the network. Since
there have been cases where bugs in network services have been
exploited by attackers, it is important to
only enable needed network services. If
in doubt, do not enable a network service until
it is needed. Services can be enabled
with &man.sysinstall.8; or by
editing
<filename>/etc/rc.conf</filename>.</para>
<para>Selecting the <guimenu>Networking</guimenu> option will display
a menu similar to the one below:</para>
<figure id="network-configuration">
<title>Network Configuration Upper-level</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/net-config-menu1"/>
</imageobject>
</mediaobject>
</figure>
<para>The first option, <guimenuitem>Interfaces</guimenuitem>,
is covered in <xref linkend="inst-network-dev"/>.</para>
<para>Selecting the <guimenuitem>AMD</guimenuitem> option adds
support for &man.amd.8;.
This is usually used in conjunction with
<acronym>NFS</acronym>
for automatically mounting remote filesystems.</para>
<para>Next is the <guimenuitem>AMD Flags</guimenuitem>
option. When selected, a menu will pop up where
specific <acronym>AMD</acronym> flags can be entered.
The menu already contains a set of default options:</para>
<screen>-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map</screen>
<para><option>-a</option> sets the default mount
location which is specified here as
<filename>/.amd_mnt</filename>. <option>-l</option>
specifies the default <filename>log</filename>;
however, when &man.syslogd.8; is used, all log
activity will be sent to the system log daemon.
<filename class="directory">/host</filename> is used
to mount an exported file system from a remote
host, while <filename class="directory">/net</filename>
is used to mount an exported filesystem from an
<acronym>IP</acronym> address. The default
options for <acronym>AMD</acronym> exports are defined in
<filename>/etc/amd.map</filename>.</para>
<indexterm>
<primary>FTP</primary>
<secondary>anonymous</secondary>
</indexterm>
<para>The <guimenuitem>Anon FTP</guimenuitem> option permits anonymous
<acronym>FTP</acronym> connections. Select this option to
make this machine an anonymous <acronym>FTP</acronym> server.
Be aware of the security risks involved with this option.
Another menu will be displayed to explain the security risks
and configuration in depth.</para>
<para>The <guimenuitem>Gateway</guimenuitem> menu will configure
the machine to be a gateway. This menu
can also be used to unset the
<guimenuitem>Gateway</guimenuitem> option if
it was accidentally selected during installation.</para>
<para>The <guimenuitem>Inetd</guimenuitem> option can be used to configure
or completely disable &man.inetd.8;.</para>
<para>The <guimenuitem>Mail</guimenuitem> option is used to configure the
system's default Mail Transfer Agent (<acronym>MTA</acronym>).
Selecting this option will bring up the following menu:</para>
<figure id="mta-selection">
<title>Select a Default MTA</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/mta-main"/>
</imageobject>
</mediaobject>
</figure>
<para>This menu offers a choice as to which
<acronym>MTA</acronym> to install
and set as the default. An <acronym>MTA</acronym> is
a mail server which delivers email to users on the
system or the Internet.</para>
<para>Select <guimenuitem>Sendmail</guimenuitem> to install
<application>Sendmail</application> as the default
<acronym>MTA</acronym>. Select
<guimenuitem>Sendmail local</guimenuitem>
to set <application>Sendmail</application> as the
default
<acronym>MTA</acronym>, but disable its ability to receive
incoming email from the Internet. The other options,
<guimenuitem>Postfix</guimenuitem> and
<guimenuitem>Exim</guimenuitem>, provide
alternatives to
<application>Sendmail</application>.</para>
<para>The next menu after the <acronym>MTA</acronym> menu is
<guimenuitem>NFS client</guimenuitem>. This menu is used to
configure the system to communicate with a
<acronym>NFS</acronym> server which in turn is used to
make filesystems available to other machines on the
network over the <acronym>NFS</acronym> protocol.
See
<xref linkend="network-nfs"/> for more
information about client and server configuration.</para>
<para>Below that option is the <guimenuitem>NFS server</guimenuitem>
option, for setting the system up as an
<acronym>NFS</acronym> server. This adds the required
information to start up the Remote Procedure
Call <acronym>RPC</acronym>
services. <acronym>RPC</acronym> is used to
coordinate connections between hosts and programs.</para>
<para>Next in line is the <guimenuitem>Ntpdate</guimenuitem> option,
which deals with time synchronization. When selected, a menu
like the one below shows up:</para>
<figure id="Ntpdate-config">
<title>Ntpdate Configuration</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/ntp-config"/>
</imageobject>
</mediaobject>
</figure>
<para>From this menu, select the server which is geographically
closest.
This will make the time
synchronization more accurate as a farther server
may have more connection latency.</para>
<para>The next option is the <acronym>PCNFSD</acronym> selection.
This option will install the
<filename role="package">net/pcnfsd</filename> package from
the Ports Collection. This is a useful utility which provides
<acronym>NFS</acronym> authentication services for systems which
are unable to provide their own, such as Microsoft's
&ms-dos; operating system.</para>
<para>Now, scroll down a bit to see the other
options:</para>
<figure id="Network-configuration-cont">
<title>Network Configuration Lower-level</title>
<mediaobject>
<imageobject>
<imagedata fileref="install/net-config-menu2"/>
</imageobject>
</mediaobject>
</figure>
<para><acronym>RPC</acronym>.
communication
between <acronym>NFS</acronym> servers and clients is managed
by &man.rpcbind.8; which is
required for <acronym>NFS</acronym> servers to operate
correctly. Status monitoring is provided by
&man.rpc.statd.8; and the reported status is usually held
in <filename>/var/db/statd.status</filename>. The
next option is for &man.rpc.lockd.8;
which provides file locking
services. This is usually used with
&man.rpc.statd.8; to monitor which hosts are
requesting locks and how frequently they request them.
While these last two options are useful for debugging, they
are not required for <acronym>NFS</acronym> servers and clients
to operate correctly.</para>
<para>The next menu,
<guimenuitem>Routed</guimenuitem>, configures the routing
daemon.
&man.routed.8;, manages network routing tables,
discovers multicast routers, and supplies a copy of the routing
tables to any physically connected host on the network upon
request. This is mainly used for machines which act as a
gateway for the local network. If selected, a menu will
request the default location of the utility.
To accept the default location,
press <keycap>Enter</keycap>. Yet
another menu will ask for the
flags to pass to &man.routed.8;. The
default of <option>-q</option> should appear
on the screen.</para>
<para>The next menu, <guimenuitem>Rwhod</guimenuitem>,
starts &man.rwhod.8;
during system initialization. This
utility broadcasts system messages across the network
periodically, or collects them when in <quote>consumer</quote>
mode. More information can be found in &man.ruptime.1; and
&man.rwho.1;.</para>
<para>The next to last option in the list is for
&man.sshd.8;, the secure shell server for
<application>OpenSSH</application>. It is highly recommended
over the standard &man.telnetd.8; and
&man.ftpd.8; servers as it
is used to create a secure, encrypted connection from one host
to
another.</para>
<para>The final option is <guimenuitem>TCP
Extensions</guimenuitem> which are
defined in <acronym>RFC</acronym>&nbsp;1323 and
<acronym>RFC</acronym>&nbsp;1644. While on many hosts this can
speed up connections, it can also cause some connections to be
dropped. It is not recommended for servers, but may be
beneficial for stand alone machines.</para>
<para>Once the network services are configured,
scroll up to the very top item which is
<guimenuitem>X Exit</guimenuitem>
and continue on to the next configuration item or simply exit
&man.sysinstall.8; by selecting
<guimenuitem>X Exit</guimenuitem> twice then <guibutton>[X
Exit Install]</guibutton>.</para>
</sect2>
<sect2 id="freebsdboot">
<title>&os; Bootup</title>
<sect3 id="freebsdboot-i386">
<title>&os;/&arch.i386; Bootup</title>
<para>If everything went well, messages will scroll along
the screen and a login prompt will appear. To view
these messages, press
<keycap>Scroll-Lock</keycap>
then use <keycap>PgUp</keycap> and <keycap>PgDn</keycap>.
Press <keycap>Scroll-Lock</keycap> again to return
to the prompt.</para>
<para>All of the messages may not display due to buffer
limitations, but
they can be read after logging using
&man.dmesg.8;.</para>
<para>Login using the username and password which were set
during installation. Avoid logging in as
<username>root</username> except when necessary.</para>
<para>Typical boot messages (version information omitted):</para>
<screen>Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
Timecounter "i8254" frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
Origin = "AuthenticAMD" Id = 0x580 Stepping = 0
Features=0x8001bf&lt;FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX&gt;
AMD Features=0x80000800&lt;SYSCALL,3DNow!&gt;
real memory = 268435456 (262144K bytes)
config&gt; di sn0
config&gt; di lnc0
config&gt; di le0
config&gt; di ie0
config&gt; di fe0
config&gt; di cs0
config&gt; di bt0
config&gt; di aic0
config&gt; di aha0
config&gt; di adv0
config&gt; q
avail memory = 256311296 (250304K bytes)
Preloaded elf kernel "kernel" at 0xc0491000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
md0: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: &lt;math processor&gt; on motherboard
npx0: INT 16 interface
pcib0: &lt;Host to PCI bridge&gt; on motherboard
pci0: &lt;PCI bus&gt; on pcib0
pcib1: &lt;VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge&gt; at device 1.0 on pci0
pci1: &lt;PCI bus&gt; on pcib1
pci1: &lt;Matrox MGA G200 AGP graphics accelerator&gt; at 0.0 irq 11
isab0: &lt;VIA 82C586 PCI-ISA bridge&gt; at device 7.0 on pci0
isa0: &lt;ISA bus&gt; on isab0
atapci0: &lt;VIA 82C586 ATA33 controller&gt; port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: &lt;VIA 83C572 USB controller&gt; port 0xe400-0xe41f irq 10 at device 7.2 on pci0
usb0: &lt;VIA 83C572 USB controller&gt; on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: &lt;VIA 82C586B ACPI interface&gt; at device 7.3 on pci0
ed0: &lt;NE2000 PCI Ethernet (RealTek 8029)&gt; port 0xe800-0xe81f irq 9 at
device 10.0 on pci0
ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
fdc0: &lt;NEC 72065B or clone&gt; at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: &lt;1440-KB 3.5" drive&gt; on fdc0 drive 0
atkbdc0: &lt;keyboard controller (i8042)&gt; at port 0x60-0x64 on isa0
atkbd0: &lt;AT Keyboard&gt; flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: &lt;PS/2 Mouse&gt; irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: &lt;Generic ISA VGA&gt; at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: &lt;System console&gt; at flags 0x1 on isa0
sc0: VGA &lt;16 virtual consoles, flags=0x300&gt;
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: &lt;Parallel port&gt; at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
ppbus0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0:
plip0: &lt;PLIP network interface&gt; on ppbus0
lpt0: &lt;Printer&gt; on ppbus0
lpt0: Interrupt-driven port
ppi0: &lt;Parallel I/O&gt; on ppbus0
ad0: 8063MB &lt;IBM-DHEA-38451&gt; [16383/16/63] at ata0-master using UDMA33
ad2: 8063MB &lt;IBM-DHEA-38451&gt; [16383/16/63] at ata1-master using UDMA33
acd0: CDROM &lt;DELTA OTC-H101/ST3 F/W by OIPD&gt; at ata0-slave using PIO4
Mounting root from ufs:/dev/ad0s1a
swapon: adding /dev/ad0s1b as swap device
Automatic boot in progress...
/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
Doing initial network setup: hostname.
ed0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
ether 52:54:05:de:73:1b
lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
Additional routing options: IP gateway=YES TCP keepalive=YES
routing daemons:.
additional daemons: syslogd.
Doing additional network setup:.
Starting final network daemons: creating ssh RSA host key
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:
cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
creating ssh DSA host key
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:
f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
/usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
starting standard daemons: inetd cron sshd usbd sendmail.
Initial rc.i386 initialization:.
rc.i386 configuring syscons: blank_time screensaver moused.
Additional ABI support: linux.
Local package initialization:.
Additional TCP options:.
FreeBSD/i386 (k6-2.example.com) (ttyv0)
login: rpratt
Password:</screen>
<para>Generating the RSA and DSA keys may take some time on slower
machines. This happens only on the initial boot-up of a new
installation. Subsequent boots will be faster.</para>
<para>If <application>&xorg;</application> has been configured
and a default desktop
chosen, it can be started by typing <command>startx</command> at
the command line.</para>
</sect3>
</sect2>
<sect2 id="shutdown">
<title>&os; Shutdown</title>
<para>It is important to properly shutdown the operating
system. Do not just turn off the power. First, become the
superuser using
&man.su.1; and entering the
<username>root</username> password. This will work only if the user
is a member of <groupname>wheel</groupname>.
Otherwise, login as <username>root</username>. To shutdown
the system, type
<command>shutdown -h now</command>.</para>
<screen>The operating system has halted.
Please press any key to reboot.</screen>
<para>It is safe to turn off the power after the shutdown command
has been issued and the message
<quote>Please press any key to reboot</quote>
appears. If any key is pressed instead of turning off the power
switch, the system will reboot.</para>
<para>The
<keycombo action="simul">
<keycap>Ctrl</keycap>
<keycap>Alt</keycap>
<keycap>Del</keycap>
</keycombo>
key combination can also be used to reboot the system;
however, this is not recommended.</para>
</sect2>
</sect1>
<sect1 id="install-trouble">
<title>Troubleshooting</title>
<indexterm>
<primary>installation</primary>
<secondary>troubleshooting</secondary>
</indexterm>
<para>This section covers basic installation troubleshooting of
common problems. There are also a few
questions and answers for people wishing to dual-boot &os; with
&windows;.</para>
<sect2>
<title>If Something Goes Wrong</title>
<para>Due to various limitations of the PC architecture, it is
impossible for device probing to be 100% reliable. However,
there are a
few things to try if it fails.</para>
<para>Check the <ulink
url="http://www.FreeBSD.org/releases/index.html">Hardware Notes
</ulink> document for the version of &os; to make sure the
hardware is supported.</para>
<para>If the hardware is supported but still experiences
lock-ups or other problems, build a <link
linkend="kernelconfig">custom kernel</link>
to add in 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 IRQs, I/O addresses,
and
DMA channels. If the hardware has been reconfigured,
create a custom kernel configuration file and recompile to
tell
&os; where to find things.</para>
<para>It is also possible that a probe for a device not present
will
cause a later probe for another device that is present to fail. In
that case, the probes for the conflicting driver(s) should be
disabled.</para>
<note>
<para>Some installation problems can be avoided or alleviated
by updating the firmware on various hardware components, most notably
the motherboard
<acronym>BIOS</acronym>. Most motherboard and computer
manufacturers have a website where upgrade
information may be located.</para>
<para>Most manufacturers strongly advise against upgrading the
motherboard <acronym>BIOS</acronym> unless there is a good reason
for doing so, such as
a critical update. The upgrade process
<emphasis>can</emphasis> go wrong, causing permanent damage to the
<acronym>BIOS</acronym> chip.</para>
</note>
</sect2>
<sect2>
<title>Using &windows; Filesystems</title>
<para>At this time, &os; does not support file systems compressed with
the <application>Double Space&trade;</application> application.
Therefore the file system will need to be uncompressed before &os; can
access the data. This
can be done by running the <application>Compression Agent</application>
located in the
<guimenuitem>Start</guimenuitem>&gt; <guimenuitem>Programs</guimenuitem> &gt;
<guimenuitem>System Tools</guimenuitem> menu.</para>
<para>&os; can support &ms-dos; file systems (sometimes called
FAT file systems). The &man.mount.msdosfs.8; command grafts such file
systems onto the existing directory hierarchy, allowing the file
system's contents to be accessed. The &man.mount.msdosfs.8; program
is not usually
invoked directly; instead, it is called by the system through a line
in <filename>/etc/fstab</filename> or by using
&man.mount.8;
with the appropriate parameters.</para>
<para>A typical line in <filename>/etc/fstab</filename> is:</para>
<programlisting>/dev/ad0sN /dos msdosfs rw 0 0</programlisting>
<note><para><filename class="directory">/dos</filename> must
already
exist for this to work. For details about the format of
<filename>/etc/fstab</filename>, see &man.fstab.5;.</para></note>
<para>A typical call to &man.mount.8; for a FAT filesystem
looks like:</para>
<screen>&prompt.root; <userinput>mount -t msdosfs /dev/ad0s1 /mnt</userinput></screen>
<para>In this example, the FAT filesystem is located on the
first
partition of the primary hard disk. The
output from &man.dmesg.8; and
&man.mount.8; should produce enough
information to give an idea of the partition layout.</para>
<note><para>&os; may number FAT partitions
differently than other operating systems. In particular, extended
partitions are usually given higher slice numbers than
primary partitions. Use &man.fdisk.8; to help
determine which slices belong to &os; and which belong to other
operating systems.</para></note>
<para>NTFS partitions can also be mounted in a similar manner
using &man.mount.ntfs.8;.</para>
</sect2>
<sect2>
<title>Troubleshooting Questions and Answers</title>
<qandaset>
<qandaentry>
<question>
<para>My system hangs while probing hardware during boot
or it behaves strangely during install.</para>
</question>
<answer>
<para>&os; makes extensive use of the system
ACPI service on the i386, amd64, and ia64 platforms to
aid in system configuration if it is detected during
boot. Unfortunately, some bugs still exist in the
ACPI driver and various system motherboards.
The use of ACPI can be disabled by setting
<literal>hint.acpi.0.disabled</literal> 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
<filename>/boot/loader.conf</filename> to make this
change permanent. More
information about the boot loader can be found
in <xref linkend="boot-synopsis"/>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>When booting from the hard disk for the first time
after installing &os;, the kernel loads and probes
hardware, but stops with messages like:</para>
<screen>changing root device to ad1s1a panic: cannot mount root</screen>
<para>What is wrong?</para>
</question>
<answer>
<para>This can occur when
the boot disk is not the first disk in the system. The
BIOS uses a different numbering scheme to &os;, and
working out which numbers correspond to which is
difficult to get right.</para>
<para>If this occurs,
tell &os; where the root
filesystem is by specifying the BIOS disk
number, the disk type, and the &os; disk number for that
type.</para>
<para>Consider two IDE disks,
each configured as the master on their respective IDE
bus, where &os; should be booted from the second disk.
The
BIOS sees these as disk 0 and disk 1, while &os; sees
them as <devicename>ad0</devicename> and
<devicename>ad2</devicename>.</para>
<para>If &os; is on BIOS disk 1, of type
<literal>ad</literal> and the &os; disk number is 2,
this is the correct value:</para>
<screen><userinput>1:ad(2,a)kernel</userinput></screen>
<para>Note that if there is a slave on the primary bus,
the above is not necessary and is effectively
wrong.</para>
<para>The second situation involves booting from a SCSI
disk when there are one or more IDE disks in the system.
In this case, the &os; disk number is lower than the
BIOS disk number. For two IDE disks and a
SCSI disk, where the SCSI disk is BIOS disk 2,
type <literal>da</literal>, and &os; disk number 0, the
correct value is:</para>
<screen><userinput>2:da(0,a)kernel</userinput></screen>
<para>This tells &os; to boot from BIOS disk 2,
which is the first SCSI disk in the system. If there
is only IDE disk, use <literal>1:</literal>
instead.</para>
<para>Once the correct value to use is determined,
put the command
in <filename>/boot.config</filename> using a
text editor. Unless instructed otherwise, &os;
will use the contents of this file as the default
response to the <literal>boot:</literal> prompt.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>When booting from the hard disk for the first time
after installing &os;, the Boot Manager prompt just
prints <literal>F?</literal> at the boot menu and
the boot will not go any further.</para>
</question>
<answer>
<para>The hard disk geometry was set incorrectly in the
partition editor when &os; was installed. Go back into
the partition editor and specify the actual geometry of
the hard disk. &os; must be reinstalled again from the
beginning with the correct geometry.</para>
<para>For a dedicated &os; system that does not need
future compatibility with another operating system,
use the entire disk by selecting
<guimenuitem>A</guimenuitem> in the installer's
partition editor.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>The system finds the &man.ed.4; network card but
continuously displays device timeout errors.</para>
</question>
<answer>
<para>The card is probably on a different IRQ from what
is specified in
<filename>/boot/device.hints</filename>. The
&man.ed.4; driver does not use software
configuration by default,
but it will if
<literal>-1</literal> is specified in the hints for the
interface.</para>
<para>Either move the jumper on the card to the
configuration setting or specify the IRQ as
<literal>-1</literal>
by setting the hint <literal>hint.ed.0.irq="-1"</literal>.
This tells the kernel to use the software
configuration.</para>
<para>Another possibility is that the card is at IRQ 9,
which is shared by IRQ 2 and frequently a cause of
problems, especially if a VGA card is using IRQ
2. Do not use IRQ 2 or 9 if at all
possible.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<indexterm>
<primary>color</primary>
<secondary>contrast</secondary>
</indexterm>
<para>When &man.sysinstall.8; is used
in an <application>&xorg;</application> terminal, the
yellow font is difficult to read
against the light gray background. Is there a way to
provide higher contrast for this application?</para>
</question>
<answer>
<para>If the default
colors chosen by &man.sysinstall.8;
make text illegible while using <filename
role="package">x11/xterm</filename> or <filename
role="package">x11/rxvt</filename>,
add the following to <filename>~/.Xdefaults</filename>
to
get a darker background gray: <literal>XTerm*color7:
#c0c0c0</literal></para>
</answer>
</qandaentry>
</qandaset>
</sect2>
</sect1>
<sect1 id="install-advanced">
<sect1info>
<authorgroup>
<author>
<firstname>Valentino</firstname>
<surname>Vaschetto</surname>
<contrib>Contributed by </contrib>
</author>
<!-- May 2001 -->
</authorgroup>
<authorgroup>
<author>
<firstname>Marc</firstname>
<surname>Fonvieille</surname>
<contrib>Updated by </contrib>
</author>
</authorgroup>
<!-- August 2010 -->
</sect1info>
<title>Advanced Installation Guide</title>
<para>This section describes how to install &os; in exceptional
cases.</para>
<sect2 id="headless-install">
<title>Installing &os; on a System Without a Monitor or
Keyboard</title>
<indexterm>
<primary>installation</primary>
<secondary>headless (serial console)</secondary>
</indexterm>
<indexterm><primary>serial console</primary></indexterm>
<para>This type of installation is called a <quote>headless
install</quote> because the machine to be installed
does not have either an attached monitor or a
VGA output. This type of installation is possible using a
serial console, another
machine which acts as the main display and keyboard.
To do this, follow the steps to create
an installation USB stick, explained in <xref
linkend="install-boot-media"/>, or download the correct
installation ISO image as described in <xref
linkend="install-cdrom"/>.</para>
<para>To modify the installation media to boot into a serial
console, follow
these steps. If using a CD/DVD media, skip the first
step):</para>
<procedure>
<step>
<title>Enabling the Installation USB Stick to Boot into a
Serial Console</title>
<indexterm>
<primary>&man.mount.8;</primary>
</indexterm>
<para>By default, booting into the USB stick
boots into the installer.
To instead boot into a serial console, mount the
USB disk onto a &os;
system using &man.mount.8;:</para>
<screen>&prompt.root; <userinput>mount /dev/<replaceable>da0a</replaceable> <replaceable>/mnt</replaceable></userinput></screen>
<note>
<para>Adapt the device node and the mount point to the
situation.</para>
</note>
<para>Once the USB stick is mounted, set
it to boot into a serial console.
Add this line to <filename>/boot/loader.conf</filename>
on the USB stick:</para>
<screen>&prompt.root; <userinput>echo 'console="comconsole"' &gt;&gt; <replaceable>/mnt</replaceable>/boot/loader.conf</userinput></screen>
<para>Now that the USB is stick configured correctly,
unmount the disk using &man.umount.8;:</para>
<screen>&prompt.root; <userinput>umount <replaceable>/mnt</replaceable></userinput></screen>
<para>Now, unplug the USB stick and jump directly
to the third step of this procedure.</para>
</step>
<step>
<title>Enabling the Installation CD/DVD to Boot into a
Serial Console</title>
<indexterm>
<primary>&man.mount.8;</primary>
</indexterm>
<para>By default, when booting into the installation
CD/DVD, &os; boots into its
normal install mode. To instead boot into a serial
console,
extract, modify, and regenerate the ISO image before
burning it to the CD/DVD media.</para>
<para>From the &os; system with the saved installation
ISO image,
use &man.tar.1; to extract all the files:</para>
<screen>&prompt.root; <userinput>mkdir <replaceable>/path/to/headless-iso</replaceable></userinput>
&prompt.root; <userinput>tar -C <replaceable>/path/to/headless-iso</replaceable> -pxvf &os;-<replaceable>&rel.current;</replaceable>-RELEASE-<replaceable>i386</replaceable>-disc1.iso</userinput></screen>
<para>Next, set the installation media to boot into a
serial console. Add this line to the
<filename>/boot/loader.conf</filename> of the extracted
ISO image:</para>
<screen>&prompt.root; <userinput>echo 'console="comconsole"' &gt;&gt; <replaceable>/path/to/headless-iso</replaceable>/boot/loader.conf</userinput></screen>
<para>Then, create a new ISO image from the modified
tree. This example uses &man.mkisofs.8; from the
<filename role="package">sysutils/cdrtools</filename>
package or port:</para>
<screen>&prompt.root; <userinput>mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "<replaceable>Headless_install</replaceable>" \
-o <replaceable>Headless-</replaceable>&os;-<replaceable>&rel2.current;</replaceable>-RELEASE-<replaceable>i386</replaceable>-disc1.iso<replaceable>/path/to/headless-iso</replaceable></userinput></screen>
<para>Now that the ISO image is configured correctly,
burn it to a CD/DVD media using a burning
application.</para>
</step>
<step>
<title>Connecting the Null-modem Cable</title>
<indexterm><primary>null-modem cable</primary></indexterm>
<para>Connect a
<link linkend="term-cables-null">null-modem cable</link>
to the serial
ports of the two machines. <emphasis>A normal serial
cable will not work</emphasis>. A null-modem
cable is required.</para>
</step>
<step>
<title>Booting Up for the Install</title>
<para>It is now time to go ahead and start the install. Plug in
the USB stick or insert the CD/DVD media in
the headless install machine
and power it on.</para>
</step>
<step>
<title>Connecting to the Headless Machine</title>
<indexterm>
<primary>&man.cu.1;</primary>
</indexterm>
<para>Next, connect to that machine with
&man.cu.1;:</para>
<screen>&prompt.root; <userinput>cu -l /dev/cuau0</userinput></screen>
</step>
</procedure>
<para>The headless machine can now be controlled
using &man.cu.1;. It will load the kernel
and then dispaly
a selection of which type of terminal to use. Select the
&os; color console and proceed with the installation.</para>
</sect2>
</sect1>
<sect1 id="install-diff-media">
<title>Preparing Custom Installation Media</title>
<para>Some situations may require a customized
&os; installation media and/or source. This might be physical
media
or a source that &man.sysinstall.8;
can use to retrieve the installation files. Some example
situations include:</para>
<itemizedlist>
<listitem>
<para>A local network with many machines has a private
FTP server hosting the
&os; installation files which the machines should
use for installation.</para>
</listitem>
<listitem>
<para>&os; does not recognize the
CD/DVD drive but &windows; does. In this case, copy the
&os; installation files to a &windows; partition on the same
computer, and then install &os; using those files.</para>
</listitem>
<listitem>
<para>The computer to install does not have a CD/DVD
drive or a network card, but can be connected using a
null-printer cable to a computer
that does.</para>
</listitem>
<listitem>
<para>A tape will be be used to install
&os;.</para>
</listitem>
</itemizedlist>
<sect2 id="install-cdrom">
<title>Creating an Installation ISO</title>
<para>As part of each release, the &os; Project provides ISO
images for each supported
architecture. These images can be written
(<quote>burned</quote>) to CD or DVD media using a burning
application, and then used
to install &os;. If a CD/DVD writer is available,
this is the easiest way to install &os;.</para>
<procedure>
<step>
<title>Download the Correct ISO Images</title>
<para>The ISO images for each release can be downloaded from <filename>ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-<replaceable>arch</replaceable>/<replaceable>version</replaceable></filename> or the closest mirror.
or the closest mirror. Substitute
<replaceable>arch</replaceable> and
<replaceable>version</replaceable> as appropriate.</para>
<para>An image directory normally contains the following
images:</para>
<table frame="none">
<title>&os;
ISO Image Names and Meanings</title>
<tgroup cols="2">
<thead>
<row>
<entry>Filename</entry>
<entry>Contents</entry>
</row>
</thead>
<tbody>
<row>
<entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-bootonly.iso</filename></entry>
<entry>This CD image starts the installation
process by booting from a CD-ROM drive but it does not
contain the support for installing &os; from the CD
itself. Perform a network based install, such as
from an FTP server, after booting from this
CD.</entry>
</row>
<row>
<entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-dvd1.iso.gz</filename></entry>
<entry>This DVD image contains everything necessary to
install the base &os; operating system, a
collection of pre-built packages, and the
documentation. It also supports booting into a
<quote>livefs</quote> based rescue mode.</entry>
</row>
<row>
<entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-memstick.img</filename></entry>
<entry>This image can be written to an USB memory stick
in order to install machines capable of booting
from USB drives. It also supports booting into a
<quote>livefs</quote> based rescue mode. The only
included package is the documentation
package.</entry>
</row>
<row>
<entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-disc1.iso</filename></entry>
<entry>This CD image contains the base &os; operating
system and the documentation package but no other
packages.</entry>
</row>
<row>
<entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-disc2.iso</filename></entry>
<entry>A CD image with as many third-party packages
as would fit on the disc. This image is not
available for &os;&nbsp;9.<replaceable>X</replaceable>.</entry>
</row>
<row>
<entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-disc3.iso</filename></entry>
<entry>Another CD image with as many third-party
packages as would fit on the disc. This image is
not available for &os;&nbsp;9.<replaceable>X</replaceable>.</entry>
</row>
<row>
<entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-livefs.iso</filename></entry>
<entry>This CD image contains support for booting into
a <quote>livefs</quote> based rescue mode but does not
support doing an install from the CD itself.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>When performing a CD installation, download either
the <literal>bootonly</literal> ISO image
or <literal>disc1</literal>. Do not download
both, since <literal>disc1</literal>
contains everything that the <literal>bootonly</literal>
ISO image contains.</para>
<para>Use the <literal>bootonly</literal> ISO to perform a
network install over the Internet. Additional software
can be installed as needed using
the Ports Collection as described in
<xref linkend="ports"/>.</para>
<para>Use <literal>dvd1</literal> to
install &os;
and a selection of third-party packages
from the disc.</para>
</step>
<step>
<title>Burn the Media</title>
<para>Next, write the downloaded image(s) to disc. If using
another &os; system, refer to
<xref linkend="burncd"/> and
<xref linkend="cdrecord"/> for instructions.</para>
<para>If using another platform,
use any burning utility that exists for
that platform. The images are in the standard ISO format
which most CD writing applications support.</para>
</step>
</procedure>
<note><para>To build a customized
release of &os;, refer to the <ulink
url="&url.articles.releng;">Release Engineering
Article</ulink>.</para></note>
</sect2>
<sect2 id="install-ftp">
<title>Creating a Local FTP Site with a &os; Disc</title>
<indexterm>
<primary>installation</primary>
<secondary>network</secondary>
<tertiary>FTP</tertiary>
</indexterm>
<para>&os; discs are laid out in the same way as the FTP site. This
makes it easy to create a local FTP site that can be used
by other machines on a network to install &os;.</para>
<procedure>
<step>
<para>On the &os; computer that will host the FTP site, ensure
that the CD/DVD is in the drive and mounted:</para>
<screen>&prompt.root; <userinput>mount /cdrom</userinput></screen>
</step>
<step>
<para>Create an account for anonymous FTP. Use &man.vipw.8;
to insert
this line:</para>
<programlisting>ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent</programlisting>
</step>
<step>
<para>Ensure that the FTP service is enabled in
<filename>/etc/inetd.conf</filename>.</para>
</step>
</procedure>
<para>Anyone with network connectivity to the machine can now
chose a media type of FTP and type in
<userinput>ftp://<replaceable>your machine</replaceable></userinput>
after picking <quote>Other</quote> in the FTP sites menu during
the install.</para>
<note>
<para>If the boot media for the FTP
clients is not precisely the same version as that provided
by the local FTP site, &man.sysinstall.8;
will not
complete the installation.
To override this, go into the
<guimenu>Options</guimenu> menu and change the distribution
name to
<guimenuitem>any</guimenuitem>.</para>
</note>
<warning>
<para>This approach is acceptable for a machine on the local
network which
is protected by a firewall. Offering anonymous FTP services
to
other machines over the Internet
exposes the computer to increased security risks.
It is strongly recommended to follow good security
practices when providing services over the Internet.</para>
</warning>
</sect2>
<sect2 id="install-msdos">
<title>Installing from an &windows; Partition</title>
<indexterm>
<primary>installation</primary>
<secondary>from &windows;</secondary>
</indexterm>
<para>To prepare for an installation from a &windows;
partition,
copy the files from the distribution into a directory
in the root directory of the
partition, such as <filename
class="directory">c:\freebsd</filename>. Since the
directory structure must be
reproduced, it is recommended to use
<command>robocopy</command> when copying from a CD/DVD.
For example, to prepare for a minimal installation of
&os;:</para>
<screen><prompt>C:\&gt;</prompt> <userinput>md c:\freebsd</userinput>
<prompt>C:\&gt;</prompt> <userinput>robocopy e:\bin c:\freebsd\bin\ /s</userinput>
<prompt>C:\&gt;</prompt> <userinput>robocopy e:\manpages c:\freebsd\manpages\ /s</userinput></screen>
<para>This example assumes that <devicename>C:</devicename>
has enough
free space and <devicename>E:</devicename> is where the
CD/DVD
is mounted.</para>
<para>Alternatively, download the
distribution from <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">ftp.FreeBSD.org</ulink>.
Each distribution is in its own directory; for example, the
<emphasis>base</emphasis> distribution can be found in the <ulink
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/base/">&rel2.current;/base/</ulink>
directory.</para>
<para>Copy the distributions to install from a &windows;
partition to <filename
class="directory">c:\freebsd</filename>. Both the
<literal>base</literal> and <literal>kernel</literal>
distributions are needed for
the most minimal installation.</para>
</sect2>
<sect2>
<title>Before Installing over a Network</title>
<indexterm>
<primary>installation</primary>
<secondary>network</secondary>
<tertiary>serial (PPP)</tertiary>
</indexterm>
<indexterm>
<primary>installation</primary>
<secondary>network</secondary>
<tertiary>parallel (PLIP)</tertiary>
</indexterm>
<indexterm>
<primary>installation</primary>
<secondary>network</secondary>
<tertiary>Ethernet</tertiary>
</indexterm>
<para>There are three types of network installations
available:
Ethernet, PPP, and
PLIP.</para>
<para>For the fastest possible network installation, use an
Ethernet adapter. &os; supports most
common Ethernet cards. A list of supported cards
is provided in the Hardware Notes for each
release of &os;. If using a supported PCMCIA
Ethernet card, be sure that it is plugged in
<emphasis>before</emphasis> the system is powered on as
&os; does
not support hot insertion of PCMCIA cards
during installation.</para>
<para>Make note of the system's IP address,
subnet mask, hostname, default gateway address, and DNS
server addresses if these values are statically assigned.
If installing by FTP through a
HTTP proxy, make note of the proxy's address.
If you do not know these values, ask the system
administrator
or ISP <emphasis>before</emphasis> trying this type of
installation.</para>
<para>If using a dialup modem, have the service
provider's PPP information handy as it is needed
early in the installation process.</para>
<para>If PAP or CHAP are used to connect to the
<acronym>ISP</acronym> without using a script,
type <command>dial</command> at the &os;
<application>ppp</application> prompt. Otherwise,
know how to dial the <acronym>ISP</acronym> using the
<quote>AT commands</quote>
specific to the modem, as the PPP dialer provides only a
simple terminal emulator. Refer to <xref
linkend="userppp"/> and <ulink
url="&url.books.faq;/ppp.html"></ulink>
for further information.
Logging can be directed to the screen using
<command>set log local ...</command>.</para>
<para>If a hard-wired connection to another &os;
machine is available, the installation can occur
over a null-modem parallel port cable. The data rate
over the parallel port is higher than what is typically
possible over a serial line.</para>
<sect3>
<title>Before Installing via <acronym>NFS</acronym></title>
<indexterm>
<primary>installation</primary>
<secondary>network</secondary>
<tertiary>NFS</tertiary>
</indexterm>
<para>To perform an <acronym>NFS</acronym> installation,
copy the needed &os; distribution files to an
<acronym>NFS</acronym> server
and then point the installer's <acronym>NFS</acronym>
media selection to it.</para>
<para>If the server supports only a <quote>privileged
port</quote>,
set the option <literal>NFS Secure</literal> in the
<guimenu>Options</guimenu> menu so that the installation
can
proceed.</para>
<para>If using a poor quality Ethernet card which suffers
from slow transfer rates, toggle the
<literal>NFS Slow</literal> flag to on.</para>
<para>In order for an <acronym>NFS</acronym> installation to
work, the server must
support subdir mounts. For example, if the
&os;&nbsp;&rel.current; distribution lives on:
<filename
class="directory">ziggy:/usr/archive/stuff/FreeBSD</filename>,
<hostid>ziggy</hostid> will have to allow the direct mounting
of <filename
class="directory">/usr/archive/stuff/FreeBSD</filename>,
not just
<filename class="directory">/usr</filename> or
<filename
class="directory">/usr/archive/stuff</filename>.</para>
<para>In &os;, this
is controlled by using <option>-alldirs</option> in
<filename>/etc/exports</filename>. Other
<acronym>NFS</acronym>
servers may have different conventions. If the server is
displaying
<errorname>permission denied</errorname> messages,
it is likely that this is not enabled
properly.</para>
</sect3>
</sect2>
</sect1>
</chapter>