Whitespace fixes. Translators can ignore them.

This commit is contained in:
Benedict Reuschling 2014-05-26 17:21:11 +00:00
parent 158eeecfa8
commit 2d07b07efe
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44961

View file

@ -1,14 +1,24 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN" <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd"> "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en"> <article xmlns="http://docbook.org/ns/docbook"
<info><title>Remote Installation of the &os; Operating System Without a xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:lang="en">
<info>
<title>Remote Installation of the &os; Operating System Without a
Remote Console</title> Remote Console</title>
<author>
<author><personname><firstname>Daniel</firstname><surname>Gerzo</surname></personname><affiliation> <personname>
<address><email>danger@FreeBSD.org</email></address> <firstname>Daniel</firstname>
</affiliation></author> <surname>Gerzo</surname>
</personname>
<affiliation>
<address>
<email>danger@FreeBSD.org</email>
</address>
</affiliation>
</author>
<legalnotice xml:id="trademarks" role="trademarks"> <legalnotice xml:id="trademarks" role="trademarks">
&tm-attrib.freebsd; &tm-attrib.freebsd;
@ -27,25 +37,25 @@
<abstract> <abstract>
<para>This article documents the remote installation of the &os; <para>This article documents the remote installation of the &os;
operating system when the console of the remote system is operating system when the console of the remote system is
unavailable. The main idea behind this article is the result of unavailable. The main idea behind this article is the result
a collaboration with &a.mm.email; with valuable input provided by of a collaboration with &a.mm.email; with valuable input
&a.pjd.email;.</para> provided by &a.pjd.email;.</para>
</abstract> </abstract>
</info> </info>
<sect1 xml:id="background"> <sect1 xml:id="background">
<title>Background</title> <title>Background</title>
<para>There are many server hosting providers in the world, but very <para>There are many server hosting providers in the world, but
few of them are officially supporting &os;. They usually provide very few of them are officially supporting &os;. They usually
support for a &linux; distribution to be installed on the servers provide support for a &linux; distribution to be installed on
they offer.</para> the servers they offer.</para>
<para>In some cases, these companies will install your preferred <para>In some cases, these companies will install your preferred
&linux; distribution if you request it. Using this option, we will &linux; distribution if you request it. Using this option, we
attempt to install &os;. In other cases, they may offer a rescue will attempt to install &os;. In other cases, they may offer a
system which would be used in an emergency. It is possible to use rescue system which would be used in an emergency. It is
this for our purposes as well.</para> possible to use this for our purposes as well.</para>
<para>This article covers the basic installation and configuration <para>This article covers the basic installation and configuration
steps required to bootstrap a remote installation of &os; with steps required to bootstrap a remote installation of &os; with
@ -56,18 +66,20 @@
<title>Introduction</title> <title>Introduction</title>
<para>This section will summarize the purpose of this article and <para>This section will summarize the purpose of this article and
better explain what is covered herein. The instructions included better explain what is covered herein. The instructions
in this article will benefit those using services provided by included in this article will benefit those using services
colocation facilities not supporting &os;.</para> provided by colocation facilities not supporting &os;.</para>
<procedure> <procedure>
<step> <step>
<para>As we have mentioned in the <link linkend="background">Background</link> section, many of the <para>As we have mentioned in the <link
reputable server hosting companies provide some kind of rescue linkend="background">Background</link> section, many of
system, which is booted from their <acronym>LAN</acronym> and the reputable server hosting companies provide some kind of
accessible over <application>SSH</application>. They usually rescue system, which is booted from their
provide this support in order to help their customers fix <acronym>LAN</acronym> and accessible over
broken operating systems. As this article will explain, it is <application>SSH</application>. They usually provide this
support in order to help their customers fix broken
operating systems. As this article will explain, it is
possible to install &os; with the help of these rescue possible to install &os; with the help of these rescue
systems.</para> systems.</para>
<!-- XXXTR: Solaris has a restore command, something like <!-- XXXTR: Solaris has a restore command, something like
@ -77,10 +89,11 @@
<step> <step>
<para>The next section of this article will describe how to <para>The next section of this article will describe how to
configure, and build minimalistic &os; on the local machine. configure, and build minimalistic &os; on the local machine.
That version will eventually be running on the remote machine That version will eventually be running on the remote
from a ramdisk, which will allow us to install a complete &os; machine from a ramdisk, which will allow us to install a
operating system from an <acronym>FTP</acronym> mirror using complete &os; operating system from an
the <application>sysinstall</application> utility.</para> <acronym>FTP</acronym> mirror using the
<application>sysinstall</application> utility.</para>
</step> </step>
<step> <step>
@ -110,8 +123,8 @@
</listitem> </listitem>
<listitem> <listitem>
<para>Have the &os; installation <acronym>ISO</acronym> image <para>Have the &os; installation <acronym>ISO</acronym>
or <acronym>CD</acronym> handy</para> image or <acronym>CD</acronym> handy</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect2> </sect2>
@ -123,28 +136,29 @@
<para>Before &os; may be installed on the target system, it is <para>Before &os; may be installed on the target system, it is
necessary to build the minimal &os; operating system image which necessary to build the minimal &os; operating system image which
will boot from the hard drive. This way the new system can be will boot from the hard drive. This way the new system can be
accessed from the network, and the rest of the installation can be accessed from the network, and the rest of the installation can
done without remote access to the system console.</para> be done without remote access to the system console.</para>
<para>The <application>mfsBSD</application> tool-set can be used to <para>The <application>mfsBSD</application> tool-set can be used
build a tiny &os; image. As the name of to build a tiny &os; image. As the name of
<application>mfsBSD</application> suggests (<quote>mfs</quote> <application>mfsBSD</application> suggests (<quote>mfs</quote>
means <quote>memory file system</quote>), the resulting image runs means <quote>memory file system</quote>), the resulting image
entirely from a ramdisk. Thanks to this feature, the manipulation runs entirely from a ramdisk. Thanks to this feature, the
of hard drives will not be limited, therefore it will be possible manipulation of hard drives will not be limited, therefore it
to install a complete &os; operating system. The home page of will be possible to install a complete &os; operating system.
<application>mfsBSD</application>, at <uri xlink:href="http://people.freebsd.org/~mm/mfsbsd/">http://people.freebsd.org/~mm/mfsbsd/</uri>, includes The home page of <application>mfsBSD</application>, at <uri
pointers to the latest release of the toolset.</para> xlink:href="http://people.freebsd.org/~mm/mfsbsd/">http://people.freebsd.org/~mm/mfsbsd/</uri>,
includes pointers to the latest release of the toolset.</para>
<para>Please note that the internals of <para>Please note that the internals of
<application>mfsBSD</application> and how it all fits together is <application>mfsBSD</application> and how it all fits together
beyond the scope of this article. The interested reader should is beyond the scope of this article. The interested reader
consult the original documentation of should consult the original documentation of
<application>mfsBSD</application> for more details.</para> <application>mfsBSD</application> for more details.</para>
<para>Download and extract the latest <para>Download and extract the latest
<application>mfsBSD</application> release and change your working <application>mfsBSD</application> release and change your
directory to the directory where the working directory to the directory where the
<application>mfsBSD</application> scripts will reside:</para> <application>mfsBSD</application> scripts will reside:</para>
<screen>&prompt.root; <userinput>fetch http://people.freebsd.org/~mm/mfsbsd/mfsbsd-latest.tar.gz</userinput> <screen>&prompt.root; <userinput>fetch http://people.freebsd.org/~mm/mfsbsd/mfsbsd-latest.tar.gz</userinput>
@ -152,28 +166,30 @@
&prompt.root; <userinput>cd <replaceable>mfsbsd-1.0-beta1</replaceable>/</userinput></screen> &prompt.root; <userinput>cd <replaceable>mfsbsd-1.0-beta1</replaceable>/</userinput></screen>
<sect2 xml:id="mfsbsd-config"> <sect2 xml:id="mfsbsd-config">
<title>Configuration of <application>mfsBSD</application></title> <title>Configuration of
<application>mfsBSD</application></title>
<para>Before booting <application>mfsBSD</application>, a few <para>Before booting <application>mfsBSD</application>, a few
important configuration options have to be set. The most important configuration options have to be set. The most
important that we have to get right is, naturally, the network important that we have to get right is, naturally, the network
setup. The most suitable method to configure networking options setup. The most suitable method to configure networking
depends on whether we know beforehand the type of the network options depends on whether we know beforehand the type of the
interface we will use, and the network interface driver to be network interface we will use, and the network interface
loaded for our hardware. We will see how driver to be loaded for our hardware. We will see how
<application>mfsBSD</application> can be configured in either <application>mfsBSD</application> can be configured in either
case.</para> case.</para>
<para>Another important thing to set is the <para>Another important thing to set is the <systemitem
<systemitem class="username">root</systemitem> password. This can be done by editing class="username">root</systemitem> password. This can be
<filename>conf/rootpw.conf</filename>. Please keep in done by editing <filename>conf/rootpw.conf</filename>. Please
mind that the file will contain your password in the plain text, keep in mind that the file will contain your password in the
thus we do not recommend to use real password here. plain text, thus we do not recommend to use real password
Nevertheless, this is just a temporary one-time password which here. Nevertheless, this is just a temporary one-time
can be later changed in a live system.</para> password which can be later changed in a live system.</para>
<sect3> <sect3>
<title>The <filename>conf/interfaces.conf</filename> method</title> <title>The <filename>conf/interfaces.conf</filename>
method</title>
<para>When the installed network interface card is unknown, we <para>When the installed network interface card is unknown, we
can use the auto-detection features of can use the auto-detection features of
@ -188,8 +204,9 @@ initconf_mac_ext1="00:00:00:00:00:00"
initconf_ip_ext1="192.168.0.2" initconf_ip_ext1="192.168.0.2"
initconf_netmask_ext1="255.255.255.0"</programlisting> initconf_netmask_ext1="255.255.255.0"</programlisting>
<para>Do not forget to add the <literal>defaultrouter</literal> <para>Do not forget to add the
information to <filename>conf/rc.conf</filename>:</para> <literal>defaultrouter</literal> information to
<filename>conf/rc.conf</filename>:</para>
<programlisting>defaultrouter="192.168.0.1"</programlisting> <programlisting>defaultrouter="192.168.0.1"</programlisting>
</sect3> </sect3>
@ -198,14 +215,15 @@ initconf_netmask_ext1="255.255.255.0"</programlisting>
<title>The <filename>conf/rc.conf</filename> Method</title> <title>The <filename>conf/rc.conf</filename> Method</title>
<para>When the network interface driver is known, it is more <para>When the network interface driver is known, it is more
convenient to use <filename>conf/rc.conf</filename> convenient to use <filename>conf/rc.conf</filename> for
for networking options. The syntax of this file is the same networking options. The syntax of this file is the same as
as the one used in the standard &man.rc.conf.5; file of the one used in the standard &man.rc.conf.5; file of
&os;.</para> &os;.</para>
<para>For example, if you know that a &man.re.4; network <para>For example, if you know that a &man.re.4; network
interface is going to be available, you can set the following interface is going to be available, you can set the
options in <filename>conf/rc.conf</filename>:</para> following options in
<filename>conf/rc.conf</filename>:</para>
<programlisting>defaultrouter="192.168.0.1" <programlisting>defaultrouter="192.168.0.1"
ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"</programlisting> ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"</programlisting>
@ -213,18 +231,21 @@ ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"</programlisting>
</sect2> </sect2>
<sect2 xml:id="mfsbsd-build"> <sect2 xml:id="mfsbsd-build">
<title>Building an <application>mfsBSD</application> Image</title> <title>Building an <application>mfsBSD</application>
Image</title>
<para>The process of building an <application>mfsBSD</application> <para>The process of building an
image is pretty straightforward.</para> <application>mfsBSD</application> image is pretty
straightforward.</para>
<para>The first step is to mount the &os; installation <para>The first step is to mount the &os; installation
<acronym>CD</acronym>, or the installation <acronym>CD</acronym>, or the installation
<acronym>ISO</acronym> image to <filename>/cdrom</filename>. For the sake of example, <acronym>ISO</acronym> image to <filename>/cdrom</filename>.
in this article we will assume that you have downloaded the &os; For the sake of example, in this article we will assume that
7.0-RELEASE <acronym>ISO</acronym>. Mounting this ISO image to you have downloaded the &os; 7.0-RELEASE
the <filename>/cdrom</filename> directory is <acronym>ISO</acronym>. Mounting this ISO image to the
easy with the &man.mdconfig.8; utility:</para> <filename>/cdrom</filename> directory is easy with the
&man.mdconfig.8; utility:</para>
<screen>&prompt.root; <userinput>mdconfig -a -t vnode -u 10 -f <replaceable>7.0-RELEASE-amd64-disc1.iso</replaceable></userinput> <screen>&prompt.root; <userinput>mdconfig -a -t vnode -u 10 -f <replaceable>7.0-RELEASE-amd64-disc1.iso</replaceable></userinput>
&prompt.root; <userinput>mount_cd9660 /dev/md10 /cdrom</userinput></screen> &prompt.root; <userinput>mount_cd9660 /dev/md10 /cdrom</userinput></screen>
@ -235,9 +256,10 @@ ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"</programlisting>
<screen>&prompt.root; <userinput>make BASE=/cdrom/<replaceable>7.0-RELEASE</replaceable></userinput></screen> <screen>&prompt.root; <userinput>make BASE=/cdrom/<replaceable>7.0-RELEASE</replaceable></userinput></screen>
<note> <note>
<para>The above <command>make</command> has to be run <para>The above <command>make</command> has to be run from the
from the top level of the <application>mfsBSD</application> top level of the <application>mfsBSD</application> directory
directory tree, for example <filename>~/mfsbsd-1.0-beta1/</filename>.</para> tree, for example
<filename>~/mfsbsd-1.0-beta1/</filename>.</para>
</note> </note>
</sect2> </sect2>
@ -252,20 +274,21 @@ ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"</programlisting>
<screen>&prompt.root; <userinput>scp disk.img root@192.168.0.2:.</userinput></screen> <screen>&prompt.root; <userinput>scp disk.img root@192.168.0.2:.</userinput></screen>
<para>To boot <application>mfsBSD</application> image properly, it <para>To boot <application>mfsBSD</application> image properly,
must be placed on the first (bootable) device of the given it must be placed on the first (bootable) device of the given
machine. This may be accomplished using this example providing machine. This may be accomplished using this example
that <filename>sda</filename> is the first bootable disk providing that <filename>sda</filename> is the first bootable
device:</para> disk device:</para>
<screen>&prompt.root; <userinput>dd if=/root/disk.img of=/dev/sda bs=1m</userinput></screen> <screen>&prompt.root; <userinput>dd if=/root/disk.img of=/dev/sda bs=1m</userinput></screen>
<para>If all went well, the image should now be in the <para>If all went well, the image should now be in the
<acronym>MBR</acronym> of the first device and the machine can <acronym>MBR</acronym> of the first device and the machine can
be rebooted. Watch for the machine to boot up properly with the be rebooted. Watch for the machine to boot up properly with
&man.ping.8; tool. Once it has came back on-line, it should be the &man.ping.8; tool. Once it has came back on-line, it
possible to access it over &man.ssh.1; as user should be possible to access it over &man.ssh.1; as user
<systemitem class="username">root</systemitem> with the configured password.</para> <systemitem class="username">root</systemitem> with the
configured password.</para>
</sect2> </sect2>
</sect1> </sect1>
@ -274,19 +297,19 @@ ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"</programlisting>
<para>The <application>mfsBSD</application> has been successfully <para>The <application>mfsBSD</application> has been successfully
booted and it should be possible to log in through &man.ssh.1;. booted and it should be possible to log in through &man.ssh.1;.
This section will describe how to create and label slices, set up This section will describe how to create and label slices, set
<application>gmirror</application> for RAID-1, and how to use up <application>gmirror</application> for RAID-1, and how to use
<application>sysinstall</application> to install a minimal <application>sysinstall</application> to install a minimal
distribution of the &os; operating system.</para> distribution of the &os; operating system.</para>
<sect2> <sect2>
<title>Preparation of Hard Drives</title> <title>Preparation of Hard Drives</title>
<para>The first task is to allocate disk space for &os;, i.e.: to <para>The first task is to allocate disk space for &os;, i.e.:
create slices and partitions. Obviously, the currently running to create slices and partitions. Obviously, the currently
system is fully loaded in system memory and therefore there will running system is fully loaded in system memory and therefore
be no problems with manipulating hard drives. To complete this there will be no problems with manipulating hard drives. To
task, it is possible to use either complete this task, it is possible to use either
<application>sysinstall</application> or &man.fdisk.8; in <application>sysinstall</application> or &man.fdisk.8; in
conjunction to &man.bsdlabel.8;.</para> conjunction to &man.bsdlabel.8;.</para>
@ -295,28 +318,31 @@ ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"</programlisting>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/<replaceable>ad0</replaceable> count=2</userinput></screen> <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/<replaceable>ad0</replaceable> count=2</userinput></screen>
<para>Next, create slices and label them with your preferred tool. <para>Next, create slices and label them with your preferred
While it is considered easier to use tool. While it is considered easier to use
<application>sysinstall</application>, a powerful and also <application>sysinstall</application>, a powerful and also
probably less buggy method will be to use standard text-based probably less buggy method will be to use standard text-based
&unix; tools, such as &man.fdisk.8; and &man.bsdlabel.8;, which &unix; tools, such as &man.fdisk.8; and &man.bsdlabel.8;,
will also be covered in this section. The former option is well which will also be covered in this section. The former option
documented in the <link xlink:href="&url.books.handbook;/install-steps.html">Installing &os;</link> is well documented in the <link
chapter of the &os; Handbook. As it was mentioned in the xlink:href="&url.books.handbook;/install-steps.html">Installing
introduction, this article will present how to set up a system &os;</link> chapter of the &os; Handbook. As it was
with RAID-1 and <application>ZFS</application> capabilities. mentioned in the introduction, this article will present how
Our set up will consist of a small &man.gmirror.8; mirrored to set up a system with RAID-1 and
<filename>/</filename> (root), <filename>/usr</filename> and <filename>/var</filename> dataset, and the rest of <application>ZFS</application> capabilities. Our set up will
the disk space will be allocated for a &man.zpool.8; mirrored consist of a small &man.gmirror.8; mirrored
<filename>/</filename> (root), <filename>/usr</filename> and
<filename>/var</filename> dataset, and the rest of the disk
space will be allocated for a &man.zpool.8; mirrored
<application>ZFS</application> file system. Please note, that <application>ZFS</application> file system. Please note, that
the <application>ZFS</application> file system will be the <application>ZFS</application> file system will be
configured after the &os; operating system is successfully configured after the &os; operating system is successfully
installed and booted.</para> installed and booted.</para>
<para>The following example will describe how to create slices and <para>The following example will describe how to create slices
labels, initialize &man.gmirror.8; on each partition and how to and labels, initialize &man.gmirror.8; on each partition and
create a <application>UFS2</application> file system in each how to create a <application>UFS2</application> file system in
mirrored partition:</para> each mirrored partition:</para>
<screen>&prompt.root; <userinput>fdisk -BI /dev/ad0</userinput> <co xml:id="fdisk"/> <screen>&prompt.root; <userinput>fdisk -BI /dev/ad0</userinput> <co xml:id="fdisk"/>
&prompt.root; <userinput>fdisk -BI /dev/ad1</userinput> &prompt.root; <userinput>fdisk -BI /dev/ad1</userinput>
@ -347,13 +373,13 @@ ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"</programlisting>
<callout arearefs="bsdlabel-editing"> <callout arearefs="bsdlabel-editing">
<para>Now, manually edit the label of the given disk. Refer <para>Now, manually edit the label of the given disk. Refer
to the &man.bsdlabel.8; manual page in order to find out how to the &man.bsdlabel.8; manual page in order to find out
to create partitions. Create partitions how to create partitions. Create partitions
<literal>a</literal> for <filename>/</filename> (root) file system, <literal>a</literal> for <filename>/</filename> (root)
<literal>b</literal> for swap, <literal>d</literal> for file system, <literal>b</literal> for swap,
<filename>/var</filename>, <literal>d</literal> for <filename>/var</filename>,
<literal>e</literal> for <filename>/usr</filename> and finally <literal>e</literal> for <filename>/usr</filename> and
<literal>f</literal> which will later be used for finally <literal>f</literal> which will later be used for
<application>ZFS</application>.</para> <application>ZFS</application>.</para>
</callout> </callout>
@ -370,13 +396,13 @@ ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"</programlisting>
<callout arearefs="gmirror2"> <callout arearefs="gmirror2">
<para>Note that <option>-F</option> is used for the swap <para>Note that <option>-F</option> is used for the swap
partition. This instructs &man.gmirror.8; to assume that partition. This instructs &man.gmirror.8; to assume that
the device is in the consistent state after the power/system the device is in the consistent state after the
failure.</para> power/system failure.</para>
</callout> </callout>
<callout arearefs="newfs"> <callout arearefs="newfs">
<para>Create a <application>UFS2</application> file system on <para>Create a <application>UFS2</application> file system
each mirrored partition.</para> on each mirrored partition.</para>
</callout> </callout>
</calloutlist> </calloutlist>
</sect2> </sect2>
@ -384,12 +410,12 @@ ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"</programlisting>
<sect2> <sect2>
<title>System Installation</title> <title>System Installation</title>
<para>This is the most important part. This section will describe <para>This is the most important part. This section will
how to actually install the minimal distribution of &os; on the describe how to actually install the minimal distribution of
hard drives that we have prepared in the previous section. To &os; on the hard drives that we have prepared in the previous
accomplish this goal, all file systems need to be mounted so section. To accomplish this goal, all file systems need to be
<application>sysinstall</application> may write the contents of mounted so <application>sysinstall</application> may write the
&os; to the hard drives:</para> contents of &os; to the hard drives:</para>
<screen>&prompt.root; <userinput>mount /dev/mirror/root /mnt</userinput> <screen>&prompt.root; <userinput>mount /dev/mirror/root /mnt</userinput>
&prompt.root; <userinput>mkdir /mnt/var /mnt/usr</userinput> &prompt.root; <userinput>mkdir /mnt/var /mnt/usr</userinput>
@ -401,7 +427,8 @@ ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"</programlisting>
menu. Select <guimenuitem>Options</guimenuitem> and press menu. Select <guimenuitem>Options</guimenuitem> and press
<keycap>Enter</keycap>. With the help of arrow keys, move the <keycap>Enter</keycap>. With the help of arrow keys, move the
cursor on the <literal>Install Root</literal> item, press cursor on the <literal>Install Root</literal> item, press
<keycap>Space</keycap> and change it to <filename>/mnt</filename>. Press <keycap>Space</keycap> and change it to
<filename>/mnt</filename>. Press
<keycap>Enter</keycap> to submit your changes and exit the <keycap>Enter</keycap> to submit your changes and exit the
<guimenuitem>Options</guimenuitem> menu by pressing <guimenuitem>Options</guimenuitem> menu by pressing
<keycap>q</keycap>.</para> <keycap>q</keycap>.</para>
@ -429,23 +456,24 @@ ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"</programlisting>
<para>In the <guimenuitem>Media</guimenuitem> menu, select <para>In the <guimenuitem>Media</guimenuitem> menu, select
<option>FTP</option>. Select the nearest mirror and let <option>FTP</option>. Select the nearest mirror and let
<application>sysinstall</application> assume that the network is <application>sysinstall</application> assume that the network
already configured. You will be returned back to the is already configured. You will be returned back to the
<guimenuitem>Custom</guimenuitem> menu.</para> <guimenuitem>Custom</guimenuitem> menu.</para>
<para>Finally, perform the system installation by selecting the <para>Finally, perform the system installation by selecting the
last option, <guimenuitem>Commit</guimenuitem>. last option, <guimenuitem>Commit</guimenuitem>. Exit
Exit <application>sysinstall</application> when it finishes the <application>sysinstall</application> when it finishes the
installation.</para> installation.</para>
</sect2> </sect2>
<sect2> <sect2>
<title>Post Installation Steps</title> <title>Post Installation Steps</title>
<para>The &os; operating system should be installed now; however, <para>The &os; operating system should be installed now;
the process is not finished yet. It is necessary to perform however, the process is not finished yet. It is necessary to
some post installation steps in order to allow &os; to boot in perform some post installation steps in order to allow &os; to
the future and to be able to log in to the system.</para> boot in the future and to be able to log in to the
system.</para>
<para>You must now &man.chroot.8; into the freshly installed <para>You must now &man.chroot.8; into the freshly installed
system in order to finish the installation. Use the following system in order to finish the installation. Use the following
@ -483,8 +511,8 @@ ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"</programlisting>
</listitem> </listitem>
<listitem> <listitem>
<para>Create <filename>/boot/loader.conf</filename> <para>Create <filename>/boot/loader.conf</filename> with the
with the following contents:</para> following contents:</para>
<programlisting>geom_mirror_load="YES" <programlisting>geom_mirror_load="YES"
zfs_load="YES"</programlisting> zfs_load="YES"</programlisting>
@ -501,8 +529,8 @@ zfs_load="YES"</programlisting>
<listitem> <listitem>
<para>Add additional users to the system using the <para>Add additional users to the system using the
&man.adduser.8; tool. Do not forget to add a user to the &man.adduser.8; tool. Do not forget to add a user to the
<systemitem class="groupname">wheel</systemitem> group so you may obtain root <systemitem class="groupname">wheel</systemitem> group so
access after the reboot.</para> you may obtain root access after the reboot.</para>
</listitem> </listitem>
<listitem> <listitem>
@ -518,14 +546,14 @@ zfs_load="YES"</programlisting>
<sect1 xml:id="zfs"> <sect1 xml:id="zfs">
<title>ZFS</title> <title>ZFS</title>
<para>If your system survived the reboot, it should now be possible <para>If your system survived the reboot, it should now be
to log in. Welcome to the fresh &os; installation, performed possible to log in. Welcome to the fresh &os; installation,
remotely without the use of a remote console!</para> performed remotely without the use of a remote console!</para>
<para>The only remaining step is to configure &man.zpool.8; and <para>The only remaining step is to configure &man.zpool.8; and
create some &man.zfs.8; file systems. Creating and administering create some &man.zfs.8; file systems. Creating and
<application>ZFS</application> is very straightforward. First, administering <application>ZFS</application> is very
create a mirrored pool:</para> straightforward. First, create a mirrored pool:</para>
<screen>&prompt.root; <userinput>zpool create tank mirror /dev/ad[01]s1f</userinput></screen> <screen>&prompt.root; <userinput>zpool create tank mirror /dev/ad[01]s1f</userinput></screen>
@ -539,7 +567,8 @@ zfs_load="YES"</programlisting>
&prompt.root; <userinput>zfs set mountpoint=/usr/src tank/src</userinput></screen> &prompt.root; <userinput>zfs set mountpoint=/usr/src tank/src</userinput></screen>
<para>That is all. If you are interested in more details about <para>That is all. If you are interested in more details about
<application>ZFS</application> on &os;, please refer to the <link xlink:href="http://wiki.freebsd.org/ZFS">ZFS</link> section of the &os; <application>ZFS</application> on &os;, please refer to the
Wiki.</para> <link xlink:href="http://wiki.freebsd.org/ZFS">ZFS</link>
section of the &os; Wiki.</para>
</sect1> </sect1>
</article> </article>