This is the first commit that starts changing the markup. All these changes
markup something that looks like a filename as <filename>...</filename>, rather than <emphasis role="tt">...</emphasis> or whatever. These changes can not be automated, the Japanese team will need to go through the diffs to see which bits of markup have changed. I'm halfway through (line 16704). It's been quite instructive, and I'm learning lots about printing with FreeBSD :-) Join me tomorrow, when I'll be doing the same thing to the other half of the Handbook -- same Bat time, same Bat channel.
This commit is contained in:
parent
635b4a340e
commit
5d78f265df
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=2638
4 changed files with 446 additions and 363 deletions
|
@ -132,5 +132,16 @@ FreeBSD-doc mailing list) if they have specific questions.
|
||||||
and knocked together a quick Perl script to do it. It's ~nik/bin/para.pl
|
and knocked together a quick Perl script to do it. It's ~nik/bin/para.pl
|
||||||
on freefall.
|
on freefall.
|
||||||
|
|
||||||
|
5. Got halfway through looking for filenames, and marking them up as such.
|
||||||
|
|
||||||
|
There are a lot ( :-( ) of filenames in the Handbook. The conversion
|
||||||
|
process did a pretty good job of marking them as <filename>...</filename>
|
||||||
|
but it wasn't perfect.
|
||||||
|
|
||||||
|
I'm halfway through (line 16704) going through the Handbook, eyeballing
|
||||||
|
each line and changing things like <emphasis remap="tt">...</emphasis>
|
||||||
|
to <filename>...</filename> where appropriate.
|
||||||
|
|
||||||
|
The remainder will follow tomorrow evening.
|
||||||
|
|
||||||
|
|
|
@ -1505,8 +1505,8 @@
|
||||||
<title>Before installing from a MS-DOS partition</title>
|
<title>Before installing from a MS-DOS partition</title>
|
||||||
|
|
||||||
<para>To prepare for installation from an MS-DOS partition, copy the
|
<para>To prepare for installation from an MS-DOS partition, copy the
|
||||||
files from the distribution into a directory called <emphasis
|
files from the distribution into a directory called
|
||||||
remap=tt>C:\FREEBSD</emphasis>. The directory tree structure of
|
<filename>C:\FREEBSD</filename>. The directory tree structure of
|
||||||
the CDROM must be partially reproduced within this directory so we
|
the CDROM must be partially reproduced within this directory so we
|
||||||
suggest using the DOS <emphasis remap=tt>xcopy</emphasis> command.
|
suggest using the DOS <emphasis remap=tt>xcopy</emphasis> command.
|
||||||
For example, to prepare for a minimal installation of FreeBSD:
|
For example, to prepare for a minimal installation of FreeBSD:
|
||||||
|
@ -1514,13 +1514,13 @@
|
||||||
<screen>C> MD C:\FREEBSD C> XCOPY /S E:\BIN
|
<screen>C> MD C:\FREEBSD C> XCOPY /S E:\BIN
|
||||||
C:\FREEBSD\BIN\ C> XCOPY /S E:\MANPAGES
|
C:\FREEBSD\BIN\ C> XCOPY /S E:\MANPAGES
|
||||||
C:\FREEBSD\MANPAGES\</screen>
|
C:\FREEBSD\MANPAGES\</screen>
|
||||||
</informalexample> assuming that <emphasis remap=tt>C:</emphasis>
|
</informalexample> assuming that <filename>C:</filename>
|
||||||
is where you have free space and <emphasis remap=tt>E:</emphasis>
|
is where you have free space and <filename>E:</filename>
|
||||||
is where your CDROM is mounted.</para>
|
is where your CDROM is mounted.</para>
|
||||||
|
|
||||||
<para>For as many `DISTS' you wish to install from MS-DOS (and you
|
<para>For as many `DISTS' you wish to install from MS-DOS (and you
|
||||||
have free space for), install each one under <emphasis
|
have free space for), install each one under
|
||||||
remap=tt>C:\FREEBSD</emphasis> - the <acronym>BIN</acronym> dist
|
<filename>C:\FREEBSD</filename> - the <acronym>BIN</acronym> dist
|
||||||
is only the minimal requirement.</para>
|
is only the minimal requirement.</para>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -2248,10 +2248,11 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para> Install the program executable and other supporting
|
<para> Install the program executable and other supporting
|
||||||
files, man pages, etc. under the /usr/local hierarchy, where
|
files, man pages, etc. under the
|
||||||
they will not get mixed up with system programs. This also
|
<filename>/usr/local</filename> hierarchy, where they will not
|
||||||
makes sure that all the ports you install will go in the same
|
get mixed up with system programs. This also makes sure that
|
||||||
place, instead of being flung all over your system.
|
all the ports you install will go in the same place, instead
|
||||||
|
of being flung all over your system.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
@ -2291,7 +2292,8 @@
|
||||||
the initial setting up will already have been done for you.</para>
|
the initial setting up will already have been done for you.</para>
|
||||||
|
|
||||||
<para>If not, make sure the <emphasis>FreeBSD</emphasis> CDROM is in
|
<para>If not, make sure the <emphasis>FreeBSD</emphasis> CDROM is in
|
||||||
the drive and mounted on, say, /cdrom. Then do</para>
|
the drive and mounted on, say, <filename>/cdrom</filename>. Then
|
||||||
|
do</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<literallayout> # mkdir /usr/ports # cd /usr/ports # ln -s
|
<literallayout> # mkdir /usr/ports # cd /usr/ports # ln -s
|
||||||
|
@ -2299,8 +2301,8 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>to enable the ports make mechanism to find the tarballs (it
|
<para>to enable the ports make mechanism to find the tarballs (it
|
||||||
expects to find them in /usr/ports/distfiles, which is why we
|
expects to find them in <filename>/usr/ports/distfiles</filename>,
|
||||||
sym-linked the CDROM's tarball directory to that
|
which is why we sym-linked the CDROM's tarball directory to that
|
||||||
directory).</para>
|
directory).</para>
|
||||||
|
|
||||||
<para>Now, suppose you want to install the gnats program from the
|
<para>Now, suppose you want to install the gnats program from the
|
||||||
|
@ -2434,7 +2436,7 @@
|
||||||
|
|
||||||
<sect2
|
<sect2
|
||||||
id="ports-makefile">
|
id="ports-makefile">
|
||||||
<title>Makefile</title>
|
<title><filename>Makefile</filename></title>
|
||||||
|
|
||||||
<para>The most important component of a skeleton is the Makefile.
|
<para>The most important component of a skeleton is the Makefile.
|
||||||
This contains various statements that specify how the port should
|
This contains various statements that specify how the port should
|
||||||
|
@ -2480,9 +2482,10 @@
|
||||||
<para>Skipping over the next few lines for a minute, the line
|
<para>Skipping over the next few lines for a minute, the line
|
||||||
<literallayout> .include <bsd.port.mk> </literallayout> says
|
<literallayout> .include <bsd.port.mk> </literallayout> says
|
||||||
that the other statements and commands needed for this port are
|
that the other statements and commands needed for this port are
|
||||||
in a standard file called `bsd.port.mk". As these are the
|
in a standard file called <filename>bsd.port.mk</filename>. As
|
||||||
same for all ports, there is no point in duplicating them all over
|
these are the same for all ports, there is no point in duplicating
|
||||||
the place, so they are kept in a single standard file.</para>
|
them all over the place, so they are kept in a single standard
|
||||||
|
file.</para>
|
||||||
|
|
||||||
<para>This is probably not the place to go into a detailed
|
<para>This is probably not the place to go into a detailed
|
||||||
examination of how Makefiles work; suffice it to say that the line
|
examination of how Makefiles work; suffice it to say that the line
|
||||||
|
@ -2496,13 +2499,13 @@
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>The files directory</title>
|
<title>The <filename>files</filename> directory</title>
|
||||||
|
|
||||||
<para>The file containing the <xref linkend="ports-checksum"
|
<para>The file containing the <xref linkend="ports-checksum"
|
||||||
remap="checksum"> for the port is called "md5", after
|
remap="checksum"> for the port is called
|
||||||
the MD5 algorithm used for ports checksums. It lives in a
|
<filename>md5</filename>, after the MD5 algorithm used for ports
|
||||||
directory with the slightly confusing name of
|
checksums. It lives in a directory with the slightly confusing
|
||||||
"files".</para>
|
name of <filename>files</filename>.</para>
|
||||||
|
|
||||||
<para>This directory can also contain other miscellaneous files that
|
<para>This directory can also contain other miscellaneous files that
|
||||||
are required by the port and do not belong anywhere else.</para>
|
are required by the port and do not belong anywhere else.</para>
|
||||||
|
@ -2510,7 +2513,7 @@
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>The patches directory</title>
|
<title>The <filename>patches</filename> directory</title>
|
||||||
|
|
||||||
<para>This directory contains the <xref linkend="ports-patch"
|
<para>This directory contains the <xref linkend="ports-patch"
|
||||||
remap="patches"> needed to make everything work properly under
|
remap="patches"> needed to make everything work properly under
|
||||||
|
@ -2519,7 +2522,7 @@
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>The pkg directory</title>
|
<title>The <filename>pkg</filename> directory</title>
|
||||||
|
|
||||||
<para>This program contains three quite useful files:-</para>
|
<para>This program contains three quite useful files:-</para>
|
||||||
|
|
||||||
|
@ -2527,18 +2530,19 @@
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>COMMENT - a one-line description of the program.
|
<para><filename>COMMENT</filename> - a one-line description of
|
||||||
|
the program.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>DESCR - a more detailed description.
|
<para><filename>DESCR</filename> - a more detailed description.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>PLIST - a list of all the files that will be created
|
<para><filename>PLIST</filename> - a list of all the files
|
||||||
when the program is installed.</para>
|
that will be created when the program is installed.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
@ -2703,16 +2707,19 @@
|
||||||
tarballs?
|
tarballs?
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>A. It is a file ending in .tar or .tar.gz (with variations
|
<para>A. It is a file ending in <filename>.tar</filename> or
|
||||||
like .tar.Z, or even .tgz if you are trying to squeeze the
|
<filename>.tar.gz</filename> (with variations like
|
||||||
names into a DOS filesystem).</para>
|
<filename>.tar.Z</filename>, or even <filename>.tgz</filename>
|
||||||
|
if you are trying to squeeze the names into a DOS
|
||||||
|
filesystem).</para>
|
||||||
|
|
||||||
<para>Basically, it is a directory tree that has been archived
|
<para>Basically, it is a directory tree that has been archived
|
||||||
into a single file (.tar) and optionally compressed (.gz).
|
into a single file (<filename>.tar</filename>) and optionally
|
||||||
This technique was originally used for
|
compressed (<filename>.gz</filename>). This technique was
|
||||||
<emphasis>T</emphasis>ape <acronym>AR</acronym>chives (hence
|
originally used for <emphasis>T</emphasis>ape
|
||||||
the name `tar'), but it is a widely used way of distributing
|
<acronym>AR</acronym>chives (hence the name `tar'), but it is
|
||||||
program source code around the Internet.</para>
|
a widely used way of distributing program source code around
|
||||||
|
the Internet.</para>
|
||||||
|
|
||||||
<para>You can see what files are in them, or even extract them
|
<para>You can see what files are in them, or even extract them
|
||||||
yourself, by using the standard Unix tar program, which comes
|
yourself, by using the standard Unix tar program, which comes
|
||||||
|
@ -2763,15 +2770,15 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Q. I did that, but when I tried to put it into
|
<para>Q. I did that, but when I tried to put it into
|
||||||
/usr/ports/distfiles I got some error about not having
|
<filename>/usr/ports/distfiles</filename> I got some error
|
||||||
permission.
|
about not having permission.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>A. The ports mechanism looks for the tarball in
|
<para>A. The ports mechanism looks for the tarball in
|
||||||
/usr/ports/distfiles, but you will not be able to copy
|
<filename>/usr/ports/distfiles</filename>, but you will not be
|
||||||
anything there because it is sym-linked to the CDROM, which is
|
able to copy anything there because it is sym-linked to the
|
||||||
read-only. You can tell it to look somewhere else by
|
CDROM, which is read-only. You can tell it to look somewhere
|
||||||
doing</para>
|
else by doing</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<literallayout> DISTDIR=/where/you/put/it make
|
<literallayout> DISTDIR=/where/you/put/it make
|
||||||
|
@ -2781,9 +2788,10 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Q. Does the ports scheme only work if you have everything
|
<para>Q. Does the ports scheme only work if you have everything
|
||||||
in /usr/ports? My system administrator says I must put
|
in <filename>/usr/ports</filename>? My system administrator
|
||||||
everything under /u/people/guests/wurzburger, but it does not
|
says I must put everything under
|
||||||
seem to work.
|
<filename>/u/people/guests/wurzburger</filename>, but it does
|
||||||
|
not seem to work.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>A. You can use the PORTSDIR and PREFIX variables to tell
|
<para>A. You can use the PORTSDIR and PREFIX variables to tell
|
||||||
|
@ -2796,16 +2804,20 @@
|
||||||
install</literallayout>
|
install</literallayout>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>will compile the port in /u/people/guests/wurzburger/ports
|
<para>will compile the port in
|
||||||
and install everything under /usr/local. </para>
|
<filename>/u/people/guests/wurzburger/ports</filename> and
|
||||||
|
install everything under <filename>/usr/local</filename>.
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<literallayout> make PREFIX=/u/people/guests/wurzburger/local
|
<literallayout> make PREFIX=/u/people/guests/wurzburger/local
|
||||||
install</literallayout>
|
install</literallayout>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>will compile it in /usr/ports and install it in
|
<para>will compile it in <filename>/usr/ports</filename> and
|
||||||
/u/people/guests/wurzburger/local. </para>
|
install it in
|
||||||
|
<filename>/u/people/guests/wurzburger/local</filename>.
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>And of course</para>
|
<para>And of course</para>
|
||||||
|
|
||||||
|
@ -2912,11 +2924,12 @@
|
||||||
install</literallayout>
|
install</literallayout>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>or by editing /etc/make.conf, but unfortunately not all
|
<para>or by editing <filename>/etc/make.conf</filename>, but
|
||||||
ports respect this. The surest way is to do 'make configure',
|
unfortunately not all ports respect this. The surest way is to
|
||||||
then go into the source directory and inspect the Makefiles by
|
do 'make configure', then go into the source directory and
|
||||||
hand, but this can get tedious if the source has lots of
|
inspect the Makefiles by hand, but this can get tedious if the
|
||||||
sub-directories, each with their own Makefiles.</para>
|
source has lots of sub-directories, each with their own
|
||||||
|
Makefiles.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -2997,8 +3010,8 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Q. I tried that and it still left all those tarballs or
|
<para>Q. I tried that and it still left all those tarballs or
|
||||||
whatever you called them in the distfiles directory. Can I
|
whatever you called them in the <filename>distfiles</filename>
|
||||||
delete those as well?
|
directory. Can I delete those as well?
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>A. Yes, if you are sure you have finished with them, those
|
<para>A. Yes, if you are sure you have finished with them, those
|
||||||
|
@ -3078,7 +3091,8 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>A. Nothing secret about it at all, just look at the
|
<para>A. Nothing secret about it at all, just look at the
|
||||||
bsd.ports.mk and bsd.ports.subdir.mk files in your <ulink
|
<filename>bsd.ports.mk</filename> and
|
||||||
|
<filename>bsd.ports.subdir.mk</filename> files in your <ulink
|
||||||
URL="file://localhost/usr/share/mk/">makefiles
|
URL="file://localhost/usr/share/mk/">makefiles
|
||||||
directory.</ulink> (Note: readers with an aversion to
|
directory.</ulink> (Note: readers with an aversion to
|
||||||
intricate shell-scripts are advised not to follow this
|
intricate shell-scripts are advised not to follow this
|
||||||
|
@ -3171,10 +3185,10 @@
|
||||||
which is the staging area where your kernel will be built. Notice
|
which is the staging area where your kernel will be built. Notice
|
||||||
the logical organization of the directory tree, with each supported
|
the logical organization of the directory tree, with each supported
|
||||||
device, filesystem, and option in its own subdirectory. Also,
|
device, filesystem, and option in its own subdirectory. Also,
|
||||||
anything inside the <emphasis remap=tt>i386</emphasis> directory
|
anything inside the <filename>i386</filename> directory deals with
|
||||||
deals with PC hardware only, while everything outside the <emphasis
|
PC hardware only, while everything outside the
|
||||||
remap=tt>i386</emphasis> directory is common to all platforms
|
<filename>i386</filename> directory is common to all platforms which
|
||||||
which FreeBSD could potentially be ported to.</para>
|
FreeBSD could potentially be ported to.</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
|
@ -3187,15 +3201,15 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>Next, move to the <filename>i386/conf</filename> directory and
|
<para>Next, move to the <filename>i386/conf</filename> directory and
|
||||||
copy the GENERIC configuration file to the name you want to give
|
copy the <filename>GENERIC</filename> configuration file to the name
|
||||||
your kernel. For example:
|
you want to give your kernel. For example:
|
||||||
<informalexample>
|
<informalexample>
|
||||||
<screen># cd /usr/src/sys/i386/conf # cp GENERIC MYKERNEL</screen>
|
<screen># cd /usr/src/sys/i386/conf # cp GENERIC MYKERNEL</screen>
|
||||||
</informalexample> Traditionally, this name is in all capital
|
</informalexample> Traditionally, this name is in all capital
|
||||||
letters and, if you are maintaining multiple FreeBSD machines with
|
letters and, if you are maintaining multiple FreeBSD machines with
|
||||||
different hardware, it is a good idea to name it after your
|
different hardware, it is a good idea to name it after your
|
||||||
machine's hostname. We will call it MYKERNEL for the purpose of
|
machine's hostname. We will call it <filename>MYKERNEL</filename>
|
||||||
this example.</para>
|
for the purpose of this example.</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
|
@ -3205,19 +3219,22 @@
|
||||||
</blockquote>
|
</blockquote>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>Now, edit MYKERNEL with your favorite text editor. If you are
|
<para>Now, edit <filename>MYKERNEL</filename> with your favorite text
|
||||||
just starting out, the only editor available will probably be
|
editor. If you are just starting out, the only editor available
|
||||||
<emphasis remap=tt>vi</emphasis>, which is too complex to explain
|
will probably be <emphasis remap=tt>vi</emphasis>, which is too
|
||||||
here, but is covered well in many books in the <xref
|
complex to explain here, but is covered well in many books in the
|
||||||
|
<xref
|
||||||
linkend="bibliography" remap="bibliography">. Feel free to change
|
linkend="bibliography" remap="bibliography">. Feel free to change
|
||||||
the comment lines at the top to reflect your configuration or the
|
the comment lines at the top to reflect your configuration or the
|
||||||
changes you have made to differentiate it from GENERIC.</para>
|
changes you have made to differentiate it from
|
||||||
|
<filename>GENERIC</filename>.</para>
|
||||||
|
|
||||||
<para>If you have build a kernel under SunOS or some other BSD
|
<para>If you have build a kernel under SunOS or some other BSD
|
||||||
operating system, much of this file will be very familiar to you.
|
operating system, much of this file will be very familiar to you. If
|
||||||
If you are coming from some other operating system such as DOS, on
|
you are coming from some other operating system such as DOS, on the
|
||||||
the other hand, the GENERIC configuration file might seem
|
other hand, the <filename>GENERIC</filename> configuration file
|
||||||
overwhelming to you, so follow the descriptions in the <xref
|
might seem overwhelming to you, so follow the descriptions in the
|
||||||
|
<xref
|
||||||
linkend="kernelconfig-config"
|
linkend="kernelconfig-config"
|
||||||
remap="Configuration File"> section slowly and carefully.</para>
|
remap="Configuration File"> section slowly and carefully.</para>
|
||||||
|
|
||||||
|
@ -3269,14 +3286,16 @@
|
||||||
most lines only contain one argument. Anything following a
|
most lines only contain one argument. Anything following a
|
||||||
<emphasis remap=tt>#</emphasis> is considered a comment and ignored.
|
<emphasis remap=tt>#</emphasis> is considered a comment and ignored.
|
||||||
The following sections describe each keyword, generally in the order
|
The following sections describe each keyword, generally in the order
|
||||||
they are listed in GENERIC, although some related keywords have been
|
they are listed in <filename>GENERIC</filename>, although some
|
||||||
grouped together in a single section (such as Networking) even
|
related keywords have been grouped together in a single section
|
||||||
though they are actually scattered throughout the GENERIC file.
|
(such as Networking) even though they are actually scattered
|
||||||
<anchor id="kernelconfig-options"> An
|
throughout the <filename>GENERIC</filename> file.
|
||||||
exhaustive list of options and more detailed explanations of the
|
<anchor id="kernelconfig-options"> An exhaustive list of options and
|
||||||
device lines is present in the LINT configuration file, located in
|
more detailed explanations of the device lines is present in the
|
||||||
the same directory as GENERIC. If you are in doubt as to the
|
<filename>LINT</filename> configuration file, located in the same
|
||||||
purpose or necessity of a line, check first in LINT.</para>
|
directory as <filename>GENERIC</filename>. If you are in doubt as to
|
||||||
|
the purpose or necessity of a line, check first in
|
||||||
|
<filename>LINT</filename>.</para>
|
||||||
|
|
||||||
<para>The kernel is currently being moved to a better organization of
|
<para>The kernel is currently being moved to a better organization of
|
||||||
the option handling. Traditionally, each option in the config file
|
the option handling. Traditionally, each option in the config file
|
||||||
|
@ -3352,9 +3371,9 @@
|
||||||
remap=tt>cpu</emphasis> line may be present with
|
remap=tt>cpu</emphasis> line may be present with
|
||||||
different values of <emphasis
|
different values of <emphasis
|
||||||
remap=tt><replaceable>cpu_type</replaceable></emphasis>
|
remap=tt><replaceable>cpu_type</replaceable></emphasis>
|
||||||
as are present in the GENERIC kernel. For a custom
|
as are present in the <filename>GENERIC</filename> kernel.
|
||||||
kernel, it is best to specify only the cpu you have. If,
|
For a custom kernel, it is best to specify only the cpu
|
||||||
for example, you have an Intel Pentium, use
|
you have. If, for example, you have an Intel Pentium, use
|
||||||
<symbol>I586_CPU</symbol> for <emphasis
|
<symbol>I586_CPU</symbol> for <emphasis
|
||||||
remap=tt><replaceable>cpu_type</replaceable></emphasis>.</para>
|
remap=tt><replaceable>cpu_type</replaceable></emphasis>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -3365,8 +3384,9 @@
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Next, we have <emphasis remap=tt>ident</emphasis>,
|
<para>Next, we have <emphasis remap=tt>ident</emphasis>,
|
||||||
which is the identification of the kernel. You should
|
which is the identification of the kernel. You should
|
||||||
change this from GENERIC to whatever you named your
|
change this from <filename>GENERIC</filename> to whatever
|
||||||
kernel, in this example, MYKERNEL. The value you put in
|
you named your kernel, in this example,
|
||||||
|
<filename>MYKERNEL</filename>. The value you put in
|
||||||
<emphasis remap=tt>ident</emphasis> will print when you
|
<emphasis remap=tt>ident</emphasis> will print when you
|
||||||
boot up the kernel, so it is useful to give a kernel a
|
boot up the kernel, so it is useful to give a kernel a
|
||||||
different name if you want to keep it separate from your
|
different name if you want to keep it separate from your
|
||||||
|
@ -3439,10 +3459,10 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>This line specifies the location and name of the
|
<para>This line specifies the location and name of the
|
||||||
kernel. Traditionally the kernel is called <emphasis
|
kernel. Traditionally the kernel is called
|
||||||
remap=tt>vmunix</emphasis> but in FreeBSD, it is aptly
|
<filename>vmunix</filename> but in FreeBSD, it is aptly
|
||||||
named <emphasis remap=tt>kernel</emphasis>. You should
|
named <filename>kernel</filename>. You should always use
|
||||||
always use <emphasis remap=tt>kernel</emphasis> for
|
<filename>kernel</filename> for
|
||||||
<symbol>kernel_name</symbol> because changing it will
|
<symbol>kernel_name</symbol> because changing it will
|
||||||
render numerous system utilities inoperative. The second
|
render numerous system utilities inoperative. The second
|
||||||
part of the line specifies the disk and partition where
|
part of the line specifies the disk and partition where
|
||||||
|
@ -3623,9 +3643,9 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Process filesystem. This is a pretend filesystem
|
<para>Process filesystem. This is a pretend filesystem
|
||||||
mounted on /proc which allows programs like
|
mounted on <filename>/proc</filename> which allows
|
||||||
<command>ps(1)</command> to give you more information on
|
programs like <command>ps(1)</command> to give you more
|
||||||
what processes are running.</para>
|
information on what processes are running.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
@ -5354,8 +5374,8 @@
|
||||||
</informalexample>
|
</informalexample>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>If any additional files (such as <emphasis
|
<para>If any additional files (such as
|
||||||
remap=tt>principal.*</emphasis> or <symbol>master_key</symbol>)
|
<filename>principal.*</filename> or <symbol>master_key</symbol>)
|
||||||
exist, then use the <symbol>kdb_destroy</symbol> command to
|
exist, then use the <symbol>kdb_destroy</symbol> command to
|
||||||
destroy the old Kerberos database, of if Kerberos is not running,
|
destroy the old Kerberos database, of if Kerberos is not running,
|
||||||
simply delete the extra files with <emphasis
|
simply delete the extra files with <emphasis
|
||||||
|
@ -9762,13 +9782,14 @@
|
||||||
URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> makes the filter <emphasis remap=tt>hpdf</emphasis> quite complex since <ulink URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> cannot read from standard input. It wants to work with a filename. What is worse, the filename has to end in <filename>.dvi</filename> so using <filename>/dev/fd/0</filename> for standard input is problematic. We can get around that problem by linking (symbolically) a temporary file name (one that ends in <filename>.dvi</filename>) to <filename>/dev/fd/0</filename>, thereby forcing <ulink URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> to read from standard input.</para>
|
URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> makes the filter <emphasis remap=tt>hpdf</emphasis> quite complex since <ulink URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> cannot read from standard input. It wants to work with a filename. What is worse, the filename has to end in <filename>.dvi</filename> so using <filename>/dev/fd/0</filename> for standard input is problematic. We can get around that problem by linking (symbolically) a temporary file name (one that ends in <filename>.dvi</filename>) to <filename>/dev/fd/0</filename>, thereby forcing <ulink URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> to read from standard input.</para>
|
||||||
|
|
||||||
<para>The only other fly in the ointment is the fact that we
|
<para>The only other fly in the ointment is the fact that we
|
||||||
cannot use /tmp for the temporary link. Symbolic links are
|
cannot use <filename>/tmp</filename> for the temporary link.
|
||||||
owned by user and group <emphasis remap=tt>bin</emphasis>.
|
Symbolic links are owned by user and group <emphasis
|
||||||
The filter runs as user <emphasis remap=tt>daemon</emphasis>.
|
remap=tt>bin</emphasis>. The filter runs as user <emphasis
|
||||||
And the <filename>/tmp</filename> directory has the sticky bit
|
remap=tt>daemon</emphasis>. And the
|
||||||
set. The filter can create the link, but it will not be able
|
<filename>/tmp</filename> directory has the sticky bit set.
|
||||||
clean up when done and remove it since the link will belong to
|
The filter can create the link, but it will not be able clean
|
||||||
a different user.</para>
|
up when done and remove it since the link will belong to a
|
||||||
|
different user.</para>
|
||||||
|
|
||||||
<para>Instead, the filter will make the symbolic link in the
|
<para>Instead, the filter will make the symbolic link in the
|
||||||
current working directory, which is the spooling directory
|
current working directory, which is the spooling directory
|
||||||
|
@ -10755,8 +10776,8 @@
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>You can control how much free space there needs to
|
<para>You can control how much free space there needs to
|
||||||
remain on the filesystem where a spooling directory
|
remain on the filesystem where a spooling directory
|
||||||
resides. Make a file called <emphasis
|
resides. Make a file called
|
||||||
remap=tt>minfree</emphasis> in the spooling directory
|
<filename>minfree</filename> in the spooling directory
|
||||||
for the local printer. Insert in that file a number
|
for the local printer. Insert in that file a number
|
||||||
representing how many disk blocks (512 bytes) of free
|
representing how many disk blocks (512 bytes) of free
|
||||||
space there has to be for a remote job to be
|
space there has to be for a remote job to be
|
||||||
|
@ -10766,11 +10787,11 @@
|
||||||
your filesystem. You can also use it to give a certain
|
your filesystem. You can also use it to give a certain
|
||||||
priority to local users: they will be able to queue jobs
|
priority to local users: they will be able to queue jobs
|
||||||
long after the free disk space has fallen below the
|
long after the free disk space has fallen below the
|
||||||
amount specified in the <emphasis
|
amount specified in the <filename>minfree</filename>
|
||||||
remap=tt>minfree</emphasis> file.</para>
|
file.</para>
|
||||||
|
|
||||||
<para>For example, let us add a <emphasis
|
<para>For example, let us add a
|
||||||
remap=tt>minfree</emphasis> file for the printer
|
<filename>minfree</filename> file for the printer
|
||||||
<emphasis remap=tt>bamboo</emphasis>. We examine
|
<emphasis remap=tt>bamboo</emphasis>. We examine
|
||||||
<filename>/etc/printcap</filename> to find the spooling
|
<filename>/etc/printcap</filename> to find the spooling
|
||||||
directory for this printer; here is <emphasis
|
directory for this printer; here is <emphasis
|
||||||
|
@ -11266,9 +11287,9 @@
|
||||||
sure that quotas are configured in your kernel. This is done by
|
sure that quotas are configured in your kernel. This is done by
|
||||||
adding the following line to your kernel configuration file:
|
adding the following line to your kernel configuration file:
|
||||||
<literallayout>options QUOTA</literallayout> The
|
<literallayout>options QUOTA</literallayout> The
|
||||||
stock GENERIC kernel does not have this enabled by default, so you
|
stock <filename>GENERIC</filename> kernel does not have this enabled
|
||||||
will have to configure, build and install a custom kernel in order
|
by default, so you will have to configure, build and install a
|
||||||
to use disk quotas. Please refer to the
|
custom kernel in order to use disk quotas. Please refer to the
|
||||||
<xref linkend="kernelconfig" remap="Configuring the FreeBSD Kernel">
|
<xref linkend="kernelconfig" remap="Configuring the FreeBSD Kernel">
|
||||||
section for more information on kernel configuration.</para>
|
section for more information on kernel configuration.</para>
|
||||||
|
|
||||||
|
@ -13294,7 +13315,7 @@
|
||||||
cuag</screen>
|
cuag</screen>
|
||||||
</informalexample> If you do not want or need callout
|
</informalexample> If you do not want or need callout
|
||||||
devices for some reason, you can dispense with making
|
devices for some reason, you can dispense with making
|
||||||
the <emphasis remap=tt>cua*</emphasis> devices.</para>
|
the <filename>cua*</filename> devices.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -14498,10 +14519,12 @@
|
||||||
must contain one or more lines describing your host
|
must contain one or more lines describing your host
|
||||||
adapter(s). This includes I/O addresses, interrupts etc.
|
adapter(s). This includes I/O addresses, interrupts etc.
|
||||||
Consult the man page for your adapter driver to get more info.
|
Consult the man page for your adapter driver to get more info.
|
||||||
Apart from that, check out /sys/i386/conf/LINT for an overview
|
Apart from that, check out
|
||||||
of a kernel config file. LINT contains every possible option
|
<filename>/sys/i386/conf/LINT</filename> for an overview of a
|
||||||
you can dream of. It does <emphasis>not</emphasis> imply LINT
|
kernel config file. <filename>LINT</filename> contains every
|
||||||
will actually get you to a working kernel at all.</para>
|
possible option you can dream of. It does
|
||||||
|
<emphasis>not</emphasis> imply <filename>LINT</filename> will
|
||||||
|
actually get you to a working kernel at all.</para>
|
||||||
|
|
||||||
<para>Although it is probably stating the obvious: the kernel
|
<para>Although it is probably stating the obvious: the kernel
|
||||||
config file should reflect your actual hardware setup. So,
|
config file should reflect your actual hardware setup. So,
|
||||||
|
@ -14677,8 +14700,9 @@
|
||||||
probed. Because the INQUIRY response also includes the version
|
probed. Because the INQUIRY response also includes the version
|
||||||
number of the device firmware, it is even possible that for
|
number of the device firmware, it is even possible that for
|
||||||
different firmware versions different workarounds are used.
|
different firmware versions different workarounds are used.
|
||||||
See e.g. /sys/scsi/st.c and /sys/scsi/scsiconf.c for more info
|
See e.g. <filename>/sys/scsi/st.c</filename> and
|
||||||
on how this is done.</para>
|
<filename>/sys/scsi/scsiconf.c</filename> for more info on how
|
||||||
|
this is done.</para>
|
||||||
|
|
||||||
<para>This scheme works fine, but keep in mind that it of course
|
<para>This scheme works fine, but keep in mind that it of course
|
||||||
only works for devices that are KNOWN to be weird. If you are
|
only works for devices that are KNOWN to be weird. If you are
|
||||||
|
@ -15353,8 +15377,8 @@
|
||||||
rewoffl.</para>
|
rewoffl.</para>
|
||||||
|
|
||||||
<para>If you are using the NCR SCSI controllers, patch the file
|
<para>If you are using the NCR SCSI controllers, patch the file
|
||||||
/usr/src/sys/pci/ncr.c (as shown below). Build and install a
|
<filename>/usr/src/sys/pci/ncr.c</filename> (as shown below).
|
||||||
new kernel.</para>
|
Build and install a new kernel.</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<informalexample>
|
<informalexample>
|
||||||
|
|
|
@ -1505,8 +1505,8 @@
|
||||||
<title>Before installing from a MS-DOS partition</title>
|
<title>Before installing from a MS-DOS partition</title>
|
||||||
|
|
||||||
<para>To prepare for installation from an MS-DOS partition, copy the
|
<para>To prepare for installation from an MS-DOS partition, copy the
|
||||||
files from the distribution into a directory called <emphasis
|
files from the distribution into a directory called
|
||||||
remap=tt>C:\FREEBSD</emphasis>. The directory tree structure of
|
<filename>C:\FREEBSD</filename>. The directory tree structure of
|
||||||
the CDROM must be partially reproduced within this directory so we
|
the CDROM must be partially reproduced within this directory so we
|
||||||
suggest using the DOS <emphasis remap=tt>xcopy</emphasis> command.
|
suggest using the DOS <emphasis remap=tt>xcopy</emphasis> command.
|
||||||
For example, to prepare for a minimal installation of FreeBSD:
|
For example, to prepare for a minimal installation of FreeBSD:
|
||||||
|
@ -1514,13 +1514,13 @@
|
||||||
<screen>C> MD C:\FREEBSD C> XCOPY /S E:\BIN
|
<screen>C> MD C:\FREEBSD C> XCOPY /S E:\BIN
|
||||||
C:\FREEBSD\BIN\ C> XCOPY /S E:\MANPAGES
|
C:\FREEBSD\BIN\ C> XCOPY /S E:\MANPAGES
|
||||||
C:\FREEBSD\MANPAGES\</screen>
|
C:\FREEBSD\MANPAGES\</screen>
|
||||||
</informalexample> assuming that <emphasis remap=tt>C:</emphasis>
|
</informalexample> assuming that <filename>C:</filename>
|
||||||
is where you have free space and <emphasis remap=tt>E:</emphasis>
|
is where you have free space and <filename>E:</filename>
|
||||||
is where your CDROM is mounted.</para>
|
is where your CDROM is mounted.</para>
|
||||||
|
|
||||||
<para>For as many `DISTS' you wish to install from MS-DOS (and you
|
<para>For as many `DISTS' you wish to install from MS-DOS (and you
|
||||||
have free space for), install each one under <emphasis
|
have free space for), install each one under
|
||||||
remap=tt>C:\FREEBSD</emphasis> - the <acronym>BIN</acronym> dist
|
<filename>C:\FREEBSD</filename> - the <acronym>BIN</acronym> dist
|
||||||
is only the minimal requirement.</para>
|
is only the minimal requirement.</para>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -2248,10 +2248,11 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para> Install the program executable and other supporting
|
<para> Install the program executable and other supporting
|
||||||
files, man pages, etc. under the /usr/local hierarchy, where
|
files, man pages, etc. under the
|
||||||
they will not get mixed up with system programs. This also
|
<filename>/usr/local</filename> hierarchy, where they will not
|
||||||
makes sure that all the ports you install will go in the same
|
get mixed up with system programs. This also makes sure that
|
||||||
place, instead of being flung all over your system.
|
all the ports you install will go in the same place, instead
|
||||||
|
of being flung all over your system.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
@ -2291,7 +2292,8 @@
|
||||||
the initial setting up will already have been done for you.</para>
|
the initial setting up will already have been done for you.</para>
|
||||||
|
|
||||||
<para>If not, make sure the <emphasis>FreeBSD</emphasis> CDROM is in
|
<para>If not, make sure the <emphasis>FreeBSD</emphasis> CDROM is in
|
||||||
the drive and mounted on, say, /cdrom. Then do</para>
|
the drive and mounted on, say, <filename>/cdrom</filename>. Then
|
||||||
|
do</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<literallayout> # mkdir /usr/ports # cd /usr/ports # ln -s
|
<literallayout> # mkdir /usr/ports # cd /usr/ports # ln -s
|
||||||
|
@ -2299,8 +2301,8 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>to enable the ports make mechanism to find the tarballs (it
|
<para>to enable the ports make mechanism to find the tarballs (it
|
||||||
expects to find them in /usr/ports/distfiles, which is why we
|
expects to find them in <filename>/usr/ports/distfiles</filename>,
|
||||||
sym-linked the CDROM's tarball directory to that
|
which is why we sym-linked the CDROM's tarball directory to that
|
||||||
directory).</para>
|
directory).</para>
|
||||||
|
|
||||||
<para>Now, suppose you want to install the gnats program from the
|
<para>Now, suppose you want to install the gnats program from the
|
||||||
|
@ -2434,7 +2436,7 @@
|
||||||
|
|
||||||
<sect2
|
<sect2
|
||||||
id="ports-makefile">
|
id="ports-makefile">
|
||||||
<title>Makefile</title>
|
<title><filename>Makefile</filename></title>
|
||||||
|
|
||||||
<para>The most important component of a skeleton is the Makefile.
|
<para>The most important component of a skeleton is the Makefile.
|
||||||
This contains various statements that specify how the port should
|
This contains various statements that specify how the port should
|
||||||
|
@ -2480,9 +2482,10 @@
|
||||||
<para>Skipping over the next few lines for a minute, the line
|
<para>Skipping over the next few lines for a minute, the line
|
||||||
<literallayout> .include <bsd.port.mk> </literallayout> says
|
<literallayout> .include <bsd.port.mk> </literallayout> says
|
||||||
that the other statements and commands needed for this port are
|
that the other statements and commands needed for this port are
|
||||||
in a standard file called `bsd.port.mk". As these are the
|
in a standard file called <filename>bsd.port.mk</filename>. As
|
||||||
same for all ports, there is no point in duplicating them all over
|
these are the same for all ports, there is no point in duplicating
|
||||||
the place, so they are kept in a single standard file.</para>
|
them all over the place, so they are kept in a single standard
|
||||||
|
file.</para>
|
||||||
|
|
||||||
<para>This is probably not the place to go into a detailed
|
<para>This is probably not the place to go into a detailed
|
||||||
examination of how Makefiles work; suffice it to say that the line
|
examination of how Makefiles work; suffice it to say that the line
|
||||||
|
@ -2496,13 +2499,13 @@
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>The files directory</title>
|
<title>The <filename>files</filename> directory</title>
|
||||||
|
|
||||||
<para>The file containing the <xref linkend="ports-checksum"
|
<para>The file containing the <xref linkend="ports-checksum"
|
||||||
remap="checksum"> for the port is called "md5", after
|
remap="checksum"> for the port is called
|
||||||
the MD5 algorithm used for ports checksums. It lives in a
|
<filename>md5</filename>, after the MD5 algorithm used for ports
|
||||||
directory with the slightly confusing name of
|
checksums. It lives in a directory with the slightly confusing
|
||||||
"files".</para>
|
name of <filename>files</filename>.</para>
|
||||||
|
|
||||||
<para>This directory can also contain other miscellaneous files that
|
<para>This directory can also contain other miscellaneous files that
|
||||||
are required by the port and do not belong anywhere else.</para>
|
are required by the port and do not belong anywhere else.</para>
|
||||||
|
@ -2510,7 +2513,7 @@
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>The patches directory</title>
|
<title>The <filename>patches</filename> directory</title>
|
||||||
|
|
||||||
<para>This directory contains the <xref linkend="ports-patch"
|
<para>This directory contains the <xref linkend="ports-patch"
|
||||||
remap="patches"> needed to make everything work properly under
|
remap="patches"> needed to make everything work properly under
|
||||||
|
@ -2519,7 +2522,7 @@
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>The pkg directory</title>
|
<title>The <filename>pkg</filename> directory</title>
|
||||||
|
|
||||||
<para>This program contains three quite useful files:-</para>
|
<para>This program contains three quite useful files:-</para>
|
||||||
|
|
||||||
|
@ -2527,18 +2530,19 @@
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>COMMENT - a one-line description of the program.
|
<para><filename>COMMENT</filename> - a one-line description of
|
||||||
|
the program.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>DESCR - a more detailed description.
|
<para><filename>DESCR</filename> - a more detailed description.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>PLIST - a list of all the files that will be created
|
<para><filename>PLIST</filename> - a list of all the files
|
||||||
when the program is installed.</para>
|
that will be created when the program is installed.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
@ -2703,16 +2707,19 @@
|
||||||
tarballs?
|
tarballs?
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>A. It is a file ending in .tar or .tar.gz (with variations
|
<para>A. It is a file ending in <filename>.tar</filename> or
|
||||||
like .tar.Z, or even .tgz if you are trying to squeeze the
|
<filename>.tar.gz</filename> (with variations like
|
||||||
names into a DOS filesystem).</para>
|
<filename>.tar.Z</filename>, or even <filename>.tgz</filename>
|
||||||
|
if you are trying to squeeze the names into a DOS
|
||||||
|
filesystem).</para>
|
||||||
|
|
||||||
<para>Basically, it is a directory tree that has been archived
|
<para>Basically, it is a directory tree that has been archived
|
||||||
into a single file (.tar) and optionally compressed (.gz).
|
into a single file (<filename>.tar</filename>) and optionally
|
||||||
This technique was originally used for
|
compressed (<filename>.gz</filename>). This technique was
|
||||||
<emphasis>T</emphasis>ape <acronym>AR</acronym>chives (hence
|
originally used for <emphasis>T</emphasis>ape
|
||||||
the name `tar'), but it is a widely used way of distributing
|
<acronym>AR</acronym>chives (hence the name `tar'), but it is
|
||||||
program source code around the Internet.</para>
|
a widely used way of distributing program source code around
|
||||||
|
the Internet.</para>
|
||||||
|
|
||||||
<para>You can see what files are in them, or even extract them
|
<para>You can see what files are in them, or even extract them
|
||||||
yourself, by using the standard Unix tar program, which comes
|
yourself, by using the standard Unix tar program, which comes
|
||||||
|
@ -2763,15 +2770,15 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Q. I did that, but when I tried to put it into
|
<para>Q. I did that, but when I tried to put it into
|
||||||
/usr/ports/distfiles I got some error about not having
|
<filename>/usr/ports/distfiles</filename> I got some error
|
||||||
permission.
|
about not having permission.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>A. The ports mechanism looks for the tarball in
|
<para>A. The ports mechanism looks for the tarball in
|
||||||
/usr/ports/distfiles, but you will not be able to copy
|
<filename>/usr/ports/distfiles</filename>, but you will not be
|
||||||
anything there because it is sym-linked to the CDROM, which is
|
able to copy anything there because it is sym-linked to the
|
||||||
read-only. You can tell it to look somewhere else by
|
CDROM, which is read-only. You can tell it to look somewhere
|
||||||
doing</para>
|
else by doing</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<literallayout> DISTDIR=/where/you/put/it make
|
<literallayout> DISTDIR=/where/you/put/it make
|
||||||
|
@ -2781,9 +2788,10 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Q. Does the ports scheme only work if you have everything
|
<para>Q. Does the ports scheme only work if you have everything
|
||||||
in /usr/ports? My system administrator says I must put
|
in <filename>/usr/ports</filename>? My system administrator
|
||||||
everything under /u/people/guests/wurzburger, but it does not
|
says I must put everything under
|
||||||
seem to work.
|
<filename>/u/people/guests/wurzburger</filename>, but it does
|
||||||
|
not seem to work.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>A. You can use the PORTSDIR and PREFIX variables to tell
|
<para>A. You can use the PORTSDIR and PREFIX variables to tell
|
||||||
|
@ -2796,16 +2804,20 @@
|
||||||
install</literallayout>
|
install</literallayout>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>will compile the port in /u/people/guests/wurzburger/ports
|
<para>will compile the port in
|
||||||
and install everything under /usr/local. </para>
|
<filename>/u/people/guests/wurzburger/ports</filename> and
|
||||||
|
install everything under <filename>/usr/local</filename>.
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<literallayout> make PREFIX=/u/people/guests/wurzburger/local
|
<literallayout> make PREFIX=/u/people/guests/wurzburger/local
|
||||||
install</literallayout>
|
install</literallayout>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>will compile it in /usr/ports and install it in
|
<para>will compile it in <filename>/usr/ports</filename> and
|
||||||
/u/people/guests/wurzburger/local. </para>
|
install it in
|
||||||
|
<filename>/u/people/guests/wurzburger/local</filename>.
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>And of course</para>
|
<para>And of course</para>
|
||||||
|
|
||||||
|
@ -2912,11 +2924,12 @@
|
||||||
install</literallayout>
|
install</literallayout>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>or by editing /etc/make.conf, but unfortunately not all
|
<para>or by editing <filename>/etc/make.conf</filename>, but
|
||||||
ports respect this. The surest way is to do 'make configure',
|
unfortunately not all ports respect this. The surest way is to
|
||||||
then go into the source directory and inspect the Makefiles by
|
do 'make configure', then go into the source directory and
|
||||||
hand, but this can get tedious if the source has lots of
|
inspect the Makefiles by hand, but this can get tedious if the
|
||||||
sub-directories, each with their own Makefiles.</para>
|
source has lots of sub-directories, each with their own
|
||||||
|
Makefiles.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -2997,8 +3010,8 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Q. I tried that and it still left all those tarballs or
|
<para>Q. I tried that and it still left all those tarballs or
|
||||||
whatever you called them in the distfiles directory. Can I
|
whatever you called them in the <filename>distfiles</filename>
|
||||||
delete those as well?
|
directory. Can I delete those as well?
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>A. Yes, if you are sure you have finished with them, those
|
<para>A. Yes, if you are sure you have finished with them, those
|
||||||
|
@ -3078,7 +3091,8 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>A. Nothing secret about it at all, just look at the
|
<para>A. Nothing secret about it at all, just look at the
|
||||||
bsd.ports.mk and bsd.ports.subdir.mk files in your <ulink
|
<filename>bsd.ports.mk</filename> and
|
||||||
|
<filename>bsd.ports.subdir.mk</filename> files in your <ulink
|
||||||
URL="file://localhost/usr/share/mk/">makefiles
|
URL="file://localhost/usr/share/mk/">makefiles
|
||||||
directory.</ulink> (Note: readers with an aversion to
|
directory.</ulink> (Note: readers with an aversion to
|
||||||
intricate shell-scripts are advised not to follow this
|
intricate shell-scripts are advised not to follow this
|
||||||
|
@ -3171,10 +3185,10 @@
|
||||||
which is the staging area where your kernel will be built. Notice
|
which is the staging area where your kernel will be built. Notice
|
||||||
the logical organization of the directory tree, with each supported
|
the logical organization of the directory tree, with each supported
|
||||||
device, filesystem, and option in its own subdirectory. Also,
|
device, filesystem, and option in its own subdirectory. Also,
|
||||||
anything inside the <emphasis remap=tt>i386</emphasis> directory
|
anything inside the <filename>i386</filename> directory deals with
|
||||||
deals with PC hardware only, while everything outside the <emphasis
|
PC hardware only, while everything outside the
|
||||||
remap=tt>i386</emphasis> directory is common to all platforms
|
<filename>i386</filename> directory is common to all platforms which
|
||||||
which FreeBSD could potentially be ported to.</para>
|
FreeBSD could potentially be ported to.</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
|
@ -3187,15 +3201,15 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>Next, move to the <filename>i386/conf</filename> directory and
|
<para>Next, move to the <filename>i386/conf</filename> directory and
|
||||||
copy the GENERIC configuration file to the name you want to give
|
copy the <filename>GENERIC</filename> configuration file to the name
|
||||||
your kernel. For example:
|
you want to give your kernel. For example:
|
||||||
<informalexample>
|
<informalexample>
|
||||||
<screen># cd /usr/src/sys/i386/conf # cp GENERIC MYKERNEL</screen>
|
<screen># cd /usr/src/sys/i386/conf # cp GENERIC MYKERNEL</screen>
|
||||||
</informalexample> Traditionally, this name is in all capital
|
</informalexample> Traditionally, this name is in all capital
|
||||||
letters and, if you are maintaining multiple FreeBSD machines with
|
letters and, if you are maintaining multiple FreeBSD machines with
|
||||||
different hardware, it is a good idea to name it after your
|
different hardware, it is a good idea to name it after your
|
||||||
machine's hostname. We will call it MYKERNEL for the purpose of
|
machine's hostname. We will call it <filename>MYKERNEL</filename>
|
||||||
this example.</para>
|
for the purpose of this example.</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
|
@ -3205,19 +3219,22 @@
|
||||||
</blockquote>
|
</blockquote>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>Now, edit MYKERNEL with your favorite text editor. If you are
|
<para>Now, edit <filename>MYKERNEL</filename> with your favorite text
|
||||||
just starting out, the only editor available will probably be
|
editor. If you are just starting out, the only editor available
|
||||||
<emphasis remap=tt>vi</emphasis>, which is too complex to explain
|
will probably be <emphasis remap=tt>vi</emphasis>, which is too
|
||||||
here, but is covered well in many books in the <xref
|
complex to explain here, but is covered well in many books in the
|
||||||
|
<xref
|
||||||
linkend="bibliography" remap="bibliography">. Feel free to change
|
linkend="bibliography" remap="bibliography">. Feel free to change
|
||||||
the comment lines at the top to reflect your configuration or the
|
the comment lines at the top to reflect your configuration or the
|
||||||
changes you have made to differentiate it from GENERIC.</para>
|
changes you have made to differentiate it from
|
||||||
|
<filename>GENERIC</filename>.</para>
|
||||||
|
|
||||||
<para>If you have build a kernel under SunOS or some other BSD
|
<para>If you have build a kernel under SunOS or some other BSD
|
||||||
operating system, much of this file will be very familiar to you.
|
operating system, much of this file will be very familiar to you. If
|
||||||
If you are coming from some other operating system such as DOS, on
|
you are coming from some other operating system such as DOS, on the
|
||||||
the other hand, the GENERIC configuration file might seem
|
other hand, the <filename>GENERIC</filename> configuration file
|
||||||
overwhelming to you, so follow the descriptions in the <xref
|
might seem overwhelming to you, so follow the descriptions in the
|
||||||
|
<xref
|
||||||
linkend="kernelconfig-config"
|
linkend="kernelconfig-config"
|
||||||
remap="Configuration File"> section slowly and carefully.</para>
|
remap="Configuration File"> section slowly and carefully.</para>
|
||||||
|
|
||||||
|
@ -3269,14 +3286,16 @@
|
||||||
most lines only contain one argument. Anything following a
|
most lines only contain one argument. Anything following a
|
||||||
<emphasis remap=tt>#</emphasis> is considered a comment and ignored.
|
<emphasis remap=tt>#</emphasis> is considered a comment and ignored.
|
||||||
The following sections describe each keyword, generally in the order
|
The following sections describe each keyword, generally in the order
|
||||||
they are listed in GENERIC, although some related keywords have been
|
they are listed in <filename>GENERIC</filename>, although some
|
||||||
grouped together in a single section (such as Networking) even
|
related keywords have been grouped together in a single section
|
||||||
though they are actually scattered throughout the GENERIC file.
|
(such as Networking) even though they are actually scattered
|
||||||
<anchor id="kernelconfig-options"> An
|
throughout the <filename>GENERIC</filename> file.
|
||||||
exhaustive list of options and more detailed explanations of the
|
<anchor id="kernelconfig-options"> An exhaustive list of options and
|
||||||
device lines is present in the LINT configuration file, located in
|
more detailed explanations of the device lines is present in the
|
||||||
the same directory as GENERIC. If you are in doubt as to the
|
<filename>LINT</filename> configuration file, located in the same
|
||||||
purpose or necessity of a line, check first in LINT.</para>
|
directory as <filename>GENERIC</filename>. If you are in doubt as to
|
||||||
|
the purpose or necessity of a line, check first in
|
||||||
|
<filename>LINT</filename>.</para>
|
||||||
|
|
||||||
<para>The kernel is currently being moved to a better organization of
|
<para>The kernel is currently being moved to a better organization of
|
||||||
the option handling. Traditionally, each option in the config file
|
the option handling. Traditionally, each option in the config file
|
||||||
|
@ -3352,9 +3371,9 @@
|
||||||
remap=tt>cpu</emphasis> line may be present with
|
remap=tt>cpu</emphasis> line may be present with
|
||||||
different values of <emphasis
|
different values of <emphasis
|
||||||
remap=tt><replaceable>cpu_type</replaceable></emphasis>
|
remap=tt><replaceable>cpu_type</replaceable></emphasis>
|
||||||
as are present in the GENERIC kernel. For a custom
|
as are present in the <filename>GENERIC</filename> kernel.
|
||||||
kernel, it is best to specify only the cpu you have. If,
|
For a custom kernel, it is best to specify only the cpu
|
||||||
for example, you have an Intel Pentium, use
|
you have. If, for example, you have an Intel Pentium, use
|
||||||
<symbol>I586_CPU</symbol> for <emphasis
|
<symbol>I586_CPU</symbol> for <emphasis
|
||||||
remap=tt><replaceable>cpu_type</replaceable></emphasis>.</para>
|
remap=tt><replaceable>cpu_type</replaceable></emphasis>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -3365,8 +3384,9 @@
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Next, we have <emphasis remap=tt>ident</emphasis>,
|
<para>Next, we have <emphasis remap=tt>ident</emphasis>,
|
||||||
which is the identification of the kernel. You should
|
which is the identification of the kernel. You should
|
||||||
change this from GENERIC to whatever you named your
|
change this from <filename>GENERIC</filename> to whatever
|
||||||
kernel, in this example, MYKERNEL. The value you put in
|
you named your kernel, in this example,
|
||||||
|
<filename>MYKERNEL</filename>. The value you put in
|
||||||
<emphasis remap=tt>ident</emphasis> will print when you
|
<emphasis remap=tt>ident</emphasis> will print when you
|
||||||
boot up the kernel, so it is useful to give a kernel a
|
boot up the kernel, so it is useful to give a kernel a
|
||||||
different name if you want to keep it separate from your
|
different name if you want to keep it separate from your
|
||||||
|
@ -3439,10 +3459,10 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>This line specifies the location and name of the
|
<para>This line specifies the location and name of the
|
||||||
kernel. Traditionally the kernel is called <emphasis
|
kernel. Traditionally the kernel is called
|
||||||
remap=tt>vmunix</emphasis> but in FreeBSD, it is aptly
|
<filename>vmunix</filename> but in FreeBSD, it is aptly
|
||||||
named <emphasis remap=tt>kernel</emphasis>. You should
|
named <filename>kernel</filename>. You should always use
|
||||||
always use <emphasis remap=tt>kernel</emphasis> for
|
<filename>kernel</filename> for
|
||||||
<symbol>kernel_name</symbol> because changing it will
|
<symbol>kernel_name</symbol> because changing it will
|
||||||
render numerous system utilities inoperative. The second
|
render numerous system utilities inoperative. The second
|
||||||
part of the line specifies the disk and partition where
|
part of the line specifies the disk and partition where
|
||||||
|
@ -3623,9 +3643,9 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Process filesystem. This is a pretend filesystem
|
<para>Process filesystem. This is a pretend filesystem
|
||||||
mounted on /proc which allows programs like
|
mounted on <filename>/proc</filename> which allows
|
||||||
<command>ps(1)</command> to give you more information on
|
programs like <command>ps(1)</command> to give you more
|
||||||
what processes are running.</para>
|
information on what processes are running.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
@ -5354,8 +5374,8 @@
|
||||||
</informalexample>
|
</informalexample>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>If any additional files (such as <emphasis
|
<para>If any additional files (such as
|
||||||
remap=tt>principal.*</emphasis> or <symbol>master_key</symbol>)
|
<filename>principal.*</filename> or <symbol>master_key</symbol>)
|
||||||
exist, then use the <symbol>kdb_destroy</symbol> command to
|
exist, then use the <symbol>kdb_destroy</symbol> command to
|
||||||
destroy the old Kerberos database, of if Kerberos is not running,
|
destroy the old Kerberos database, of if Kerberos is not running,
|
||||||
simply delete the extra files with <emphasis
|
simply delete the extra files with <emphasis
|
||||||
|
@ -9762,13 +9782,14 @@
|
||||||
URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> makes the filter <emphasis remap=tt>hpdf</emphasis> quite complex since <ulink URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> cannot read from standard input. It wants to work with a filename. What is worse, the filename has to end in <filename>.dvi</filename> so using <filename>/dev/fd/0</filename> for standard input is problematic. We can get around that problem by linking (symbolically) a temporary file name (one that ends in <filename>.dvi</filename>) to <filename>/dev/fd/0</filename>, thereby forcing <ulink URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> to read from standard input.</para>
|
URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> makes the filter <emphasis remap=tt>hpdf</emphasis> quite complex since <ulink URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> cannot read from standard input. It wants to work with a filename. What is worse, the filename has to end in <filename>.dvi</filename> so using <filename>/dev/fd/0</filename> for standard input is problematic. We can get around that problem by linking (symbolically) a temporary file name (one that ends in <filename>.dvi</filename>) to <filename>/dev/fd/0</filename>, thereby forcing <ulink URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> to read from standard input.</para>
|
||||||
|
|
||||||
<para>The only other fly in the ointment is the fact that we
|
<para>The only other fly in the ointment is the fact that we
|
||||||
cannot use /tmp for the temporary link. Symbolic links are
|
cannot use <filename>/tmp</filename> for the temporary link.
|
||||||
owned by user and group <emphasis remap=tt>bin</emphasis>.
|
Symbolic links are owned by user and group <emphasis
|
||||||
The filter runs as user <emphasis remap=tt>daemon</emphasis>.
|
remap=tt>bin</emphasis>. The filter runs as user <emphasis
|
||||||
And the <filename>/tmp</filename> directory has the sticky bit
|
remap=tt>daemon</emphasis>. And the
|
||||||
set. The filter can create the link, but it will not be able
|
<filename>/tmp</filename> directory has the sticky bit set.
|
||||||
clean up when done and remove it since the link will belong to
|
The filter can create the link, but it will not be able clean
|
||||||
a different user.</para>
|
up when done and remove it since the link will belong to a
|
||||||
|
different user.</para>
|
||||||
|
|
||||||
<para>Instead, the filter will make the symbolic link in the
|
<para>Instead, the filter will make the symbolic link in the
|
||||||
current working directory, which is the spooling directory
|
current working directory, which is the spooling directory
|
||||||
|
@ -10755,8 +10776,8 @@
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>You can control how much free space there needs to
|
<para>You can control how much free space there needs to
|
||||||
remain on the filesystem where a spooling directory
|
remain on the filesystem where a spooling directory
|
||||||
resides. Make a file called <emphasis
|
resides. Make a file called
|
||||||
remap=tt>minfree</emphasis> in the spooling directory
|
<filename>minfree</filename> in the spooling directory
|
||||||
for the local printer. Insert in that file a number
|
for the local printer. Insert in that file a number
|
||||||
representing how many disk blocks (512 bytes) of free
|
representing how many disk blocks (512 bytes) of free
|
||||||
space there has to be for a remote job to be
|
space there has to be for a remote job to be
|
||||||
|
@ -10766,11 +10787,11 @@
|
||||||
your filesystem. You can also use it to give a certain
|
your filesystem. You can also use it to give a certain
|
||||||
priority to local users: they will be able to queue jobs
|
priority to local users: they will be able to queue jobs
|
||||||
long after the free disk space has fallen below the
|
long after the free disk space has fallen below the
|
||||||
amount specified in the <emphasis
|
amount specified in the <filename>minfree</filename>
|
||||||
remap=tt>minfree</emphasis> file.</para>
|
file.</para>
|
||||||
|
|
||||||
<para>For example, let us add a <emphasis
|
<para>For example, let us add a
|
||||||
remap=tt>minfree</emphasis> file for the printer
|
<filename>minfree</filename> file for the printer
|
||||||
<emphasis remap=tt>bamboo</emphasis>. We examine
|
<emphasis remap=tt>bamboo</emphasis>. We examine
|
||||||
<filename>/etc/printcap</filename> to find the spooling
|
<filename>/etc/printcap</filename> to find the spooling
|
||||||
directory for this printer; here is <emphasis
|
directory for this printer; here is <emphasis
|
||||||
|
@ -11266,9 +11287,9 @@
|
||||||
sure that quotas are configured in your kernel. This is done by
|
sure that quotas are configured in your kernel. This is done by
|
||||||
adding the following line to your kernel configuration file:
|
adding the following line to your kernel configuration file:
|
||||||
<literallayout>options QUOTA</literallayout> The
|
<literallayout>options QUOTA</literallayout> The
|
||||||
stock GENERIC kernel does not have this enabled by default, so you
|
stock <filename>GENERIC</filename> kernel does not have this enabled
|
||||||
will have to configure, build and install a custom kernel in order
|
by default, so you will have to configure, build and install a
|
||||||
to use disk quotas. Please refer to the
|
custom kernel in order to use disk quotas. Please refer to the
|
||||||
<xref linkend="kernelconfig" remap="Configuring the FreeBSD Kernel">
|
<xref linkend="kernelconfig" remap="Configuring the FreeBSD Kernel">
|
||||||
section for more information on kernel configuration.</para>
|
section for more information on kernel configuration.</para>
|
||||||
|
|
||||||
|
@ -13294,7 +13315,7 @@
|
||||||
cuag</screen>
|
cuag</screen>
|
||||||
</informalexample> If you do not want or need callout
|
</informalexample> If you do not want or need callout
|
||||||
devices for some reason, you can dispense with making
|
devices for some reason, you can dispense with making
|
||||||
the <emphasis remap=tt>cua*</emphasis> devices.</para>
|
the <filename>cua*</filename> devices.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -14498,10 +14519,12 @@
|
||||||
must contain one or more lines describing your host
|
must contain one or more lines describing your host
|
||||||
adapter(s). This includes I/O addresses, interrupts etc.
|
adapter(s). This includes I/O addresses, interrupts etc.
|
||||||
Consult the man page for your adapter driver to get more info.
|
Consult the man page for your adapter driver to get more info.
|
||||||
Apart from that, check out /sys/i386/conf/LINT for an overview
|
Apart from that, check out
|
||||||
of a kernel config file. LINT contains every possible option
|
<filename>/sys/i386/conf/LINT</filename> for an overview of a
|
||||||
you can dream of. It does <emphasis>not</emphasis> imply LINT
|
kernel config file. <filename>LINT</filename> contains every
|
||||||
will actually get you to a working kernel at all.</para>
|
possible option you can dream of. It does
|
||||||
|
<emphasis>not</emphasis> imply <filename>LINT</filename> will
|
||||||
|
actually get you to a working kernel at all.</para>
|
||||||
|
|
||||||
<para>Although it is probably stating the obvious: the kernel
|
<para>Although it is probably stating the obvious: the kernel
|
||||||
config file should reflect your actual hardware setup. So,
|
config file should reflect your actual hardware setup. So,
|
||||||
|
@ -14677,8 +14700,9 @@
|
||||||
probed. Because the INQUIRY response also includes the version
|
probed. Because the INQUIRY response also includes the version
|
||||||
number of the device firmware, it is even possible that for
|
number of the device firmware, it is even possible that for
|
||||||
different firmware versions different workarounds are used.
|
different firmware versions different workarounds are used.
|
||||||
See e.g. /sys/scsi/st.c and /sys/scsi/scsiconf.c for more info
|
See e.g. <filename>/sys/scsi/st.c</filename> and
|
||||||
on how this is done.</para>
|
<filename>/sys/scsi/scsiconf.c</filename> for more info on how
|
||||||
|
this is done.</para>
|
||||||
|
|
||||||
<para>This scheme works fine, but keep in mind that it of course
|
<para>This scheme works fine, but keep in mind that it of course
|
||||||
only works for devices that are KNOWN to be weird. If you are
|
only works for devices that are KNOWN to be weird. If you are
|
||||||
|
@ -15353,8 +15377,8 @@
|
||||||
rewoffl.</para>
|
rewoffl.</para>
|
||||||
|
|
||||||
<para>If you are using the NCR SCSI controllers, patch the file
|
<para>If you are using the NCR SCSI controllers, patch the file
|
||||||
/usr/src/sys/pci/ncr.c (as shown below). Build and install a
|
<filename>/usr/src/sys/pci/ncr.c</filename> (as shown below).
|
||||||
new kernel.</para>
|
Build and install a new kernel.</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<informalexample>
|
<informalexample>
|
||||||
|
|
|
@ -1505,8 +1505,8 @@
|
||||||
<title>Before installing from a MS-DOS partition</title>
|
<title>Before installing from a MS-DOS partition</title>
|
||||||
|
|
||||||
<para>To prepare for installation from an MS-DOS partition, copy the
|
<para>To prepare for installation from an MS-DOS partition, copy the
|
||||||
files from the distribution into a directory called <emphasis
|
files from the distribution into a directory called
|
||||||
remap=tt>C:\FREEBSD</emphasis>. The directory tree structure of
|
<filename>C:\FREEBSD</filename>. The directory tree structure of
|
||||||
the CDROM must be partially reproduced within this directory so we
|
the CDROM must be partially reproduced within this directory so we
|
||||||
suggest using the DOS <emphasis remap=tt>xcopy</emphasis> command.
|
suggest using the DOS <emphasis remap=tt>xcopy</emphasis> command.
|
||||||
For example, to prepare for a minimal installation of FreeBSD:
|
For example, to prepare for a minimal installation of FreeBSD:
|
||||||
|
@ -1514,13 +1514,13 @@
|
||||||
<screen>C> MD C:\FREEBSD C> XCOPY /S E:\BIN
|
<screen>C> MD C:\FREEBSD C> XCOPY /S E:\BIN
|
||||||
C:\FREEBSD\BIN\ C> XCOPY /S E:\MANPAGES
|
C:\FREEBSD\BIN\ C> XCOPY /S E:\MANPAGES
|
||||||
C:\FREEBSD\MANPAGES\</screen>
|
C:\FREEBSD\MANPAGES\</screen>
|
||||||
</informalexample> assuming that <emphasis remap=tt>C:</emphasis>
|
</informalexample> assuming that <filename>C:</filename>
|
||||||
is where you have free space and <emphasis remap=tt>E:</emphasis>
|
is where you have free space and <filename>E:</filename>
|
||||||
is where your CDROM is mounted.</para>
|
is where your CDROM is mounted.</para>
|
||||||
|
|
||||||
<para>For as many `DISTS' you wish to install from MS-DOS (and you
|
<para>For as many `DISTS' you wish to install from MS-DOS (and you
|
||||||
have free space for), install each one under <emphasis
|
have free space for), install each one under
|
||||||
remap=tt>C:\FREEBSD</emphasis> - the <acronym>BIN</acronym> dist
|
<filename>C:\FREEBSD</filename> - the <acronym>BIN</acronym> dist
|
||||||
is only the minimal requirement.</para>
|
is only the minimal requirement.</para>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -2248,10 +2248,11 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para> Install the program executable and other supporting
|
<para> Install the program executable and other supporting
|
||||||
files, man pages, etc. under the /usr/local hierarchy, where
|
files, man pages, etc. under the
|
||||||
they will not get mixed up with system programs. This also
|
<filename>/usr/local</filename> hierarchy, where they will not
|
||||||
makes sure that all the ports you install will go in the same
|
get mixed up with system programs. This also makes sure that
|
||||||
place, instead of being flung all over your system.
|
all the ports you install will go in the same place, instead
|
||||||
|
of being flung all over your system.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
@ -2291,7 +2292,8 @@
|
||||||
the initial setting up will already have been done for you.</para>
|
the initial setting up will already have been done for you.</para>
|
||||||
|
|
||||||
<para>If not, make sure the <emphasis>FreeBSD</emphasis> CDROM is in
|
<para>If not, make sure the <emphasis>FreeBSD</emphasis> CDROM is in
|
||||||
the drive and mounted on, say, /cdrom. Then do</para>
|
the drive and mounted on, say, <filename>/cdrom</filename>. Then
|
||||||
|
do</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<literallayout> # mkdir /usr/ports # cd /usr/ports # ln -s
|
<literallayout> # mkdir /usr/ports # cd /usr/ports # ln -s
|
||||||
|
@ -2299,8 +2301,8 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>to enable the ports make mechanism to find the tarballs (it
|
<para>to enable the ports make mechanism to find the tarballs (it
|
||||||
expects to find them in /usr/ports/distfiles, which is why we
|
expects to find them in <filename>/usr/ports/distfiles</filename>,
|
||||||
sym-linked the CDROM's tarball directory to that
|
which is why we sym-linked the CDROM's tarball directory to that
|
||||||
directory).</para>
|
directory).</para>
|
||||||
|
|
||||||
<para>Now, suppose you want to install the gnats program from the
|
<para>Now, suppose you want to install the gnats program from the
|
||||||
|
@ -2434,7 +2436,7 @@
|
||||||
|
|
||||||
<sect2
|
<sect2
|
||||||
id="ports-makefile">
|
id="ports-makefile">
|
||||||
<title>Makefile</title>
|
<title><filename>Makefile</filename></title>
|
||||||
|
|
||||||
<para>The most important component of a skeleton is the Makefile.
|
<para>The most important component of a skeleton is the Makefile.
|
||||||
This contains various statements that specify how the port should
|
This contains various statements that specify how the port should
|
||||||
|
@ -2480,9 +2482,10 @@
|
||||||
<para>Skipping over the next few lines for a minute, the line
|
<para>Skipping over the next few lines for a minute, the line
|
||||||
<literallayout> .include <bsd.port.mk> </literallayout> says
|
<literallayout> .include <bsd.port.mk> </literallayout> says
|
||||||
that the other statements and commands needed for this port are
|
that the other statements and commands needed for this port are
|
||||||
in a standard file called `bsd.port.mk". As these are the
|
in a standard file called <filename>bsd.port.mk</filename>. As
|
||||||
same for all ports, there is no point in duplicating them all over
|
these are the same for all ports, there is no point in duplicating
|
||||||
the place, so they are kept in a single standard file.</para>
|
them all over the place, so they are kept in a single standard
|
||||||
|
file.</para>
|
||||||
|
|
||||||
<para>This is probably not the place to go into a detailed
|
<para>This is probably not the place to go into a detailed
|
||||||
examination of how Makefiles work; suffice it to say that the line
|
examination of how Makefiles work; suffice it to say that the line
|
||||||
|
@ -2496,13 +2499,13 @@
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>The files directory</title>
|
<title>The <filename>files</filename> directory</title>
|
||||||
|
|
||||||
<para>The file containing the <xref linkend="ports-checksum"
|
<para>The file containing the <xref linkend="ports-checksum"
|
||||||
remap="checksum"> for the port is called "md5", after
|
remap="checksum"> for the port is called
|
||||||
the MD5 algorithm used for ports checksums. It lives in a
|
<filename>md5</filename>, after the MD5 algorithm used for ports
|
||||||
directory with the slightly confusing name of
|
checksums. It lives in a directory with the slightly confusing
|
||||||
"files".</para>
|
name of <filename>files</filename>.</para>
|
||||||
|
|
||||||
<para>This directory can also contain other miscellaneous files that
|
<para>This directory can also contain other miscellaneous files that
|
||||||
are required by the port and do not belong anywhere else.</para>
|
are required by the port and do not belong anywhere else.</para>
|
||||||
|
@ -2510,7 +2513,7 @@
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>The patches directory</title>
|
<title>The <filename>patches</filename> directory</title>
|
||||||
|
|
||||||
<para>This directory contains the <xref linkend="ports-patch"
|
<para>This directory contains the <xref linkend="ports-patch"
|
||||||
remap="patches"> needed to make everything work properly under
|
remap="patches"> needed to make everything work properly under
|
||||||
|
@ -2519,7 +2522,7 @@
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>The pkg directory</title>
|
<title>The <filename>pkg</filename> directory</title>
|
||||||
|
|
||||||
<para>This program contains three quite useful files:-</para>
|
<para>This program contains three quite useful files:-</para>
|
||||||
|
|
||||||
|
@ -2527,18 +2530,19 @@
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>COMMENT - a one-line description of the program.
|
<para><filename>COMMENT</filename> - a one-line description of
|
||||||
|
the program.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>DESCR - a more detailed description.
|
<para><filename>DESCR</filename> - a more detailed description.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>PLIST - a list of all the files that will be created
|
<para><filename>PLIST</filename> - a list of all the files
|
||||||
when the program is installed.</para>
|
that will be created when the program is installed.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
@ -2703,16 +2707,19 @@
|
||||||
tarballs?
|
tarballs?
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>A. It is a file ending in .tar or .tar.gz (with variations
|
<para>A. It is a file ending in <filename>.tar</filename> or
|
||||||
like .tar.Z, or even .tgz if you are trying to squeeze the
|
<filename>.tar.gz</filename> (with variations like
|
||||||
names into a DOS filesystem).</para>
|
<filename>.tar.Z</filename>, or even <filename>.tgz</filename>
|
||||||
|
if you are trying to squeeze the names into a DOS
|
||||||
|
filesystem).</para>
|
||||||
|
|
||||||
<para>Basically, it is a directory tree that has been archived
|
<para>Basically, it is a directory tree that has been archived
|
||||||
into a single file (.tar) and optionally compressed (.gz).
|
into a single file (<filename>.tar</filename>) and optionally
|
||||||
This technique was originally used for
|
compressed (<filename>.gz</filename>). This technique was
|
||||||
<emphasis>T</emphasis>ape <acronym>AR</acronym>chives (hence
|
originally used for <emphasis>T</emphasis>ape
|
||||||
the name `tar'), but it is a widely used way of distributing
|
<acronym>AR</acronym>chives (hence the name `tar'), but it is
|
||||||
program source code around the Internet.</para>
|
a widely used way of distributing program source code around
|
||||||
|
the Internet.</para>
|
||||||
|
|
||||||
<para>You can see what files are in them, or even extract them
|
<para>You can see what files are in them, or even extract them
|
||||||
yourself, by using the standard Unix tar program, which comes
|
yourself, by using the standard Unix tar program, which comes
|
||||||
|
@ -2763,15 +2770,15 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Q. I did that, but when I tried to put it into
|
<para>Q. I did that, but when I tried to put it into
|
||||||
/usr/ports/distfiles I got some error about not having
|
<filename>/usr/ports/distfiles</filename> I got some error
|
||||||
permission.
|
about not having permission.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>A. The ports mechanism looks for the tarball in
|
<para>A. The ports mechanism looks for the tarball in
|
||||||
/usr/ports/distfiles, but you will not be able to copy
|
<filename>/usr/ports/distfiles</filename>, but you will not be
|
||||||
anything there because it is sym-linked to the CDROM, which is
|
able to copy anything there because it is sym-linked to the
|
||||||
read-only. You can tell it to look somewhere else by
|
CDROM, which is read-only. You can tell it to look somewhere
|
||||||
doing</para>
|
else by doing</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<literallayout> DISTDIR=/where/you/put/it make
|
<literallayout> DISTDIR=/where/you/put/it make
|
||||||
|
@ -2781,9 +2788,10 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Q. Does the ports scheme only work if you have everything
|
<para>Q. Does the ports scheme only work if you have everything
|
||||||
in /usr/ports? My system administrator says I must put
|
in <filename>/usr/ports</filename>? My system administrator
|
||||||
everything under /u/people/guests/wurzburger, but it does not
|
says I must put everything under
|
||||||
seem to work.
|
<filename>/u/people/guests/wurzburger</filename>, but it does
|
||||||
|
not seem to work.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>A. You can use the PORTSDIR and PREFIX variables to tell
|
<para>A. You can use the PORTSDIR and PREFIX variables to tell
|
||||||
|
@ -2796,16 +2804,20 @@
|
||||||
install</literallayout>
|
install</literallayout>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>will compile the port in /u/people/guests/wurzburger/ports
|
<para>will compile the port in
|
||||||
and install everything under /usr/local. </para>
|
<filename>/u/people/guests/wurzburger/ports</filename> and
|
||||||
|
install everything under <filename>/usr/local</filename>.
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<literallayout> make PREFIX=/u/people/guests/wurzburger/local
|
<literallayout> make PREFIX=/u/people/guests/wurzburger/local
|
||||||
install</literallayout>
|
install</literallayout>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>will compile it in /usr/ports and install it in
|
<para>will compile it in <filename>/usr/ports</filename> and
|
||||||
/u/people/guests/wurzburger/local. </para>
|
install it in
|
||||||
|
<filename>/u/people/guests/wurzburger/local</filename>.
|
||||||
|
</para>
|
||||||
|
|
||||||
<para>And of course</para>
|
<para>And of course</para>
|
||||||
|
|
||||||
|
@ -2912,11 +2924,12 @@
|
||||||
install</literallayout>
|
install</literallayout>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>or by editing /etc/make.conf, but unfortunately not all
|
<para>or by editing <filename>/etc/make.conf</filename>, but
|
||||||
ports respect this. The surest way is to do 'make configure',
|
unfortunately not all ports respect this. The surest way is to
|
||||||
then go into the source directory and inspect the Makefiles by
|
do 'make configure', then go into the source directory and
|
||||||
hand, but this can get tedious if the source has lots of
|
inspect the Makefiles by hand, but this can get tedious if the
|
||||||
sub-directories, each with their own Makefiles.</para>
|
source has lots of sub-directories, each with their own
|
||||||
|
Makefiles.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -2997,8 +3010,8 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Q. I tried that and it still left all those tarballs or
|
<para>Q. I tried that and it still left all those tarballs or
|
||||||
whatever you called them in the distfiles directory. Can I
|
whatever you called them in the <filename>distfiles</filename>
|
||||||
delete those as well?
|
directory. Can I delete those as well?
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>A. Yes, if you are sure you have finished with them, those
|
<para>A. Yes, if you are sure you have finished with them, those
|
||||||
|
@ -3078,7 +3091,8 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>A. Nothing secret about it at all, just look at the
|
<para>A. Nothing secret about it at all, just look at the
|
||||||
bsd.ports.mk and bsd.ports.subdir.mk files in your <ulink
|
<filename>bsd.ports.mk</filename> and
|
||||||
|
<filename>bsd.ports.subdir.mk</filename> files in your <ulink
|
||||||
URL="file://localhost/usr/share/mk/">makefiles
|
URL="file://localhost/usr/share/mk/">makefiles
|
||||||
directory.</ulink> (Note: readers with an aversion to
|
directory.</ulink> (Note: readers with an aversion to
|
||||||
intricate shell-scripts are advised not to follow this
|
intricate shell-scripts are advised not to follow this
|
||||||
|
@ -3171,10 +3185,10 @@
|
||||||
which is the staging area where your kernel will be built. Notice
|
which is the staging area where your kernel will be built. Notice
|
||||||
the logical organization of the directory tree, with each supported
|
the logical organization of the directory tree, with each supported
|
||||||
device, filesystem, and option in its own subdirectory. Also,
|
device, filesystem, and option in its own subdirectory. Also,
|
||||||
anything inside the <emphasis remap=tt>i386</emphasis> directory
|
anything inside the <filename>i386</filename> directory deals with
|
||||||
deals with PC hardware only, while everything outside the <emphasis
|
PC hardware only, while everything outside the
|
||||||
remap=tt>i386</emphasis> directory is common to all platforms
|
<filename>i386</filename> directory is common to all platforms which
|
||||||
which FreeBSD could potentially be ported to.</para>
|
FreeBSD could potentially be ported to.</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
|
@ -3187,15 +3201,15 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>Next, move to the <filename>i386/conf</filename> directory and
|
<para>Next, move to the <filename>i386/conf</filename> directory and
|
||||||
copy the GENERIC configuration file to the name you want to give
|
copy the <filename>GENERIC</filename> configuration file to the name
|
||||||
your kernel. For example:
|
you want to give your kernel. For example:
|
||||||
<informalexample>
|
<informalexample>
|
||||||
<screen># cd /usr/src/sys/i386/conf # cp GENERIC MYKERNEL</screen>
|
<screen># cd /usr/src/sys/i386/conf # cp GENERIC MYKERNEL</screen>
|
||||||
</informalexample> Traditionally, this name is in all capital
|
</informalexample> Traditionally, this name is in all capital
|
||||||
letters and, if you are maintaining multiple FreeBSD machines with
|
letters and, if you are maintaining multiple FreeBSD machines with
|
||||||
different hardware, it is a good idea to name it after your
|
different hardware, it is a good idea to name it after your
|
||||||
machine's hostname. We will call it MYKERNEL for the purpose of
|
machine's hostname. We will call it <filename>MYKERNEL</filename>
|
||||||
this example.</para>
|
for the purpose of this example.</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
|
@ -3205,19 +3219,22 @@
|
||||||
</blockquote>
|
</blockquote>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>Now, edit MYKERNEL with your favorite text editor. If you are
|
<para>Now, edit <filename>MYKERNEL</filename> with your favorite text
|
||||||
just starting out, the only editor available will probably be
|
editor. If you are just starting out, the only editor available
|
||||||
<emphasis remap=tt>vi</emphasis>, which is too complex to explain
|
will probably be <emphasis remap=tt>vi</emphasis>, which is too
|
||||||
here, but is covered well in many books in the <xref
|
complex to explain here, but is covered well in many books in the
|
||||||
|
<xref
|
||||||
linkend="bibliography" remap="bibliography">. Feel free to change
|
linkend="bibliography" remap="bibliography">. Feel free to change
|
||||||
the comment lines at the top to reflect your configuration or the
|
the comment lines at the top to reflect your configuration or the
|
||||||
changes you have made to differentiate it from GENERIC.</para>
|
changes you have made to differentiate it from
|
||||||
|
<filename>GENERIC</filename>.</para>
|
||||||
|
|
||||||
<para>If you have build a kernel under SunOS or some other BSD
|
<para>If you have build a kernel under SunOS or some other BSD
|
||||||
operating system, much of this file will be very familiar to you.
|
operating system, much of this file will be very familiar to you. If
|
||||||
If you are coming from some other operating system such as DOS, on
|
you are coming from some other operating system such as DOS, on the
|
||||||
the other hand, the GENERIC configuration file might seem
|
other hand, the <filename>GENERIC</filename> configuration file
|
||||||
overwhelming to you, so follow the descriptions in the <xref
|
might seem overwhelming to you, so follow the descriptions in the
|
||||||
|
<xref
|
||||||
linkend="kernelconfig-config"
|
linkend="kernelconfig-config"
|
||||||
remap="Configuration File"> section slowly and carefully.</para>
|
remap="Configuration File"> section slowly and carefully.</para>
|
||||||
|
|
||||||
|
@ -3269,14 +3286,16 @@
|
||||||
most lines only contain one argument. Anything following a
|
most lines only contain one argument. Anything following a
|
||||||
<emphasis remap=tt>#</emphasis> is considered a comment and ignored.
|
<emphasis remap=tt>#</emphasis> is considered a comment and ignored.
|
||||||
The following sections describe each keyword, generally in the order
|
The following sections describe each keyword, generally in the order
|
||||||
they are listed in GENERIC, although some related keywords have been
|
they are listed in <filename>GENERIC</filename>, although some
|
||||||
grouped together in a single section (such as Networking) even
|
related keywords have been grouped together in a single section
|
||||||
though they are actually scattered throughout the GENERIC file.
|
(such as Networking) even though they are actually scattered
|
||||||
<anchor id="kernelconfig-options"> An
|
throughout the <filename>GENERIC</filename> file.
|
||||||
exhaustive list of options and more detailed explanations of the
|
<anchor id="kernelconfig-options"> An exhaustive list of options and
|
||||||
device lines is present in the LINT configuration file, located in
|
more detailed explanations of the device lines is present in the
|
||||||
the same directory as GENERIC. If you are in doubt as to the
|
<filename>LINT</filename> configuration file, located in the same
|
||||||
purpose or necessity of a line, check first in LINT.</para>
|
directory as <filename>GENERIC</filename>. If you are in doubt as to
|
||||||
|
the purpose or necessity of a line, check first in
|
||||||
|
<filename>LINT</filename>.</para>
|
||||||
|
|
||||||
<para>The kernel is currently being moved to a better organization of
|
<para>The kernel is currently being moved to a better organization of
|
||||||
the option handling. Traditionally, each option in the config file
|
the option handling. Traditionally, each option in the config file
|
||||||
|
@ -3352,9 +3371,9 @@
|
||||||
remap=tt>cpu</emphasis> line may be present with
|
remap=tt>cpu</emphasis> line may be present with
|
||||||
different values of <emphasis
|
different values of <emphasis
|
||||||
remap=tt><replaceable>cpu_type</replaceable></emphasis>
|
remap=tt><replaceable>cpu_type</replaceable></emphasis>
|
||||||
as are present in the GENERIC kernel. For a custom
|
as are present in the <filename>GENERIC</filename> kernel.
|
||||||
kernel, it is best to specify only the cpu you have. If,
|
For a custom kernel, it is best to specify only the cpu
|
||||||
for example, you have an Intel Pentium, use
|
you have. If, for example, you have an Intel Pentium, use
|
||||||
<symbol>I586_CPU</symbol> for <emphasis
|
<symbol>I586_CPU</symbol> for <emphasis
|
||||||
remap=tt><replaceable>cpu_type</replaceable></emphasis>.</para>
|
remap=tt><replaceable>cpu_type</replaceable></emphasis>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -3365,8 +3384,9 @@
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Next, we have <emphasis remap=tt>ident</emphasis>,
|
<para>Next, we have <emphasis remap=tt>ident</emphasis>,
|
||||||
which is the identification of the kernel. You should
|
which is the identification of the kernel. You should
|
||||||
change this from GENERIC to whatever you named your
|
change this from <filename>GENERIC</filename> to whatever
|
||||||
kernel, in this example, MYKERNEL. The value you put in
|
you named your kernel, in this example,
|
||||||
|
<filename>MYKERNEL</filename>. The value you put in
|
||||||
<emphasis remap=tt>ident</emphasis> will print when you
|
<emphasis remap=tt>ident</emphasis> will print when you
|
||||||
boot up the kernel, so it is useful to give a kernel a
|
boot up the kernel, so it is useful to give a kernel a
|
||||||
different name if you want to keep it separate from your
|
different name if you want to keep it separate from your
|
||||||
|
@ -3439,10 +3459,10 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>This line specifies the location and name of the
|
<para>This line specifies the location and name of the
|
||||||
kernel. Traditionally the kernel is called <emphasis
|
kernel. Traditionally the kernel is called
|
||||||
remap=tt>vmunix</emphasis> but in FreeBSD, it is aptly
|
<filename>vmunix</filename> but in FreeBSD, it is aptly
|
||||||
named <emphasis remap=tt>kernel</emphasis>. You should
|
named <filename>kernel</filename>. You should always use
|
||||||
always use <emphasis remap=tt>kernel</emphasis> for
|
<filename>kernel</filename> for
|
||||||
<symbol>kernel_name</symbol> because changing it will
|
<symbol>kernel_name</symbol> because changing it will
|
||||||
render numerous system utilities inoperative. The second
|
render numerous system utilities inoperative. The second
|
||||||
part of the line specifies the disk and partition where
|
part of the line specifies the disk and partition where
|
||||||
|
@ -3623,9 +3643,9 @@
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Process filesystem. This is a pretend filesystem
|
<para>Process filesystem. This is a pretend filesystem
|
||||||
mounted on /proc which allows programs like
|
mounted on <filename>/proc</filename> which allows
|
||||||
<command>ps(1)</command> to give you more information on
|
programs like <command>ps(1)</command> to give you more
|
||||||
what processes are running.</para>
|
information on what processes are running.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
@ -5354,8 +5374,8 @@
|
||||||
</informalexample>
|
</informalexample>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>If any additional files (such as <emphasis
|
<para>If any additional files (such as
|
||||||
remap=tt>principal.*</emphasis> or <symbol>master_key</symbol>)
|
<filename>principal.*</filename> or <symbol>master_key</symbol>)
|
||||||
exist, then use the <symbol>kdb_destroy</symbol> command to
|
exist, then use the <symbol>kdb_destroy</symbol> command to
|
||||||
destroy the old Kerberos database, of if Kerberos is not running,
|
destroy the old Kerberos database, of if Kerberos is not running,
|
||||||
simply delete the extra files with <emphasis
|
simply delete the extra files with <emphasis
|
||||||
|
@ -9762,13 +9782,14 @@
|
||||||
URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> makes the filter <emphasis remap=tt>hpdf</emphasis> quite complex since <ulink URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> cannot read from standard input. It wants to work with a filename. What is worse, the filename has to end in <filename>.dvi</filename> so using <filename>/dev/fd/0</filename> for standard input is problematic. We can get around that problem by linking (symbolically) a temporary file name (one that ends in <filename>.dvi</filename>) to <filename>/dev/fd/0</filename>, thereby forcing <ulink URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> to read from standard input.</para>
|
URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> makes the filter <emphasis remap=tt>hpdf</emphasis> quite complex since <ulink URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> cannot read from standard input. It wants to work with a filename. What is worse, the filename has to end in <filename>.dvi</filename> so using <filename>/dev/fd/0</filename> for standard input is problematic. We can get around that problem by linking (symbolically) a temporary file name (one that ends in <filename>.dvi</filename>) to <filename>/dev/fd/0</filename>, thereby forcing <ulink URL="http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+Ports&query=dvilj2p">dvilj2p</ulink> to read from standard input.</para>
|
||||||
|
|
||||||
<para>The only other fly in the ointment is the fact that we
|
<para>The only other fly in the ointment is the fact that we
|
||||||
cannot use /tmp for the temporary link. Symbolic links are
|
cannot use <filename>/tmp</filename> for the temporary link.
|
||||||
owned by user and group <emphasis remap=tt>bin</emphasis>.
|
Symbolic links are owned by user and group <emphasis
|
||||||
The filter runs as user <emphasis remap=tt>daemon</emphasis>.
|
remap=tt>bin</emphasis>. The filter runs as user <emphasis
|
||||||
And the <filename>/tmp</filename> directory has the sticky bit
|
remap=tt>daemon</emphasis>. And the
|
||||||
set. The filter can create the link, but it will not be able
|
<filename>/tmp</filename> directory has the sticky bit set.
|
||||||
clean up when done and remove it since the link will belong to
|
The filter can create the link, but it will not be able clean
|
||||||
a different user.</para>
|
up when done and remove it since the link will belong to a
|
||||||
|
different user.</para>
|
||||||
|
|
||||||
<para>Instead, the filter will make the symbolic link in the
|
<para>Instead, the filter will make the symbolic link in the
|
||||||
current working directory, which is the spooling directory
|
current working directory, which is the spooling directory
|
||||||
|
@ -10755,8 +10776,8 @@
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>You can control how much free space there needs to
|
<para>You can control how much free space there needs to
|
||||||
remain on the filesystem where a spooling directory
|
remain on the filesystem where a spooling directory
|
||||||
resides. Make a file called <emphasis
|
resides. Make a file called
|
||||||
remap=tt>minfree</emphasis> in the spooling directory
|
<filename>minfree</filename> in the spooling directory
|
||||||
for the local printer. Insert in that file a number
|
for the local printer. Insert in that file a number
|
||||||
representing how many disk blocks (512 bytes) of free
|
representing how many disk blocks (512 bytes) of free
|
||||||
space there has to be for a remote job to be
|
space there has to be for a remote job to be
|
||||||
|
@ -10766,11 +10787,11 @@
|
||||||
your filesystem. You can also use it to give a certain
|
your filesystem. You can also use it to give a certain
|
||||||
priority to local users: they will be able to queue jobs
|
priority to local users: they will be able to queue jobs
|
||||||
long after the free disk space has fallen below the
|
long after the free disk space has fallen below the
|
||||||
amount specified in the <emphasis
|
amount specified in the <filename>minfree</filename>
|
||||||
remap=tt>minfree</emphasis> file.</para>
|
file.</para>
|
||||||
|
|
||||||
<para>For example, let us add a <emphasis
|
<para>For example, let us add a
|
||||||
remap=tt>minfree</emphasis> file for the printer
|
<filename>minfree</filename> file for the printer
|
||||||
<emphasis remap=tt>bamboo</emphasis>. We examine
|
<emphasis remap=tt>bamboo</emphasis>. We examine
|
||||||
<filename>/etc/printcap</filename> to find the spooling
|
<filename>/etc/printcap</filename> to find the spooling
|
||||||
directory for this printer; here is <emphasis
|
directory for this printer; here is <emphasis
|
||||||
|
@ -11266,9 +11287,9 @@
|
||||||
sure that quotas are configured in your kernel. This is done by
|
sure that quotas are configured in your kernel. This is done by
|
||||||
adding the following line to your kernel configuration file:
|
adding the following line to your kernel configuration file:
|
||||||
<literallayout>options QUOTA</literallayout> The
|
<literallayout>options QUOTA</literallayout> The
|
||||||
stock GENERIC kernel does not have this enabled by default, so you
|
stock <filename>GENERIC</filename> kernel does not have this enabled
|
||||||
will have to configure, build and install a custom kernel in order
|
by default, so you will have to configure, build and install a
|
||||||
to use disk quotas. Please refer to the
|
custom kernel in order to use disk quotas. Please refer to the
|
||||||
<xref linkend="kernelconfig" remap="Configuring the FreeBSD Kernel">
|
<xref linkend="kernelconfig" remap="Configuring the FreeBSD Kernel">
|
||||||
section for more information on kernel configuration.</para>
|
section for more information on kernel configuration.</para>
|
||||||
|
|
||||||
|
@ -13294,7 +13315,7 @@
|
||||||
cuag</screen>
|
cuag</screen>
|
||||||
</informalexample> If you do not want or need callout
|
</informalexample> If you do not want or need callout
|
||||||
devices for some reason, you can dispense with making
|
devices for some reason, you can dispense with making
|
||||||
the <emphasis remap=tt>cua*</emphasis> devices.</para>
|
the <filename>cua*</filename> devices.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -14498,10 +14519,12 @@
|
||||||
must contain one or more lines describing your host
|
must contain one or more lines describing your host
|
||||||
adapter(s). This includes I/O addresses, interrupts etc.
|
adapter(s). This includes I/O addresses, interrupts etc.
|
||||||
Consult the man page for your adapter driver to get more info.
|
Consult the man page for your adapter driver to get more info.
|
||||||
Apart from that, check out /sys/i386/conf/LINT for an overview
|
Apart from that, check out
|
||||||
of a kernel config file. LINT contains every possible option
|
<filename>/sys/i386/conf/LINT</filename> for an overview of a
|
||||||
you can dream of. It does <emphasis>not</emphasis> imply LINT
|
kernel config file. <filename>LINT</filename> contains every
|
||||||
will actually get you to a working kernel at all.</para>
|
possible option you can dream of. It does
|
||||||
|
<emphasis>not</emphasis> imply <filename>LINT</filename> will
|
||||||
|
actually get you to a working kernel at all.</para>
|
||||||
|
|
||||||
<para>Although it is probably stating the obvious: the kernel
|
<para>Although it is probably stating the obvious: the kernel
|
||||||
config file should reflect your actual hardware setup. So,
|
config file should reflect your actual hardware setup. So,
|
||||||
|
@ -14677,8 +14700,9 @@
|
||||||
probed. Because the INQUIRY response also includes the version
|
probed. Because the INQUIRY response also includes the version
|
||||||
number of the device firmware, it is even possible that for
|
number of the device firmware, it is even possible that for
|
||||||
different firmware versions different workarounds are used.
|
different firmware versions different workarounds are used.
|
||||||
See e.g. /sys/scsi/st.c and /sys/scsi/scsiconf.c for more info
|
See e.g. <filename>/sys/scsi/st.c</filename> and
|
||||||
on how this is done.</para>
|
<filename>/sys/scsi/scsiconf.c</filename> for more info on how
|
||||||
|
this is done.</para>
|
||||||
|
|
||||||
<para>This scheme works fine, but keep in mind that it of course
|
<para>This scheme works fine, but keep in mind that it of course
|
||||||
only works for devices that are KNOWN to be weird. If you are
|
only works for devices that are KNOWN to be weird. If you are
|
||||||
|
@ -15353,8 +15377,8 @@
|
||||||
rewoffl.</para>
|
rewoffl.</para>
|
||||||
|
|
||||||
<para>If you are using the NCR SCSI controllers, patch the file
|
<para>If you are using the NCR SCSI controllers, patch the file
|
||||||
/usr/src/sys/pci/ncr.c (as shown below). Build and install a
|
<filename>/usr/src/sys/pci/ncr.c</filename> (as shown below).
|
||||||
new kernel.</para>
|
Build and install a new kernel.</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<informalexample>
|
<informalexample>
|
||||||
|
|
Loading…
Reference in a new issue