Properly wrap indexterm entries that exceed 80 characters. Also move

<indexterm> tags outside of <para>s since this can add extra
whitespace characters to the output (for print stylesheets).

Pointed out by: Chris Costello
This commit is contained in:
Murray Stokely 2001-06-26 20:10:25 +00:00
parent a3078ce478
commit e6917a777e
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=9733
5 changed files with 344 additions and 136 deletions

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Documentation Project
$FreeBSD: doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml,v 1.48 2001/06/24 03:22:48 murray Exp $
$FreeBSD: doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml,v 1.49 2001/06/26 00:09:52 murray Exp $
-->
<chapter id="advanced-networking">
@ -69,7 +69,10 @@ host2.foobar.com link#1 UC 0 0
sending it out over the LAN, since it will only end up back where it
started anyway.</para>
<indexterm><primary>Ethernet</primary><secondary>MAC address</secondary></indexterm>
<indexterm>
<primary>Ethernet</primary>
<secondary>MAC address</secondary>
</indexterm>
<para>The next thing that stands out are the <hostid
role="mac">0:e0:...</hostid> addresses. These are ethernet hardware
addresses. FreeBSD will automatically identify any hosts
@ -427,7 +430,10 @@ Local1 (10.20.30.1, 10.9.9.30) --&gt; T1-GW (10.9.9.1)
<sect3>
<title>Kernel configuration changes</title>
<indexterm><primary>kernel configuration</primary></indexterm>
<indexterm><primary>kernel configuration</primary><secondary>options BRIDGE</secondary></indexterm>
<indexterm>
<primary>kernel configuration</primary>
<secondary>options BRIDGE</secondary>
</indexterm>
<para>To enable kernel support for bridging, add the</para>
@ -551,7 +557,10 @@ Local1 (10.20.30.1, 10.9.9.30) --&gt; T1-GW (10.9.9.1)
processes have to be configured and running properly.</para>
<para>The server has to be running the following daemons:</para>
<indexterm><primary>NFS</primary><secondary>server</secondary></indexterm>
<indexterm>
<primary>NFS</primary>
<secondary>server</secondary>
</indexterm>
<indexterm><primary>portmap</primary></indexterm>
<indexterm><primary>mountd</primary></indexterm>
<indexterm><primary>nfsd</primary></indexterm>
@ -575,7 +584,10 @@ Local1 (10.20.30.1, 10.9.9.30) --&gt; T1-GW (10.9.9.1)
</itemizedlist>
<para>The client side only needs to run a single daemon:</para>
<indexterm><primary>NFS</primary><secondary>client</secondary></indexterm>
<indexterm>
<primary>NFS</primary>
<secondary>client</secondary>
</indexterm>
<indexterm><primary>nfsiod</primary></indexterm>
<itemizedlist>
<listitem>
@ -587,7 +599,10 @@ Local1 (10.20.30.1, 10.9.9.30) --&gt; T1-GW (10.9.9.1)
<sect2>
<title>Configuring NFS</title>
<indexterm><primary>NFS</primary><secondary>configuration</secondary></indexterm>
<indexterm>
<primary>NFS</primary>
<secondary>configuration</secondary>
</indexterm>
<para>Luckily for us, on a FreeBSD system this setup is a snap. The
processes that need to be running can all be run at boot time with
@ -627,7 +642,10 @@ nfs_client_flags="-n 4"</programlisting>
<para>Here are a few example <filename>/etc/exports</filename>
entries:</para>
<indexterm><primary>NFS</primary><secondary>exporting filesystems</secondary></indexterm>
<indexterm>
<primary>NFS</primary>
<secondary>exporting filesystems</secondary>
</indexterm>
<para>The following line exports <filename>/cdrom</filename> to
three silly machines that have the same domain name as the server
(hence the lack of a domain name for each) or have entries in your
@ -688,7 +706,10 @@ nfs_client_flags="-n 4"</programlisting>
temporarily mount a remote file system or just want to test out
your config you can run a command like this as root on the
client:</para>
<indexterm><primary>NFS</primary><secondary>mounting filesystems</secondary></indexterm>
<indexterm>
<primary>NFS</primary>
<secondary>mounting filesystems</secondary>
</indexterm>
<screen>&prompt.root; <userinput>mount server:/home /mnt</userinput></screen>
<para>This will mount <filename>/home</filename> on the server on
@ -711,7 +732,10 @@ nfs_client_flags="-n 4"</programlisting>
<para>There are many very cool uses for NFS. Some of the more common
ones are listed below.</para>
<indexterm><primary>NFS</primary><secondary>uses</secondary></indexterm>
<indexterm>
<primary>NFS</primary>
<secondary>uses</secondary>
</indexterm>
<itemizedlist>
<listitem>
<para>Have several machines on a network and share a CD-ROM or
@ -1026,7 +1050,10 @@ hostname myclient.mydomain</programlisting>
</step>
<step>
<indexterm><primary>NFS</primary><secondary>swapping over</secondary></indexterm>
<indexterm>
<primary>NFS</primary>
<secondary>swapping over</secondary>
</indexterm>
<para>If you are swapping over NFS (completely diskless
configuration) create a swap file for your client using
<command>dd</command>. If your <command>swapfs</command> command
@ -1136,7 +1163,10 @@ hostname myclient.mydomain</programlisting>
<para><emphasis>Contributed by &a.hm;.</emphasis></para>
<indexterm><primary>ISDN</primary><secondary>cards</secondary></indexterm>
<indexterm>
<primary>ISDN</primary>
<secondary>cards</secondary>
</indexterm>
<para>This section is really only relevant to ISDN users in countries
where the DSS1/Q.931 ISDN standard is supported.</para>
@ -1257,7 +1287,10 @@ hostname myclient.mydomain</programlisting>
<sect2>
<title>Stand-alone ISDN Bridges/Routers</title>
<indexterm><primary>ISDN</primary><secondary>stand-alone bridges/routers</secondary></indexterm>
<indexterm>
<primary>ISDN</primary>
<secondary>stand-alone bridges/routers</secondary>
</indexterm>
<para>ISDN bridges or routers are not at all specific to FreeBSD
or any other operating system. For a more complete
description of routing and bridging technology, please refer
@ -1409,7 +1442,10 @@ ISDN BRI line</literallayout>
<para>NIS was formerly known as Yellow Pages (or yp), but due to
copyright violations, Sun was forced to change the name.</para>
<indexterm><primary>NIS</primary><secondary>domains</secondary></indexterm>
<indexterm>
<primary>NIS</primary>
<secondary>domains</secondary>
</indexterm>
<para>It is a RPC-based client/server system that allows a group
of machines within an NIS domain to share a common set of
configuration files. This permits a system administrator to set
@ -1504,7 +1540,10 @@ ISDN BRI line</literallayout>
<title>Machine types</title>
<itemizedlist>
<indexterm><primary>NIS</primary><secondary>master server</secondary></indexterm>
<indexterm>
<primary>NIS</primary>
<secondary>master server</secondary>
</indexterm>
<listitem>
<para>A <emphasis>NIS master server</emphasis>.
This server, analogous to a Windows
@ -1518,7 +1557,10 @@ ISDN BRI line</literallayout>
not be covered in this introduction, which assumes a relatively
small-scale NIS environment.</para></note>
</listitem>
<indexterm><primary>NIS</primary><secondary>slave server</secondary></indexterm>
<indexterm>
<primary>NIS</primary>
<secondary>slave server</secondary>
</indexterm>
<listitem>
<para><emphasis>NIS slave servers</emphasis>.
Similar to NT's backup domain
@ -1529,7 +1571,10 @@ ISDN BRI line</literallayout>
attach to the NIS server whose response they get first, and
this includes slave-server-replies.</para>
</listitem>
<indexterm><primary>NIS</primary><secondary>client</secondary></indexterm>
<indexterm>
<primary>NIS</primary>
<secondary>client</secondary>
</indexterm>
<listitem>
<para><emphasis>NIS clients</emphasis>. NIS clients, like most
NT workstations, authenticate against the NIS server (or the NT
@ -1616,7 +1661,10 @@ ISDN BRI line</literallayout>
<sect4>
<title>Choosing a NIS Domain Name</title>
<indexterm><primary>NIS</primary><secondary>domainname</secondary></indexterm>
<indexterm>
<primary>NIS</primary>
<secondary>domainname</secondary>
</indexterm>
<para>This might not be the <quote>domainname</quote> that you
are used to. It is more accurately called the
<quote>NIS domainname</quote>. When a client broadcasts its
@ -1687,7 +1735,10 @@ ISDN BRI line</literallayout>
<sect4>
<title>Setting up a NIS master server</title>
<indexterm><primary>NIS</primary><secondary>server configuration</secondary></indexterm>
<indexterm>
<primary>NIS</primary>
<secondary>server configuration</secondary>
</indexterm>
<para>Setting up a master NIS server can be relatively straight
forward, depending on your needs. FreeBSD comes with support
for NIS out-of-the-box. All you need is to add the following
@ -1808,8 +1859,10 @@ ellington&prompt.root; <userinput>vi /var/yp/Makefile</userinput>
<sect4>
<title>Setting up a NIS slave server</title>
<indexterm><primary>NIS</primary><secondary>configuring a
slave server</secondary></indexterm>
<indexterm>
<primary>NIS</primary>
<secondary>configuring a slave server</secondary>
</indexterm>
<para>Setting up an NIS slave server is even more simple than
setting up the master. Log on to the slave server and edit the
file <filename>/etc/rc.conf</filename> as you did before.
@ -1930,7 +1983,10 @@ Don't forget to update map ypservers on ellington.</screen>
<sect4>
<title>Setting up an NIS client</title>
<indexterm><primary>NIS</primary><secondary>client configuration</secondary></indexterm>
<indexterm>
<primary>NIS</primary>
<secondary>client configuration</secondary>
</indexterm>
<para>Setting up a FreeBSD machine to be a NIS client is fairly
straightforward.</para>
@ -2591,7 +2647,10 @@ TWO (,hotel,test-domain)
<sect2>
<title>libscrypt v.s. libdescrypt</title>
<indexterm><primary>NIS</primary><secondary>crypto library</secondary></indexterm>
<indexterm>
<primary>NIS</primary>
<secondary>crypto library</secondary>
</indexterm>
<para>One of the most common issues that people run into when trying
to implement NIS is crypt library compatibility. If your NIS
server is using the DES crypt libraries, it will only support
@ -2640,8 +2699,12 @@ lrwxr-xr-x 1 root wheel 14 Nov 8 14:27 /usr/lib/libscrypt.so@ -> libscryp
<sect2>
<title>What is DHCP?</title>
<indexterm><primary>Dynamic Host Configuration Protocol (DHCP)</primary></indexterm>
<indexterm><primary>Internet Software Consortium (ISC)</primary></indexterm>
<indexterm>
<primary>Dynamic Host Configuration Protocol (DHCP)</primary>
</indexterm>
<indexterm>
<primary>Internet Software Consortium (ISC)</primary>
</indexterm>
<para>DHCP, the Dynamic Host Configuration Protocol, describes
the means by which a system can connect to a network and obtain the
@ -2699,7 +2762,10 @@ lrwxr-xr-x 1 root wheel 14 Nov 8 14:27 /usr/lib/libscrypt.so@ -> libscryp
<para>There are two things you must do to have your system use
DHCP upon startup:</para>
<indexterm><primary>DHCP</primary><secondary>requirements</secondary></indexterm>
<indexterm>
<primary>DHCP</primary>
<secondary>requirements</secondary>
</indexterm>
<itemizedlist>
<listitem>
<para>Make sure that the <devicename>bpf</devicename>
@ -2748,7 +2814,10 @@ dhcp_flags=""</programlisting>
</listitem>
</itemizedlist>
<indexterm><primary>DHCP</primary><secondary>server</secondary></indexterm>
<indexterm>
<primary>DHCP</primary>
<secondary>server</secondary>
</indexterm>
<para>The DHCP server, <command>dhcpd</command>, is included
as part of the <literal>isc-dhcp2</literal> port in the ports
collection. This port contains the full ISC DHCP distribution,
@ -2758,7 +2827,10 @@ dhcp_flags=""</programlisting>
<sect2>
<title>Files</title>
<indexterm><primary>DHCP</primary><secondary>configuration files</secondary></indexterm>
<indexterm>
<primary>DHCP</primary>
<secondary>configuration files</secondary>
</indexterm>
<itemizedlist>
<listitem><para><filename>/etc/dhclient.conf</filename></para>
<para><command>dhclient</command> requires a configuration file,
@ -3002,7 +3074,10 @@ dhcp_flags=""</programlisting>
<sect2>
<title>Starting BIND</title>
<indexterm><primary>BIND</primary><secondary>starting</secondary></indexterm>
<indexterm>
<primary>BIND</primary>
<secondary>starting</secondary>
</indexterm>
<para>
Since bind is installed by default, configuring it all is
relatively simple.
@ -3018,7 +3093,10 @@ dhcp_flags=""</programlisting>
<sect2>
<title>Configuration files</title>
<indexterm><primary>BIND</primary><secondary>configuration files</secondary></indexterm>
<indexterm>
<primary>BIND</primary>
<secondary>configuration files</secondary>
</indexterm>
<sect3>
<title>make-localhost</title>
<para>Be sure to
@ -3034,7 +3112,7 @@ dhcp_flags=""</programlisting>
<sect3>
<title><filename>/etc/namedb/named.conf</filename></title>
<programlisting>// $FreeBSD: doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml,v 1.48 2001/06/24 03:22:48 murray Exp $
<programlisting>// $FreeBSD: doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml,v 1.49 2001/06/26 00:09:52 murray Exp $
//
// Refer to the named(8) man page for details. If you are ever going
// to setup a primary server, make sure you've understood the hairy
@ -3245,7 +3323,10 @@ www IN CNAME @
</para>
<programlisting>recordname IN recordtype value</programlisting>
<indexterm><primary>DNS</primary><secondary>records</secondary></indexterm>
<indexterm>
<primary>DNS</primary>
<secondary>records</secondary>
</indexterm>
<para>
The most commonly used DNS records:
</para>
@ -3370,7 +3451,10 @@ www IN CNAME @
<sect2>
<title>Caching Name Server</title>
<indexterm><primary>BIND</primary><secondary>caching name server</secondary></indexterm>
<indexterm>
<primary>BIND</primary>
<secondary>caching name server</secondary>
</indexterm>
<para>
A caching nameserver is simply a nameserver that is not
authoritative for any zones. It simply asks queries of its own,
@ -3381,7 +3465,10 @@ www IN CNAME @
<sect2 id="named-sandbox">
<title>Running named in a Sandbox</title>
<indexterm><primary>BIND</primary><secondary>running in a sandbox</secondary></indexterm>
<indexterm>
<primary>BIND</primary>
<secondary>running in a sandbox</secondary>
</indexterm>
<para><emphasis>Contributed by Mike Makonnen
<email>mike_makonnen@yahoo.com</email>, May 1, 2001</emphasis>
</para>
@ -3611,7 +3698,10 @@ www IN CNAME @
</sect2>
<sect2 id="configuration">
<indexterm><primary>kernel</primary><secondary>configuration</secondary></indexterm>
<indexterm>
<primary>kernel</primary>
<secondary>configuration</secondary>
</indexterm>
<title>Configuration</title>
<para>The following options must be in the kernel configuration
file:</para>

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Documentation Project
$FreeBSD: doc/en_US.ISO8859-1/books/handbook/backups/chapter.sgml,v 1.32 2001/06/26 00:12:05 murray Exp $
$FreeBSD: doc/en_US.ISO8859-1/books/handbook/backups/chapter.sgml,v 1.33 2001/06/26 15:40:08 phantom Exp $
-->
<chapter id="backups">
@ -25,8 +25,14 @@
<sect2 id="backups-tapebackups-4mm">
<title>4mm (DDS: Digital Data Storage)</title>
<indexterm><primary>tape media</primary><secondary>DDS (4mm) tapes</secondary></indexterm>
<indexterm><primary>tape media</primary><secondary>QIC tapes</secondary></indexterm>
<indexterm>
<primary>tape media</primary>
<secondary>DDS (4mm) tapes</secondary>
</indexterm>
<indexterm>
<primary>tape media</primary>
<secondary>QIC tapes</secondary>
</indexterm>
<para>4mm tapes are replacing QIC as the workstation backup media of
choice. This trend accelerated greatly when Conner purchased Archive,
a leading manufacturer of QIC drives, and then stopped production of
@ -55,8 +61,10 @@
<sect2 id="backups-tapebackups-8mm">
<title>8mm (Exabyte)</title>
<indexterm><primary>tape media</primary><secondary>Exabyte (8mm)
tapes</secondary></indexterm>
<indexterm>
<primary>tape media</primary>
<secondary>Exabyte (8mm) tapes</secondary>
</indexterm>
<para>8mm tapes are the most common SCSI tape drives; they are the best
choice of exchanging tapes. Nearly every site has an exabyte 2 GB 8mm
@ -86,7 +94,10 @@
<sect2 id="backups-tapebackups-qic">
<title>QIC</title>
<indexterm><primary>tape media</primary><secondary>QIC-150</secondary></indexterm>
<indexterm>
<primary>tape media</primary>
<secondary>QIC-150</secondary>
</indexterm>
<para>QIC-150 tapes and drives are, perhaps, the most common tape drive
and media around. QIC tape drives are the least expensive "serious"
@ -133,7 +144,10 @@
<sect2 id="backups-tapebackups-dlt">
<title>DLT</title>
<indexterm><primary>tape media</primary><secondary>DLT</secondary></indexterm>
<indexterm>
<primary>tape media</primary>
<secondary>DLT</secondary>
</indexterm>
<para>DLT has the fastest data transfer rate of all the drive types
listed here. The 1/2" (12.5mm) tape is contained in a single spool
@ -165,7 +179,10 @@
<sect2>
<title id="backups-tapebackups-ait">AIT</title>
<indexterm><primary>tape media</primary><secondary>AIT</secondary></indexterm>
<indexterm>
<primary>tape media</primary>
<secondary>AIT</secondary>
</indexterm>
<para>AIT is a new format from Sony, and can hold up to 50GB (with
compression) per tape. The tapes contain memory chips which retain an
@ -225,7 +242,10 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
<sect2>
<title>Dump and Restore</title>
<indexterm><primary>backup software</primary><secondary>dump / restore</secondary></indexterm>
<indexterm>
<primary>backup software</primary>
<secondary>dump / restore</secondary>
</indexterm>
<indexterm><primary>dump</primary></indexterm>
<indexterm><primary>restore</primary></indexterm>
@ -261,7 +281,10 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
<sect2>
<title>Tar</title>
<indexterm><primary>backup software</primary><secondary>tar</secondary></indexterm>
<indexterm>
<primary>backup software</primary>
<secondary>tar</secondary>
</indexterm>
<para>&man.tar.1; also dates back to Version 6 of ATT Unix (circa 1975).
&man.tar.1; operates in cooperation with the filesystem; &man.tar.1;
@ -288,7 +311,10 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
<sect2>
<title>Cpio</title>
<indexterm><primary>backup software</primary><secondary>cpio</secondary></indexterm>
<indexterm>
<primary>backup software</primary>
<secondary>cpio</secondary>
</indexterm>
<para>&man.cpio.1; is the original Unix file interchange tape program
for magnetic media. &man.cpio.1; has options (among many others) to
@ -318,7 +344,10 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
<sect2>
<title>Pax</title>
<indexterm><primary>backup software</primary><secondary>pax</secondary></indexterm>
<indexterm>
<primary>backup software</primary>
<secondary>pax</secondary>
</indexterm>
<indexterm><primary>pax</primary></indexterm>
<indexterm><primary>POSIX</primary></indexterm>
<indexterm><primary>IEEE</primary></indexterm>
@ -334,7 +363,10 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
<sect2 id="backups-programs-amanda">
<title>Amanda</title>
<indexterm><primary>backup software</primary><secondary>amanda</secondary></indexterm>
<indexterm>
<primary>backup software</primary>
<secondary>amanda</secondary>
</indexterm>
<indexterm><primary>amanda</primary></indexterm>
<para><ulink url="/ports/misc.html#amanda-2.4.0">Amanda</ulink>

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Documentation Project
$FreeBSD: doc/en_US.ISO8859-1/books/handbook/disks/chapter.sgml,v 1.31 2001/06/25 12:41:15 murray Exp $
$FreeBSD: doc/en_US.ISO8859-1/books/handbook/disks/chapter.sgml,v 1.32 2001/06/25 14:05:37 nik Exp $
-->
<chapter id="disks">
@ -246,8 +246,10 @@
<sect2 id="disks-fstab">
<title>The fstab File</title>
<indexterm><primary>filesystems</primary><secondary>mounted with
fstab</secondary></indexterm>
<indexterm>
<primary>filesystems</primary>
<secondary>mounted with fstab</secondary>
</indexterm>
<para>During the <link linkend="boot">boot process</link>,
filesystems listed in <filename>/etc/fstab</filename> are

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Documentation Project
$FreeBSD: doc/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml,v 1.38 2001/06/24 22:51:27 murray Exp $
$FreeBSD: doc/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml,v 1.39 2001/06/25 17:01:00 murray Exp $
-->
<chapter id="introduction">
@ -107,17 +107,17 @@
are:</para>
<itemizedlist>
<indexterm><primary>preemptive multitasking</primary></indexterm>
<listitem>
<para><emphasis>Preemptive multitasking</emphasis> with
<indexterm><primary>preemptive multitasking</primary></indexterm>
dynamic priority adjustment to ensure smooth and fair
sharing of the computer between applications and users, even
under the heaviest of loads.</para>
</listitem>
<indexterm><primary>multi-user facilities</primary></indexterm>
<listitem>
<para><emphasis>Multi-user facilities</emphasis> which allow many
<indexterm><primary>multi-user facilities</primary></indexterm>
people to use a FreeBSD system simultaneously for a variety
of things. This means, for example, that system peripherals
such as printers and tape drives are properly shared between
@ -126,9 +126,9 @@
protecting critical system resources from over-use.</para>
</listitem>
<indexterm><primary>TCP/IP networking</primary></indexterm>
<listitem>
<para>Strong <emphasis>TCP/IP networking</emphasis> with
<indexterm><primary>TCP/IP networking</primary></indexterm>
support for industry standards such as SLIP, PPP, NFS, DHCP,
and NIS. This means that your FreeBSD machine can
inter-operate easily with other systems as well as act as an
@ -138,9 +138,9 @@
firewall (security) services.</para>
</listitem>
<indexterm><primary>memory protection</primary></indexterm>
<listitem>
<para><emphasis>Memory protection</emphasis> ensures that
<indexterm><primary>memory protection</primary></indexterm>
applications (or users) cannot interfere with each other. One
application crashing will not affect others in any way.</para>
</listitem>
@ -151,26 +151,36 @@
designed as such from the ground up.</para>
</listitem>
<indexterm><primary>X-Windows</primary></indexterm>
<listitem>
<para>The industry standard <emphasis>X Window System</emphasis>
<indexterm><primary>X-Windows</primary></indexterm>
(X11R6) provides a graphical user interface (GUI) for the cost
of a common VGA card and monitor and comes with full
sources.</para>
</listitem>
<indexterm>
<primary>binary compatibility</primary>
<secondary>Linux</secondary>
</indexterm>
<indexterm>
<primary>binary compatibility</primary>
<secondary>SCO</secondary>
</indexterm>
<indexterm>
<primary>binary compatibility</primary>
<secondary>SVR4</secondary>
</indexterm>
<indexterm>
<primary>binary compatibility</primary>
<secondary>BSD/OS</secondary>
</indexterm>
<indexterm>
<primary>binary compatibility</primary>
<secondary>NetBSD</secondary>
</indexterm>
<listitem>
<para><emphasis>Binary compatibility</emphasis> with many
<indexterm><primary>binary compatibility</primary>
<secondary>Linux</secondary></indexterm>
<indexterm><primary>binary compatibility</primary>
<secondary>SCO</secondary></indexterm>
<indexterm><primary>binary compatibility</primary>
<secondary>SVR4</secondary></indexterm>
<indexterm><primary>binary compatibility</primary>
<secondary>BSD/OS</secondary></indexterm>
<indexterm><primary>binary compatibility</primary>
<secondary>NetBSD</secondary></indexterm>
programs built for Linux, SCO, SVR4, BSDI and NetBSD.</para>
</listitem>
@ -190,28 +200,36 @@
require few, if any, changes to compile.</para>
</listitem>
<indexterm><primary>virtual memory</primary></indexterm>
<listitem>
<para>Demand paged <emphasis>virtual memory</emphasis> and
<indexterm><primary>virtual memory</primary></indexterm>
<quote>merged VM/buffer cache</quote> design efficiently
satisfies applications with large appetites for memory while
still maintaining interactive response to other users.</para>
</listitem>
<indexterm>
<primary>Symetric Multi-Processing (SMP)</primary>
</indexterm>
<listitem>
<para><emphasis>SMP</emphasis> support for machines with
<indexterm><primary>Symetric Multi-Processing (SMP)</primary></indexterm>
multiple CPUs (Intel only).</para>
</listitem>
<indexterm>
<primary>compilers</primary>
<secondary>C</secondary>
</indexterm>
<indexterm>
<primary>compilers</primary>
<secondary>C++</secondary>
</indexterm>
<indexterm>
<primary>compilers</primary>
<secondary>Fortran</secondary>
</indexterm>
<listitem>
<para>A full complement of <emphasis>C</emphasis>,
<indexterm><primary>compilers</primary>
<secondary>C</secondary></indexterm>
<indexterm><primary>compilers</primary>
<secondary>C++</secondary></indexterm>
<indexterm><primary>compilers</primary>
<secondary>Fortran</secondary></indexterm>
<emphasis>C++</emphasis>, <emphasis>Fortran</emphasis>, and
<emphasis>Perl</emphasis> development tools.
Many additional languages for advanced research
@ -219,9 +237,9 @@
collection.</para>
</listitem>
<indexterm><primary>source code</primary></indexterm>
<listitem>
<para><emphasis>Source code</emphasis> for the entire system
<indexterm><primary>source code</primary></indexterm>
means you have the greatest degree of control over your
environment. Why be locked into a proprietary solution
at the mercy of your vendor when you can have a truly Open
@ -238,11 +256,12 @@
</listitem>
</itemizedlist>
<para>FreeBSD is based on the 4.4BSD-Lite release from Computer
<indexterm><primary>4.4BSD-Lite</primary></indexterm>
<indexterm><primary>Computer Systems Resarch Group
(CSRG)</primary></indexterm>
<indexterm>
<primary>Computer Systems Resarch Group (CSRG)</primary>
</indexterm>
<indexterm><primary>U.C. Berkeley</primary></indexterm>
<para>FreeBSD is based on the 4.4BSD-Lite release from Computer
Systems Research Group (CSRG) at the University of California at
Berkeley, and carries on the distinguished tradition of BSD
systems development. In addition to the fine work provided by
@ -278,33 +297,32 @@
variety of Internet services such as:</para>
<itemizedlist>
<indexterm><primary>FTP servers</primary></indexterm>
<listitem>
<para>FTP servers
<indexterm><primary>FTP servers</primary></indexterm></para>
<para>FTP servers</para>
</listitem>
<indexterm><primary>web servers</primary></indexterm>
<listitem>
<para>World Wide Web servers (standard or secure
[SSL])
<indexterm><primary>web servers</primary></indexterm></para>
[SSL])</para>
</listitem>
<indexterm><primary>firewalls</primary></indexterm>
<indexterm><primary>IP masquerading</primary></indexterm>
<listitem>
<para>Firewalls and NAT (<quote>IP masquerading</quote>)
gateways.
<indexterm><primary>firewalls</primary></indexterm>
<indexterm><primary>IP masquerading</primary></indexterm></para>
gateways.</para>
</listitem>
<indexterm><primary>electronic mail</primary></indexterm>
<listitem>
<para>Electronic Mail servers
<indexterm><primary>electronic mail</primary></indexterm>
</para>
<para>Electronic Mail servers</para>
</listitem>
<indexterm><primary>USENET</primary></indexterm>
<listitem>
<para>USENET News or Bulletin Board Systems
<indexterm><primary>USENET</primary></indexterm></para>
<para>USENET News or Bulletin Board Systems</para>
</listitem>
<listitem>
@ -341,22 +359,26 @@
in open forums.</para>
</listitem>
<indexterm><primary>router</primary></indexterm>
<indexterm><primary>DNS Server</primary></indexterm>
<listitem>
<para><emphasis>Networking:</emphasis> Need a new router? A
<indexterm><primary>router</primary></indexterm>
<indexterm><primary>DNS Server</primary></indexterm>
name server (DNS)? A firewall to keep people out of your
internal network? FreeBSD can easily turn that unused 386 or
486 PC sitting in the corner into an advanced router with
sophisticated packet-filtering capabilities.</para>
</listitem>
<indexterm>
<primary>X-Windows</primary>
<secondary>XFree86</secondary>
</indexterm>
<indexterm>
<primary>X-Windows</primary>
<secondary>Accellerated-X</secondary>
</indexterm>
<listitem>
<para><emphasis>X Window workstation:</emphasis> FreeBSD is a
<indexterm><primary>X-Windows</primary>
<secondary>XFree86</secondary></indexterm>
<indexterm><primary>X-Windows</primary>
<secondary>Accellerated-X</secondary></indexterm>
fine choice for an inexpensive X terminal solution, either
using the freely available XFree86 server or one of the
excellent commercial servers provided by X Inside. Unlike an
@ -367,9 +389,9 @@
administer.</para>
</listitem>
<indexterm><primary>GNU Compiler Collection</primary></indexterm>
<listitem>
<para><emphasis>Software Development:</emphasis> The basic
<indexterm><primary>GNU Compiler Collection</primary></indexterm>
FreeBSD system comes with a full complement of development
tools including the renowned GNU C/C++ compiler and
debugger.</para>
@ -398,8 +420,10 @@
<indexterm><primary>Hubbard, Jordan</primary></indexterm>
<indexterm><primary>Williams, Nate</primary></indexterm>
<indexterm><primary>Grimes, Rod</primary></indexterm>
<indexterm><primary>FreeBSD Project</primary>
<secondary>History</secondary></indexterm>
<indexterm>
<primary>FreeBSD Project</primary>
<secondary>History</secondary>
</indexterm>
<para>The FreeBSD project had its genesis in the early part of 1993,
partially as an outgrowth of the <quote>Unofficial 386BSD
Patchkit</quote> by the patchkit's last 3 coordinators: Nate
@ -457,7 +481,7 @@
<indexterm><primary>Novell</primary></indexterm>
<indexterm><primary>U.C. Berkeley</primary></indexterm>
<indexterm><primary>Net/2</primary></indexterm>
<indexterm><primary>AT&amp;T</primary></indexterm>
<indexterm><primary>AT&amp;amp;T</primary></indexterm>
<para>Around this time, some rather unexpected storm clouds formed
on the horizon as Novell and U.C. Berkeley settled their
long-running lawsuit over the legal status of the Berkeley Net/2
@ -533,8 +557,10 @@
<para><emphasis>Contributed by &a.jkh;</emphasis>.</para>
<indexterm><primary>FreeBSD Project</primary>
<secondary>Goals</secondary></indexterm>
<indexterm>
<primary>FreeBSD Project</primary>
<secondary>Goals</secondary>
</indexterm>
<para>The goals of the FreeBSD Project are to provide software that
may be used for any purpose and without strings attached. Many of
us have a significant investment in the code (and project) and
@ -547,9 +573,12 @@
goals of Free Software and one that we enthusiastically
support.</para>
<indexterm><primary>GNU General Public License (GPL)</primary></indexterm>
<indexterm><primary>GNU Lesser General Public License
(LGPL)</primary></indexterm>
<indexterm>
<primary>GNU General Public License (GPL)</primary>
</indexterm>
<indexterm>
<primary>GNU Lesser General Public License (LGPL)</primary>
</indexterm>
<indexterm><primary>BSD Copyright</primary></indexterm>
<para>That code in our source tree which falls under the GNU
General Public License (GPL) or Library General Public License
@ -566,8 +595,10 @@
<para><emphasis>Contributed by &a.asami;</emphasis>.</para>
<indexterm><primary>FreeBSD Project</primary>
<secondary>Development Model</secondary></indexterm>
<indexterm>
<primary>FreeBSD Project</primary>
<secondary>Development Model</secondary>
</indexterm>
<para>The development of FreeBSD is a very open and flexible
process, FreeBSD being literally built from the contributions of
hundreds of people around the world, as can be seen from our
@ -587,10 +618,12 @@
<term>The CVS repository<anchor
id="development-cvs-repository"></term>
<indexterm><primary>CVS Repository</primary></indexterm>
<indexterm>
<primary>Concurrent Version System (see CVS repository)</primary>
</indexterm>
<listitem>
<para>The central source tree for FreeBSD is maintained by
<indexterm><primary>CVS Repository</primary></indexterm>
<indexterm><primary>Concurrent Version System (see CVS repository)</primary></indexterm>
<ulink url="http://www.cyclic.com/CVS/index_html">CVS</ulink>
(Concurrent Version System), a freely available source code
control tool that comes bundled with FreeBSD. The primary
@ -611,9 +644,9 @@
<term>The committers list<anchor
id="development-committers"></term>
<indexterm><primary>committers</primary></indexterm>
<listitem>
<para>The <link linkend="staff-committers">committers</link>
<indexterm><primary>committers</primary></indexterm>
are the people who have <emphasis>write</emphasis> access to
the CVS tree, and are thus authorized to make modifications
to the FreeBSD source (the term <quote>committer</quote>
@ -630,9 +663,9 @@
<varlistentry>
<term>The FreeBSD core team<anchor id="development-core"></term>
<indexterm><primary>core team</primary></indexterm>
<listitem>
<para>The <link linkend="staff-core">FreeBSD core team</link>
<indexterm><primary>core team</primary></indexterm>
would be equivalent to the board of directors if the FreeBSD
Project were a company. The primary task of the core team
is to make sure the project, as a whole, is in good shape
@ -666,9 +699,9 @@
<varlistentry>
<term>Outside contributors</term>
<indexterm><primary>contributors</primary></indexterm>
<listitem>
<para>Last, but definitely not least, the largest group of
<indexterm><primary>contributors</primary></indexterm>
developers are the users themselves who provide feedback and
bug fixes to us on an almost constant basis. The primary
way of keeping in touch with FreeBSD's more non-centralized
@ -713,8 +746,9 @@
<indexterm><primary>386BSD</primary></indexterm>
<indexterm><primary>Free Software Foundation</primary></indexterm>
<indexterm><primary>U.C. Berkeley</primary></indexterm>
<indexterm><primary>Computer Systems Resarch Group
(CSRG)</primary></indexterm>
<indexterm>
<primary>Computer Systems Resarch Group (CSRG)</primary>
</indexterm>
<para>FreeBSD is a freely available, full source 4.4BSD-Lite based
release for Intel i386, i486, Pentium, Pentium Pro, Celeron,
Pentium II, Pentium III (or compatible) and DEC Alpha based computer

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Documentation Project
$FreeBSD: doc/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml,v 1.44 2001/06/23 05:20:27 dd Exp $
$FreeBSD: doc/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml,v 1.45 2001/06/26 17:46:16 murray Exp $
-->
<chapter id="kernelconfig">
@ -13,7 +13,11 @@
<para><emphasis>Updated and restructured by &a.jim;, March 2000.
Originally contributed by &a.jehamby;, 6 October
1995.</emphasis></para>
<indexterm><primary>kernel</primary><secondary>building a custom kernel</secondary></indexterm>
<indexterm>
<primary>kernel</primary>
<secondary>building a custom kernel</secondary>
</indexterm>
<para>The following chapter of the handbook covers everything you will
need to know in order to build a custom kernel. If you are
wondering what the benefits of a custom kernel are, or would like to
@ -57,7 +61,11 @@
<sect1 id="kernelconfig-building">
<title>Building and Installing a Custom Kernel</title>
<indexterm><primary>kernel</primary><secondary>building / installing</secondary></indexterm>
<indexterm>
<primary>kernel</primary>
<secondary>building / installing</secondary>
</indexterm>
<para>First, let us take a quick tour of the kernel build directory.
All directories mentioned will be relative to the main
<filename>/usr/src/sys</filename> directory, which is also
@ -117,8 +125,8 @@
comment lines at the top to reflect your configuration or the
changes you have made to differentiate it from
<filename>GENERIC</filename>.</para>
<indexterm><primary>SunOS</primary></indexterm>
<para>If you have built a kernel under SunOS or some other BSD
operating system, much of this file will be very familiar to you.
If you are coming from some other operating system such as DOS, on
@ -180,8 +188,12 @@
<indexterm><primary>CVSup</primary></indexterm>
<indexterm><primary>anoncvs</primary></indexterm>
<indexterm><primary>CVS</primary><secondary>anonymous</secondary></indexterm>
<indexterm><primary>CTM</primary></indexterm>
<indexterm>
<primary>CVS</primary>
<secondary>anonymous</secondary>
</indexterm>
<para>If you have <emphasis>not</emphasis> upgraded your source
tree in any way (you have not run <application>CVSup</application>,
<application>CTM</application>, or used
@ -200,6 +212,7 @@
sources!</emphasis></para>
</warning>
<indexterm><primary>kernel.old</primary></indexterm>
<para>The new kernel will be copied to the root directory as
<filename>/kernel</filename> and the old kernel will be moved to
<filename>/kernel.old</filename>. Now, shutdown the system and
@ -219,9 +232,13 @@
<sect1 id="kernelconfig-config">
<title>The Configuration File</title>
<indexterm><primary>kernel</primary><secondary>config file</secondary></indexterm>
<indexterm><primary>kernel</primary><secondary>LINT</secondary></indexterm>
<indexterm><primary>LINT</primary></indexterm>
<indexterm>
<primary>kernel</primary>
<secondary>config file</secondary>
</indexterm>
<para>The general format of a configuration file is quite simple.
Each line contains a keyword and one or more arguments. For
simplicity, most lines only contain one argument. Anything
@ -252,8 +269,11 @@
<filename>/usr/src/sys/i386/conf/GENERIC</filename>
files on your system for examples.</para>
</important>
<indexterm>
<primary>kernel</primary>
<secondary>example config</secondary>
</indexterm>
<indexterm><primary>kernel</primary><secondary>example config</secondary></indexterm>
<para>The following is an example <filename>GENERIC</filename> kernel
configuration file with various additional comments where needed for
clarity. This example should match your copy in
@ -282,15 +302,21 @@
<para>The following are the mandatory keywords required in
<emphasis>every</emphasis> kernel you build:</para>
<indexterm>
<primary>kernel options</primary>
<secondary>machine</secondary>
</indexterm>
<indexterm><primary>kernel options</primary><secondary>machine</secondary></indexterm>
<programlisting>machine i386</programlisting>
<para>This is the machine architecture. It must be either
<literal>i386</literal>, <literal>alpha</literal>, or
<literal>pc98</literal>.</para>
<indexterm><primary>kernel options</primary><secondary>cpu</secondary></indexterm>
<indexterm>
<primary>kernel options</primary>
<secondary>cpu</secondary>
</indexterm>
<programlisting>cpu I386_CPU
cpu I486_CPU
cpu I586_CPU
@ -303,8 +329,11 @@ cpu I686_CPU</programlisting>
best to specify only the CPU you have. If you are unsure which type
your CPU use, you can use the <command>dmesg</command> command to
view your boot up messages.</para>
<indexterm>
<primary>kernel options</primary>
<secondary>cpu type</secondary>
</indexterm>
<indexterm><primary>kernel options</primary><secondary>cpu type</secondary></indexterm>
<para>The Alpha architecture has different values for
<literal>cpu_type</literal>. They include:</para>
@ -313,8 +342,11 @@ cpu EV5</programlisting>
<para>If you are using an Alpha machine, you should be using one of
the above CPU types.</para>
<indexterm>
<primary>kernel options</primary>
<secondary>ident</secondary>
</indexterm>
<indexterm><primary>kernel options</primary><secondary>ident</secondary></indexterm>
<programlisting>ident GENERIC</programlisting>
<para>This is the identification of the kernel. You should change
@ -324,8 +356,11 @@ cpu EV5</programlisting>
kernel, so it is useful to give a kernel a different name if you
want to keep it separate from your usual kernel (i.e., you want to
build an experimental kernel).</para>
<indexterm>
<primary>kernel options</primary>
<secondary>maxusers</secondary>
</indexterm>
<indexterm><primary>kernel options</primary><secondary>maxusers</secondary></indexterm>
<programlisting>maxusers 32</programlisting>
<para>The <literal>maxusers</literal> option sets the size of a number
@ -418,8 +453,14 @@ options MD_ROOT #MD is a potential root device</programlisting>
<para>Now you simply need to either reboot, or run the command
<command>mount /tmp</command>.</para>
<indexterm><primary>kernel options</primary><secondary>NFS</secondary></indexterm>
<indexterm><primary>kernel options</primary><secondary>NFS_ROOT</secondary></indexterm>
<indexterm>
<primary>kernel options</primary>
<secondary>NFS</secondary>
</indexterm>
<indexterm>
<primary>kernel options</primary>
<secondary>NFS_ROOT</secondary>
</indexterm>
<programlisting>options NFS #Network Filesystem
options NFS_ROOT #NFS usable as root device, NFS required</programlisting>
@ -427,7 +468,10 @@ options NFS_ROOT #NFS usable as root device, NFS required</programl
from a UNIX file server over TCP/IP, you can comment these
out.</para>
<indexterm><primary>kernel options</primary><secondary>MSDOSFS</secondary></indexterm>
<indexterm>
<primary>kernel options</primary>
<secondary>MSDOSFS</secondary>
</indexterm>
<programlisting>options MSDOSFS #MSDOS Filesystem</programlisting>
<para>The MS-DOS filesystem. Unless you plan to mount a DOS formatted
@ -521,14 +565,20 @@ options _KPOSIX_PRIORITY_SCHEDULING</programlisting>
applications in the ports collection use these (such as Star
Office).</para>
<indexterm><primary>kernel options</primary><secondary>ICMP_BANDLIM</secondary></indexterm>
<indexterm>
<primary>kernel options</primary>
<secondary>ICMP_BANDLIM</secondary>
</indexterm>
<programlisting>options ICMP_BANDLIM #Rate limit bad replies</programlisting>
<para>This option enables ICMP error response bandwidth limiting. You
typically want this option as it will help protect the machine from
denial of service packet attacks.</para>
<indexterm><primary>kernel options</primary><secondary>SMP</secondary></indexterm>
<indexterm>
<primary>kernel options</primary>
<secondary>SMP</secondary>
</indexterm>
<programlisting># To make an SMP kernel, the next two are needed
#options SMP # Symmetric MultiProcessor Kernel
#options APIC_IO # Symmetric (APIC) I/O</programlisting>