aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavidg <davidg@localhost>1995-09-17 11:19:45 +0000
committerdavidg <davidg@localhost>1995-09-17 11:19:45 +0000
commitbf41fdb03289cccc7b5eb3940b462dd3862f6ad6 (patch)
treeb19bb9d037eab529a0f3a177b1ce3e9e81e6b400
parenta0da1bd6635f6df42523eec2b8f1a6410893c9bf (diff)
downloaddoc-bf41fdb03289cccc7b5eb3940b462dd3862f6ad6.tar.gz
doc-bf41fdb03289cccc7b5eb3940b462dd3862f6ad6.zip
Sync with main branch.
Notes
Notes: svn path=/branches/RELENG_2_1_0/; revision=84
-rw-r--r--FAQ/freebsd-faq.sgml1403
-rw-r--r--handbook/authors.sgml7
-rw-r--r--handbook/basics.sgml33
-rw-r--r--handbook/bibliography.sgml96
-rw-r--r--handbook/booting.sgml69
-rw-r--r--handbook/ctm.sgml24
-rw-r--r--handbook/current.sgml6
-rw-r--r--handbook/dialup.sgml54
-rw-r--r--handbook/diskless.sgml4
-rw-r--r--handbook/eresources.sgml177
-rw-r--r--handbook/glossary.sgml4
-rw-r--r--handbook/handbook.sgml197
-rw-r--r--handbook/history.sgml120
-rw-r--r--handbook/kerberos.sgml6
-rw-r--r--handbook/memoryuse.sgml4
-rw-r--r--handbook/nfs.sgml4
-rw-r--r--handbook/nutshell.sgml41
-rw-r--r--handbook/porting.sgml1252
-rw-r--r--handbook/ports.sgml129
-rw-r--r--handbook/ppp.sgml6
-rw-r--r--handbook/scsi.sgml207
-rw-r--r--handbook/slipc.sgml131
-rw-r--r--handbook/slips.sgml28
-rw-r--r--handbook/submitters.sgml187
-rw-r--r--handbook/sup.sgml18
-rw-r--r--handbook/troubleshooting.sgml122
26 files changed, 2774 insertions, 1555 deletions
diff --git a/FAQ/freebsd-faq.sgml b/FAQ/freebsd-faq.sgml
index ab41b83c13..91916d3261 100644
--- a/FAQ/freebsd-faq.sgml
+++ b/FAQ/freebsd-faq.sgml
@@ -1,71 +1,76 @@
-<!-- This is a SGML version of the FreeBSD FAQ made by Gary Clark II.
-
- This conversion has been made by Ollivier Robert.
-
- This is the 2.0 version of the FAQ for FreeBSD 2.0
-
- $Id: freebsd-faq.sgml,v 1.4 1995-05-25 19:05:01 roberto Exp $
--->
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
<article>
- <title>Frequently Asked Questions for FreeBSD 2.0
- <author>Gary Clark II, <tt/FAQ@FreeBSD.ORG/
- <date>v1.5, 6 April 1995
- <abstract>
- This is the FAQ for FreeBSD systems version 2.0. All entries are
- assumed to be relevant to FreeBSD 2.0. Any entries with a
- &lt;XXX&gt; are under construction. unless otherwise noted.
- </abstract>
+<title>Frequently Asked Questions for FreeBSD 2.X
+<author>The FreeBSD FAQ Team, <tt/FAQ@FreeBSD.ORG/
+<date> $Id: freebsd-faq.sgml,v 1.4.4.1 1995-09-17 11:19:07 davidg Exp $
+<abstract>
+This is the FAQ for FreeBSD systems version 2.X All entries are
+assumed to be relevant to FreeBSD 2.0.5+, unless otherwise noted.
+Any entries with a &lt;XXX&gt; are under construction.
+</abstract>
<toc>
- <sect>Preface
-
+ <sect>
+ <heading>Preface</heading>
<p>
- Welcome to the FreeBSD 2.0 FAQ ! This document tries to answer
- some of the most frequently asked questions about FreeBSD 2.0 (or
+ Welcome to the FreeBSD 2.X FAQ ! This document tries to answer
+ some of the most frequently asked questions about FreeBSD 2.X (or
later, unless specifically indicated). If there's something you're
having trouble with and you just don't see it here, then please
send mail to:
- <verb>
- questions@FreeBSD.ORG
- </verb>
+ <url url="mailto:questions@FreeBSD.ORG" name="FreeBSD-questions
+ Mailling list"> or to <url url="mailto:faq@FreeBSD.ORG"
+ name="FreeBSD FAQ mailing list">
- This version of the FAQ use the <tt>linuxdoc-sgml</tt> utility
- written for Linux by Matt Welsh. The SGML translation was made by
- Ollivier Robert <tt/&lt;roberto@FreeBSD.ORG&gt;/
+ The latest released version is FreeBSD 2.0.5R. FreeBSD-current
+ refers to the future FreeBSD 2.2. The 2.1 release will be issued
+ from a special branch of the -current sources and is intended as a
+ even more stable version of 2.0.5.
- Some of the instructions here will also refer to auxiliary
- utilities in the <tt>/usr/src/share/FAQ directory</tt>. CDROM
- purchasers and net folks who've grabbed the FreeBSD 2.0
- ``<tt/srcdist/'' will have these files. If you don't have the
- source distribution, then you can either grab the whole thing from:
+ There are regular snapshots extracted from 2.2-CURRENT. Check on
+ <tt>ftp.FreeBSD.ORG</tt> in <tt>/pub/FreeBSD/*-SNAP*</tt>.
- <verb>
- ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current
- </verb>
+ The current snapshot is 2.1.0-950726-SNAP.
+
+ This version of the FAQ uses the <tt>linuxdoc-sgml</tt> utility
+ written for Linux by Matt Welsh. The initial SGML translation was
+ made by Ollivier Robert <url url="mailto:roberto@FreeBSD.ORG"
+ name="roberto@FreeBSD.ORG">
+
+ Some of the instructions here will also refer to auxiliary
+ utilities in the <tt>/usr/share/FAQ/Text</tt> directory. If you do
+ not have this directory, or if it does not contain the file that
+ you want, you are probably using a version of FreeBSD prior to
+ 2.0.5R. In this case, install the FreeBSD sources and look in
+ <tt>/usr/src/share/FAQ/Text</tt> (instead of
+ <tt>/usr/share/FAQ</tt>). CDROM purchasers and net folks who've
+ grabbed the FreeBSD 2.X ``<tt/srcdist/'' will have these files. If
+ you don't have the source distribution, then you can either grab
+ the whole thing from:
+
+ <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current"
+ name="FreeBSD-current base directory">
Or you can grab only those files you're interested in straight out
of the FreeBSD-current distribution in:
- <verb>
- ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current/src
- </verb>
-
- <sect1>What is FreeBSD?
+ <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current/src"
+ name="FreeBSD-current src directory">
+ <sect1>
+ <heading>What is FreeBSD?</heading>
<p>
- FreeBSD 2.0 is a UN*X type operating system based on
+ FreeBSD 2.X is a UN*X type operating system based on
U.C. Berkeley's 4.4BSD-lite release for the i386 platform. It is
also based indirectly on William Jolitz's port of U.C. Berkeley's
Net/2 to the i386, 386BSD. There have been many additions and
bug fixes made throughout the entire system, some of the
highlights of which are:
-
<itemize>
<item>More robust and extensive PC device support
<item>System V-style IPC, messaging and semaphores
@@ -76,11 +81,6 @@
<item>YP support
<item>Full support of the PCI bus
<item>Loadable kernel modules
- <item>Too many additional utilities and applications to mention
- </itemize>
-
- &lt;2.X-Current&gt;
- <itemize>
<item>Serial Console Support
<item>Merged VM/Buffer Cache
<item>On demand PPP
@@ -88,8 +88,37 @@
<item>Improved SCSI support
</itemize>
- <sect1>What are the FreeBSD mailing lists, and how can I get on them?
+ <sect1>
+ <heading>What do I need to run FreeBSD?</heading>
+ <p>
+ You'll need a 386 or better PC, with 4 Mo or more of RAM and at
+ least 60 MB of hard disk space. It can run with a low end MDA
+ card but to run X11R6, a VGA or better video card is needed.
+ See the section on <ref id="hardware" name="Hardware compatibility">
+
+ <sect1>
+ <heading>Where can I get FreeBSD</heading>
+ <p>
+ The distribution is available via anonymous ftp from:
+ <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/" name="FreeBSD home directory">
+
+ For the current release, 2.0.5R, look in:
+ <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.0.5-RELEASE/" name="FreeBSD 2.0.5-RELEASE">
+
+ FreeBSD is also available via CDROM, from the following place(s):
+
+ Walnut Creek CDROM<newline>
+ 4041 Pike Lane, Suite D-386<newline>
+ Concord, CA 94520 USA<newline>
+ Orders: (800)-786-9907<newline>
+ Questions: (510)-674-0783<newline>
+ FAX: (510)-674-0821<newline>
+ email: <url url="mailto:orders@cdrom.com" name="WC Orders address"> <newline>
+ WWW: <url url="http://www.cdrom.com/" name="WC Home page"><newline>
+
+ <sect1>
+ <heading>What are the FreeBSD mailing lists, and how can I get on them?</heading>
<p>
The following mailing lists are provided for FreeBSD users and
developers. For more information, send to
@@ -102,46 +131,278 @@
<tag/questions/ General questions on FreeBSD.
<tag/bugs/ Where bugs should be sent.
<tag/SCSI/ Mailing list for SCSI developers.
- <tag/current/ This list is for persons wishing to run
- FreeBSD-current and carries announcements and discussions on
- current.
+ <tag/current/ This is the mailing list for communications
+ between the developers and users of freebsd-current. It also
+ carries announcements and discussions on current.
<tag/security/ For issues dealing with system security.
<tag/platforms/ Deals with ports to non-Intel platforms
<tag/ports/ Discussion of <tt>/usr/ports/???</tt>
<tag/fs/ Discussion of FreeBSD Filesystems
- <tag/hardware/ Discussion on hardware requirements for FreeBSD.
+ <tag/hardware/ Discussion on hardware requirements for
+ FreeBSD.
+ <tag/committers/ CVS commit messages for -current users
+ <tag/users-groups/ This is the mailing list for the
+ coordinators from each of the local area Users Groups to
+ dicuss matters with each other and a designated individual
+ from the Core Team. This mail list should be limited to
+ meeting synopsis and coordination of projects that span User
+ Groups
</descrip>
-
<p>
The FreeBSD-commit list has been broken up into groups dealing
with different areas of interest. Please see the FreeBSD mailing
list FAQ in:
+ <verb>
+ /usr/src/share/FAQ/Text/mailing-list.FAQ
+ </verb>
+ <p>
+ Example:
+ <p>
+ To subscribe to the <tt/questions/ list, you'll to send a message
+ containing the following command in the <bf/body/ of the message,
+ the subject is ignored:
+ <verb>
+ subscribe questions john.smith@foo.bar (John Smith)
+ </verb>
+ <p>
+ To unsubscribe, it is as easy. Just remember to send your request
+ to
+ <url url="mailto:Majordomo@FreeBSD.ORG" name="The mail administrator">
+ <bf/not/ to the list itself. The last thing the subscribred
+ users want to see is administrative requests...
+
+ <sect1>
+ <heading>What are the various FreeBSD news groups?</heading>
+ <p>
+ There are two newsgroups currently dedicated to FreeBSD:
+ <descrip>
+ <tag/comp.unix.bsd.freebsd.announce/ For announcements
+ <tag/comp.unix.bsd.freebsd.misc/ General discussion
+ </descrip>
+ The following newsgroups may also be of interest to
+ general BSD enthusiasts:
+ <descrip>
+ <tag><tt/comp.unix.bsd/</tag>
+ General BSD topics
+ </descrip>
+ To setup/run your own News server or just reading Usenet News,
+ you may have a look at various packages already ported for
+ FreeBSD 2.X in <tt>/usr/ports/news</tt>. You'll find Cnews, INN,
+ Trn, TIN and others there.
+ </sect1>
+
+ <sect1>
+ <heading>Books on FreeBSD</heading>
+ <p>
+ There currently aren't any books written specifically for
+ FreeBSD, although some people are supposedly working on some.
+
+ The FreeBSD Documentation Project exists, you may contact (or
+ better join them) on the <tt>doc</tt> mailing list:
+ <url url="mailto:doc@FreeBSD.ORG" name="&lt;doc@FreeBSD.ORG&gt;">.
+
+ A FreeBSD ``handbook'' is being created, and can be found as:
+
+ <url url="http://www.freebsd.org/How/handbook/" name="FreeBSD's Handbook">
+ Note that this is a work in progress, and so parts may be incomplete.
+
+ However, as FreeBSD 2.X is based upon Berkeley 4.4BSD-Lite, most
+ of the 4.4BSD manuals are applicable to FreeBSD 2.X. O'Reilly
+ and Associates publishes these manuals:
+
+ 4.4BSD System Manager's Manual <newline>
+ By Computer Systems Research Group, UC Berkeley <newline>
+ 1st Edition June 1994, 804 pages <newline>
+ ISBN: 1-56592-080-5 <NEWLINE>
+
+ 4.4BSD User's Reference Manual <newline>
+ By Computer Systems Research Group, UC Berkeley <newline>
+ 1st Edition June 1994, 905 pages <newline>
+ ISBN: 1-56592-075-9 <NEWLINE>
+
+ 4.4BSD User's Supplementary Documents <newline>
+ By Computer Systems Research Group, UC Berkeley <newline>
+ 1st Edition July 1994, 712 pages <newline>
+ ISBN: 1-56592-076-7 <NEWLINE>
+
+ 4.4BSD Programmer's Reference Manual <newline>
+ By Computer Systems Research Group, UC Berkeley <newline>
+ 1st Edition June 1994, 886 pages <newline>
+ ISBN: 1-56592-078-3 <NEWLINE>
+
+ 4.4BSD Programmer's Supplementary Documents <newline>
+ By Computer Systems Research Group, UC Berkeley <newline>
+ 1st Edition July 1994, 596 pages <newline>
+ ISBN: 1-56592-079-1 <NEWLINE>
+
+ A description of these can be found via WWW as:
+
+ <url url="http://gnn.com/gnn/bus/ora/category/bsd.html"
+ name="4.4BSD books description">
+
+ A good book on system administration is:
+
+ Evi Nemeth, Garth Snyder, Scott Seebass &amp; Trent R. Hein,<newline>
+ ``Unix System Administration Handbook'', Prentice-Hall, 1995<newline>
+ ISBN: 0-13-151051-7<newline>
+
+ <bf/NOTE/ make sure you get the second edition, with a red cover,
+ instead of the first edition.
+
+ This book covers the basics, as well as TCP/IP, DNS, NFS,
+ SLIP/PPP, sendmail, INN/NNTP, printing, etc.. It's expensive
+ (approx. US&dollar;45-&dollar;55), but worth it. It also
+ includes a CDROM with the sources for various tools; most of
+ these, however, are also on the FreeBSD 2.0.5R CDROM (and the
+ FreeBSD CDROM often has newer versions).
+
+ <sect1>
+ <heading>Other sources of information.</heading>
+ <p>
+ One good source of additional information is the
+ ``&lsqb;comp.unix.bsd&rsqb; NetBSD, FreeBSD, and 386BSD (0.1)
+ FAQ''. Much of the information is relevant to FreeBSD, and this
+ FAQ is posted around twice a month to the following newsgroups:
<verb>
- /usr/src/share/FAQ/mailing-list.FAQ
+ comp.unix.bsd.netbsd.announce
+ comp.unix.bsd.freebsd.announce
+ comp.answers
+ news.answers
</verb>
- <sect1>What are the various FreeBSD news groups?
+ If you have WWW access, the FreeBSD home page is at:
+
+ <url url="http://www.freebsd.org/" name="Main FreeBSD page">
+
+ The FreeBSD handbook has a pretty complete bibliography, look at:
+ <url url="http://www.FreeBSD.ORG/How/handbook/bibliography.html" name="Bibliography">
+ <sect>
+ <heading>FreeBSD goals</heading>
+ <p>
+ <sect1>
+ <heading>Copyrights</heading>
+ <p>
+ The goals of the FreeBSD Project are to provide software that may
+ be used for any purpose and without strings attached. Many of us
+ have a significant investment in the code (and project) and would
+ certainly not mind a little financial renumeration now and then,
+ but we're definitely not prepared to insist on it. We believe
+ that our first and foremost "mission" is to provide code to any
+ and all comers, and for whatever purpose, so that the code gets
+ the widest possible use and provides the widest possible benefit.
+ This is, I believe, one of the most fundamental goals of Free
+ Software and one that we enthusiastically support.
+
+ Our GNU code does make for some strings, which we dislike and
+ endevour to replace whenver possible, but at least those strings
+ are in the direction of greater, rather than lesser, "openness"
+ in how the code is shared and distributed and so is a string we
+ can reasonably live with.
+
+ <sect>
+ <heading>Installation</heading>
+ <p>
+ <sect1>
+ <heading>How do I install FreeBSD?</heading>
<p>
- There are two newsgroups currently dedicated to FreeBSD:
- <descrip>
- <tag/comp.unix.bsd.freebsd.announce/ For announcements
- <tag/comp.unix.bsd.freebsd.misc/ General discussion
- </descrip>
- The following newsgroups may also be of interest to
- general BSD enthusiasts:
- <descrip>
- <tag/omp.unix.bsd/ General BSD topics
- <tag/comp.os.386bsd.*/ Ongoing, active FreeBSD discussions
- </descrip>
- </sect1>
- <sect>Installation
+ <bf/IMPORTANT NOTE/ if you are installing 2.0.5R from tape, see
+ the question titled,
+ <ref id="install-tape" name="Help! I can't install from tape!">
+
+ Installation instructions can be found as:
+
+ <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.0.5-RELEASE/INSTALL"
+ name="INSTALL from 2.0.5R">
+
+ Release notes are also available as:
+
+ <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.0.5-RELEASE/RELNOTES"
+ name="RELNOTES from 2.0.5R">
+
+ On the CDROM, the following files are in the top-most directory:
+
+ <verb>
+ INSTALL -- Installation instructions
+ README.TXT -- Basic README file
+ RELNOTES -- Release notes
+ </verb>
+
+ <sect1>
+ <heading>Help! I have no space! Do I need to delete everything first?</heading>
+
+ <p>
+ If your machine is already running DOS and has little or no free
+ space available for FreeBSD's installation, all is not lost! You
+ may find the ``<tt/FIPS/'' utility, provided in the
+ <tt>tools/</tt> subdirectory on the FreeBSD CDROM or on the
+ various FreeBSD ftp sites, to be quite useful.
+
+ FIPS allows you to split an existing DOS partition into two
+ pieces, preserving the original partition and allowing you to
+ install onto the second free piece. You first ``defrag'' your
+ DOS partition, using the DOS 6.xx <tt/DEFRAG/ utility or the
+ Norton Disk tools, then run <tt/FIPS/. It will prompt you for
+ the rest of the information it needs. Afterwards, you can reboot
+ and install FreeBSD on the new free slice. See the Distributions
+ menu for an estimation of how much free space you'll need for the
+ kind of installation you want.
+
+ <sect1>
+ <heading>Can I use compressed DOS filesystems from FreeBSD?</heading>
+
+ <p>
+ No. If you are using a utility such as Stacker(tm) or
+ DoubleSpace(tm), FreeBSD will only be able to use whatever
+ portion of the filesystem you leave uncompressed. The rest of
+ the filesystem will show up as one large file (the
+ stacked/dblspaced file!). <bf/DO NOT REMOVE THAT FILE!/ You will
+ probably regret it greatly!
+
+ It is probably better to create another uncompressed DOS primary
+ partition and use this for communications between DOS and
+ FreeBSD.
+
+ <sect1>
+ <heading>Can I mount my DOS extended partitions?</heading>
+
+ <p>
+ This feature isn't in FreeBSD 2.0.5 but should be in 2.1. We've
+ laid all the groundwork for making this happen, now we just need
+ to do the last 1% of the work involved.
+
+ <sect1>
+ <heading>Can I run DOS binaries under FreeBSD?</heading>
+
+ <p>
+ Not yet! We'd like to add support for this someday, but are
+ still lacking anyone to actually do the work. Ongoing work with
+ Linux's <tt/DOSEMU/ utility may bring this much closer to being a
+ reality sometime soon. Send mail to
+ <url url="mailto:hackers@freebsd.org"
+ name="The FreeBSD hackers list">
+ if you're interested in joining this effort!
+
+ However, there is a neat utility called ``<tt/pcemu/'' in the
+ ports collection which emulates an 8088 and enough BIOS services
+ to run DOS text mode applications. It requires the X Window
+ System (provided as XFree86 3.1.2).
+
+ <sect1>
+ <heading>Help! I can't install from tape! The install fails with a ``record too big'' error!<label id="install-tape"></heading>
+ <p>
+ If you are installing 2.0.5R from tape, you must create the tape
+ using a tar blocksize of 10 (5120 bytes). The default tar
+ blocksize is 20 (10240 bytes), and tapes created using this
+ default size cannot be used to install 2.0.5R; with these tapes,
+ you will get an error that complains about the record size being
+ too big.
+
+ <sect1>
+ <heading>I want to install FreeBSD onto a SCSI disk that has more than 1024 cylinders. How do I do it?</heading>
- <sect1>I want to install FreeBSD onto a SCSI disk that has more than
- 1024 cylinders. How do I do it?
-
<p>
This depends. If you don't have DOS (or another operating
system) on the system, you can just keep the drive in native mode
@@ -158,7 +419,8 @@
subdirectory) which can be used for this purpose.
- <sect1>When I boot FreeBSD it says ``Missing Operating System''.
+ <sect1>
+ <heading>When I boot FreeBSD it says ``Missing Operating System''.</heading>
<p>
See question above. This is classically a case of FreeBSD and
@@ -166,9 +428,8 @@
geometry. You will have to reinstall FreeBSD, but obeying the
instructions given above will almost always get you going.
- <sect1>When I install the boot manager and try to boot FreeBSD for
- the first time, it just comes back with the boot manager prompt
- again.
+ <sect1>
+ <heading>When I install the boot manager and try to boot FreeBSD for the first time, it just comes back with the boot manager prompt again.</heading>
<p>
This is another symptom of the problem described in the preceding
@@ -177,8 +438,99 @@
translation (often marked as ``&gt;1GB drive support''), try
toggling its setting and reinstalling FreeBSD.
- <sect1>I have an IDE drive with lots of bad blocks on it and FreeBSD
- doesn't seem to install properly.
+ <sect1>
+ <heading>I'm having lots of trouble trying to disklabel a new SCSI drive.</heading>
+
+ <p>I have made an entry in <tt>/etc/disktab</tt>, but
+ when I try to label the drive the following happens:
+ <verb>
+ mips# disklabel -w /dev/sd1 sea32550N
+ disklabel: ioctl DIOCWDINFO: Operation not supported by device
+ </verb>
+ What am I doing wrong?
+
+ Answer:<newline>
+ Doing this using <tt/disklabel/ (and <tt/fdisk/) is probably
+ harder than using <tt/sysinstall/. The following should work to
+ put FreeBSD-2.0.5 on the whole of an <bf/empty/ disk assuming that
+ the <tt/disktab/ entry is correct.
+ <verb>
+ disklabel -r -w /dev/rsd1 sea32550N
+ ^^ ^
+ </verb>
+ The first <tt/-r/ is essential for writing new labels and using
+ the raw device instead of the block device is good technique. To
+ be ``empty'' the disk should have 0's at critical points on the
+ first two sectors. In particular, the 2 byte signature at the
+ end of the first sector must not be <tt/0xaa55/ or the disk will
+ be interpreted as having a slice (partition) table and it will be
+ difficult to write to it where you want unless the slice table is
+ initialized correctly. All bootable hard disks will have the
+ <tt/0xaa55/ signature so they won't be empty. Empty disks may be
+ created by copying zeros over the first 2 sectors:
+
+ <verb>
+ dd if=/dev/zero of=/dev/rsd1 bs=1k count=1
+ </verb>
+
+ Note that this will (appear to) destroy all data on the disk.
+
+ The above is not the best method. Normally you will have a slice
+ table or a label that you want to preserve or modify slightly.
+ This can be done using
+
+ <verb>
+ fdisk -u /dev/rsd1 # install or change slice table
+ disklabel -r -w sd1 sea32550N # install label
+ ^no /dev/r
+ </verb>
+
+ <tt/fdisk/ is unintuitive and has poor error handling so it is
+ difficult to change slice tables using it. However, to install a
+ new slice table on an empty drive you just have to accept all the
+ defaults except for ``n'' to write at the end.
+
+ Note that the <tt/sd1/ drive in the above is different from
+ <tt>/dev/rsd1</tt>. <tt/disklabel/ modifies path names that
+ don't start with a slash by prefixing <tt>/dev/r</tt> and
+ suffixing the ``raw'' partition letter. <tt/sd1/ thus means
+ <tt>/dev/rsd1c</tt>, i.e., the ``<tt/c/'' partition on the first
+ BSD slice on drive <tt/sd1/, i.e., the whole of the first BSD
+ slice on drive sd1, while <tt>/dev/rsd1</tt> is the whole of
+ drive sd1. Thus ``<tt>disklabel ... sd1</tt>'' will fail if
+ there is no FreeBSD slice, while ``<tt>disklabel /dev/rsd1</tt>''
+ will print the in-core label for the whole drive. Oops, this
+ assumes that slices are enabled by the 0xaa55 signature. If
+ slices aren't enabled, then /dev/rsd1c means the whole drive. In
+ practice, slices have to be enabled to make the disk bootable.
+
+ If there are no BSD slices, then <tt>/dev/rsd1c</tt> will be
+ empty instead of unconfigured and attempts to label <tt/sd1/ will
+ fail with a bogus error message about <tt>/dev/rsd1c</tt> not
+ existing.
+
+ <tt>/dev/sd1</tt> didn't exist in previous versions of FreeBSD or
+ 386BSD so your ``<tt>disklabel -w /dev/sd1 ...</tt>'' would have
+ printed a less confusing error message before failing.
+
+ <verb>
+The disklabel I'm trying is
+sea32550N|Seagate 32550N:\
+ :ty=winchester:dt=SCSI:se#512:nc#3510:nt#11:ns#108:\
+ :rm#7200:\
+ :pa#2433024:oa#0:ta=4.2BSD:\
+ :pc#4169880:oc#0:
+ </verb>
+ Note that <tt/ns/ has to be < 64 in the slice table. I would use
+ <tt/nt&num;22:ns&num;54/. This only matters if you don't accept
+ <tt/fdisk/'s default (bogus) slice table. You have to use a
+ valid table if you want multiple slices, or the first slice
+ starting at a nonzero offset. Starting a nonempty slice at
+ offset 0 is invalid so <tt/sysinstall/ doesn't support creating
+ such slices.
+
+ <sect1>
+ <heading>I have an IDE drive with lots of bad blocks on it and FreeBSD doesn't seem to install properly.</heading>
<p>
FreeBSD's bad block (the ``<tt/bad144/'' command) handling is
@@ -193,14 +545,25 @@
to see if this feature has been disabled on your drive. However,
ESDI, RLL, and ST-506 drives normally do not do this.
- <sect1>I have 32MB of memory, should I expect any special problems?
- <label id="bigram">
+ <sect1>
+ <heading>I have 32MB of memory, should I expect any special problems?<label id="bigram"></heading>
<p>
- No. FreeBSD 2.0 comes with bounce buffers which allows your bus
+ No. FreeBSD 2.X comes with bounce buffers which allows your bus
mastering controller access to greater than 16MB.
- <sect1>Do I need to install the complete sources?
+ <sect1>
+ <heading>My network card keeps getting errors like, ``<tt/ed1: timeout/''. What's going on?</heading>
+
+ <p>
+ This is usually caused by an interrupt conflict (e.g., two boards
+ using the same IRQ). FreeBSD prior to 2.0.5R used to be tolerant
+ of this, and the network driver would still function in the
+ presence of IRQ conflicts. However, with 2.0.5R and later, IRQ
+ conflicts are no longer tolerated.
+
+ <sect1>
+ <heading>Do I need to install the complete sources?</heading>
<p> In general, no. However, we would strongly recommend that you
install, at a minimum, the ``<tt/base/'' source kit, which
@@ -222,8 +585,8 @@
releases of FreeBSD.
- <sect1>DES encryption software can not be exported from the United
- States. If I live outside the US, how can I encrypt passwords?
+ <sect1>
+ <heading>DES encryption software can not be exported from the United States. If I live outside the US, how can I encrypt passwords?</heading>
<p> If it is not absolutely imperative that you use DES style
encryption, you can use FreeBSD's default encryption for even
@@ -270,9 +633,11 @@
</sect1>
</sect>
- <sect>Hardware compatibility
-
- <sect1>What kind of hard drives does FreeBSD run on?
+ <sect>
+ <heading>Hardware compatibility <label id="hardware"></heading>
+ <p>
+ <sect1>
+ <heading>What kind of hard drives does FreeBSD run on?</heading>
<p>
FreeBSD supports ST-506 (sometimes called ``MFM''), RLL, and ESDI
@@ -281,7 +646,8 @@
FreeBSD also supports IDE and SCSI hard drives.
- <sect1>What SCSI controllers are supported?
+ <sect1>
+ <heading>What SCSI controllers are supported?</heading>
<p>
FreeBSD supports the following SCSI controllers:
@@ -294,6 +660,7 @@
Sound Blaster SCSI (AH-152x compat) &lt;ISA&gt; <newline>
AH-2742/2842 Series &lt;ISA/EISA&gt; <newline>
AH-2820/2822/2825 Series &lt;VLB&gt; <newline>
+ AH-294x and aic7870 MB controllers &lt;PCI&gt;
<tag/Buslogic/
BT-445 Series &lt;VLB&gt; (but see section <ref id="bigram"
name="on 32 MB machines">) <newline>
@@ -301,120 +668,126 @@
BT-742 Series &lt;EISA&gt;<newline>
BT-747 Series &lt;EISA&gt;<newline>
BT-946 Series &lt;PCI&gt; <newline>
+ BT-956 Series &lt;PCI&gt; <newline>
<tag/Future Domain/
TMC-950 Series &lt;ISA&gt; <newline>
<tag/PCI Generic/
NCR 53C810 based controllers &lt;PCI&gt; <newline>
+ NCR 53C82x based controllers &lt;PCI&gt; <newline>
<tag/ProAudioSpectrum/
Zilog 5380 based controllers &lt;ISA&gt; <newline>
+ Trantor 130 based controllers &lt;ISA&gt; <newline>
<tag/Seagate/
ST-01/02 Series &lt;ISA&gt;<newline>
<tag/UltraStor/
UH-14f Series &lt;ISA&gt;<newline>
UH-24f Series &lt;EISA&gt; <newline>
UH-34f Series &lt;VLB&gt;<newline>
- </descrip>
-
- &lt;2.X-current Only&gt;
- <descrip>
<tag/Western Digital/
WD7000 &lt;ISA&gt; &lt;No scatter/gather&gt;
- <tag/Adaptec/
- AH-294x and aic7870 MB controllers &lt;PCI&gt;
- <tag/ProAudioSpectrum/
- Trantor 130 based controllers &lt;ISA&gt;
</descrip>
- <sect1>What CD-ROM drives are supported by FreeBSD?
+ <sect1>
+ <heading>What CD-ROM drives are supported by FreeBSD?</heading>
<p>
Any SCSI drive connected to a supported controller.
Mitsumi LU002 (8bit), LU005 (16bit) and FX001D (16bit 2x Speed).
- &lt;2.X-Current&gt; <newline>
- Sound Blaster Non-SCSI CD-ROM
+ Sony CDU 31/33A<newline>
+ Sound Blaster Non-SCSI CD-ROM<newline>
+ Matsushita/Panasocnic CD-ROM<newline>
+ ATAPI compatiable IDE CD-ROMs &lt;Current-only&gt;.
- FreeBSD does not support any of the ``IDE'' CD-ROM interfaces.
All non-SCSI cards are known to be extremely slow compared to
SCSI drives.
- <sect1>What multi-port serial cards are supported by FreeBSD?
+ <sect1>
+ <heading>What multi-port serial cards are supported by FreeBSD?</heading>
<p>
<itemize>
- <item>AST/4
- <item>BOCA 4/8/16 port cards.
+ <item>AST/4 in shared IRQ mode,
+ <item>ARNET 8 port in shared IRQ mode,
+ <item>BOCA 4/8/16 port cards inshared IRQ mode,
+ <item>Cyclades 8/16 port &lt;Alpha&gt;,
+ <item>Cronyx/Sigfgma multiport sync/async,
+ <item>RISCom/8 multiport card,
+ <item>STB 4 port i shared IRQ mode,
</itemize>
- &lt;2.X-Current&gt; <newline>
- Cyclades 8/16 port &lt;Alpha&gt;
-
Some unnamed clone cards have also been known to work, especially
those that claim to be AST compatible.
+ A Dibiboard driver is currently in alpha stage. If you want to
+ test it, take the file in
+ <url url="ftp://freefall.FreeBSD.ORG/pub/incoming"
+ name="the incoming directory">
+
Check the <tt/sio(4)/ man page to get more information on
configuring such cards.
-
- <sect1>Does FreeBSD support the AHA-27xx SCSI adapters from Adaptec?
+ <sect1>
+ <heading>Does FreeBSD support the AHA-2xxx SCSI adapters from Adaptec?</heading>
<p>
- Yes, though portions of the sources are currenty GPL'd (that is
- to say, distributed under the GNU Public License), so be aware of
- the fact should you wish to distribute kernel binaries compiled
- with it - you <bf/MUST/ also provide the sources to the driver
- with the kernel image to stay legal with the GPL! This is easily
- enough done by simply including the contents of
- <tt>/usr/src/sys/gnu/&lcub;aic7770,misc&rcub;</tt> on whatever
- media you distribute the kernel.
-
- We are working to get the GPL restriction removed, but for now
- you should at least be aware of it.
-
+ FreeBSD supports the AHA-2xxx line of disks. The GPL portions
+ of the old drivers have been re-written and now it is fully
+ under the Berkeley style copyright.
- <sect1>I have a Mumbleco bus mouse. Is it supported and if so, how
- do I set it up for XFree86?
+ <sect1>
+ <heading>I have a Mumbleco bus mouse. Is it supported and if so, how do I set it up for XFree86?</heading>
<p>
FreeBSD supports the Logitech and ATI Inport bus mice. You need
to add the following line to the kernel config file and recompile
for the Logitech and ATI mice:
-
<verb>
- device mse0 at isa? port 0x23c tty irq6 vector mseintr
+ device mse0 at isa? port 0x23c tty irq5 vector mseintr
</verb>
- <sect1>I have a PS/2 mouse (``keyboard'' mouse) (Alternatively: I
- have a laptop with a track-ball mouse). How do I use it?
-
- <sect1>What types of tape drives are supported under FreeBSD?
+ <sect1>
+ <heading>I have a PS/2 mouse (``keyboard'' mouse) (Alternatively: I have a laptop with a track-ball mouse). How do I use it?</heading>
+ <p>
+ You'll have to add the following lines to your kernel
+ configuration file and recompile:
+<verb>
+device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
+# Options for psm:
+options PSM_NO_RESET #don't reset mouse hardware (some laptops)
+</verb>
+
+ <sect1>
+ <heading>What types of tape drives are supported under FreeBSD?</heading>
<p>
FreeBSD supports SCSI, QIC-02 and QIC-40/80 (Floppy based) tape
drives. This includes 8-mm (aka Exabyte) and DAT drives.
- <sect1>What sound cards are supported by FreeBSD?
+ <sect1>
+ <heading>What sound cards are supported by FreeBSD?</heading>
<p>
- FreeBSD supports the SoundBlaster, SoundBlaster Pro, Pro Audio
- Spectrum 16, AdLib and Gravis UltraSound sound cards. There is
- also limited support for MPU-401 and compatible MIDI cards. The
- SoundBlaster 16 and SoundBlaster 16 ASP cards are not yet
- supported.
+ FreeBSD supports the SoundBlaster, SoundBlaster Pro, SoundBlaster
+ 16, Pro Audio Spectrum 16, AdLib and Gravis UltraSound sound
+ cards. There is also limited support for MPU-401 and compatible
+ MIDI cards. The SoundBlaster 16 ASP cards are not yet
+ supported. The Microsoft Sound System is also supported.
- NOTE: This is only for sound! This driver does not support
+ <bf/NOTE/ This is only for sound! This driver does not support
CD-ROMs, SCSI or joysticks on these cards.
-
- <sect1>What network cards does FreeBSD support?
+ <sect1>
+ <heading>What network cards does FreeBSD support?</heading>
<p>
There is support for the following cards:
<descrip>
<tag/``de'' driver/
- DEC and compatible PCI controllers <newline>
+ DEC DC21x40 and compatible PCI controllers<newline>
+ (including 21140 100bT cards) <newline>
<tag/``ed'' driver/
NE2000 and 1000<newline>
WD/SMC 8003, 8013 and Elite Ultra (8216)<newline>
@@ -424,55 +797,57 @@
DEC EtherWORKS II and EtherWORKS III controllers. <newline>
<tag/``ie'' driver/
AT&amp;T EN100/StarLAN 10 <newline>
+ 3COM 3c507 <newline>
+ NI5210 <newline>
<tag/``is'' driver/
Isolan AT 4141-0 <newline>
Isolink 4110 <newline>
<tag/``el'' driver/
- 3com 3c501 (does not support Multicast or DMA) <newline>
+ 3com 3c501 (does not support Multicast or DMA)
+ <tag/``eg'' driver/
+ 3com 3c505
<tag/``ze'' driver/
- IBM PCMCIA credit card adapter <newline>
+ IBM PCMCIA credit card adapter
<tag/``lnc'' drive/
- Unknown Lance based (*) <newline>
+ Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL)(*)
<tag/``ep'' driver/
- 3com 3c509 (*)
- </descrip>
-
- &lt;2.X-Current&gt;
-
- <descrip>
+ 3com 3c509
+ <tag/``ix'' driver/
+ Intel InterExpress
<tag/``cx'' driver/
Cronyx/Sigma multiport Sync/Async (Cisco and PPP framing)
<tag/``zp'' driver/
- 3Com PCMCIA Etherlink III
+ 3Com PCMCIA Etherlink III (aka 3c589)
<tag/``fea'' driver/
DEC DEFEA EISA FDDI controller
<tag/``fpa'' driver/
DEC DEFPA PCI FDDI controller
+ <tag/``fe'' driver/
+ Fujitsu MB86960A/MB86965A Ethernet cards
</descrip>
- NOTE: Drivers marked with (*) are known to have problems.
+ <bf/NOTE/ Drivers marked with (*) are known to have problems.
- NOTE: We also support TCP/IP over parallel lines. At this point
+ <bf/NOTE/ We also support TCP/IP over parallel lines. At this point
we are incompatiable with other versions, but we hope to correct
this in the near future.
-
- <sect1>I have a 386/486sx/486SLC machine without a math co-processor.
- Will this cause me any problems?
+ <sect1>
+ <heading>I have a 386/486sx/486SLC machine without a math co-processor. Will this cause me any problems?</heading>
<p>
Generally no, but there are circumstances where you will take a
hit, either in performance or accuracy of the math emulation code
(see the section <ref id="emul" name="on FP emulation">). In
particular, drawing arcs in X will be VERY slow. It is highly
- recommended that you lay out the &dollar;50 or so for a math
- co-processor; it's well worth it.
+ recommended that you buy a math co-processor; it's well worth it.
- NOTE: Some math co-processors are better than others. It pains
+ <bf/NOTE/ Some math co-processors are better than others. It pains
us to say it, but nobody ever got fired for buying Intel. Unless
you're sure it works with FreeBSD, beware of clones.
- <sect1>What other devices does 2.X support?
+ <sect1>
+ <heading>What other devices does 2.X support?</heading>
<p>
Here is a listing of drivers that do not fit into any of the
@@ -481,31 +856,33 @@
<descrip>
<tag><tt/b004.c/</tag>
Driver for B004 compatiable Transputer boards <newline>
- <tag><tt/ctx.c/</tag>
+ <tag>``ctx'' driver</tag>
Driver for CORTEX-I Frame grabber <newline>
- <tag><tt/gpib.c/</tag>
- Driver for National Instruments AT-GPIB and
- AT-GPIB/TNT boards <newline>
- <tag><tt/pcaudio.c/</tag>
+ <tag>``gp'' driver</tag>
+ Driver for National Instruments AT-GPIB and<newline>
+ AT-GPIB/TNT boards
+ <tag>``pca'' driver</tag>
Driver for PC speakers to allow the playing of audio files
- <newline>
+ <tag>``spigot'' driver</tag>
+ Driver for the Creative Labs Video Spigot
+ <tag>``gsc'' driver</tag>
+ Driver for the Genuis GS-4500 Hand scanner
+ <tag>``joy'' driver</tag>
+ Driver for a joystick
+ <tag/``labpc'' driver/
+ Driver for National Instrument's Lab-PC and Lab-PC+
+ <tag/``uart'' driver/
+ Stand-alone 6850 UART for MIDI
+ <tag/``nic'' driver/
+ Dr Neuhaus NICCY 3008, 3009 &amp; 5000 ISDN cards
+ <tag/``psm'' driver/
+ PS/2 ouse port
<tag><tt/tw.c/</tag>
Driver for the X-10 POWERHOUSE <newline>
</descrip>
- &lt;2.X-Current&gt;
- <descrip>
- <tag><tt/spigot.c/</tag>
- Driver for the Creative Labs Video Spigot <newline>
- <tag><tt/gsc.c/</tag>
- Driver for the Genuis GS-4500 Hand scanner <newline>
- <tag><tt/joy.c/</tag>
- Driver for a joystick <newline>
- </descrip>
-
- <sect1>I am about to buy a new machine to run FreeBSD on and want an
- idea of what other people are running. Is there list of other
- systems anywhere?
+ <sect1>
+ <heading>I am about to buy a new machine to run FreeBSD on and want an idea of what other people are running. Is there list of other systems anywhere?</heading>
<p>
Yes. Please look at the file <tt>Systems.FAQ</tt>. This file is
@@ -514,17 +891,18 @@
have sent in, and does not constitute any kind of endorsement by
the FreeBSD Project.
- <sect1>I have a lap-top with power management. Can FreeBSD take
- advantage of this?
+ <sect1>
+ <heading>I have a lap-top with power management. Can FreeBSD take advantage of this?</heading>
<p>
Yes it can on certain machines. Please look in the <tt/LINT/
kernel config file under <tt/APM/.
- <sect>Commercial Applications
+ <sect>
+ <heading>Commercial Applications</heading>
<p>
- Note: This section is still very sparse, though we're hoping, of
+ <bf/NOTE/ This section is still very sparse, though we're hoping, of
course, that companies will add to it! :) The FreeBSD group has no
financial interest in any of the companies listed here but simply
lists them as a public service (and feels that commercial interest
@@ -533,26 +911,21 @@
entries here for inclusion.
- <sect1>Where can I get Motif for FreeBSD?
-
+ <sect1>
+ <heading>Where can I get Motif for FreeBSD?</heading>
<p>
- You can purchase Motif 1.2.3 for FreeBSD (SWiM) from the ACC
- Bookstore, P.O. Box 3364, Westport CT. 06880. 1-800-546-7274 or
- FAX: 1-203-454-2582
+ Contact the following company:
- This software works flawlessly for for FreeBSD 1.1.5 but has
- shown one problem with 2.0 in that the "uil" program core dumps.
- This is apparently because of the way uil is installed, and it's
- quite possible that ACC will have a fixed version by the time you
- read this. No other compatibility problems with the programs or
- libraries have been found, and ACC can hardly be blamed for
- failing to work perfectly with a brand-new release they haven't
- even seen yet! :)
+ Lasermoon Ltd<newline>
+ 2a Beaconsfield Road<newline>
+ Fareham, Hants<newline>
+ England. PO16 0QB<newline>
+ Phone: +44 (01) 329 834944<newline>
+ FAX: +44 (0) 329 825936<newline>
+ Email: <url url="mailto:info@lasermoon.co.uk" name="Info Address">
- <sect1>Are there any commercial X servers for some of the high-end
- graphics cards like the Matrox or &num;9 I-128, or offering
- 8/16/24 bit deep pallettes?
- <label id="xinside">
+ <sect1>
+ <heading>Are there any commercial X servers for some of the high-end graphics cards like the Matrox or &num;9 I-128, or offering 8/16/24 bit deep pallettes?<label id="xinside"></heading>
<p>
Yes, X Inside Incorporated sells their Accelerated-X product for
FreeBSD and other Intel based systems.
@@ -574,18 +947,22 @@
<url url="ftp://ftp.xinside.com/accelx/1.1/prodinfo.txt"
name="Products information">
<tag/or/
- email &lt;<tt/info@xinside.com/&gt;
+ <url url="mailto:info@xinside.com" name="Info E-mail address">
<tag/or/
phone +1(303)384-9999
</descrip>
- <sect1>Any other applications I might be interested in?
+ <sect1>
+ <heading>Any other applications I might be interested in?</heading>
<p>
RenderMorphics, Ltd. sells a high-speed 3D rendering package for
- FreeBSD called ``Reality Lab'' (tm). Send email to
- <tt/info@render.com/ or call: +44(0)71-251-4411 / FAX:
- +44(0)71-251-0939
+ FreeBSD called ``Reality Lab'' (tm).
+
+ Send email to <url url="mailto:info@render.com"
+ name="info@render.com">
+
+ or call: +44(0)71-251-4411 / FAX: +44(0)71-251-0939
This package is also for FreeBSD 1.1.5 but has been tested and
shown to run under FreeBSD 2.0 with the ``<tt/compat1xdist/''
@@ -601,13 +978,15 @@
</sect1>
- <sect>User Applications
+ <sect>
+ <heading>User Applications</heading>
- <sect1>I want to run X, how do I go about it?
+ <sect1>
+ <heading>I want to run X, how do I go about it?</heading>
<p>
First, get the XFree86(tm) distribution of X11R6 from
- XFree86.cdrom.com The version you want for FreeBSD 2.X and
+ <tt/XFree86.cdrom.com/ The version you want for FreeBSD 2.X and
later is <tt/XFree86 3.1.1/. Follow the instructions for
installation carefully. You may then wish to read the
documentation for the <tt/ConfigXF86/ tool, which assists you in
@@ -618,9 +997,8 @@
available at a very reasonable price. See section
<ref id="xinside" name="on Xaccel"> for more details.
- <sect1>I've been trying to run ghostscript on a 386 (or 486sx) with
- no math co-processor and I keep getting errors. What's up? <label
- id="emul">
+ <sect1>
+ <heading>I've been trying to run ghostscript on a 386 (or 486sx) with no math co-processor and I keep getting errors. What's up?<label id="emul"></heading>
<p>
You will need to add the alternate math emulator to your kernel,
@@ -631,12 +1009,11 @@
options GPL_MATH_EMULATE
</verb>
- NOTE: You will need to remove the MATH_EMULATE option when you do
- this.
+ <bf/NOTE/ You will need to remove the <tt/MATH&lowbar;EMULATE/
+ option when you do this.
- <sect1>I want all this neat software, but I haven't got the space or
- CPU power to compile it all myself. Is there any way of getting
- binaries?
+ <sect1>
+ <heading>I want all this neat software, but I haven't got the space or CPU power to compile it all myself. Is there any way of getting binaries?</heading>
<p>
Yes. We support the concept of a ``package'', which is
@@ -647,10 +1024,9 @@
people will have a <tt>packages/</tt> directory on their CD,
others can get the currently available packages from:
- <verb>
- ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages
- </verb>
-
+ <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages"
+ name="FreeBSD's packages">
+
Note that all ports may not be available as packages, and that
new packages are constantly being added. It is always a good
idea to check periodically to see which packages are available.
@@ -658,16 +1034,197 @@
details on the care and feeding of the package software, so no
explicit details will be given here.
- <sect>Miscellaneous Questions
+ <sect>
+ <heading>Miscellaneous Questions</heading>
+ <p>
+ <sect1>
+ <heading>Hey! Chmod doesn't change the file permissions of symlinked files! What's going on?</heading>
+ <p>
+ You have to use either ``<tt/-H/'' or ``<tt/-L/'' together with
+ the ``<tt/-R/'' option to make this work. See the <tt/chmod(1)/
+ and <tt/symlink(7)/ man pages for more info.
+
+ <bf/WARNING/ the ``<tt/-R/'' option does a <bf/RECURSIVE/
+ <tt/chmod/. Be careful about specifying directories or symlinks
+ to directories to <tt/chmod/. If you want to change the
+ permissions of a directory referenced by a symlink, use
+ <tt/chmod(1)/ without any options and follow the symlink with a
+ trailing slash (``<tt>/</tt>''). For example, if ``<tt/foo/'' is
+ a symlink to directory ``<tt/bar/'', and you want to change the
+ permissions of ``<tt/foo/'' (actually ``<tt/bar/''), you would do
+ something like:
+ <verb>
+ chmod 555 foo/
+ </verb>
+
+ With the trailing slash, <tt/chmod/ will follow the symlink,
+ ``<tt/foo/'', to change the permissions of the directory,
+ ``<tt/bar/''.
+
+ <sect1>
+ <heading>How do I mount a CDROM? I've tried using <tt/mount(8)/, but it keeps on giving me an error like, ``<tt>/dev/cd0a on /mnt: Incorrect super block.</tt>''</heading>
+ <p>
+ You have to tell <tt/mount(8)/ the type of the device that you
+ want to mount. By default, <tt/mount(8)/ will assume the
+ filesystem is of type ``<tt/ufs/''. You want to mount a CDROM
+ filesystem, and you do this by specifying the ``<tt/-t cd9660/''
+ option to <tt/mount(8)/. This does, of course, assume that the
+ CDROM contains an ISO 9660 filesystem, which is what most CDROMs
+ have. As of 1.1R, FreeBSD also understands the Rock Ridge
+ (long filename) extensions.
- <sect1>I've heard of something called FreeBSD-current. How do I run
- it, and where can I get more information?
+ As an example, if you want to mount the CDROM device,
+ ``<tt>/dev/cd0c</tt>'', under <tt>/mnt</tt>, you would execute:
+ <verb>
+ mount -t cd9660 /dev/cd0c /mnt
+ </verb>
+
+ Note that your device name (``<tt>/dev/cd0c</tt>'' in this
+ example) could be different, depending on the CDROM interface.
+ Note that the ``<tt/-t cd9660/'' option just causes the
+ ``<tt/mount&lowbar;cd9660/'' command to be executed, and so the
+ above example could be shortened to:
+ <verb>
+ mount_cd9660 /dev/cd0c /mnt
+ </verb>
+
+ <sect1>
+ <heading>When I try to mount a CDROM, I get a ``Device not configured'' error. What's going on?</heading>
+ <p>
+ This generally means that there is no CDROM in the CDROM drive.
+ Feed the drive something.
+
+ <sect1>
+ <heading>My programs occasionally die with ``Signal 11'' errors. What's going on?</heading>
+ <p>
+ This can be caused by bad hardware (memory, motherboard, etc.).
+ Try running a memory-testing program on your PC. Note that, even
+ though every memory testing program you try will report your
+ memory as being fine, it's possible for slightly marginal memory
+ to pass all memory tests, yet fail under operating conditions
+ (such as during busmastering DMA from a SCSI controller like the
+ Adaptec 1542).
+
+ <sect1>
+ <heading>Help, some of my X Window menus and dialog boxes don't work right! I can't select them.</heading>
<p>
- Read the file <tt>/usr/src/share/FAQ/current-policy.FAQ</tt>,
+ Try turning off the Num Lock key.
+
+ If your Num Lock key is on by default at boot-time, you may add
+ the following line in the ``<tt/Keyboard/'' section of the
+ <tt/XF86config/ file.
+
+<verb>
+# Let the server do the NumLock processing. This should only be required
+# when using pre-R6 clients
+ ServerNumLock
+</verb>
+
+ <sect1>
+ <heading>How do I access the virtual consoles?</heading>
+ <p>
+ If the console is not currently displaying X Window, just press
+ Alt-F1 to Alt-F12.
+
+ <bf/NOTE/ the default FreeBSD installation has
+ only three (3) virtual consoles enabled, and so only Alt-F1,
+ Alt-F2, and Alt-F3 will work to switch between three virtual
+ consoles. If you want to increase this number, see the next
+ question.
+
+ If the console is currently displaying X Window, you can use
+ Ctrl-Alt-F1, etc. to switch to a virtual console. Note, however,
+ that once you've switched away from X Window to a virtual
+ terminal, you use only the Alt- function key to switch to another
+ virtual terminal or back to X Window. You do not also press the
+ Ctrl key; the Ctrl-Alt-function key combination is used only when
+ switching from X Window to a virtual terminal.
+
+ <sect1>
+ <heading>How do I increase the number of virtual consoles?</heading>
+ <p>
+ Edit <tt>/etc/ttys</tt> and add entries for ``<tt/ttyv4/'' to
+ ``<tt/ttyvc/'' after the comment on ``Virtual terminals'' (delete
+ the leading whitespace in the following example):
+
+ <verb>
+ # Edit the existing entry for ttyv3 in /etc/ttys and change
+ # "off" to "on".
+ ttyv3 "/usr/libexec/getty Pc" cons25 on secure
+ ttyv4 "/usr/libexec/getty Pc" cons25 on secure
+ ttyv5 "/usr/libexec/getty Pc" cons25 on secure
+ ttyv6 "/usr/libexec/getty Pc" cons25 on secure
+ ttyv7 "/usr/libexec/getty Pc" cons25 on secure
+ ttyv8 "/usr/libexec/getty Pc" cons25 on secure
+ ttyv9 "/usr/libexec/getty Pc" cons25 on secure
+ ttyva "/usr/libexec/getty Pc" cons25 on secure
+ ttyvb "/usr/libexec/getty Pc" cons25 on secure
+ </verb>
+
+ Use as many or as few as you want. The more virtual terminals
+ you have, the more resources that are used; this can be important
+ if you have 8MB RAM or less. You may also want to change the
+ ``<tt/secure/'' to ``<tt/insecure/''.
+
+ <bf/IMPORTANT NOTE/ if you want to run X Window, you <bf/MUST/
+ leave a virtual terminal unused (or turned off). For example, if
+ you want to attach a virtual terminal to all of your twelve
+ Alt-function keys, you can only attach virtual terminals to
+ eleven of them. The last must be left unused, because X Windows
+ will use it, and you will use the last Alt-function key to switch
+ back to X Window (after you have switched from X Window to a
+ virtual console via a Ctrl-Alt-function key). The easiest way to
+ do this is to disable a console by turning it off. For example,
+ if you have a keyboard with twelve function keys, you would
+ change settings for virtual terminal 12 from:
+
+ <verb>
+ ttyvb "/usr/libexec/getty Pc" cons25 on secure
+ </verb>
+ to:
+ <verb>
+ ttyvb "/usr/libexec/getty Pc" cons25 off secure
+ </verb>
+
+ If your keyboard has only ten function keys, you would end up with:
+ <verb>
+ ttyv9 "/usr/libexec/getty Pc" cons25 off secure
+ ttyva "/usr/libexec/getty Pc" cons25 off secure
+ ttyvb "/usr/libexec/getty Pc" cons25 off secure
+ </verb>
+ (You could also just delete these lines.)
+
+ Once you have edited <tt>/etc/ttys</tt>, the next step is to make
+ sure that you have enough virtual terminal devices. The easiest
+ way to do this is:
+ <verb>
+ cd /dev
+ ./MAKEDEV vty12 # For 12 devices
+ </verb>
+
+ Next, the easiest (and cleanest) way to activate the virtual
+ consoles is to reboot. However, if you really don't want to
+ reboot, you can just shut down X Window and execute (as
+ <tt/root/):
+ <verb>
+ kill -HUP 1
+ </verb>
+
+ It's imperative that you completely shut down X Window if it is
+ running, before running this command. If you don't, your system
+ will probably appear to hang/lock up after executing the kill
+ command.
+
+ <sect1>
+ <heading>I've heard of something called FreeBSD-current. How do I run it, and where can I get more information?</heading>
+
+ <p>
+ Read the file <tt>/usr/src/share/FAQ/Text/current-policy.FAQ</tt>,
it will tell you all you need to know.
- <sect1>What is this thing called ``<tt/sup/'', and how do I use it?
+ <sect1>
+ <heading>What is this thing called ``<tt/sup/'', and how do I use it?</heading>
<p>
SUP stands for Software Update Protocol, and was developed by CMU
@@ -684,35 +1241,32 @@
just mail or news). First, pick up the <tt/sup.tgz/ package
from:
- <verb>
- ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages/sup.tgz
- </verb>
+ <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages/sup.tgz"
+ name="The SUP package">
- Second, read the file <tt>/usr/src/share/FAQ/sup.FAQ</tt>.
+ Second, read the file <tt>/usr/src/share/FAQ/Text/sup.FAQ</tt>.
This file describes how to setup sup on your machine. You may
also want to look at
<tt>/usr/src/share/FAQ/extras/*.supfile</tt>, or you may grab
updated supfiles from:
- <verb>
- ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FAQ/extras
- </verb>
+ <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FAQ/extras"
+ name="Updated SUP files">
which are a set of supfiles for supping from <tt/FreeBSD.ORG/.
-
- <sect1>How do I create customized installation disks that I can give
- out to other people at my site?
+ <sect1>
+ <heading>How do I create customized installation disks that I can give out to other people at my site?</heading>
<p>
The entire process of creating installation disks and source and
binary archives is automated by various targets in
- <tt>/usr/src/etc/Makefile</tt>. The information there should be
- enough to get you started.
+ <tt>/usr/src/release/Makefile</tt>. The information there should
+ be enough to get you started.
- <sect1>How do I re-build my system without clobbering the existing
- installed binaries?
+ <sect1>
+ <heading>How do I re-build my system without clobbering the existing installed binaries?</heading>
<p>
If you define the environment variable <tt/DESTDIR/ while running
@@ -724,34 +1278,34 @@
however.
- <sect1>When my system booted, it told me that ``(bus speed
- defaulted)''. What does that mean?
+ <sect1>
+ <heading>When my system booted, it told me that ``(bus speed defaulted)''. What does that mean?</heading>
<p>
The Adaptec 1542 SCSI host adapters allow the user to configure
their bus access speed in software. Previous versions of the
1542 driver tried to determine the fastest usable speed and set
the adapter to that. We found that this breaks some users'
- systems, so you now have to define the ``<tt/TUNE_1542/'' kernel
+ systems, so you now have to define the ``<tt/TUNE&lowbar;1542/'' kernel
configuration option in order to have this take place. Using it
on those systems where it works may make your disks run faster,
but on those systems where it doesn't, your data could be
corrupted.
- <sect1>I would like to track changes to current and do not have net
- access. Is there any way besides downloading the whole tree?
- <label id="ctm">
+ <sect1>
+ <heading>I would like to track changes to current and do not have net access. Is there any way besides downloading the whole tree?<label id="ctm"></heading>
<p>
Yes, you can use the <tt/CTM/ facility. Check out the
<tt/ctm.FAQ/ file or
- <verb>
- ftp://freefall.cdrom.com/pub/CTM/README
- </verb>
+
+ <url url="ftp://freefall.cdrom.com/pub/CTM/README" name="README
+ for CTM">
+
for more information.
- <sect1>How do I split up large binary files into smaller 240k files
- like the distribution does?
+ <sect1>
+ <heading>How do I split up large binary files into smaller 240k files like the distribution does?</heading>
<p>
Newer BSD based systems have a ``<tt/-b/'' option to split that
@@ -768,37 +1322,27 @@
$&lcub;RELEASEDIR&rcub;/tarballs/bindist/bin_tgz.)
</verb>
- <sect1>&lt;XXX&gt; I've had a couple of system panics and would like
- to be able browse the system dumps. The normal kernel is
- stripped and I don't want to run a bloated kernel. What can I
- do?</>
-
- <sect1>I just got a Perl application and it's bombing looking for
- <tt/*.ph/. Where is it?
+ <sect1>
+ <heading>&lt;XXX&gt; I've had a couple of system panics and would like to be able browse the system dumps. The normal kernel is stripped and I don't want to run a bloated kernel. What can I do?</heading>
- <p>
- There was a minor SNAFU in the 2.0-R bindist and they got left
- out. If you have the source, you just have to do a ``<tt/make
- install/'' from <tt>/usr/src/gnu/usr.bin/perl/lib</tt> and
- everything will be fine. Or you may ftp to
- <tt/phoenix-gw.gbdata.com/ and grab them from
- <tt>~/pub/perl/libs.tar.gz</tt>.
-
- <sect1>I've got this neato kernel extension I just know everyone will
- will want. How do I get it included into the distribution?
+ <sect1>
+ <heading>I've got this neato kernel extension I just know everyone will will want. How do I get it included into the distribution?</heading>
<p>
Please take a look at the FAQ for submiting code to FreeBSD at:
- <verb>
- ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FAQ/submitters.FAQ
- </verb>
+
+ <url
+ url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FAQ/Text/submitters.FAQ"
+ name="Submitters' FAQ">
+
And thanks for the thought.
</sect1>
- <sect>Kernel Configuration
+ <sect>
+ <heading>Kernel Configuration</heading>
<p>
- <sect1>Ok, so how DO I compile my own kernel, anyway? <label
- id="make-kernel">
+ <sect1>
+ <heading>Ok, so how DO I compile my own kernel, anyway?<label id="make-kernel"></heading>
<p>
Before you can compile a kernel, you need either the complete
<tt/srcdist/ or, at the minimum, the <tt/kerndist/ loaded on your
@@ -819,13 +1363,14 @@
<item> <tt/vi MYKERNEL/
<item> <tt/config MYKERNEL/
<item> <tt>cd ../../compile/MYKERNEL</tt>
- <item> <tt/make depend all/
+ <item> <tt/make depend/
+ <item> <tt/make all/
<item> <tt/make install/
<item> <tt/reboot/
</enum>
Step 2 may not be necessary if you already have a kernel
- configuration file from a previous release of FreeBSD 2.x. -
+ configuration file from a previous release of FreeBSD 2.X. -
simply bring your old one over and check it carefully for any
drivers that may have changed boot syntax or been rendered
obsolete.
@@ -861,9 +1406,8 @@
messages printed by your old kernel, some of which may be quite
helpful in configuring the new one.
- <sect1>When I compile a kernel with multi-port serial code, it tells
- me that only the first port is probed and the rest skipped due to
- interrupt conflicts. How do I fix this?
+ <sect1>
+ <heading>When I compile a kernel with multi-port serial code, it tells me that only the first port is probed and the rest skipped due to interrupt conflicts. How do I fix this?</heading>
<p>
The problem here is that FreeBSD has code built-in to keep the
@@ -881,8 +1425,8 @@ device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr
</verb>
- <sect1>FreeBSD is supposed to come with support for QIC-40/80 drives
- but when I look, I can't find it.
+ <sect1>
+ <heading>FreeBSD is supposed to come with support for QIC-40/80 drives but when I look, I can't find it.</heading>
<p>
You need to uncomment the following line in the generic config
@@ -916,7 +1460,8 @@ disk fd1 at fdc0 drive 1
<tt/-current/ and try that.
- <sect1>Does FreeBSD support IPC primitives like those in System V?
+ <sect1>
+ <heading>Does FreeBSD support IPC primitives like those in System V?</heading>
<p>
Yes, FreeBSD supports System V-style IPC. This includes shared
@@ -932,18 +1477,18 @@ disk fd1 at fdc0 drive 1
Recompile and install.
- <sect1>Will FreeBSD ever support other architectures?
+ <sect1>
+ <heading>Will FreeBSD ever support other architectures?</heading>
<p>
Several different groups have expressed interest in working on
multi-architecture support for FreeBSD. If you are interested in
doing so, please contact the developers at
- <tt>&lt;hackers@FreeBSD.ORG&gt;</tt> for more information on our
+ <tt>&lt;platforms@FreeBSD.ORG&gt;</tt> for more information on our
strategy for porting.
- <sect1>I just wrote a device driver for a Foobar Systems, Inc.
- Integrated Adaptive Gronkulator card. How do I get the
- appropriate major numbers assigned?
+ <sect1>
+ <heading>I just wrote a device driver for a Foobar Systems, Inc. Integrated Adaptive Gronkulator card. How do I get the appropriate major numbers assigned?</heading>
<p>
This depends on whether or not you plan on making the driver
@@ -959,11 +1504,33 @@ disk fd1 at fdc0 drive 1
</sect1>
- <sect>System Administration
+ <sect>
+ <heading>System Administration</heading>
- <sect1>How do I add a user easily? I read the man page and am more
- confused than ever! (Alternatively: I didn't read the man page,
- I never read man pages! :-) )
+<sect1>
+ <heading>Hmm, where are my familiar BSD system files ? What's this <tt>/etc/sysconfig</tt> thing?</heading>
+
+ <p>
+ As for 2.0.5R, the primary configuration file is
+ <tt>/etc/sysconfig</tt>. All the options are to be specified in
+ this one and the other one (<tt>/etc/rc</tt> and
+ <tt>/etc/netstart</tt>) just include it.
+
+ Look in the <tt>/etc/sysconfig</tt> file and change the value to
+ match your system. This file is filled with comments to show what
+ to put in there.
+
+ The <tt>/etc/rc.local</tt> is here as always and is the place to
+ put additional services like <tt/INN/ or a <tt/http/ server.
+
+ The <tt>/etc/rc.serial</tt> is for serial port initialization
+ (e.g. locking the port characterictics, and so on.).
+
+ The <tt>/etc/rc.i386</tt> is for Intel-specifics setting like the
+ iBCS2 emulation.
+
+ <sect1>
+ <heading>How do I add a user easily? I read the man page and am more confused than ever!</heading>
<p>
Use the <tt/adduser/ command.
@@ -973,15 +1540,14 @@ disk fd1 at fdc0 drive 1
<tt>&lt;roberto@FreeBSD.ORG&gt;</tt> about it. It is currently
under further development.
- <sect1>&lt;XXX&gt; I'm trying to use my printer and keep running into
- problems. I tried looking at <tt>/etc/printcap</tt>, but it's
- close to useless. Any ideas?
+ <sect1>
+ <heading>&lt;XXX&gt; I'm trying to use my printer and keep running into problems. I tried looking at <tt>/etc/printcap</tt>, but it's close to useless. Any ideas?</heading>
<p>
Still under construction.
</sect1>
- <sect1>My keyboard mappings are wrong for my system. How can I fix
- them?
+ <sect1>
+ <heading>My keyboard mappings are wrong for my system. How can I fix them?</heading>
<p>
The kbdcontrol program has an option to load a keyboard map file.
Under <tt>/usr/share/syscons/keymaps</tt> are a number of map
@@ -990,15 +1556,15 @@ disk fd1 at fdc0 drive 1
<verb>
kbdcontrol -l uk.iso
</verb>
+
Both the <tt>/usr/share/syscons/keymaps</tt> and the <tt/.kbd/
extension are assumed by <tt/kbdcontrol(1)/.
- This could be run at boot time by adding the command to
- <tt>/etc/rc.local</tt>
+ This can be configured in <tt>/etc/sysconfig</tt>. See the
+ appropriate comments in tis file.
- <tt>/etc/rc.local</tt> also has a comment at the end of it
- relating to loading fonts/keyboard examples. See
- <tt>/usr/share/examples/syscons</tt>.
+ In 2.0.5R, everything related to text fonts, keyboard mapping is
+ in <tt>/usr/share/examples/syscons</tt>.
The following mappings are currently supported:
<itemize>
@@ -1008,39 +1574,50 @@ disk fd1 at fdc0 drive 1
<item>Russian
<item>Swedish (both ISO and cp850),
<item>U.K. (both ISO and cp850),
+ <item>Spain
<item>U.S.A. (ISO only).
</itemize>
</sect1>
- <sect>Networking
+ <sect>
+ <heading>Networking</heading>
- <sect1>Where can I get information booting FreeBSD ``diskless'', that
- is booting and running a FreeBSD box from a server rather than
- having a local disk?
+ <sect1>
+ <heading>Where can I get information booting FreeBSD ``diskless'', that is booting and running a FreeBSD box from a server rather than having a local disk?</heading>
<p>
- Please read <tt>/sys/i386/boot/netboot/netboot.doc</tt>.
+ Please read the diskless section in the Handbook. It is in
+ <tt>/usr/share/doc/handbook</tt> or use the following WWW link:
+
+ <url url="http://www.FreeBSD.ORG/How/handbook/diskless.html"
+ name="Handbook's section on diskless boot">
- <sect1>I've heard that you can use a FreeBSD box as a dedicated
- network router - is there any easy support for this?
+ <sect1>
+ <heading>I've heard that you can use a FreeBSD box as a dedicated network router - is there any easy support for this?</heading>
<p>
Internet standards and good engineering practice prohibit us from
providing packet forwarding by default in FreeBSD. You can
enable this support by adding ``<tt/options GATEWAY/'' to your
- kernel configuration file and recompiling. In most cases, you
- will also need to run a routing process to tell other systems on
- your network about your router; FreeBSD comes with the standard
- BSD routing daemon <tt/routed(8)/, or for more complex situations
- you may want to try <em/GaTeD/ (available by FTP from
- <tt/gated.Cornell.edu/) which supports FreeBSD as of 3_5Alpha7.
+ kernel configuration file and recompiling.
+
+ This kernel option will put the <tt/sysctl/ variable
+ <tt/net.inet.ip.forwarding/ to <tt/1/.
+
+ In most cases, you will also need to run a routing process to
+ tell other systems on your network about your router; FreeBSD
+ comes with the standard BSD routing daemon <tt/routed(8)/, or for
+ more complex situations you may want to try <em/GaTeD/ (available
+ by FTP from <tt/gated.Cornell.edu/) which supports FreeBSD as of
+ 3_5Alpha7.
It is our duty to warn you that, even when FreeBSD is configured
in this way, it does not completely comply with the Internet
standard requirements for routers; however, it comes close enough
for ordinary usage.
- <sect1>Does FreeBSD support SLIP and PPP?</>
+ <sect1>
+ <heading>Does FreeBSD support SLIP and PPP?</heading>
<p>
Yes. See the man pages for <tt/slattach(8)/ and/or <tt/pppd(8)/
@@ -1049,12 +1626,18 @@ disk fd1 at fdc0 drive 1
page for <tt/sliplogin(8)/. You may also want to take a look at
the slip FAQ in:
- <verb>
- /usr/src/share/FAQ/Slip.FAQ
- </verb>
+ <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FAQ/Text/Slip.FAQ"
+ name="SLIP FAQ">
- <sect1>How do I get my network set up? I don't see how to make my
- <tt>/dev/ed0</tt> device!
+ You can also have a look at the SLIP/PPP/Use PPP sections of the
+ handbook in <tt>/usr/share/doc/handbook</tt> or use the following
+ link:
+
+ <url url="http://www.FreeBSD.ORG/How/handbook"
+ name="FreeBSD's Handbook">
+
+ <sect1>
+ <heading>How do I get my network set up? I don't see how to make my <tt>/dev/ed0</tt> device!</heading>
<p>
In the Berkeley networking framework, network interfaces are only
@@ -1067,28 +1650,42 @@ disk fd1 at fdc0 drive 1
networking on FreeBSD is basically the same as on SunOS 4.0 or
Ultrix.
- <sect1>How do I get my 3C503 to use the other network port?
+ <sect1>
+ <heading>How do I get my 3C503 to use the other network port?</heading>
<p>
- Use ``<tt/ifconfig ed0/'' to see whether the ALTPHYS flag is set,
- and then use either ``<tt/ifconfig ed0 altphys/'' if it was off,
- or ``<tt/ifconfig ed0 -altphys/'' if it was on.
+ If you want to use the other ports, you'll have to specify an
+ additional parameter on the <tt/ifconfig(1)/ command line. The
+ default port is ``<tt/link0/''. To use the AUI port instead of
+ the BNC one, use ``<tt/link2/''.
- <sect1>I'm having problems with NFS to/from FreeBSD and my
- Wuffotronics Workstation / generic NFS appliance, where should I
- look first?
+ <sect1>
+ <heading>I'm having problems with NFS to/from FreeBSD and my Wuffotronics Workstation / generic NFS appliance, where should I look first?</heading>
<p>
Certain PC network cards are better than others (to put it
mildly) and can sometimes cause problems with network intensive
applications like NFS.
- See <tt>/usr/src/share/FAQ/NFS.FAQ</tt> for more information on
+ See
+
+ <url url="ftp://ftp.FreeBSD.ORG/pub/FAQ/Text/NFS.FAQ" name="NFS FAQ">
+
+ for more information on
this topic.
- <sect1>I want to enable IP multicast support on my FreeBSD box, how
- do I do it? (Alternatively: What the heck IS multicasting and
- what applications make use of it?)
+ <sect1>
+ <heading>Why can't I NFS-mount from a Linux box?</heading>
+
+ <p>
+ Some versions of the Linux NFS code only accept mount requests
+ from a priviledged port; try
+ <verb>
+ mount -o -P linuxbox:/blah /mnt
+ </verb>
+
+ <sect1>
+ <heading>I want to enable IP multicast support on my FreeBSD box, how do I do it? (Alternatively: What the heck IS multicasting and what applications make use of it?)</heading>
<p>
Multicast host operations are fully supported in FreeBSD 2.0 by
@@ -1119,13 +1716,14 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
</sect1>
- <sect> Serial Communications
+ <sect>
+ <heading>Serial Communications</heading>
<p>
This section answers common questions about serial communications
with FreeBSD.
- <sect1> How do I tell if FreeBSD found my serial ports or modem
- cards?
+ <sect1>
+ <heading>How do I tell if FreeBSD found my serial ports or modem cards?</heading>
<p>
As the FreeBSD kernel boots, it will probe for the serial ports
in your system for which the kernel was configured. You can
@@ -1159,33 +1757,34 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
section <ref id="make-kernel" name="about building a kernel"> for
more details.
- <sect1> How do I access the serial ports once FreeBSD is running?
+ <sect1>
+ <heading>Hey, I just upgraded to 2.0.5 and my <tt/tty0X/ are missing!</heading>
+ <p>
+ Don't worry, they have been merged with the <tt/ttydX/
+ devices. You'll have to change old configuration files.
+
+ <sect1>
+ <heading>How do I access the serial ports once FreeBSD is running?</heading>
<p>
The third serial port, <tt/sio2/ (known as COM3 in DOS), is on
- <tt>/dev/tty02</tt> for directly-connected devices, on
<tt>/dev/cuaa2</tt> for dial-out devices, and on
<tt>/dev/ttyd2</tt> for dial-in devices. What's the difference
- between these three classes of devices?
-
- You use <tt/ttyXX /for directly-connected or hardwired devices,
- like printers or terminals.
-
- In place of <tt/ttyXX/, you can use the pair of devices
- <tt/cuaaX/ and <tt/ttydX/. You use <tt/ttydX/ for dial-ins. The
- <tt/ttydX/ device acts like the <tt/ttyXX/ device, but it also
- uses the modem control lines. When opening <tt>/dev/ttydX</tt>
- in blocking mode, a process will wait for the corresponding
- <tt/cuaaX/ device to become inactive, and then wait for the
- carrier detect line to go active. When you open the <tt/cuaaX/
- device, it makes sure the serial port isn't already in use by the
- <tt/ttydX/ device. If the port's available, it ``steals'' it
- from the <tt/ttydX/ device. Also, the <tt/cuaXX/ device doesn't
- care about carrier detect. With this scheme and an auto-answer
- modem, you can have remote users log in and you can still dialout
- with the same modem and the system will take care of all the
- conflicts.
-
- <sect1> How do I configure the kernel for my multiport serial card?
+ between these two classes of devices?
+
+ You use <tt/ttydX/ for dial-ins. When opening
+ <tt>/dev/ttydX</tt> in blocking mode, a process will wait for the
+ corresponding <tt/cuaaX/ device to become inactive, and then wait
+ for the carrier detect line to go active. When you open the
+ <tt/cuaaX/ device, it makes sure the serial port isn't already in
+ use by the <tt/ttydX/ device. If the port's available, it
+ ``steals'' it from the <tt/ttydX/ device. Also, the <tt/cuaXX/
+ device doesn't care about carrier detect. With this scheme and
+ an auto-answer modem, you can have remote users log in and you
+ can still dialout with the same modem and the system will take
+ care of all the conflicts.
+
+ <sect1>
+ <heading>How do I configure the kernel for my multiport serial card?</heading>
<p>
Again, the section on kernel configuration provides information
about configuring your kernel. For a multiport serial card,
@@ -1208,21 +1807,20 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
(<tt/0x700/), diagnostics enabled during probe (<tt/0x080/), and
all the ports share an irq (<tt/0x001/).
- <sect1> I have two multiport serial cards that can share irqs. Can
- FreeBSD handle this?
+ <sect1>
+ <heading>I have two multiport serial cards that can share irqs. Can FreeBSD handle this?</heading>
<p>
Not yet. You'll have to use a different irq for each card.
- <sect1> What's the difference between <tt/ttyd1/, <tt/ttyid1/, and
- <tt/ttyld1/? Or, how can I set the default serial parameters for
- a port?
+ <sect1>
+ <heading>What's the difference between <tt/ttyd1/, <tt/ttyid1/, and <tt/ttyld1/? Or, how can I set the default serial parameters for a port?</heading>
<p>
- The <tt/ttyXX/ (or <tt/cuaaX/ or <tt/ttydX/) device is the
- regular device you'll want to open for your applications. When a
- process opens the device, it'll have a default set of terminal
- I/O settings. You can see these settings with the command
+ The <tt/ttydX/ (or <tt/cuaaX/) device is the regular device
+ you'll want to open for your applications. When a process opens
+ the device, it'll have a default set of terminal I/O settings.
+ You can see these settings with the command
<verb>
- stty -a -f /dev/tty01
+ stty -a -f /dev/ttyd1
</verb>
When you change the settings to this device, the settings are in
@@ -1230,31 +1828,32 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
back to the default set. To make changes to the default set, you
can open and adjust the settings of the ``initial state'' device.
For example, to turn on <tt/CLOCAL/ mode, 8 bits, and
- <tt>XON/XOFF</tt> flow control by default for tty05, do:
+ <tt>XON/XOFF</tt> flow control by default for ttyd5, do:
<verb>
- stty -f /dev/ttyi05 clocal cs8 ixon ixoff
+ stty -f /dev/ttyid5 clocal cs8 ixon ixoff
</verb>
A good place to do this is in <tt>/etc/rc.serial</tt>. Now, an
application will have these settings by default when it opens
- <tt/tty05/. It can still change these settings to its liking,
+ <tt/ttyd5/. It can still change these settings to its liking,
though.
You can also prevent certain settings from being changed by an
application by making adjustments to the ``lock state'' device.
- For example, to lock the speed of <tt/tty05/ to 57600 bps, do
+ For example, to lock the speed of <tt/ttyd5/ to 57600 bps, do
<verb>
- stty -f /dev/ttyl05 57600
+ stty -f /dev/ttyld5 57600
</verb>
- Now, an application that opens <tt/tty05/ and tries to change the
+ Now, an application that opens <tt/ttyd5/ and tries to change the
speed of the port will be stuck with 57600 bps.
Naturally, you should make the initial state and lock state
devices writable only by <tt/root/. The <tt/MAKEDEV/ script does
<bf/NOT/ do this when it creates the device entries.
- <sect1> How can I enable dialup logins on my modem?
+ <sect1>
+ <heading>How can I enable dialup logins on my modem?</heading>
<p>
So you want to become an Internet service provider, eh? First,
you'll need one or more modems that can autoanswer. Your modem
@@ -1315,8 +1914,8 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1
</verb>
- <sect1> How can I make my spare computer a dumb terminal connected to
- my FreeBSD box?
+ <sect1>
+ <heading>How can I make my spare computer a dumb terminal connected to my FreeBSD box?</heading>
<p>
If you're using another computer as a terminal into your FreeBSD
system, get a null modem cable to go between the two serial
@@ -1327,15 +1926,15 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
you're hooking up a WYSE-50 terminal to the fifth serial port,
use an entry like this:
<verb>
- tty04 "/usr/libexec/getty std.38400" wyse50 on secure
+ ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
</verb>
- This example shows that the port on <tt>/dev/tty04</tt> has a
+ This example shows that the port on <tt>/dev/ttyd4</tt> has a
wyse50 terminal connected at 38400 bps with no parity
(<tt/std.38400/ from <tt>/etc/gettytab</tt>) and <tt/root/ logins
- are allowed (secure). For directly-connected terminals, use the
- <tt/ttyXX/ entry.
+ are allowed (secure).
- <sect1> Why can't I run <tt/tip/ or <tt/cu/?
+ <sect1>
+ <heading>Why can't I run <tt/tip/ or <tt/cu/?</heading>
<p>
On your system, the programs <tt/tip/ and <tt/cu/ are probably
executable only by <tt/uucp/ and group <tt/dialer/. You can use
@@ -1350,7 +1949,8 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
You don't have to run this command for <tt/cu/, since <tt/cu/ is
just a hard link to <tt/tip/.
- <sect1> My stock Hayes modem isn't supported---what should I do?
+ <sect1>
+ <heading>My stock Hayes modem isn't supported---what should I do?</heading>
<p>
Actually, the man page for <tt/tip/ is out of date. There is a
generic Hayes dialer already built in. Just use
@@ -1366,8 +1966,17 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
should use something less, or else tip will think there's a
communication problem. Try <tt/ATS7=45&amp;W/.
- <sect1> How am I expected to enter these AT commands without resorting
- to some DOS-based terminal program? <label id="direct-at">
+ Actually, as shipped <tt/tip/ doesn't yet support it fully. The
+ solution is to edit the file <tt/tipconf.h/ in the directory
+ <tt>/usr/src/usr.bin/tip/tip</tt> Obviously you need the source
+ distribution to do this.
+
+ Edit the line ``<tt/#define HAYES 0/'' to ``<tt/#define HAYES
+ 1/''. Then ``<tt/make/'' and ``<tt/make install/''. Everything
+ works nicely after that.
+
+ <sect1>
+ <heading>How am I expected to enter these AT commands without resorting to some DOS-based terminal program?<label id="direct-at"></heading>
<p>
Make what's called a ``<tt/direct/'' entry in your
<tt>/etc/remote</tt> file. For example, if your modem's hooked
@@ -1386,8 +1995,8 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
MAKEDEV cuaa0
</verb>
- <sect1> Why doesn't the <tt/@/ sign for the phone number capability
- work?
+ <sect1>
+ <heading>Why doesn't the <tt/@/ sign for the phone number capability work?</heading>
<p>
The <tt/@/ sign in the pn capability tells tip to look in
<tt>/etc/phones</tt> for a phone number. But the <tt/@/ sign is
@@ -1397,7 +2006,8 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
pn=\@
</verb>
- <sect1> How can I dial a phone number on the command line?
+ <sect1>
+ <heading>How can I dial a phone number on the command line?</heading>
<p>
Put what's called a ``<tt/generic/'' entry in your
<tt>/etc/remote</tt> file. For example:
@@ -1416,8 +2026,8 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
</verb>
and type ``<tt/cu 5551234 -s 115200/''.
- <sect1> Great---but how can I do that without having to specify the
- bps rate on the command line?
+ <sect1>
+ <heading>Great---but how can I do that without having to specify the bps rate on the command line?</heading>
<p>
Put in an entry for <tt/tip1200/ or <tt/cu1200/, but go ahead and
use whatever bps rate is appropriate with the br
@@ -1425,10 +2035,8 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
why it looks for a ``<tt/tip1200/'' entry. You don't have to use
1200 bps, though.
- <sect1> I want separate entries for various hosts I access through a
- terminal server, but I don't want to type ``<tt/CONNECT
- &lt;host&gt;/'' each time once I'm connected. Can <tt/tip/ do
- that for me?
+ <sect1>
+ <heading>I want separate entries for various hosts I access through a terminal server, but I don't want to type ``<tt/CONNECT &lt;host&gt;/'' each time once I'm connected. Can <tt/tip/ do that for me?</heading>
<p>
Yes. Use the <tt/cm/ capability. For example, these entries in
<tt>/etc/remote</tt>:
@@ -1445,8 +2053,8 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
connect to the hosts pain or muffin; and ``<tt/tip deep13/'' to
get to the terminal server.
- <sect1> My university has 42 billion students but only 4 modem lines.
- Can tip automatically try each line?
+ <sect1>
+ <heading>My university has 42 billion students but only 4 modem lines. Can tip automatically try each line?</heading>
<p>
Sure. Make an entry for your university in <tt>/etc/remote</tt>
and use <tt>\@</tt> for the <tt/pn/ capability:
@@ -1469,7 +2077,8 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
<tt/tip/ will try each one in the listed order, then give up. If
you want to keep retrying, run <tt/tip/ in a while loop.
- <sect1> How come I have to hit CTRL+P twice to send CTRL+P once?
+ <sect1>
+ <heading>How come I have to hit CTRL+P twice to send CTRL+P once?</heading>
<p>
CTRL+P is the default ``force'' character, used to tell <tt/tip/
that the next character is literal data. You can set the force
@@ -1490,7 +2099,8 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
force=<single-char>
</verb>
- <sect1> Suddenly everything I type is all UPPER CASE. What gives?
+ <sect1>
+ <heading>Suddenly everything I type is all UPPER CASE. What gives?</heading>
<p>
You must've pressed CTRL+A, <tt/tip/'s ``raise character,''
specially designed for people with broken caps-lock keys. Use
@@ -1506,7 +2116,8 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
</verb>
The ^^ is SHIFT+CTRL+6.
- <sect1> How can I do file transfers with <tt/tip/?
+ <sect1>
+ <heading>How can I do file transfers with <tt/tip/?</heading>
<p>
If you're talking to another UNIX system, you can send and
receive files with <tt/~p/ (put) and <tt/~t/ (take). These
@@ -1520,7 +2131,8 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
There's no error checking, so you probably should use another
protocol, like zmodem.
- <sect1> Okay, how can I run zmodem with <tt/tip/?
+ <sect1>
+ <heading>Okay, how can I run zmodem with <tt/tip/?</heading>
<p>
To receive files, start the sending program on the remote end.
Then, type ``<tt/~C rz/'' to begin receiving them locally.
@@ -1531,7 +2143,8 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
</sect>
- <sect>ACKNOWLEDGMENTS
+ <sect>
+ <heading>ACKNOWLEDGMENTS</heading>
<p>
<code>
@@ -1552,8 +2165,6 @@ vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
Janitorial services (I don't do windows)
<tag/Garrett Wollman/
Networking and formatting
- <tag/Robert Oliver, Jr./
- Ideas and dumb questions (That made me think)
<tag/Jim Lowe/
Multicast information
<tag/The FreeBSD Team/
diff --git a/handbook/authors.sgml b/handbook/authors.sgml
index 5380e7f1d0..111765497e 100644
--- a/handbook/authors.sgml
+++ b/handbook/authors.sgml
@@ -1,4 +1,4 @@
-<!-- $Id: authors.sgml,v 1.3 1995-05-18 03:05:00 jfieber Exp $ -->
+<!-- $Id: authors.sgml,v 1.3.4.1 1995-09-17 11:19:21 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
<!--
@@ -7,6 +7,7 @@ entities when referencing people.
-->
<!ENTITY a.asami "Satoshi Asami <tt>&lt;asami@FreeBSD.org&gt;</tt>">
+<!ENTITY a.awebster "Andrew Webster <tt>&lt;awebster@dataradio.com&gt;</tt>">
<!ENTITY a.davidg "David Greenman <tt>&lt;davidg@Root.COM&gt;</tt>">
<!ENTITY a.dufalt "Peter Dufault <tt>&lt;dufault@hda.com&gt;</tt>">
<!ENTITY a.gclarkii "Gary Clark II <tt>&lt;gclarkii@FreeBSD.org&gt;</tt>">
@@ -20,5 +21,9 @@ entities when referencing people.
<!ENTITY a.mark "Mark Murray <tt>&lt;mark@grondar.za&gt;</tt>">
<!ENTITY a.martin "Martin Renters <tt>&lt;martin@innovus.com&gt;</tt>">
<!ENTITY a.md "Mark Dapoz <tt>&lt;md@bsc.no&gt;</tt>">
+<!ENTITY a.nik "Nik Clayton <tt>&lt;nik@blueberry.co.uk&gt;</tt>">
<!ENTITY a.phk "Poul-Henning Kamp <tt>&lt;phk@FreeBSD.org&gt;</tt>">
+<!ENTITY a.paul "Paul Richards <tt>&lt;paul@FreeBSD.org&gt;</tt>">
+<!ENTITY a.rgrimes "Rodney Grimes <tt>&lt;rgrimes@FreeBSD.org&gt;</tt>">
+<!ENTITY a.whiteside "Don Whiteside <tt>&lt;whiteside@acm.org&gt;</tt>">
<!ENTITY a.wilko "Wilko Bulte <tt>&lt;wilko@yedi.iaf.nl&gt;</tt>">
diff --git a/handbook/basics.sgml b/handbook/basics.sgml
index dfa49b6569..8528e8b8a4 100644
--- a/handbook/basics.sgml
+++ b/handbook/basics.sgml
@@ -1,10 +1,10 @@
-<!-- $Id: basics.sgml,v 1.1.1.1 1995-04-28 16:19:59 jfieber Exp $ -->
+<!-- $Id: basics.sgml,v 1.1.1.1.4.1 1995-09-17 11:19:22 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<chapt><heading>Unix Basics</heading>
+<chapt><heading>Unix Basics<label id="basics"></heading>
<sect>
- <heading>The online manual</heading>
+ <heading>The online manual<label id="basics:man"></heading>
<p>The most comprehensive documentation on FreeBSD is in
the form of <em>man pages</em>. Nearly every program
@@ -14,13 +14,13 @@
<tt><bf>man</bf></tt> command. Use of the
<tt><bf>man</bf></tt> command is simple:
<tscreen>
- <tt><bf>man</bf> <it>command</it></tt>
+ <bf>man</bf> <it>command</it>
</tscreen>
where <it>command</it> is the name of the command
- you wish to find. For example, to learn more about
+ you wish to learn about. For example, to learn more about
<tt><bf>ls</bf></tt> command type:
<tscreen>
- <tt><bf>man</bf> ls</tt>
+ % <bf>man ls</bf>
</tscreen>
<p>The online manual is divided up into numbered
@@ -42,7 +42,7 @@
you can tell the <tt><bf>man</bf></tt> command which
you want by specifying the section:
<tscreen>
- <tt><bf>man</bf> 1 chmod</tt>
+ % <bf>man 1 chmod</bf>
</tscreen>
which will display the manual page for the user command
<tt><bf>chmod</bf></tt>.
@@ -50,24 +50,29 @@
<p>This is fine if you know the name of the command and
forgot how to use it, but what if you cannot recall the
command name? You can use <tt><bf>man</bf></tt> to
- search through the command <em>descriptions</em> by
+ search for keywords in the command <em>descriptions</em> by
using the <tt><bf>-k</bf></tt> switch:
<tscreen>
- <tt><bf>man</bf> -k mail</tt>
+ % <bf>man -k mail</bf>
</tscreen>
With this command you will be presented with a list of
commands that have the keyword `mail' in their
descriptions.
<sect>
- <heading>GNU Info files</heading>
+ <heading>GNU Info files<label id="basics:info"></heading>
<p>FreeBSD includes many applications and utilities
produced by the Free Software Foundation (FSF). In
addition to man pages, these programs come with more
- extensive <em>info</em> files which can be viewed with
- the <tt>info</tt> command or, if you installed
- <tt>emacs</tt>, the info mode of <tt>emacs</tt>.
+ extensive hypertext documents called <em>info</em>
+ files which can be viewed with the <tt>info</tt>
+ command or, if you installed <tt>emacs</tt>, the info
+ mode of <tt>emacs</tt>.
+
+ To use the <tt>info(1)</tt> command, simply type:
+ <tscreen>% <bf>info</bf></tscreen> For a brief
+ introduction, type <tt><bf>h</bf></tt>, and for a quick
+ command reference, type <tt><bf>?</bf></tt>.
- </sect>
diff --git a/handbook/bibliography.sgml b/handbook/bibliography.sgml
index fea48a3cb9..01550139ab 100644
--- a/handbook/bibliography.sgml
+++ b/handbook/bibliography.sgml
@@ -1,8 +1,8 @@
-<!-- $Id: bibliography.sgml,v 1.1.1.1 1995-04-28 16:19:59 jfieber Exp $ -->
+<!-- $Id: bibliography.sgml,v 1.1.1.1.4.1 1995-09-17 11:19:23 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
<chapt>
- <heading>Bibliography</heading>
+ <heading>Bibliography<label id="bibliography"></heading>
<p>While the manual pages provide the definative reference
for individual pieces of the FreeBSD operating system,
@@ -16,33 +16,52 @@
<heading>Users' guides</heading>
<p><itemize>
- <item>Gilley, Daniel. <sl>Unix in a Nutshell</sl>.
- O'Reilly &amp; Associates, Inc. 1990</item>
+ <item>Computer Systems Research Group, UC Berkeley.
+ <sl>4.4BSD User's Reference Manual</sl>.
+ O'Reilly &amp; Associates, Inc., 1994.
+ <newline>ISBN 1-56592-075-9</item>
+
+ <item>Computer Systems Research Group, UC Berkeley.
+ <sl>4.4BSD User's Supplementary Documents</sl>.
+ O'Reilly &amp; Associates, Inc., 1994.
+ <newline>ISBN 1-56592-076-7</item>
+
+ <item><sl>Unix in a Nutshell</sl>.
+ O'Reilly &amp; Associates, Inc., 1990.
+ <newline>ISBN 093717520X</item>
</itemize>
+
+
<sect>
<heading>Administrators' guides</heading>
<p><itemize>
- <item>Albitz, Paul; Liu, Cricket. <em>DNS and
- BIND</em>. O'Reilley &amp; Associates. 1993. ISBN
- 1-56592-010-4 </item>
+ <item>Albitz, Paul and Liu, Cricket. <em>DNS and
+ BIND</em>. O'Reilly &amp; Associates, Inc., 1993.
+ <newline>ISBN 1-56592-010-4 </item>
- <item>Costales, Brian; Allman, Eric; Rickert,
- Neil. <em>sendmail</em> O'Reilley &amp;
- Associates. 1993. ISBN 1-56592-056-2 </item>
+ <item>Computer Systems Research Group, UC Berkeley.
+ <sl>4.4BSD System Manager's Manual</sl>.
+ O'Reilly &amp; Associates, Inc., 1994.
+ <newline>ISBN 1-56592-080-5</item>
+
+ <item>Costales, Brian, et al.
+ <em>Sendmail</em>. O'Reilly &amp;
+ Associates, Inc., 1993. <newline>ISBN 1-56592-056-2 </item>
<item>Frisch, &AElig;leen. <em>Essential System
- Administration</em>. O'Reilley &amp;
- Associates. 1993. ISBN 0-937175-80-3 </item>
+ Administration</em>. O'Reilly &amp;
+ Associates, Inc., 1993. <newline>ISBN 0-937175-80-3 </item>
- <item>Hunt, Craig. <em>TCP/IP Network Administration</em>
- O'Reilley &amp; Associates. 1992. ISBN 0-937175-82-X</item>
+ <item>Hunt, Craig. <em>TCP/IP Network Administration</em>.
+ O'Reilly &amp; Associates, Inc., 1992.
+ <newline>ISBN 0-937175-82-X</item>
<item>Nemeth, Evi. <em>Unix System Administration
- Handbook</em>. Prentice Hall. 1989. ISBN
- 0-13-933441-6</item>
+ Handbook</em>. 2nd ed. Prentice Hall, 1995.
+ <newline>ISBN 0131510517</item>
</itemize>
@@ -54,18 +73,27 @@
<p><itemize>
<item>Asente, Paul. <em>X Window System
- Toolkit</em>. Digital Press. ISBN
- 1-55558-051-3</item>
+ Toolkit</em>. Digital Press.
+ <newline>ISBN 1-55558-051-3</item>
+
+ <item>Computer Systems Research Group, UC Berkeley.
+ <sl>4.4BSD Programmer's Reference Manual</sl>.
+ O'Reilly &amp; Associates, Inc., 1994.
+ <newline>ISBN 1-56592-078-3</item>
+
+ <item>Computer Systems Research Group, UC Berkeley.
+ <sl>4.4BSD Programmer's Supplementary Documents</sl>.
+ O'Reilly &amp; Associates, Inc., 1994.
+ <newline>ISBN 1-56592-079-1</item>
<item>Ellis, Margaret A. and Stroustrup,
Bjarne. <em>The Annotated C++ Reference
- Manual</em>. Addison-Wesley. 1990. ISBN
- 0-201-51459-1</item>
+ Manual</em>. Addison-Wesley, 1990.
+ <newline>ISBN 0-201-51459-1</item>
<item>Harbison, Samuel P. and Steele, Guy
- L. Jr. <em>C: A Reference Manual</em>. Prentice
- Hall. 3rd Edition, 1991. ISBN
- 0-13-110933-2</item>
+ L. Jr. <em>C: A Reference Manual</em>. 3rd ed. Prentice
+ Hall, 1991. <newline>ISBN 0-13-110933-2</item>
<item>Jolitz, William. "Porting UNIX to the
386". <em>Dr. Dobb's Journal</em>. January
@@ -73,11 +101,11 @@
<item>Leffler, Samuel J. <em>The Design and
implementation of the 4.3BSD UNIX operating
- system</em>. Addison-Wesley. 1989.</item>
+ system</em>. Addison-Wesley, 1989.</item>
<item>Plauger, P. J. <em>The Standard C
- Library</em>. Prentice Hall. 1992. ISBN
- 0-13-131509-9</item>
+ Library</em>. Prentice Hall, 1992.
+ <newline>ISBN 0-13-131509-9</item>
<item>Wells, Bill. "Writing Serial Drivers for UNIX".
<em>Dr. Dobb's Journal</em>. 19(15), December
@@ -90,9 +118,19 @@
<p><itemize>
- <item>Stanley, Tom; Anderson, Don. <em>PCI System
- Architechure</em>. Mindshare, Inc. ISBN
- 1-881609-08-1</item>
+ <item>Stanley, Tom. <em>ISA System
+ Architechure</em>. 3rd ed. Reading, Mass. :
+ Addison-Wesley, 1995.
+ <newline>ISBN 0201409968</item>
+
+ <item>Stanley, Tom. <em>PCI System
+ Architechure</em>. 3rd ed. Reading, Mass. :
+ Addison-Wesley, 1995. <newline>ISBN
+ 0201409933</item>
+
+ <item>Van Gilluwe, Frank. <em>The Undocumented PC</em>.
+ Reading, Mass: Addison-Wesley Pub. Co., 1994.
+ <newline>ISBN 0-201-62277-7</item>
</itemize>
diff --git a/handbook/booting.sgml b/handbook/booting.sgml
index 57a6eeee62..bf7335face 100644
--- a/handbook/booting.sgml
+++ b/handbook/booting.sgml
@@ -3,7 +3,7 @@
This conversion has been made by Ollivier Robert.
- $Id: booting.sgml,v 1.2 1995-05-10 11:34:06 jfieber Exp $
+ $Id: booting.sgml,v 1.2.4.1 1995-09-17 11:19:24 davidg Exp $
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
@@ -22,7 +22,7 @@
<toc>
-->
- <chapt><heading>Booting FreeBSD on a PC</heading>
+ <chapt><heading>The FreeBSD Booting Process<label id="booting"></heading>
<p><em>Contributed by &a.phk;. v1.1, April 26th.</em>
@@ -30,28 +30,25 @@
determine the root filesystem and initialize user-land things. This
leads to some interesting possibilities shown below.
- <sect>Loading a kernel
+ <sect><heading>Loading a kernel</heading>
<p>
- We presently have three basic mechanisms for loading the kernel:
- <enum>
- <item>biosboot
- <item>dosboot
- <item>netboot
- </enum>
- Each will be described in detail below. They all pass some
+ We presently have three basic mechanisms for loading the
+ kernel as described below:
+ They all pass some
information to the kernel to help the kernel decide what to do
next.
- <sect1>Biosboot
- <p>
+ <descrip>
+ <tag>Biosboot</tag>
+
Biosboot is our ``bootblocks'', it consists of two files, which
will be installed in the first 8Kbytes of the floppy or hard-disk
slice to be booted from.
Biosboot can load a kernel from a FreeBSD filesystem.
- <sect1>Dosboot
- <p>
+ <tag>Dosboot</tag>
+
Dosboot was written by DI. Christian Gusenbauer, and is
unfortunately at this time one of the few pieces of code that
isn't compilable under FreeBSD itself because it is written for
@@ -63,53 +60,51 @@
high memory on MS/DOS systems and usually wins them for it's
case.
- <sect1>Netboot
- <p>
+ <tag>Netboot</tag>
+
Netboot will try to find a supported ethernet card, and use
BOOTP, TFTP and NFS to find a kernel file to boot.
+</descrip>
- <sect>Determine the root filesystem
+
+ <sect><heading>Determine the root filesystem</heading>
<p>
Once the kernel is loaded and the boot-code jumps to it, the kernel
will initialize itself, trying to determine what hardware is
present and so on, and then it needs to find a root filesystem.
Presently we support the following types of rootfilesystems:
- <itemize>
- <item>UFS
- <item>MSDOS
- <item>MFS
- <item>CD9660
- <item>NFS
- </itemize>
-
- <sect1>UFS
- <p>
+
+<descrip>
+ <tag>UFS</tag>
+
This is the most normal type of root filesystem. It can reside on
a floppy or on harddisk.
- <sect1>MSDOS
- <p>
+ <tag>MSDOS</tag>
+
While this is technically possible, it isn't particular useful,
because of ``FAT'' filesystems inability to make links, device
nodes and such ``UNIXisms''.
- <sect1>MFS
- <p>
+ <tag>MFS</tag>
+
This is actually a UFS filesystem which has been compiled into
the kernel. That means that the kernel does not really need any
disks/floppies or other HW to function.
- <sect1>CD9660
- <p>
+ <tag>CD9660</tag>
+
This is for using a CD-ROM as root filesystem.
- <sect1>NFS
- <p>
+ <tag>NFS</tag>
+
This is for using a fileserver as root filesystem, basically
making it a diskless machine.
+</descrip>
+
- <sect>Initialize user-land things
+ <sect><heading>Initialize user-land things</heading>
<p>
To get the user-land going, when the kernel has finished
initialization, it will create a with ``<tt/pid == 1/'' and execute
@@ -124,7 +119,7 @@
1/''.
- <sect>Interesting combinations
+ <sect><heading>Interesting combinations</heading>
<p>
Boot a kernel with a MFS in it with a special <tt>/sbin/init</tt>
which...
diff --git a/handbook/ctm.sgml b/handbook/ctm.sgml
index be80df0e25..888f68b1d1 100644
--- a/handbook/ctm.sgml
+++ b/handbook/ctm.sgml
@@ -3,7 +3,7 @@
#
# Converted by Ollivier RObert <roberto@FreeBSD.ORG>
#
-# $Id: ctm.sgml,v 1.1.1.1 1995-04-28 16:19:59 jfieber Exp $
+# $Id: ctm.sgml,v 1.1.1.1.4.1 1995-09-17 11:19:25 davidg Exp $
#
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42):
@@ -14,7 +14,7 @@
#
-->
-<sect><heading>CTM</heading>
+<sect><heading>CTM<label id="ctm"></heading>
<p><em>Contributed by &a.phk;. Updated 16-Mar-1995.</em>
@@ -25,7 +25,7 @@
this time on the process of creating deltas, so talk to &a.phk;
for more information should you wish to use <tt/CTM/ for other things.
- <sect1>Why should I use <tt/CTM/ ?
+ <sect1><heading>Why should I use <tt/CTM/?</heading>
<p><tt/CTM/ will give you a local copy of the ``FreeBSD-current''
sources. If you are an active developer on FreeBSD, but have lousy
or non-existent TCP/IP connectivity, <tt/CTM/ was made for you.
@@ -37,13 +37,9 @@
You will also need to make yourself aware of the various caveats in
running ``current'' sources, and for this it is recommended that
- you refer to the relevant FAQ which can be found in
- <verb>
- /usr/share/FAQ/Text/current-policy.FAQ
- </verb>
- <!-- XXX -->
+ you read <ref id="current" name="Staying current with FreeBSD">.
- <sect1>What do I need to use <tt/CTM/?
+ <sect1><heading>What do I need to use <tt/CTM/?</heading>
<p>You will need two things: The ``<tt/CTM/'' program and the initial
deltas to feed it (to get up to ``current'' levels).
@@ -86,7 +82,7 @@
posted. Send an email to <tt/majordomo@freebsd.org/ with a single
line of ``<tt/subscribe ctm-announce/'' to get added to the list.
- <sect1>Starting off with <tt/CTM/ for the first time:
+ <sect1><heading>Starting off with <tt/CTM/ for the first time</heading>
<p>Before you can start using <tt/CTM/ deltas, you will need to get a
special ``base'' delta that provides a starting point for all
deltas produced subsequently to it.
@@ -104,7 +100,7 @@
Once you've picked a base delta to start from, you will also need
all deltas with higher numbers following it.
- <sect1>Using <tt/CTM/ in your daily life:
+ <sect1><heading>Using <tt/CTM/ in your daily life</heading>
<p>To apply the deltas, simply say
<verb>
cd /where/ever/you/want/the/stuff
@@ -134,7 +130,7 @@
make a copy.
- <sect1>Future plans for <tt/CTM/
+ <sect1><heading>Future plans for <tt/CTM/</heading>
<p>
Tons of them:
<itemize>
@@ -159,7 +155,7 @@
The bad news is that I am very busy, so any help in doing this will
be most welcome. And don't forget to tell me what you want also...
- <sect1>Miscellaneous stuff
+ <sect1><heading>Miscellaneous stuff</heading>
<p>
All the ``DES infected'' (e.g. export controlled) source is not
included. You will get the ``international'' version only. If
@@ -182,7 +178,7 @@
for details.
- <sect1>Thanks!
+ <sect1><heading>Thanks!</heading>
<p>
<descrip>
<tag/Bruce Evans/
diff --git a/handbook/current.sgml b/handbook/current.sgml
index 276a96d0f4..edca1767e0 100644
--- a/handbook/current.sgml
+++ b/handbook/current.sgml
@@ -1,8 +1,8 @@
-<!-- $Id: current.sgml,v 1.2 1995-05-18 03:05:03 jfieber Exp $ -->
+<!-- $Id: current.sgml,v 1.2.4.1 1995-09-17 11:19:26 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<chapt><heading>Staying current with FreeBSD<label id="current:"></heading>
+<chapt><heading>Staying current with FreeBSD<label id="current"></heading>
<p><em>Contributed by &a.jkh;.</em>
@@ -10,7 +10,7 @@
THE FREEBSD CURRENT POLICY
-Last updated: $Date: 1995-05-18 03:05:03 $
+Last updated: $Date: 1995-09-17 11:19:26 $
This document attempts to explain the rationale behind FreeBSD-current,
what you should expect should you decide to run it, and states some
diff --git a/handbook/dialup.sgml b/handbook/dialup.sgml
index 4eeaf28471..37e905de14 100644
--- a/handbook/dialup.sgml
+++ b/handbook/dialup.sgml
@@ -1,6 +1,6 @@
<!-- This is an SGML document in the linuxdoc DTD of the Tutorial for
Configuring a FreeBSD for Dialup Services by Guy Helmer.
- $Id: dialup.sgml,v 1.1.1.1 1995-04-28 16:19:59 jfieber Exp $
+ $Id: dialup.sgml,v 1.1.1.1.4.1 1995-09-17 11:19:26 davidg Exp $
<!DOCTYPE linuxdoc PUBLIC "-//Linux//DTD linuxdoc//EN">
@@ -15,7 +15,7 @@ Configuring FreeBSD for Dialup Services
-->
-<sect><heading>Dialup access</heading>
+<sect><heading>Dialup access<label id="dialup"></heading>
<p><em>Contributed by &a.ghelmer;.</em>
@@ -37,7 +37,7 @@ in a UNIX-like environment, and how to look up manual pages on the
system. As discussed below, you'll need certain versions of FreeBSD,
and knowledge of some terminology &amp; modem and cabling.
-<sect2>FreeBSD Version
+<sect2><heading>FreeBSD Version</heading>
<p>
First, it is assumed that you are using FreeBSD version 1.1 or higher
@@ -47,7 +47,7 @@ device driver (<tt/sio/) has improved in every release of FreeBSD, so
more recent versions of FreeBSD are assumed to have better and more
efficient drivers than earlier versions.
-<sect2>Terminology
+<sect2><heading>Terminology</heading>
<p>
A quick rundown of terminology:
@@ -74,7 +74,7 @@ transitions that may be made in a period of time, while <bf/bps/ (bits
per second) is the ``correct'' term to use (at least it doesn't seem
to bother the curmudgeons quite a much).
-<sect2>External vs. Internal Modems
+<sect2><heading>External vs. Internal Modems</heading>
<p>
External modems seem to be more convenient for dialup, because
@@ -89,7 +89,7 @@ may be limited only to setting DIP switches. If your internal modem
has any signal indicator lights, it is probably difficult to view the
lights when the system's cover is in place.
-<sect2>Modems and Cables
+<sect2><heading>Modems and Cables</heading>
<p>
A background knowledge of these items is assumed
@@ -149,7 +149,7 @@ watching for status reports from the modem. If you are familiar with
connecting modems to PC-based bulletin board systems, this may seem
awkward.
-<sect2>Serial Interface Considerations
+<sect2><heading>Serial Interface Considerations</heading>
<p>
FreeBSD supports NS8250-, NS16450-, NS16550-, and NS16550A-based EIA
@@ -163,7 +163,7 @@ devices, 16550A-based serial interface cards are much prefered. If
the system has many active serial ports or will have a heavy load,
16550A-based cards are better for low-error-rate communications.
-<sect1>Quick Overview
+<sect1><heading>Quick Overview</heading>
<p>
Here is the process that FreeBSD follows to accept dialup logins. A
@@ -192,7 +192,7 @@ by asking for the user's password and then starting the user's shell.
Let's dive into the configuration...
-<sect1>Kernel Configuration
+<sect1><heading>Kernel Configuration</heading>
<p>
FreeBSD kernels typically come prepared to search for four serial
@@ -278,7 +278,7 @@ program <tt/config/ as documented in ``Building Berkeley Kernels with
Config'' and the <tt/config(8)/ manual page to prepare a kernel
building directory, then build, install, and test the new kernel.
-<sect1>Device Special Files
+<sect1><heading>Device Special Files</heading>
<p>
Most devices in the kernel are accessed through ``device special
@@ -297,7 +297,7 @@ and <tt/stty(1)/ for information on the terminal settings, locking
&amp; initializing devices, and setting terminal options,
respectively.
-<sect2>Making Device Special Files
+<sect2><heading>Making Device Special Files</heading>
<p>
A shell script called <tt/MAKEDEV/ in the <tt>/dev</tt> directory
@@ -330,7 +330,7 @@ crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cual01
These permissions allow the user <tt/uucp/ and users in the group
<tt/dialer/ to use the call-out devices.
-<sect1>Configuration Files
+<sect1><heading>Configuration Files</heading>
<p>
There are three system configuration files in the <tt>/etc</tt>
@@ -376,7 +376,7 @@ The author will try to give balanced configuration information, but is
biased towards having the modem's data rate follow the connection
rate.
-<sect2>/etc/gettytab
+<sect2><heading>/etc/gettytab</heading>
<p>
<tt>/etc/gettytab</tt> is a <tt/termcap(5)/-style file of
@@ -384,14 +384,14 @@ configuration information for <tt/getty(8)/. Please see the
<tt/gettytab(4)/ manual page for complete information on the format of
the file and the list of capabilities.
-<sect3>Locked-Speed Config
+<sect3><heading>Locked-Speed Config</heading>
<p>
If you are locking your modem's data communications rate at a
particular speed, you probably won't need to make any changes to
<tt>/etc/gettytab</tt>.
-<sect3>Matching-Speed Config
+<sect3><heading>Matching-Speed Config</heading>
<p>
You'll need to setup an entry in <tt>/etc/gettytab</tt> to give
@@ -472,7 +472,7 @@ If you have a slow CPU or a heavily loaded system and you don't have
16550A-based serial ports, you may receive sio ``silo'' errors at 57.6
Kbps.
-<sect2>/etc/ttys
+<sect2><heading>/etc/ttys</heading>
<p>
<tt>/etc/ttys</tt> is the list of <tt/ttys/ for <tt/init/ to monitor.
@@ -521,7 +521,7 @@ to send the signal. If this is your first time setting up the system,
though, you may want to wait until your modem(s) are properly
configured and connected before signalling <tt/init/.
-<sect3>Locked-Speed Config
+<sect3><heading>Locked-Speed Config</heading>
<p>
For a locked-speed configuration, your <tt/ttys/ entry needs to
@@ -537,7 +537,7 @@ If your modem is locked at a different data rate, substitute the
appropriate name for the <tt>std.<em/speed/</tt> entry for
<tt/std.19200/ from <tt>/etc/gettytab</tt> for your modem's data rate.
-<sect3>Matching-Speed Config
+<sect3><heading>Matching-Speed Config</heading>
<p>
In a matching-speed configuration, your <tt/ttys/ entry needs to
@@ -551,7 +551,7 @@ entry for a matching-speed modem that starts at 19.2 Kbps (the
ttyd0 "/usr/libexec/getty V19200" dialup on
</verb></tscreen>
-<sect2>/etc/rc.serial or /etc/rc.local
+<sect2><heading>/etc/rc.serial or /etc/rc.local</heading>
<p>
High-speed modems, like V.32, V.32bis, and V.34 modems, need to use
@@ -590,7 +590,7 @@ Since there isn't an initialization device special file on FreeBSD
1.1, one has to just set the flags on the sole device special file and
hope the flags aren't cleared by a miscreant.
-<sect1>Modem Settings
+<sect1><heading>Modem Settings</heading>
<p>
If you have a modem whose parameters may be permanently set in
@@ -664,7 +664,7 @@ prompt to a modem that is in command mode and the modem echoes the
command or returns a result code. I've heard this sequence can result
in a extended, silly conversation between <tt/getty/ and the modem.
-<sect2>Locked-speed Config
+<sect2><heading>Locked-speed Config</heading>
<p>
For a locked-speed configuration, you'll need to configure the modem
@@ -678,7 +678,7 @@ ATZ
AT&amp;B1&amp;W
</verb></tscreen>
-<sect2>Matching-speed Config
+<sect2><heading>Matching-speed Config</heading>
<p>
For a variable-speed configuration, you'll need to configure your
@@ -693,7 +693,7 @@ ATZ
AT&amp;B2&amp;W
</verb></tscreen>
-<sect2>Checking the Modem's Configuration
+<sect2><heading>Checking the Modem's Configuration</heading>
<p>
Most high-speed modems provide commands to view the modem's current
@@ -706,13 +706,13 @@ switch settings), use the commands <tt/ATZ/ and then <tt/ATI4/.
If you have a different brand of modem, check your modem's manual to
see how to double-check your modem's configuration parameters.
-<sect1>Troubleshooting
+<sect1><heading>Troubleshooting</heading>
<p>
Here are a few steps you can follow to check out the dialup modem on
your system.
-<sect2>Checking out the FreeBSD system
+<sect2><heading>Checking out the FreeBSD system</heading>
<p>
Hook up your modem to your FreeBSD system, boot the system, and, if
@@ -755,7 +755,7 @@ messages, triple-check the configuration files <tt>/etc/ttys</tt> and
files <tt>/dev/ttyd?</tt>, for any mistakes, missing entries, or
missing device special files.
-<sect2>Try Dialing In
+<sect2><heading>Try Dialing In</heading>
<p>
Try dialing into the system; be sure to use 8 bits, no parity, 1 stop
@@ -794,7 +794,7 @@ perhaps you can send an electronic mail message to
<tt>FreeBSD-Questions@freebsd.org</tt> describing your modem and your
problem, and the good folks on the list will try to help.
-<sect1>Acknowledgements
+<sect1><heading>Acknowledgements</heading>
<p>
Thanks to these people for comments and advice:
diff --git a/handbook/diskless.sgml b/handbook/diskless.sgml
index 25baa4dc03..f65dbb4ba5 100644
--- a/handbook/diskless.sgml
+++ b/handbook/diskless.sgml
@@ -1,7 +1,7 @@
-<!-- $Id: diskless.sgml,v 1.1.1.1 1995-04-28 16:19:59 jfieber Exp $ -->
+<!-- $Id: diskless.sgml,v 1.1.1.1.4.1 1995-09-17 11:19:28 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<sect><heading>Diskless operation</heading>
+<sect><heading>Diskless operation<label id="diskless"></heading>
<p><em>Contributed by &a.martin;.</em>
diff --git a/handbook/eresources.sgml b/handbook/eresources.sgml
index 09cfe7fd92..04f5f91aa9 100644
--- a/handbook/eresources.sgml
+++ b/handbook/eresources.sgml
@@ -1,18 +1,32 @@
-<!-- $Id: eresources.sgml,v 1.2 1995-05-18 03:05:06 jfieber Exp $ -->
+<!-- $Id: eresources.sgml,v 1.2.4.1 1995-09-17 11:19:28 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
- <chapt>
- <heading>Additional resources on the Internet</heading>
+<chapt>
+ <heading>Resources on the Internet<label id="eresources"></heading>
+
+ <p>The rapid pace of FreeBSD progress makes print media
+ impractical as a means for following the latest
+ developments. Electronic resources are the best, if not the
+ only way stay informed of the latest advances. Also, since
+ FreeBSD is a volunteer effort, the user community also serves
+ as the technical support department and invariably,
+ electronic mail and Usenet news are the most effective way of
+ getting technical problems resolved.
+
+ Below, the most important points of contact with the FreeBSD
+ user community are outlined. If you are aware of other
+ resources not included, please send them to
+ <tt>doc@freebsd.org</tt> so they may be included.
<sect>
- <heading>Mailing lists<label id="eresources:mailing-lists"></heading>
+ <heading>Mailing lists<label id="eresources:mail"></heading>
<p><em>Contributed by &a.dufalt;.<newline>
- 5 May 1995.</em>
+ 20 Jun 1995.</em>
Though many of the FreeBSD development members read USENET, we cannot
always guarantee that we'll get to your questions in a timely fashion
-(or at all) if you post them only to one of the comp.os.386bsd.*
+(or at all) if you post them only to one of the comp.unix.bsd.*
groups. By addressing your questions to the appropriate mailing list
you will reach both us and a concentrated FreeBSD audience, invariably
assuring a better (or at least faster) response.
@@ -22,6 +36,12 @@ the list charter before joining a list. We must strive to
keep the signal to noise ratio of the lists high, especially in
the technical lists.
+Archives are kept for all of the mailing lists and can be searched
+using the the <url url="http://www.freebsd.org/How/mail-archive.html"
+name="FreeBSD World Wide Web server">. The keyword searchable archive
+offers an excellent way to find answers to frequently asked questions
+and should be consulted before posting a question.
+
<sect1><heading>List summary</heading>
<p><bf>General lists:</bf> The following are general lists that
@@ -47,6 +67,7 @@ freebsd-doc Documentation project
freebsd-fs Filesystems
freebsd-hackers General Technical discussions
freebsd-hardware General discussion of FreeBSD hardware
+freebsd-multimedia Multimedia discussions
freebsd-platforms Porting to Non-Intel platforms
freebsd-ports Discussion of "ports"
freebsd-security Security issues
@@ -65,6 +86,7 @@ freebsd-admin Administrative issues
freebsd-arch Architecture and design discussions
freebsd-core FreeBSD core team
freebsd-install Installation development
+freebsd-user-groups User group coordination
</verb>
<bf>CVS lists:</bf> The following lists are for people seeing the log messages
@@ -92,9 +114,10 @@ cvs-usrsbin /usr/src/usr.sbin System binaries
<sect1><heading>How to subscribe</heading>
-<p>All mailing lists live on `FreeBSD.ORG', so to post to a list you
-simply mail to `&lt;listname&gt;@FreeBSD.ORG'. It will then be redistributed
-to mailing list members throughout the world.
+<p>All mailing lists live on <tt>FreeBSD.ORG</tt>, so to post to a
+list you simply mail to <em>listname</em><tt>@FreeBSD.ORG</tt>. It
+will then be redistributed to mailing list members throughout the
+world.
To subscribe to a list, send mail to:
<tscreen><verb>
@@ -173,12 +196,18 @@ technical lists, but the follow ups should be directed to this
This is an internal mailing list for use by the core members.
<tag/FREEBSD-CURRENT/ <em>Discussions about the use of
- FreeBSD-current</em><newline>
-This is the mailing list for users of freebsd-current. It includes
-warnings about new features coming out in -current that will affect the
-users, and instructions on steps that must be taken to remain -current.
+FreeBSD-current</em><newline> This is the mailing list for users
+of freebsd-current. It includes warnings about new features
+coming out in -current that will affect the users, and
+instructions on steps that must be taken to remain -current.
Anyone running "current" must subscribe to this list.
+<tag/FREEBSD-CURRENT-DIGEST/ <em>Discussions about the use of
+FreeBSD-current</em><newline> This is the digest version of the
+freebsd-current mailing list. The digest consists of all
+messages sent to freebsd-current bundled together and mailed out
+as a single message. The average digest size is about 40kB.
+
<tag/FREEBSD-DOC/ <em>Documentation project</em><newline>
This mailing list belongs to the FreeBSD Doc Project and is for
the discussion of documentation related issues and projects.
@@ -193,27 +222,37 @@ is for individuals actively working on FreeBSD, to bring up problems
or discuss alternative solutions. Individuals interested in
following the technical discussion are also welcome.
+<tag/FREEBSD-HACKERS-DIGEST/ <em>Technical
+discussions</em><newline> This is the digest version of the
+freebsd-hackers mailing list. The digest consists of all
+messages sent to freebsd-hackers bundled together and mailed out
+as a single message. The average digest size is about 40kB.
+
<tag/FREEBSD-HARDWARE/ <em>General discussion of FreeBSD
- hardware</em><newline>
-General discussion about the types of hardware that FreeBSD runs on,
-various problems and suggestions concerning what to buy or avoid.
+hardware</em><newline> General discussion about the types of
+hardware that FreeBSD runs on, various problems and suggestions
+concerning what to buy or avoid.
<tag/FREEBSD-INSTALL/ <em>Installation discussion</em><newline>
This is the mailing list for people discussing FreeBSD installation
development for the 2.0 release.
+<tag/FREEBSD-MULTIMEDIA/ <em>Multimedia discussions</em><newline>
+This is a forum about multimedia applications using FreeBSD.
+Discussion center around multimedia applications, their installation, their
+development and their support within FreeBSD
+
<tag/FREEBSD-PLATFORMS/ <em>Porting to Non-Intel
- platforms</em><newline>
-Cross-platform freebsd issues, general discussion and proposals for
-non-Intel FreeBSD ports.
+platforms</em><newline> Cross-platform freebsd issues, general
+discussion and proposals for non-Intel FreeBSD ports.
<tag/FREEBSD-POLICY/ <em>Policy issues and
- suggestions</em><newline>
-This is a forum for policy discussions related to FreeBSD. This
-includes where FreeBSD is going, how to set up a consortium, whether
-or not and how to make FreeBSD pay for itself, how to attract more
-users, and so on. When a topic relates directly to FreeBSD but has
-little or no technical content then it should be sent to this list.
+suggestions</em><newline> This is a forum for policy discussions
+related to FreeBSD. This includes where FreeBSD is going, how to
+set up a consortium, whether or not and how to make FreeBSD pay
+for itself, how to attract more users, and so on. When a topic
+relates directly to FreeBSD but has little or no technical
+content then it should be sent to this list.
<tag/FREEBSD-PORTS/ <em>Discussion of "ports"</em><newline>
Discussions concerning FreeBSD's "ports collection" (/usr/ports), proposed
@@ -225,6 +264,12 @@ This is the mailing list for questions about FreeBSD. You should not
send "how to" questions to the technical lists unless you consider the
question to be pretty technical.
+<tag/FREEBSD-QUESTIONS-DIGEST/ <em>User questions</em><newline>
+This is the digest version of the freebsd-questions mailing list.
+The digest consists of all messages sent to freebsd-questions
+bundled together and mailed out as a single message. The average
+digest size is about 40kB.
+
<tag/FREEBSD-SCSI/ <em>SCSI subsystem</em><newline>
This is the mailing list for people working on the scsi subsystem
for FreeBSD.
@@ -232,66 +277,78 @@ for FreeBSD.
<tag/FREEBSD-SECURITY/ <em>Security issues</em><newline>
FreeBSD computer security issues (DES, Kerberos, known security holes and
fixes, etc).
+
+<tag/FREEBSD-USER-GROUPS/ <em>User Group Coordination List</em><newline>
+This is the mailing list for the coordinators from each of the
+local area Users Groups to dicuss matters with each other and a
+designated individual from the Core Team. This mail list should
+be limited to meeting synopsis and coordination of projects that span
+User Groups.
+
</descrip>
<sect>
- <heading>Usenet newsgroups</heading>
+ <heading>Usenet newsgroups<label id="eresources:news"></heading>
- <p>While no newsgroups dedicated to FreeBSD exist, there
- are many in which FreeBSD is discussed or are otherwise
- relevant to FreeBSD users.
+ <p>In addition to two FreeBSD specific newsgroups, there
+ are many others in which FreeBSD is discussed or are
+ otherwise relevant to FreeBSD users. <url
+ url="http://minnie.cs.adfa.oz.au/BSD-info/bsdnews&lowbar;search.html"
+ name="Keyword searchable archives"> are available for
+ some of these newsgroups from courtesy of Warren Toomey
+ <tt>&lt;wkt@cs.adfa.oz.au&gt;</tt>.
<sect1>
<heading>BSD specific newsgroups</heading>
<p><itemize>
- <item> comp.unix.bsd.freebsd.announce
- <item> comp.unix.bsd.freebsd.misc
+ <item>comp.unix.bsd.freebsd.announce
+ <item>comp.unix.bsd.freebsd.misc
</itemize>
<sect1>
<heading>Other Unix newsgroups of interest</heading>
<p><itemize>
- <item> comp.unix
- <item> comp.unix.questions
- <item> comp.unix.admin
- <item> comp.unix.programmer
- <item> comp.unix.shell
- <item> comp.unix.user-friendly
- <item> comp.security.unix
- <item> comp.sources.unix
- <item> comp.unix.advocacy
- <item> comp.unix.misc
- <item> comp.os.386bsd.announce
- <item> comp.os.386bsd.apps
- <item> comp.os.386bsd.bugs
- <item> comp.os.386bsd.development
- <item> comp.os.386bsd.misc
- <item> comp.os.386bsd.questions
- <item> comp.bugs.4bsd
- <item> comp.bugs.4bsd.ucb-fixes
- <item> comp.unix.bsd
+ <item>comp.unix
+ <item>comp.unix.questions
+ <item>comp.unix.admin
+ <item>comp.unix.programmer
+ <item>comp.unix.shell
+ <item>comp.unix.user-friendly
+ <item>comp.security.unix
+ <item>comp.sources.unix
+ <item>comp.unix.advocacy
+ <item>comp.unix.misc
+ <item>comp.os.386bsd.announce
+ <item>comp.os.386bsd.apps
+ <item>comp.os.386bsd.bugs
+ <item>comp.os.386bsd.development
+ <item>comp.os.386bsd.misc
+ <item>comp.os.386bsd.questions
+ <item>comp.bugs.4bsd
+ <item>comp.bugs.4bsd.ucb-fixes
+ <item>comp.unix.bsd
</itemize>
<sect1>
<heading>X-Window system</heading>
<p><itemize>
- <item> comp.windows.x.i386unix
- <item> comp.windows.x
- <item> comp.windows.x.apps
- <item> comp.windows.x.announce
- <item> comp.windows.x.intrinsics
- <item> comp.windows.x.motif
- <item> comp.windows.x.pex
- <item> comp.emulators.ms-windows.wine
+ <item>comp.windows.x.i386unix
+ <item>comp.windows.x
+ <item>comp.windows.x.apps
+ <item>comp.windows.x.announce
+ <item>comp.windows.x.intrinsics
+ <item>comp.windows.x.motif
+ <item>comp.windows.x.pex
+ <item>comp.emulators.ms-windows.wine
</itemize>
<sect>
- <heading>Word Wide Web servers</heading>
+ <heading>Word Wide Web servers<label id="eresources:web"></heading>
<p><itemize>
- <item> <url url="http://www.freebsd.org/"></item>
+ <item><url url="http://www.freebsd.org/"></item>
</itemize>
</sect>
diff --git a/handbook/glossary.sgml b/handbook/glossary.sgml
index 385e6731a6..e7061a4a6c 100644
--- a/handbook/glossary.sgml
+++ b/handbook/glossary.sgml
@@ -1,5 +1,5 @@
-<!-- $Id: glossary.sgml,v 1.1.1.1 1995-04-28 16:19:59 jfieber Exp $ -->
+<!-- $Id: glossary.sgml,v 1.1.1.1.4.1 1995-09-17 11:19:30 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<chapt><heading>Glossary</heading>
+<chapt><heading>* Glossary<label id="glossary"></heading>
diff --git a/handbook/handbook.sgml b/handbook/handbook.sgml
index 6255de5531..f76df42c9e 100644
--- a/handbook/handbook.sgml
+++ b/handbook/handbook.sgml
@@ -1,53 +1,22 @@
-<!-- $Id: handbook.sgml,v 1.7 1995-05-18 03:05:08 jfieber Exp $ -->
+<!-- $Id: handbook.sgml,v 1.7.4.1 1995-09-17 11:19:30 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
+
+<!-- Conditional flags for this version of the document -->
+<!ENTITY % boothelp.only "IGNORE">
+<!ENTITY % handbook.only "INCLUDE">
+
+<!-- Entity shorthand for authors' names and email addresses -->
<!ENTITY % authors SYSTEM "authors.sgml">
%authors;
-<!ENTITY bibliography SYSTEM "bibliography.sgml">
-<!ENTITY basics SYSTEM "basics.sgml">
-<!ENTITY booting SYSTEM "booting.sgml">
-<!ENTITY ctm SYSTEM "ctm.sgml">
-<!ENTITY current SYSTEM "current.sgml">
-<!ENTITY dialup SYSTEM "dialup.sgml">
-<!ENTITY diskless SYSTEM "diskless.sgml">
-<!ENTITY eresources SYSTEM "eresources.sgml">
-<!ENTITY glossary SYSTEM "glossary.sgml">
-<!ENTITY history SYSTEM "history.sgml">
-<!ENTITY kerberos SYSTEM "kerberos.sgml">
-<!ENTITY memoryuse SYSTEM "memoryuse.sgml">
-<!ENTITY nfs SYSTEM "nfs.sgml">
-<!ENTITY nutshell SYSTEM "nutshell.sgml">
-<!ENTITY porting SYSTEM "porting.sgml">
-<!ENTITY ports SYSTEM "ports.sgml">
-<!ENTITY ppp SYSTEM "ppp.sgml">
-<!ENTITY scsi SYSTEM "scsi.sgml">
-<!ENTITY slipc SYSTEM "slipc.sgml">
-<!ENTITY slips SYSTEM "slips.sgml">
-<!ENTITY submitters SYSTEM "submitters.sgml">
-<!ENTITY sup SYSTEM "sup.sgml">
-<!ENTITY troubleshooting SYSTEM "troubleshooting.sgml">
+<!-- Entity definitions for all the parts -->
+<!ENTITY % sections SYSTEM "sections.sgml">
+%sections;
]>
-<!--
-
-Potential target audience:
- 1. Potential users
- a. new to unix
- b. somewhat familiar with unix
- c. veterans
- 2. Existing users
- a. new to unix
- b. somewhat familiar with unix
- c. veterans
-
-
-OUTLINE:
-
--->
-
<linuxdoc>
<book>
@@ -55,18 +24,20 @@ OUTLINE:
<author>
<name>The FreeBSD Documentation Project</name>
</author>
- <date>May 17, 1995</date>
-
- <abstract>Welcome to FreeBSD! This handbook covers the
- installation and day to day use of FreeBSD.
-
- This manual is a <bf>work in progress</bf> and is the
- work of many individials. Many sections do not yet exist
- and some of those that do exist need to be updated. If
- you are interested in helping with this project, send
- email to &a.jfieber; or to the FreeBSD Documentantion
- Project mailing list <tt>&lt;doc@freebsd.org&gt;</tt>.
- </abstract>
+ <date>August 31, 1995</date>
+
+<abstract>Welcome to FreeBSD! This handbook covers the
+installation and day to day use of <bf>FreeBSD Release
+2.0.5</bf>.
+
+This manual is a <bf>work in progress</bf> and is the
+work of many individials. Many sections do not yet exist
+and some of those that do exist need to be updated. If
+you are interested in helping with this project, send
+email to &a.jfieber; or to the FreeBSD Documentation
+Project mailing list <tt><htmlurl url="mailto:doc@freebsd.org"
+name="&lt;doc@freebsd.org&gt;"></tt>.
+</abstract>
<toc>
@@ -77,26 +48,13 @@ OUTLINE:
<chapt><heading>Introduction</heading>
&nutshell;
&history;
- <sect><heading>About this release</heading>
- <sect><heading>FreeBSD now and in the future</heading>
-
- <chapt><heading>Installing FreeBSD</heading>
- <sect><heading>Preparing for the installation</heading>
- <sect1><heading>Hardware checklist</heading>
- <sect2><heading>minimal requirements</heading>
- <sect2><heading>IRQs, IO Addresses, and DMA channels</heading>
- <sect1><heading>Software checklist</heading>
- <sect2><heading>Making the installation floppies</heading>
- <sect2><heading>CD-ROM</heading>
- <sect2><heading>Tape</heading>
- <sect2><heading>Disk</heading>
- <sect><heading>Installation</heading>
- <sect><heading>Set up a user account</heading>
+ &relnotes;
+ &install;
&basics;
<chapt><heading>Installing applications</heading>
- <sect><heading>Installing packages</heading>
+ <sect><heading>* Installing packages</heading>
&ports;
&porting;
@@ -104,80 +62,76 @@ OUTLINE:
<part><heading>System Administration</heading>
- <chapt><heading>Reconfiguring the kernel</heading>
+ <chapt><heading>Reconfiguring the Kernel<label id="kernelconfig"></heading>
+ <p>This section is in progress. Please contact
+ Deborah Bennett <htmlurl url="mailto:deborah@gallifrey.microunity.com"
+ name="&lt;deborah@gallifrey.microunity.com&gt;"> for more information.
+ In the meantime, please refer to
+ Kernel Configuration section of the <url url="../FAQ/freebsd-faq.html"
+ name="FreeBSD FAQ">.
+ <!-- &kernelconfig; -->
<chapt><heading>Users, groups and security</heading>
- <sect><heading>DES, MD5 and Crypt</heading>
+ <sect><heading>* DES, MD5 and Crypt</heading>
+ <sect><heading>* S/Key</heading>
&kerberos;
- <sect><heading>S/Key</heading>
- <sect><heading>Firewalls</heading>
-
- <chapt><heading>The X-Window System</heading>
+ <sect><heading>* Firewalls</heading>
<chapt><heading>Printing</heading>
+ <p>This section is in progress. Please contact
+ Sean Kelly <url url="mailto:kelly@fsl.noaa.gov"
+ name="kelley@fsl.noaa.gov"> for more information.
+
+ <chapt><heading>The X-Window System</heading>
+ <p>Pending the completion of this section, please refer to
+ documentation supplied by the <url url="http://www.xfree86.org/"
+ name="The XFree86 Project, Inc">.
<chapt><heading>Managing hardware</heading>
&scsi;
- <sect><heading>adding/reconfiguring disks</heading>
- <sect><heading>tapes and backups</heading>
- <sect><heading>serial ports</heading>
- <sect><heading>sound cards</heading>
-
- <chapt><heading>PC Hardware compatibility</heading>
- <sect><heading>CORE/PROCESSING</heading>
- <sect1><heading>Motherboards</heading>
- <sect2><heading>ISA</heading>
- <sect2><heading>EISA</heading>
- <sect2><heading>VLB</heading>
- <sect2><heading>PCI</heading>
- <sect1><heading>CPUs/FPUs</heading>
- <sect1><heading>Memory</heading>
- <sect1><heading>BIOS</heading>
- <sect><heading>INPUT/OUTPUT</heading>
- <sect1><heading>Video cards</heading>
- <sect1><heading>Sound cards</heading>
- <sect1><heading>Serial ports (including multiport cards)</heading>
- <sect1><heading>Parallel ports</heading>
- <sect1><heading>Modems</heading>
- <sect1><heading>Etherenet cards</heading>
- <sect1><heading>Keyboards</heading>
- <sect1><heading>Mice</heading>
- <sect1><heading>Other (joysticks? tablets?)</heading>
- <sect><heading>STORAGE</heading>
- <sect1><heading>Disk/tape controllers</heading>
- <sect2><heading>SCSI</heading>
- <sect2><heading>IDE</heading>
- <sect2><heading>Floppy</heading>
- <sect1><heading>Hard drives</heading>
- <sect1><heading>Tape drives</heading>
- <sect1><heading>CD-ROM drives</heading>
- <sect1><heading>Other</heading>
- <sect><heading>OTHER</heading>
- <sect1><heading>PCMCIA</heading>
-
+ <sect><heading>* Adding and reconfiguring disks</heading>
+ <sect><heading>* Tapes and backups</heading>
+ <sect><heading>* Serial ports</heading>
+ <sect><heading>* Sound cards</heading>
+
<!-- ************************************************************ -->
<part><heading>Network Communications</heading>
<chapt><heading>Basic Networking</heading>
- <sect><heading>Ethernet basics</heading>
- <sect><heading>Serial basics</heading>
- <sect><heading>Hardwired Terminals</heading>
+ <sect><heading>* Ethernet basics</heading>
+ <sect><heading>* Serial basics</heading>
+ <sect><heading>* Hardwired Terminals</heading>
&dialup;
<chapt><heading>PPP and SLIP</heading>
+
+ <p>If your connection to the internet is through a modem, or
+ you wish to provide other people with dialup connections to
+ the internet using FreeBSD, you have the option of using PPP
+ or SLIP. Furthermore, two varieties of PPP are provided:
+ <em>user</em> (sometimes referred to as iijppp) and
+ <em>kernel</em>. The procedures for configuring both types
+ of PPP, and for setting up SLIP are described in this
+ chapter.
+
+ &userppp;
&ppp;
&slipc;
&slips;
<chapt><heading>Advanced networking</heading>
<sect><heading>Gateways and routing</heading>
+ <p>This section is in progress. Please contact
+ Coranth Gryphon <htmlurl url="mailto:gryphon@healer.com"
+ name="&lt;gryphon@healer.com&gt;"> for more information.
+
&nfs;
- <sect><heading>Yellow Pages/NIS</heading>
+ <sect><heading>* Yellow Pages/NIS</heading>
&diskless;
- <sect><heading>ISDN</heading>
+ <sect><heading>* ISDN</heading>
- <chapt><heading>Mail</heading>
+ <chapt><heading>* Mail</heading>
@@ -187,7 +141,7 @@ OUTLINE:
&current;
&ctm;
&sup;
- <chapt><heading>Kernel debugging</heading>
+ &kerneldebug;
&submitters;
&booting;
&memoryuse;
@@ -195,9 +149,12 @@ OUTLINE:
<!-- ************************************************************ -->
- <part><heading>Additional resources</heading>
+ <part><heading>Appendices</heading>
+ &mirrors;
&bibliography;
&eresources;
+ &hw;
+ &contrib;
&glossary;
</book>
diff --git a/handbook/history.sgml b/handbook/history.sgml
index f43c673b63..445809dd1d 100644
--- a/handbook/history.sgml
+++ b/handbook/history.sgml
@@ -1,44 +1,92 @@
-<!-- $Id: history.sgml,v 1.1 1995-05-10 22:12:01 jfieber Exp $ -->
+<!-- $Id: history.sgml,v 1.1.4.1 1995-09-17 11:19:31 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<sect><heading>A brief history of FreeBSD</heading>
+<sect><heading>A brief history of FreeBSD<label id="history"></heading>
<p><em>Contributed by &a.jkh;</em>.
-The FreeBSD project was started somewhere in the early part of 1992 as
-an outgrowth of the "Unofficial 386BSD Patchkit" by the patchkit's
-last 3 coordinators: Nate Williams, Jordan Hubbard and Rod Grimes.
+The FreeBSD project had its genesis in the early part of 1992,
+partially as an outgrowth of the "Unofficial 386BSD Patchkit" by the
+patchkit's last 3 coordinators: Nate Williams, Rod Grimes and myself.
David Greenman and Julian Elischer were also lurking in the background
around this time, though they didn't come fully into the project until
-a month or two after it was more or less officially launched. The
-original working title of the project was also "386BSD 0.5" or "386BSD
-Interim", a reference to the fact that the original goal was to
-produce an intermediate snapshot of 386BSD.
-
-386BSD was Bill Jolitz's operating system, which had been up to
-that point suffering rather severely from neglect, a consequence
-of which was to cause the patchkit to swell ever more
-uncomfortably with each passing day. The 3 ex-patchkit
-coordinators were all in agreement that the patchkit had to die.
-It was rapidly outliving its usefulness, and it would be a far
-easier thing to simply do another 386BSD release with all patches
-applied and a number of its aging utilities updated.
-
-These plans came to a rude halt when Bill Jolitz suddenly decided
-to withdraw his sanction from the project. It didn't take the
-team members long to decide that the goal remained worthwhile
-even without Bill's support, and so they adopted the name
-"FreeBSD", which was coined by David Greenman.
-
-Once it also became clear that the project was on the road to
-perhaps even becoming a reality, Jordan Hubbard contacted Walnut
-Creek CDROM with an eye towards improving FreeBSD's distribution
-channels to those many unfortunates without easy access to the
-Internet. Walnut Creek CDROM not only supported the idea of
-distributing FreeBSD on CD, but went so far as to provide the
-project with a machine to work on and a fast Internet connection.
-Without Walnut Creek CDROM's almost unprecidented degree of faith
-in what was, at the time, a completely unknown project, it is
-very unlikely that FreeBSD would have gotten as far, as fast, as
-it has today.
+a month or two after it was more or less officially launched. Our
+original goal was to produce an intermediate snapshot of 386BSD in
+order to fix a number of problems with it that the patchkit mechanism
+just wasn't capable of solving. Some of you may remember the early
+working title for the project being "386BSD 0.5" or "386BSD Interim"
+in reference to that fact.
+
+386BSD was Bill Jolitz's operating system, which had been up to that
+point suffering rather severely from almost a year's worth of neglect.
+As the patchkit swelled ever more uncomfortably with each passing day,
+we were in unanimous agreement that something had to be done and
+decided to try and assist Bill by providing this interim "cleanup"
+snapshot. Those plans came to a rude halt when Bill Jolitz suddenly
+decided to withdraw his sanction from the project and without any
+clear indication of what would be done instead.
+
+It didn't take us long to decide that the goal remained worthwhile
+even without Bill's support, and so we adopted the name "FreeBSD",
+which was coined by David Greenman. Our initial objectives were set
+after consulting with the system's current users and once it became
+clear that the project was on the road to perhaps even becoming a
+reality, I contacted Walnut Creek CDROM with an eye towards improving
+FreeBSD's distribution channels to those many unfortunates without
+easy access to the Internet. Walnut Creek CDROM not only supported
+the idea of distributing FreeBSD on CD but went so far as to provide
+the project with a machine to work on and a fast Internet connection.
+Without Walnut Creek CDROM's almost unprecidented degree of faith in
+what was, at the time, a completely unknown project, it is in fact
+very unlikely that FreeBSD would have gotten as far, as fast, as it
+has today.
+
+The first CDROM (and general net-wide) distribution was FreeBSD 1.0,
+released in December of '93. This was based on the 4.3 BSD Lite
+("Net/2") tape from U.C. Berkeley with many components provided by
+386BSD and the Free Software Foundation. It was a fairly reasonable
+success for a first offering, and we followed this release with the
+highly successful FreeBSD 1.1 version in May of 1994.
+
+Around this time, some rather unexpected storm clouds formed on our
+horizon as Novell and U.C. Berkeley settled their long-running lawsuit
+over the legal status of the Berkeley Net/2 tape. A condition of that
+settlement was U.C. Berkeley's concession that large parts of Net/2
+was "encumbered" code and property of Novell, who had in turn aquired
+it from AT&amp;T some time previously. What Berkeley got in return was
+Novell's "blessing" that the 4.4 Lite release, when it was finally
+released, would be declared unencumbered and all existing Net/2 users
+would be strongly encouraged to switch. This included us, and we were
+given until the end of July 1994 to stop shipping our own Net/2 based
+product. Under the terms of that agreement, were were allowed one
+last release before the deadline and that became FreeBSD 1.1.5.1, the
+culmination of our year's work with Net/2 and generally considered by
+many to be a significant project milestone for stability and general
+performance..
+
+We then set about the arduous task of literally re-inventing ourselves
+with a completely new and rather incomplete set of 4.4 Lite bits. The
+"Lite" releases were light in part because Berkeley's CSRG removed
+large chunks of code required for actually making a bootable running
+system out of it due to various legal requirements and the fact that
+the Intel port of 4.4 was highly incomplete. It took us until
+December of 1994 to make this transition, and in January of 1995 we
+released FreeBSD 2.0 to the net and on CDROM. Despite being still
+more than a little rough around the edges, the release was a
+significant success and has since been followed by the more robust and
+easier to install FreeBSD 2.0.5 release in June of 1995.
+
+Where to from here? Well, we intend to release FreeBSD 2.1 sometime
+in October of 1995 and have reasonable expectations that it will
+meet or exceed all of the standards for quality we set with FreeBSD
+1.1.5.1 back in July of 1994. From there, we'll probably continue our now
+two-track scheme of a "stable" branch of FreeBSD and an "experimental"
+branch, where development can continue at its usually rapid pace without
+penalizing those who just want a working system without too much excitement.
+We also intend to focus on any remaining areas of weakness, like documentation
+or missing drivers, and steadily increase the overall quality and feature set
+of the system well into 1996 and beyond.
+
+ Jordan
+
diff --git a/handbook/kerberos.sgml b/handbook/kerberos.sgml
index bbe2dd5ff7..39ac95d55c 100644
--- a/handbook/kerberos.sgml
+++ b/handbook/kerberos.sgml
@@ -1,7 +1,7 @@
-<!-- $Id: kerberos.sgml,v 1.2 1995-05-11 22:31:28 jfieber Exp $ -->
+<!-- $Id: kerberos.sgml,v 1.2.4.1 1995-09-17 11:19:32 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<sect><heading>Kerberos</heading>
+<sect><heading>Kerberos<label id="kerberos"></heading>
<p><em>Contributed by &a.mark; (based on contribution by &a.md;).</em>
@@ -293,7 +293,7 @@ Master key entered. BEWARE!
Current Kerberos master key version is 1
Local realm: GRONDAR.ZA
-grunt# kadmin -n &
+grunt# kadmind -n &
grunt# KADM Server KADM0.0A initializing
Please do not use 'kill -9' to kill this job, use a
regular kill instead
diff --git a/handbook/memoryuse.sgml b/handbook/memoryuse.sgml
index aa984fccea..43866dc548 100644
--- a/handbook/memoryuse.sgml
+++ b/handbook/memoryuse.sgml
@@ -1,7 +1,7 @@
-<!-- $Id: memoryuse.sgml,v 1.1 1995-05-18 03:05:11 jfieber Exp $ -->
+<!-- $Id: memoryuse.sgml,v 1.1.4.1 1995-09-17 11:19:33 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<chapt><heading>PC memory utilization</heading>
+<chapt><heading>PC memory utilization<label id="memoryuse"></heading>
<p><em>Contributed by &a.joerg;.<newline>
16 Apr 1995.</em>
diff --git a/handbook/nfs.sgml b/handbook/nfs.sgml
index 8d0e4b25fb..378c7abae2 100644
--- a/handbook/nfs.sgml
+++ b/handbook/nfs.sgml
@@ -1,7 +1,7 @@
-<!-- $Id: nfs.sgml,v 1.1.1.1 1995-04-28 16:19:59 jfieber Exp $ -->
+<!-- $Id: nfs.sgml,v 1.1.1.1.4.1 1995-09-17 11:19:34 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<sect><heading>NFS</heading>
+<sect><heading>NFS<label id="nfs"></heading>
<p><em>Contributed by &a.john;.</em>
diff --git a/handbook/nutshell.sgml b/handbook/nutshell.sgml
index 4786b02a47..c867d417d0 100644
--- a/handbook/nutshell.sgml
+++ b/handbook/nutshell.sgml
@@ -1,7 +1,7 @@
-<!-- $Id: nutshell.sgml,v 1.1 1995-05-11 02:03:38 jfieber Exp $ -->
+<!-- $Id: nutshell.sgml,v 1.1.4.1 1995-09-17 11:19:35 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<sect><heading>FreeBSD in a nutshell</heading>
+<sect><heading>FreeBSD in a nutshell<label id="nutshell"></heading>
<p>FreeBSD is a state of the art operating system for
personal computers based on the Intel CPU architecture, which
@@ -31,12 +31,12 @@
as such from the ground up.</item>
<item>The industry standard <bf>X Window System</bf> (X11R6)
provides a graphical user interface (GUI) for the cost of a
- common VGA card and monitor.</item>
+ common VGA card and monitor and comes with full sources.</item>
<item><bf>Binary compatibility</bf> with many programs built for SCO,
BSDI, NetBSD, and 386BSD.</item>
<item>Hundreds of <bf>ready-to-run</bf> applications are
available from the
- FreeBSD <bf>ports and packages</bf>
+ FreeBSD <bf>ports</bf> and <bf>packages</bf>
collection. Why search the net when you can find it all
right here?</item>
<item>Thousands of additional and <bf>easy-to-port</bf> applications
@@ -52,9 +52,8 @@
and memory.</item>
<item>A full compliment of <bf>C</bf>, <bf>C++</bf> and
<bf>Fortran</bf> development tools. Many additional
- languages for research and advanced development are
- available as well in the ports and packages
- collection.</item>
+ languages for advanced research and development are
+ also available in the ports and packages collection.</item>
<item><bf>Source code</bf> for the entire system means you have
the greatest degree of control over your environment. Why be
locked into a proprietary solution and at the mercy of your vendor
@@ -71,19 +70,19 @@
many thousands of hours in fine tuning the system for
maximum performance and reliability in real-life load
situations. As many of the commercial giants struggle to
- field PC operating systems with such features, performance,
+ field PC operating systems with such features, performance
and reliability, FreeBSD can offer them <bf>now</bf>!
The applications to which FreeBSD can be put are truly
limited only by your own imagination. From software
- development to factory automation. Inventory control to
- azimuth correction of remote satellite antennae, if it can
- be done with a commercial UNIX product, then it's more than
+ development to factory automation, inventory control to
+ azimuth correction of remote satellite antennae; if it can
+ be done with a commercial UNIX product then it's more than
likely that you can do it with FreeBSD, too! FreeBSD also
benefits significantly from the literally thousands of high
quality applications developed by research centers and
- universities around the world, and often available at low
- (to no) cost. Commercial applications are also available
+ universities around the world, often available at little
+ to no cost. Commercial applications are also available
and appearing in greater numbers every day.
Because the source code for FreeBSD itself is generally
@@ -112,7 +111,7 @@
<item><bf>Education:</bf> Are you a student of computer science
or a related engineering field? There is no better way
of learning about operating systems, computer
- architecture and networks than the hands on, under the
+ architecture and networking than the hands on, under the
hood experience that FreeBSD can provide. A number of
freely available CAD, mathematical and graphic design
packages also make it highly useful to those who's
@@ -124,25 +123,29 @@
computer science. FreeBSD's freely available nature also
makes it possible for remote groups to collaborate on
ideas or shared development without having to worry about
- special licensing agreements, or with limitations on what
- may be discussed in certain forums.</item>
+ special licensing agreements or limitations on what
+ may be discussed in open forums.</item>
<item><bf>Networking:</bf> Need a new router? A name server
(DNS)? A firewall to keep people out of your internal
network? FreeBSD can easily turn that unused 386 or 486 PC
sitting in the corner into an advanced router with
sophisticated packet filtering capabilities. </item>
- <item><bf>X Window workstation:</bf> FreeBSD is an excellent
+ <item><bf>X Window workstation:</bf> FreeBSD is a fine
choice for an inexpensive X terminal solution, either
using the freely available XFree86 server or one
of the excellent commercial servers provided by X Inside.
Unlike an X
terminal, FreeBSD allows many applications to be run
locally, if desired, thus relieving the burden on a
- central server. Additionally, FreeBSD can boot
- "diskless" making individual workstations even cheaper
+ central server. FreeBSD can even boot
+ "diskless", making individual workstations even cheaper
and easier to administer.</item>
<item><bf>Software Development:</bf> The basic FreeBSD system
comes with a full compliment of development tools
included the renowned GNU C/C++ compiler and
debugger. </item>
</itemize>
+
+FreeBSD is available in both source and binary form on CDROM and
+via anonymous ftp. See <ref id="mirrors" name="Obtaining FreeBSD">
+for more details.
diff --git a/handbook/porting.sgml b/handbook/porting.sgml
index 9dbce8d02c..3052b25166 100644
--- a/handbook/porting.sgml
+++ b/handbook/porting.sgml
@@ -1,11 +1,12 @@
-<!-- $Id: porting.sgml,v 1.2 1995-05-18 03:05:15 jfieber Exp $ -->
+<!-- $Id: porting.sgml,v 1.2.4.1 1995-09-17 11:19:36 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<sect><heading>Porting applications<label id="porting:"></heading>
+<sect><heading>Porting applications<label id="porting"></heading>
-<p><em>Contributed by &a.jkh;.</em>
+<p><em>Contributed by &a.jkh;, &a.gpalmer; and
+ &a.asami;.<newline>19 August 1995.</em>
-Here are the guidelines one should follow in
+ Here are the guidelines one should follow in
creating a new port for FreeBSD 2.x . This documentation will
change as this process is progressively refined, so watch
this space for details. The <tt>&dollar;{..}</tt>
@@ -15,31 +16,29 @@ Here are the guidelines one should follow in
that file for more details.
<sect1>
- <heading>Before starting the port</heading>
-
- <p> <em>Note: Only a fraction of the overridable variables
- are mentioned in this document. Most (if not all) are
- documented at the start of the <tt>bsd.port.mk</tt>
- file which can be found in /usr/share/mk. This file
- uses a non-standard tab setting. <tt>Emacs</tt> should
- recognise the setting on loading the file. <tt>vi</tt>
- or <tt>ex</tt> can be set to using the correct value by
- typing "<tt>:set tabstop=4</tt>" once the file has been
- loaded. - &a.gpalmer;</em>
-
- You may come across code that needs modifications or
- conditional compilation based upon what version of UNIX
- it's running under. If you need to make such changes to
- the code for conditional compilation, make sure you make
- the changes as general as possible so that we can
- back-port code to FreeBSD 1.x systems and cross-port to
- other BSD systems such as 4.4bsd from CSRG, BSD/386,
- 386BSD and NetBSD.
-
- The preferred way to tell 4.3BSD/Reno and newer versions
- of the BSD code apart is by using the "<tt>BSD</tt>"
- macro defined in <tt>&lt;sys/param.h&gt;</tt>. Hopefully
- that file is already included; if not, add the code:
+ <heading>Before Starting the Port</heading>
+
+ <p>Note: Only a fraction of the overridable variables are
+ mentioned in this document. Most (if not all) are documented
+ at the start of the <tt>bsd.port.mk</tt> file which can be
+ found in <tt>/usr/share/mk</tt>. This file uses a non-standard tab
+ setting. <tt>Emacs</tt> should recognise the setting on
+ loading the file. <tt>vi</tt> or <tt>ex</tt> can be set to
+ using the correct value by typing `<tt>:set tabstop=4</tt>'
+ once the file has been loaded.
+
+ <p>You may come across code that needs modifications or
+ conditional compilation based upon what version of UNIX it's
+ running under. If you need to make such changes to the code
+ for conditional compilation, make sure you make the changes as
+ general as possible so that we can back-port code to FreeBSD
+ 1.x systems and cross-port to other BSD systems such as 4.4BSD
+ from CSRG, BSD/386, 386BSD and NetBSD.
+
+ <p>The preferred way to tell 4.3BSD/Reno and newer versions of
+ the BSD code apart is by using the `<tt>BSD</tt>' macro
+ defined in <tt>&lt;sys/param.h&gt;</tt>. Hopefully that file
+ is already included; if not, add the code:
<tscreen><verb>
#ifdef _HAVE_PARAM_H
@@ -57,9 +56,9 @@ Here are the guidelines one should follow in
#if (defined(BSD) && (BSD >= 199103))
</verb></tscreen>
- to detect if the code is being compiled on a 4.3 Net2
- code base or newer (e.g. FreeBSD 1.x, 4.3/Reno, NetBSD
- 0.9, 386BSD, BSD/386 1.0).
+ to detect if the code is being compiled on a 4.3 Net2 code
+ base or newer (e.g. FreeBSD 1.x, 4.3/Reno, NetBSD 0.9, 386BSD,
+ BSD/386 1.1 and below).
Use:
@@ -67,348 +66,913 @@ Here are the guidelines one should follow in
#if (defined(BSD) && (BSD >= 199306))
</verb></tscreen>
- to detect if the code is being compiled on a 4.4 code
- base or newer (e.g. FreeBSD 2.x, 4.4, NetBSD 1.0,
- BSD/386 1.1).
-
- Use sparingly:
-
- <itemize>
- <item><tt>__FreeBSD__</tt> is defined in all
- versions of FreeBSD. Use it if the change you
- are making ONLY affects FreeBSD. Porting gotchas
- like the use of <tt>sys_errlist[]</tt> vs
- <tt>strerror()</tt> are Berkeleyisms, not FreeBSD
- changes.
-
- <item>In FreeBSD 2.x, <tt>__FreeBSD__</tt> is
- defined to be <tt>2</tt>. In earlier versions,
- it's <tt>1</tt>.
-
- <item>If you need to tell the difference between a
- FreeBSD 1.x system and a FreeBSD 2.x system,
- usually the right answer is to use the
- <tt>BSD</tt> macros described above. If there
- actually is a FreeBSD specific change (such as
- special shared library options when using
- '<tt>ld</tt>') then it's OK to use
- <tt>__FreeBSD__</tt> and "<tt>#if __FreeBSD_ &gt;
- 1</tt>" to detect a FreeBSD 2.x system.
-
- </itemize>
-
- In the dozens of ports that have been done, there have
+ to detect if the code is being compiled on a 4.4 code base or
+ newer (e.g. FreeBSD 2.x, 4.4, NetBSD 1.0, BSD/386 2.0 or
+ above).
+
+ <p>Use sparingly:
+
+ <itemize>
+ <item><tt>__FreeBSD__</tt> is defined in all versions of
+ FreeBSD. Use it if the change you are making ONLY affects
+ FreeBSD. Porting gotchas like the use of
+ <tt>sys_errlist[]</tt> vs <tt>strerror()</tt> are
+ Berkeleyisms, not FreeBSD changes.
+
+ <item>In FreeBSD 2.x, <tt>__FreeBSD__</tt> is defined to be
+ <tt>2</tt>. In earlier versions, it's <tt>1</tt>.
+
+ <item>If you need to tell the difference between a FreeBSD 1.x
+ system and a FreeBSD 2.x system, usually the right answer is
+ to use the <tt>BSD</tt> macros described above. If there
+ actually is a FreeBSD specific change (such as special
+ shared library options when using `<tt>ld</tt>') then it's
+ OK to use <tt>__FreeBSD__</tt> and `<tt>#if __FreeBSD_ &gt;
+ 1</tt>' to detect a FreeBSD 2.x system.
+
+ </itemize>
+
+ <p>In the dozens of ports that have been done, there have
only been one or two cases where <tt>__FreeBSD__</tt>
should have been used. Just because an earlier port
screwed up and used it in the wrong place doesn't mean
you should do so too.
<sect1>
- <heading> Doing the port</heading>
+ <heading>Quick Porting</heading>
+
+ <p>This section tells you how to do a quick port. In many
+ cases, it is not enough, but we'll see.
+
+ <p>First, get the original tarball and put it into
+ <tt>&dollar;{DISTDIR}</tt>, which defaults to
+ <tt>/usr/ports/distfiles</tt>.
+
+ <p>Note: The following assumes that the software compiled
+ out-of-the-box, i.e., there was absolutely no change required
+ for the port to work on your FreeBSD box. If you needed to
+ change something, you'll have to refer to the next section
+ too.
+
+ <sect2>
+ <heading>Writing the Makefile</heading>
+
+ <p>The minimal <tt>Makefile</tt> would look something like this:
+
+<tscreen><verb>
+# New ports collection makefile for: oneko
+# Version required: 1.1b
+# Date created: 5 December 1994
+# Whom: asami
+#
+# $Id: porting.sgml,v 1.2.4.1 1995-09-17 11:19:36 davidg Exp $
+#
+
+DISTNAME= oneko-1.1b
+CATEGORIES+= games
+MASTER_SITES= ftp://ftp.cs.columbia.edu/archives/X11R5/contrib/
+
+MAINTAINER= asami@FreeBSD.ORG
+
+USE_IMAKE= yes
+
+.include <bsd.port.mk>
+</verb></tscreen>
+
+ <p>See if you can figure it out. Don't worry about the contents
+ of the <tt>&dollar;Id&dollar;</tt> line, it will be filled in
+ automatically by CVS when the port is imported to our main
+ ports tree.
+
+ <sect2>
+ <heading>Writing the description files</heading>
+
+ <p>There are three required description files that are
+ required for any port, whether they actually package or not.
+ They are <tt>COMMENT</tt>, <tt>DESCR</tt>, and
+ <tt>PLIST</tt>, and reside in the <tt>pkg</tt> subdirectory.
+
+ <sect3>
+ <heading>COMMENT</heading>
+
+ <p>This is the one-line description of the port. It is
+ recommended to have the name of the package at the
+ beginning, as in:
+<tscreen><verb>
+oneko-1.1b, a cat chasing a mouse all over the screen
+</verb></tscreen>
+
+ <sect3>
+ <heading>DESCR</heading>
+
+ <p>This is a longer description of the port. One to a few
+ paragraphs concisely explaining what the port does is
+ sufficient. Note: This is <em>not</em> a manual nor an
+ in-depth description on how to use or compile the port.
+ In particular, please do not just copy the <tt>README</tt>
+ file here, unless, of course, it's a concise description
+ of the port.
+
+ <p>It is recommended that you sign the name at the end of
+ this file, and also state the version number, as in:
+
+<tscreen><verb>
+This is a port of oneko, in which a cat chases a poor mouse all over
+the screen.
+ :
+(etc.)
+ :
+This is version 1.1b.
+
+- Satoshi
+asami@cs.berkeley.edu
+</verb></tscreen>
+
+ <sect3>
+ <heading>PLIST</heading>
+
+ <p>This file lists all the files installed by the port. It
+ is also called the `packing list' because the package is
+ generated by packing the files listed here. The pathnames
+ are relative to the installation prefix (usually
+ <tt>/usr/local</tt> or <tt>/usr/X11R6</tt>).
+
+ <p>Here is a small example:
+
+<tscreen><verb>
+bin/oneko
+man/man1/oneko.1.gz
+lib/X11/app-defaults/Oneko
+lib/X11/oneko/cat1.xpm
+lib/X11/oneko/cat2.xpm
+lib/X11/oneko/mouse.xpm
+</verb></tscreen>
+
+ <sect2>
+ <heading>Creating the checksum file</heading>
+
+ <p>Just type `<tt>make makesum</tt>'. The ports make rules
+ will automatically generate the file <tt>files/md5</tt>.
+
+ <sect2>
+ <heading>Testing the port</heading>
+
+ <p>You should make sure that the port rules do exactly what
+ you want it to do, including packaging up the port. Try
+ doing `<tt>make install</tt>', `<tt>make package</tt>' and
+ then `<tt>pkg_delete -d &lt;pkgname&gt;</tt>' and see if all
+ the files are correctly deleted. Then do a `<tt>pkg_add
+ &lt;pkgname&gt;.tgz</tt>' and see if everything re-appears
+ and works correctly.
+
+ <sect2>
+ <heading>Submitting the port</heading>
+
+ <p>Now that you're happy with your port, the only thing
+ remaining is to put it in the main FreeBSD ports tree and
+ make everybody else happy about it too. To accomplish this,
+ pack the necessary files (everything described in this
+ section -- in particular do <em>not</em> include the
+ original source tarball or the `<tt>work</tt>' subdirectory)
+ into a <tt>.tar.gz</tt> file, stick it in the directory
+<tscreen><verb>
+ftp://ftp.freebsd.org/pub/FreeBSD/incoming/
+</verb></tscreen>
+ and send mail to <tt>ports@freebsd.org</tt>. We will take a
+ look, get back to you if necessary, and put it in the tree.
+ Your name will also appear in the list of `Additional
+ FreeBSD contributors' on the FreeBSD Handbook and other
+ files. Isn't that great?!? <tt>:)</tt>
+
+ <sect1>
+ <heading>Slow Porting</heading>
+
+ <p>Ok, so it wasn't that simple, and the port required some
+ modifications to get it to work. In this section, we'll
+ explain, step by step, how to modify it to get it to work with
+ the ports paradigm.
- <p>NOTE: If your sources work without change under FreeBSD,
- skip to the next section.
+ <sect2>
+ <heading>How things work</heading>
+
+ <p>First, this is the sequence of events which occurs when the
+ user first types `<tt>make</tt>' in your port's directory,
+ and you may find that having <tt>bsd.port.mk</tt> in another
+ window while you read this really helps to understand it.
+
+ <p>But don't worry if you don't really understand what
+ <tt>bsd.port.mk</tt> is doing, not many people
+ do... <tt>:&gt;</tt>
<enum>
- <item>Get the original sources (normally) as a
- compressed tarball (<tt>&lt;foo&gt;.tar.gz</tt> or
- <tt>&lt;foo&gt;.tar.Z</tt>) and copy it into
- <tt>&dollar;{DISTDIR}</tt>. Always use
- <em>mainstream</em> sources when and where you can,
- and don't be tempted to patch a tarball 2 or 3
- revisions ahead just to save yourself trouble. The
- idea is that the ports collection should be usable
- even with all of <tt>&dollar;{DISTDIR}</tt> blown
- away, which is to say that it should be possible for
- a user to repopulate all of
- <tt>&dollar;{DISTDIR}</tt> with publically available
- files.
-
- <item>Unpack a copy of the tarball in a private
- directory and make whatever changes are necessary to
- get the port to compile properly under FreeBSD 2.0.
- Keep <em>careful track</em> of everything you do, as
- you will be automating the process shortly.
- Everything, including the deletion, addition or
- modification of files should be doable using an
- automated script or patch file when your port is
- finished. If your port requires significant user
- interaction/customization to compile or install, you
- should take a look at one of Larry Wall's classic
- Configure scripts and perhaps do something similar
- yourself. The goal of the new ports collection is to
- make each port as `plug-and-play' as possible for the
- end-user while using a minimum of disk space.
-
- <item>Carefully consider the list of patches, shell
- commands or user queries necessary for customizing
- the port, then, making sure you understand the
- following thoroughly, go for it. The sequence of
- events you need to understand is that which occurs
- when the user first types `<tt>make</tt>' in your
- port's directory, and you may find that having
- <tt>bsd.port.mk</tt> in another window while you read
- this really helps to understand it:
-
- Sequence of events:
+ <item>The fetch target is run. The fetch target is
+ responsible for making sure that the tarball exists
+ locally in <tt>&dollar;{DISTDIR}</tt>. If fetch cannot
+ find the required files in <tt>&dollar;{DISTDIR}</tt> it
+ will look up the ftp-URL <tt>&dollar;{MASTER_SITES}</tt>,
+ which is set in the Makefile. It will then attempt to
+ fetch the named distribution file with
+ <tt>&dollar;{NCFTP}</tt>, assuming that the requesting
+ site has direct access to the Internet. If that succeeds,
+ it will save the file in <tt>&dollar;{DISTDIR}</tt> for
+ future use and proceed.
+
+ <item>The extract target is run. It looks for your ports'
+ distribution file in <tt>&dollar;{DISTDIR}</tt> (typically
+ a gzip'd tarball) and unpacks it into a temporary
+ subdirectory specified by <tt>&dollar;{WRKDIR}</tt>
+ (defaults to <tt>work</tt>).
+
+ <item>The patch target is run. First, any patches defined
+ in <tt>&dollar;{PATCHFILES}</tt> are applied. Second, if
+ any patches are found in <tt>&dollar;{PATCHDIR}</tt>
+ (defaults to the <tt>patches</tt> subdirectory), they are
+ applied at this time in alphabetical order.
+
+ <item>The configure target is run. This can do any one of
+ many different things.
<enum>
- <item>The pre-fetch and fetch targets are run. The
- fetch target is responsible for making sure that
- the tarball exists locally in <tt>&dollar;{DISTDIR}</tt>.
- The pre-fetch target hook is optional. If fetch
- cannot find the required files in
- <tt>&dollar;{DISTDIR}</tt> it will look up the URL
- <tt>&dollar;{MASTER_SITES}</tt>, which can be set in the
- Makefile or allowed to default to the Walnut
- Creek CDROM archive site. It will then attempt
- to fetch the named distribution file with
- <tt>&dollar;{NCFTP}</tt>, assuming that the requesting
- site has direct access to the Internet. If that
- succeeds, it will save the file in
- <tt>&dollar;{DISTDIR}</tt> for future use and proceed.
-
- <item>The pre-extract target hook, if it exists, is
- run.
-
- <item>The extract target, if not disabled, is run.
- It looks for your ports' distribution file in
- <tt>&dollar;{DISTDIR}</tt> (typically a gzip'd
- tarball) and unpacks it into a temporary
- directory.
-
- <item>The pre-configure target hook is run.
-
- <item>The configure target is run. This can do any
- one of many different things. First, if any
- patches are found in the
- <tt>&dollar;{PATCHDIR}</tt> subdirectory, they
- are applied at this time in alphabetical order.
- Next, a series of scripts, if detected, are run
- in the following order:
-
- <enum>
-
- <item><tt>&dollar;{SCRIPTDIR}/pre-configure</tt>
-
- <item><tt>&dollar;{SCRIPTDIR/configure</tt> or
- <tt>&dollar;{WRKSRC}/configure</tt> if
- <tt>&dollar;{HAS_CONFIGURE}</tt> is set.
-
- <item>If <tt>&dollar;{USE_IMAKE}</tt> is set, an
- xmkmf command is done.
-
- <item><tt>&dollar;{SCRIPTDIR}/post-configure</tt>
- </enum>
-
- As you can see, it's possible to do just about anything to your
- port, in a variety of stages!
-
- <item>The pre-build target hook is run.
-
- <item>The build target is run. This is responsible
- for decending into the ports' private working
- directory (<tt>&dollar;{WRKSRC}</tt>) and
- building it. If <tt>&dollar;{USE_GMAKE}</tt> is
- set, GNU <tt>make</tt> will be used, otherwise
- the system <tt>&dollar;{MAKE}</tt>.
+
+ <item>If it exists, <tt>scripts/configure</tt> is run.
+
+ <item>If <tt>&dollar;{HAS_CONFIGURE}</tt> or
+ <tt>&dollar;{GNU_CONFIGURE}</tt> is set,
+ <tt>&dollar;{WRKSRC}/configure</tt> is run.
+
+ <item>If <tt>&dollar;{USE_IMAKE}</tt> is set,
+ <tt>&dollar;{XMKMF}</tt> (default: `<tt>xmkmf
+ -a</tt>') is run.
+
</enum>
- <item>In the preparation of the port, files that have
- been added or changed can be picked up with a
- recursive diff for later feeding to patch. This is
- the easiest kind of change to make as it doesn't
- involve any mucking around with configuration files.
- Each set of patches you wish to apply should be
- collected into a file named
- "<tt>patch-&lt;xx&gt;</tt>" where <tt>&lt;xx&gt;</tt>
- denotes the sequence in which the patches will be
- applied - these are done in <em>alphabetical
- order</em>, thus "<tt>aa</tt>" first, "<tt>ab</tt>"
- second and so on. These files should be stored in
- <tt>&dollar;{PATCHDIR}</tt>, from where they will be
- automatically applied. All patches should be
- relative to <tt>&dollar;{WRKSRC}</tt> (generally the
- directory your port's tarball unpacks itself into,
- that being where the make is done).
-
- <item>Include any additional customization commands to
- your `<tt>configure</tt>' script and save it to
- <tt>&dollar;{SCRIPTDIR}/configure</tt>. Add your
- port to the Makefile one level above it so that it
- will be made automatically.
-
- <item>Always try to install relative to
- <tt>&dollar;{PREFIX}</tt> in your Makefiles. This will
- normally be set to <tt>/usr/local</tt>, though it can be can
- be reassigned in your Makefile or in the users
- environment. Not hardcoding <tt>/usr/local</tt> anywhere in
- your installation will make the port much more
- flexible and cater to the needs of other sites. Note
- that this doesn't count for package `packing list'
- files since they have their own scheme for relocating
- themselves and can be left independant of
- <tt>&dollar;{PREFIX}</tt> unless the package is one that
- hardcodes itself to a compiled-in location.
-
- <item>If your port requires user input to build,
- configure or install, then set
- <tt>IS_INTERACTIVE</tt> in your Makefile. This will
- allow "overnight builds" to progress past your port
- if the user sets the variable <tt>BATCH</tt> in his
- environment (and if the user sets the variable
- <tt>INTERACTIVE</tt>, then <em>only</em> those ports
- requiring interaction are built).
-
- For more details on any of this (since it may not be
- clear at first reading), examine an existing port and
- read the contents of <tt>/usr/share/mk/bsd.port.mk</tt>;
- you'll see that it's not as difficult as it sounds!
-
+ <item>The build target is run. This is responsible for
+ descending into the ports' private working directory
+ (<tt>&dollar;{WRKSRC}</tt>) and building it. If
+ <tt>&dollar;{USE_GMAKE}</tt> is set, GNU <tt>make</tt>
+ will be used, otherwise the system <tt>make</tt> will be
+ used.
+
</enum>
-<sect1>
+ <p>The above are the default actions. In addition, you can
+ define targets `<tt>pre-&lt;something&gt;</tt>' or
+ `<tt>post-&lt;something&gt;</tt>', or put scripts with those
+ names, in the <tt>scripts</tt> subdirectory, and they will
+ be run before or after the default actions are done.
+
+ <p>For example, if you have a <tt>post-extract</tt> target
+ defined in your Makefile, and a file <tt>pre-build</tt> in
+ the <tt>scripts</tt> subdirectory, the
+ <tt>post-extract</tt> target will be called after the
+ regular extraction actions, and the <tt>pre-build</tt>
+ script will be executed before the default build rules are
+ done. It is recommended that you use Makefile targets if
+ possible, because it will be easier for someone to figure
+ out what kind of non-default action the port requires.
+
+ <p>The default actions are done by the <tt>bsd.port.mk</tt>
+ targets `<tt>do-&lt;something&gt;</tt>'. For example, the
+ commands to extract a port are in the target
+ `<tt>do-extract</tt>'. If you are not happy with the
+ default target, and you can't fix it by redefining the
+ `<tt>do-&lt;something&gt;</tt>' target in your Makefile.
+
+ <p>Note that the `main' targets (e.g., <tt>extract</tt>,
+ <tt>configure</tt>, etc.) do nothing more than make sure all
+ the stages up to that one is completed and call the real
+ targets or scripts, and they are not intended to be
+ changed. If you want to fix the extraction, fix
+ <tt>do-extract</tt>, but never ever touch <tt>extract</tt>!
+
+ <p>Now that you understand what goes on when the user types
+ `<tt>make</tt>', let's go through the recommended steps to
+ create the perfect port.
+
+ <sect2>
+ <heading>Getting the original sources</heading>
+
+ <p>Get the original sources (normally) as a compressed tarball
+ (<tt>&lt;foo&gt;.tar.gz</tt> or <tt>&lt;foo&gt;.tar.Z</tt>)
+ and copy it into <tt>&dollar;{DISTDIR}</tt>. Always use
+ <em>mainstream</em> sources when and where you can.
+
+ <p>If you can't find a ftp site that is well-connected to the
+ net, or can only find sites that have irritatingly
+ non-standard formats, we can `house' it ourselves by putting
+ it on
+<tscreen><verb>
+ftp://freefall.freebsd.org/pub/FreeBSD/LOCAL_PORTS/
+</verb></tscreen>
+ as the last resort. Send mail to <tt>ports@freebsd.org</tt>
+ if you are not sure what to do.
+
+ <p>If your port requires some additional `patches' that are
+ available on the Internet, fetch them too and put them in
+ <tt>&dollar;{DISTDIR}</tt>. Don't worry if they come from
+ site other than where you got the the main source tarball,
+ we have a way to handle these situations (see the
+ description of <tt>&dollar;{PATCHFILES}</tt> below).
+
+ <sect2>
+ <heading>Modifying the port</heading>
+
+ <p>Unpack a copy of the tarball in a private directory and
+ make whatever changes are necessary to get the port to
+ compile properly under the current version of FreeBSD. Keep
+ <em>careful track</em> of everything you do, as you will be
+ automating the process shortly. Everything, including the
+ deletion, addition or modification of files should be doable
+ using an automated script or patch file when your port is
+ finished.
+
+ <p>If your port requires significant user
+ interaction/customization to compile or install, you should
+ take a look at one of Larry Wall's classic Configure scripts
+ and perhaps do something similar yourself. The goal of the
+ new ports collection is to make each port as `plug-and-play'
+ as possible for the end-user while using a minimum of disk
+ space.
+
+ <sect2>
+ <heading>Patching</heading>
+
+ <p>In the preparation of the port, files that have been added
+ or changed can be picked up with a recursive diff for later
+ feeding to patch. This is the easiest kind of change to
+ make as it doesn't involve any mucking around with
+ configuration files. Each set of patches you wish to apply
+ should be collected into a file named
+ `<tt>patch-&lt;xx&gt;</tt>' where <tt>&lt;xx&gt;</tt>
+ denotes the sequence in which the patches will be applied --
+ these are done in <em>alphabetical order</em>, thus
+ `<tt>aa</tt>' first, `<tt>ab</tt>' second and so on. These
+ files should be stored in <tt>&dollar;{PATCHDIR}</tt>, from
+ where they will be automatically applied. All patches
+ should be relative to <tt>&dollar;{WRKSRC}</tt> (generally
+ the directory your port's tarball unpacks itself into, that
+ being where the make is done). To make fixes and upgrades
+ easier you should avoid having more than one patch fix the
+ same file (e.g., patch-ab and patch-ab both changing
+ <tt>&dollar;{WRKSRC}</tt>/foobar.c).
+
+ <sect2>
+ <heading>Configuring</heading>
+
+ <p>Include any additional customization commands to your
+ <tt>configure</tt> script and save it in the
+ `<tt>scripts</tt>' subdirectory. As mentioned above, you
+ can also do this as Makefile targets and/or scripts with the
+ name <tt>pre-configure</tt> or <tt>post-configure</tt>.
+
+ <sect2>
+ <heading>Handling user input</heading>
+
+ <p>If your port requires user input to build, configure or
+ install, then set <tt>IS_INTERACTIVE</tt> in your Makefile.
+ This will allow `overnight builds' to skip your port if the
+ user sets the variable <tt>BATCH</tt> in his environment
+ (and if the user sets the variable <tt>INTERACTIVE</tt>,
+ then <em>only</em> those ports requiring interaction are
+ built).
+
+ <sect1>
<heading>Configuring the Makefile</heading>
- <p>Configuring the Makefile is pretty simple, and again I
+ <p>Configuring the Makefile is pretty simple, and again we
suggest that you look at existing examples before
starting. Consider the following problems in sequence as
you design your new Makefile:
- <enum>
- <item>Does it live in <tt>&dollar;{DISTDIR}</tt> as a
- standard gzip'd tarball? If so, you can go on to the
- next step. If not, you should look at overriding any
- of the <tt>&dollar;{EXTRACT_CMD}</tt>,
- <tt>&dollar;{EXTRACT_ARGS}</tt>,
- <tt>&dollar;{EXTRACT_SUFX}</tt>, or
- <tt>&dollar;{DISTFILE}</tt> variables, depending on
- how alien a format your port's distribution file is.
- In the worst case, you can simply create your own
- `<tt>extract</tt>' target to override the default,
- though this should be rarely, if ever, necessary. If
- you do find it necessary to do your own, your extract
- target should take care to "leave tracks" for itself
- so that files are not unnecessarily extracted
- twice---see the default extract rule in
- <tt>bsd.port.mk</tt> for an example of this.
-
- <item>If your port is integrated into the ports
- directory directly (original sources are already part
- of FreeBSD), you may also consider simply setting
- <tt>NO_EXTRACT</tt> and dispensing with the idea of a
- distribution file altogether.
-
- <item>You should set <tt>&dollar;{DISTNAME}</tt> to be the base
- name of your port. The default rules expect the
- distribution file list (<tt>&dollar;{DISTFILES}</tt>) to be
- named
- <tt>&dollar;{DISTDIR}/&dollar;{DISTFILE}&dollar;{EXTRACT_SUFX}</tt>
- by default which, if it's a normal tarball, is going
- to be something like:
+ <sect2>
+ <heading>The original source</heading>
+
+ <p>Does it live in <tt>&dollar;{DISTDIR}</tt> as a standard
+ gzip'd tarball? If so, you can go on to the next step. If
+ not, you should look at overriding any of the
+ <tt>&dollar;{EXTRACT_CMD}</tt>,
+ <tt>&dollar;{EXTRACT_BEFORE_ARGS}</tt>,
+ <tt>&dollar;{EXTRACT_AFTER_ARGS}</tt>,
+ <tt>&dollar;{EXTRACT_SUFX}</tt>, or
+ <tt>&dollar;{DISTFILE}</tt> variables, depending on how
+ alien a format your port's distribution file is. (The most
+ common case is `<tt>EXTRACT_SUFX=.tar.Z</tt>', when the
+ tarball is condensed by regular compress, not gzip.)
+
+ <p>In the worst case, you can simply create your own
+ `<tt>do-extract</tt>' target to override the default, though
+ this should be rarely, if ever, necessary.
+
+ <sect2>
+ <heading>DISTNAME</heading>
+ <p>You should set <tt>&dollar;{DISTNAME}</tt> to be the base
+ name of your port. The default rules expect the
+ distribution file list (<tt>&dollar;{DISTFILES}</tt>) to be
+ named
+ <tt>&dollar;{DISTFILE}&dollar;{EXTRACT_SUFX}</tt>
+ by default which, if it's a normal tarball, is going to be
+ something like:
<tscreen><verb>
foozolix-1.0.tar.gz
</verb></tscreen>
- For a setting of "<tt>DISTNAME=foozolix-1.0</tt>"
+ for a setting of `<tt>DISTNAME=foozolix-1.0</tt>'.
- The default rules also expect the tarball(s) to
- extract into a subdirectory called
- <tt>&dollar;{WRKDIR}/&dollar;{DISTNAME}</tt>, e.g.
+ The default rules also expect the tarball(s) to extract into
+ a subdirectory called <tt>work/&dollar;{DISTNAME}</tt>, e.g.
<tscreen><verb>
-"<blah>/foozolix-1.0/"
+work/foozolix-1.0/
</verb></tscreen>
- All this behavior can be overridden, of course, it
- simply represents the most common time-saving
- defaults. For a port requiring multiple distribution
- files, simply set <tt>&dollar;{DISTFILES}</tt> explicitly. If
- only a subset of <tt>&dollar;{DISTFILES}</tt> are actual
- extractable archives, then set them up in
- <tt>&dollar;{EXTRACT_ONLY}</tt>, which will override the
- <tt>&dollar;{DISTFILES}</tt> list when it comes to extraction.
-
- <item>If your package uses GNU <tt>make</tt>, set
- "<tt>USE_GMAKE=yes</tt>". If your package uses GNU
- <tt>configure</tt>, set "<tt>GNU_CONFIGURE=yes</tt>".
- If you want to override the default GNU <tt>configure</tt>
- arguments from `<tt>i386--freebsd</tt>' to something else,
- set those arguments in <tt>&dollar;{GNU_CONFIGURE_ARGS}</tt>.
-
- If your package uses <tt>imake</tt> (e.g. is an X
- application that has an <tt>Imakefile</tt>), then set
- "<tt>USE_IMAKE=yes</tt>". This will cause the
- configure stage to automatically do an <tt>xmkmf</tt> and then
- a `<tt>make Makefiles</tt>'.
-
- <item>If you have a URL pointing at the the original
- tarball, record the directory containing the tarball
- in <tt>&dollar;{MASTER_SITES}</tt>. This will provide a
- backup site, as well as a direct pointer to the
- original source location.
-
- The make macros will currently try to use this
- specification for grabbing the distribution file with
- <tt>&dollar;{NCFTP}</tt> if they can't find it
- already on the system. See some of the other ports
- for examples.
-
- <item>Due to a problem in some of the ports, 2.0 was
- distributed with a setting which meant ports that
- have <tt>&dollar;{USE_IMAKE}</tt> set do not install their
- manpages by default. Although -current has the logic
- reversed, for compatability with 2.0 systems (at
- least until 2.1 comes out) you should set
- "<tt>INSTALL_MANPAGES=yes</tt>". For complete forward
- compatability, if the port doesn't understand the
- "<tt>install.man</tt>" target, "<tt>NO_INSTALL_MANPAGES=yes</tt>"
- should be set (which conforms with the current logic
- in <tt>bsd.port.mk</tt>)
-
- <item>Don't forget to include
- <tt>&lt;bsd.port.mk&gt;</tt> at the bottom. That
- should do it!
+ All this behavior can be overridden, of course, it simply
+ represents the most common time-saving defaults. For a port
+ requiring multiple distribution files, simply set
+ <tt>&dollar;{DISTFILES}</tt> explicitly. If only a subset
+ of <tt>&dollar;{DISTFILES}</tt> are actual extractable
+ archives, then set them up in
+ <tt>&dollar;{EXTRACT_ONLY}</tt>, which will override the
+ <tt>&dollar;{DISTFILES}</tt> list when it comes to
+ extraction, and the rest will be just left in
+ <tt>&dollar;{DISTDIR}</tt> for later use.
+
+ <sect2>
+ <heading>CATEGORIES and KEYWORDS</heading>
+ <p>When a package is created, it is put under
+ <tt>/usr/ports/packages/All</tt> and links are made from one
+ or more subdirectories of <tt>/usr/ports/packages</tt>. The
+ names of these subdirectories are specified by the variable
+ <tt>&dollar;{CATEGORIES}</tt>. It is intended to make life
+ easier for the user when he is wading through the pile of
+ packages on the ftp site or the CD-ROM. Please take a look
+ at the existing categories (some of them have different
+ names from subdirectories of <tt>/usr/ports</tt>) and pick
+ the ones that are suitable for your port. If your port
+ truly belongs to something that is different from all the
+ existing ones, you can even create a new category name.
+
+ <p>If you want to add more information than just the category
+ names, add them to <tt>&dollar;{KEYWORDS}</tt>. The value
+ of this variable defaults to that of
+ <tt>&dollar;{CATEGORIES}</tt>. This is currently used only
+ as a field of the <tt>/usr/ports/INDEX</tt> file.
+
+ <sect2>
+ <heading>MASTER_SITES</heading>
+ <p>If you have a ftp-URL pointing at the the original tarball,
+ record the directory containing the tarball in
+ <tt>&dollar;{MASTER_SITES}</tt>. This will provide a backup
+ site, as well as a direct pointer to the original source
+ location. Don't forget the trailing slash (<tt>/</tt>)!
+
+ <p>The make macros will try to use this specification for
+ grabbing the distribution file with <tt>&dollar;{NCFTP}</tt>
+ if they can't find it already on the system.
+
+ <p>It is recommended that you put multiple sites on this list,
+ preferably from different continents. This will safeguard
+ against wide-area network problems, and we are even planning
+ to add support for automatically determining the closest
+ master site and fetching from there!
+
+ <sect2>
+ <heading>PATCHFILES</heading>
+ <p>If your port requires some additional patches that are
+ available by ftp, set <tt>&dollar;{PATCHFILES}</tt> to the
+ names of the files and <tt>&dollar;{PATCH_SITES}</tt> to the
+ URL of the directory that contains them (the format is the
+ same as <tt>&dollar;{MASTER_SITES}</tt>).
+
+ <p>If the patch is not relative to the top of the source tree
+ (i.e., <tt>&dollar;{WKRSRC}</tt>) because it contains some
+ extra pathnames, set <tt>&dollar;{PATCH_DIST_STRIP}</tt>
+ accordingly. For instance, if all the pathnames in the
+ patch has an extra `<tt>foozolix-1.0/</tt>' in front of the
+ filenames, then set `<tt>PATCH_DIST_STRIP=-p1</tt>'.
+
+ <p>Don't worry if the patches are compressed, they will be
+ decompressed automatically if the filenames end with
+ `<tt>.gz</tt>' or `<tt>.Z</tt>'.
+
+ <sect2>
+ <heading>MAINTAINER</heading>
+ <p>Set your mail-address here. Please. <tt>:)</tt>
+
+ <sect2>
+ <heading>Dependencies</heading>
+ <p>Many ports depend on other ports. There are three
+ variables that you can use to ensure that all the required
+ bits will be on the user's machine.
+ <sect3>
+ <heading>LIB_DEPENDS</heading>
+ <p>This variable specifies the shared libraries this port
+ depends on. It is a list of `<tt>lib:dir</tt>' pairs
+ where <tt>lib</tt> is the name of the shared library, and
+ <tt>dir</tt> is the directory in which to find it in case
+ it's not available. For example,
+<tscreen><verb>
+LIB_DEPENDS= tcl\\.7\\.:${PORTSDIR}/lang/tcl
+</verb></tscreen>
+ will check for a shared tcl library with major version 7,
+ and descend into the <tt>lang/tcl</tt> subdirectory of
+ your ports tree to build and install it if it's not found.
+
+ Note that the <tt>lib</tt> part is just an argument given
+ to `<tt>ldconfig -r | grep</tt>', so periods should be
+ escaped by two backslashes like in the example above.
+ <sect3>
+ <heading>EXEC_DEPENDS</heading>
+ <p>This variable specifies executables this port depends
+ on. It is a list of `<tt>exec:dir</tt>' pairs
+ where <tt>exec</tt> is the name of the executable, and
+ <tt>dir</tt> is the directory in which to find it in case
+ it's not available. For example,
+<tscreen><verb>
+EXEC_DEPENDS= wish:${PORTSDIR}/x11/tk
+</verb></tscreen>
+ will check for an executable called `<tt>wish</tt>', and
+ descend into the <tt>x11/tk</tt> subdirectory of your
+ ports tree to build and install it if it's not found.
+ <sect3>
+ <heading>DEPENDS</heading>
+ <p>If there is a dependency that doesn't fall into either of
+ the above two categories, or your port requires to have
+ the source of the other port extracted (i.e., having them
+ installed is not enough), then use this variable. This is
+ just a list of directories, as there is nothing to check,
+ unlike the previous two.
+
+ <sect2>
+ <heading>Building mechanisms</heading>
+ <p>If your package uses GNU <tt>make</tt>, set
+ `<tt>USE_GMAKE=yes</tt>'. If your package uses GNU
+ <tt>configure</tt>, set `<tt>GNU_CONFIGURE=yes</tt>'. If
+ you want to override the default GNU <tt>configure</tt>
+ arguments from `<tt>--prefix=&dollar;{PREFIX}</tt>' to
+ something else, set those arguments in
+ <tt>&dollar;{CONFIGURE_ARGS}</tt>.
+
+ <p>If your package uses <tt>imake</tt> (e.g. is an X
+ application that has an <tt>Imakefile</tt>), then set
+ `<tt>USE_IMAKE=yes</tt>'. This will cause the configure
+ stage to automatically do an <tt>xmkmf -a</tt>. If the
+ `<tt>-a</tt>' flag is a problem for your port, set
+ `<tt>XMKMF=xmkmf</tt>'.
+
+ <p>If your port's source Makefile has something else than
+ `<tt>all</tt>' as the main build target, set
+ <tt>&dollar;{ALL_TARGET}</tt> accordingly. Same goes for
+ `<tt>install</tt>' and <tt>&dollar;{INSTALL_TARGET}</tt>.
+
+ <sect2>
+ <heading>NO_INSTALL_MANPAGES</heading>
+ <p>If the port uses imake but doesn't understand the
+ `<tt>install.man</tt>' target,
+ `<tt>NO_INSTALL_MANPAGES=yes</tt>' should be set. In
+ addition, the author of the original port should be shot.
- </enum>
+ <sect1>
+ <heading>Licensing Problems</heading>
+ <p>Some software packages have restrictive licenses or are in
+ violation to the law (PKP's patent on public key crypto,
+ ITAR (export of crypto software) to name just two of them).
+ What we can do with them vary a lot, depending on the exact
+ wordings of the respective licenses.
+
+ <p>Note that it is your responsibility as a porter to read the
+ licensing terms of the software and make sure that the FreeBSD
+ project won't held accountable of violating them by
+ redistributing the source or compiled binaries either via ftp
+ or CD-ROM. If in doubt, please contact
+ <tt>ports@freebsd.org</tt>.
+
+ <p>We usually get around this problem by setting
+ <tt>&dollar;{NO_PACKAGE}</tt> in the Makefile, and not putting
+ the distfile up for ftp. However, for most cases, you should
+ at least be able to make a port, so don't let the license
+ scare you away!
+
+ <p>Note: The GNU General Public License (GPL), both version 1
+ and 2, shouldn't be a problem for ports.
+
+ <p>Note: If you are a commiter, make sure you update the
+ <tt>ports/LEGAL</tt> file too.
+
+ <sect1>
+ <heading>* Upgrading</heading>
+ <p>This section is still under construction, sorry.
-<sect1>
+ <sect1>
<heading>Do's and Dont's</heading>
- <p><enum>
-
- <item>Don't leave anything valuable lying around in
- <tt>&dollar;{WRKDIR}</tt>, `<tt>make clean</tt>' will
- <em>nuke</em> it completely! If you need auxilliary
- files that aren't scripts or patches, put them in
- <tt> &dollar;{FILESDIR}</tt>.
-
- <item>Do install package information, if possible. It
- would sure be nice if `<tt>make package</tt>' worked
- for the whole ports tree this time.
-
- <item>Do look at existing examples and the
- <tt>bsd.port.mk</tt> file before asking me questions!
- ;-)
-
- <item>Do ask me questions if you have any trouble!
- Don't just beat your head against a wall! :-)
-
- <item>Don't rely on custom utilities in your local
- configure script---they may not be there on the
- user's system! If you really need something else to
- be installed before you can work, detect this from
- your configure script, print a helpful message and
- exit with a non-zero status! At least you'll have
- given the user some idea of what's needed. If the
- custom utility or package is actually part of the
- ports tree, then set a pointer to it in your
- <tt>DEPENDS</tt> variable---the port structure will
- ensure that all <tt>DEPENDS</tt> targets are built
- first.
-
- <item>Do send applicable changes/patches to the
- original author/maintainer for inclusion in next
- release of the code. This will only make your job
- that much easier for the next release.
-
- </enum>
+ <p>Here's a list of common do's and dont's that you encounter
+ during the porting process.
+
+ <sect2>
+ <heading>WRKDIR</heading>
+ <p>Don't leave anything valuable lying around in the
+ `<tt>work</tt>' subdirectory, `<tt>make clean</tt>' will
+ <em>nuke</em> it completely! If you need auxiliary files
+ that aren't scripts or patches, put them in the subdirectory
+ `<tt>files</tt>' and use the <tt>post-extract</tt> target to
+ copy them to the `<tt>work</tt>' subdirectory.
+
+ <sect2>
+ <heading>Package information</heading>
+ <p>Do install package information, i.e., the three files in
+ <tt>pkg</tt>. Note that these files are not used only for
+ packaging anymore, and are <em>mandatory</em> now, even if
+ <tt>&dollar;{NO_PACKAGE}</tt> is set.
+
+ <sect2>
+ <heading>Compress manpages, strip binaries</heading>
+ <p>Do compress manpages and strip binaries. If the original
+ source already does that, fine; otherwise, you can add a
+ <tt>post-install</tt> rule to do it yourself. Make sure
+ that you check the variable <tt>NOMANCOMPRESS</tt> that the
+ user can set in <tt>/etc/make.conf</tt> to disable man page
+ compression. Here's an example:
+<tscreen><verb>
+post-install:
+ strip ${PREFIX}/bin/xdl
+.if !defined(NOMANCOMPRESS)
+ gzip -9nf ${PREFIX}/man/man1/xdl.1
+.endif
+</verb></tscreen>
+
+ <p>Use the <tt>file</tt> command on the installed executable
+ to check whether the binary is stripped or not. If it
+ doesn't say `not stripped', it is stripped.
+
+ <sect2>
+ <heading>Custom utilities</heading>
+ <p>Don't rely on custom utilities in your local configure
+ script or anything -- they may not be there on the user's
+ system! If you really need something else to be installed
+ before you can work, detect this from your configure script,
+ print a helpful message and exit with a non-zero status! At
+ least you'll have given the user some idea of what's needed.
+ If the custom utility or package is actually part of the
+ ports tree, this should be dealt by the dependency mechanism
+ of ports.
+
+ <p>Actually, if this utility is not part of the ports tree you
+ should probably make a port of this utility (this is how
+ many of the ports made it into the tree!). Depending on
+ something that is not part of the main FreeBSD distribution
+ or the ports tree is a bad idea, and the user should be able
+ to go to any subdirectory of <tt>/usr/ports</tt> and type
+ `<tt>make</tt>' and have that port, as well as everything it
+ requires, built automatically.
+
+ <sect2>
+ <heading>Feedback</heading>
+ <p>Do send applicable changes/patches to the original
+ author/maintainer for inclusion in next release of the code.
+ This will only make your job that much easier for the next
+ release.
+
+ <sect2>
+ <heading>RCS strings</heading>
+ <p>Don't put RCS strings in patches. CVS will mangle them
+ when we put the files into the ports tree, and when we check
+ them out again, they will come out different and the patch
+ will fail. RCS strings are surrounded by dollar
+ (`<tt>&dollar;</tt>') signs, and typically start with
+ `<tt>&dollar;Id</tt>' or `<tt>&dollar;RCS</tt>'.
+
+ <sect2>
+ <heading>Recursive diff</heading>
+ <p>Using the recurse (`<tt>-r</tt>') option to <tt>diff</tt>
+ to generate patches is fine, but please take a look at the
+ resulting patches to make sure you don't have any
+ unnecessary junk in there. In particular, diffs between two
+ backup files, Makefiles when the port uses imake or GNU
+ configure, etc., are unnecessary and should be deleted.
+ Also, if you had to delete a file, then you can do it in the
+ <tt>post-extract</tt> target rather than as part of the
+ patch.
+
+ <sect2>
+ <heading>PREFIX</heading>
+ <p>Do try to make your port install relative to
+ <tt>&dollar;{PREFIX}</tt> in your Makefiles. This will
+ normally be set to <tt>/usr/local</tt>, or
+ <tt>/usr/X11R6</tt> if <tt>&dollar;{USE_IMAKE}</tt> or
+ <tt>&dollar;{USE_X11}</tt> is set, though it can be
+ reassigned in your Makefile or in the users environment, if
+ need be.
+
+ <p>Not hard-coding <tt>/usr/local</tt> anywhere in your
+ installation will make the port much more flexible and cater
+ to the needs of other sites. Note that this doesn't count
+ for package `packing list' files since they have their own
+ scheme for relocating themselves and can be left independent
+ of <tt>&dollar;{PREFIX}</tt> unless the package is one that
+ hard-codes itself to a compiled-in location.
+
+ <sect2>
+ <heading>Subdirectories</heading>
+ <p>Try to let the port put things in the right subdirectories
+ of <tt>&dollar;{PREFIX}</tt>. Some ports lump everything
+ and put it in the subdirectory with the port's name, which is
+ incorrect. Also, many ports put everything except binaries,
+ header files and manual pages in the a subdirectory of
+ `<tt>lib</tt>', which does not bode well with the BSD
+ paradigm. Many of the files should me moved to one of the
+ following: `<tt>etc</tt>' (setup/configuration files),
+ `<tt>libexec</tt>' (executables started internally),
+ `<tt>sbin</tt>' (executables for superusers/managers) or
+ `<tt>share</tt>' (architecture independent files). See
+ <tt>hier(7)</tt> for details, the rule governing
+ <tt>/usr</tt> pretty much applies to <tt>/usr/local</tt>
+ too.
+
+ <sect2>
+ <heading>ldconfig</heading>
+ <p>If your port installs a shared library, add a
+ <tt>post-install</tt> target to your Makefile that runs
+ `<tt>ldconfig -m</tt>' on the directory where the new
+ library is installed (usually <tt>&dollar;{PREFIX}/lib</tt>)
+ to register it into the shared library cache.
+
+ <p>Also, add an <tt>@exec</tt> line to your <tt>pkg/PLIST</tt>
+ file so that a user who installed the package can start
+ using the shared library immediately. This line should
+ immediately follow the line for the shared library itself,
+ as in:
+<tscreen><verb>
+lib/libtcl.so.7.3
+@exec ldconfig -m %D/%F
+</verb></tscreen>
+
+ <p>Note: the `-m' option is new since 2.0.5 and
+ 2.1.0-950726-SNAP, so don't be alarmed if it doesn't work on
+ your machine.
+
+ <p>Never, ever, <em>ever</em> add a line that says
+ `<tt>ldconfig</tt>' without any arguments to your Makefile
+ or pkg/PLIST. This will reset the shared library cache to
+ the contents of <tt>/usr/lib</tt> only, and will royally
+ screw up the user's machine ("Help, xinit doesn't run
+ anymore after I install this port!"). Anybody who does this
+ will be shot and cut into 65,536 pieces by a rusty knife and
+ have his liver chopped out by a bunch of crows and will
+ eternally rot to death in the deepest bowels of hell (not
+ necessarily in that order)....
+
+ <sect2>
+ <heading>If you are stuck....</heading>
+ <p>Do look at existing examples and the <tt>bsd.port.mk</tt>
+ file before asking us questions! <tt>;)</tt>
+
+ <p>Do ask us questions if you have any trouble! Don't just
+ beat your head against a wall! <tt>:)</tt>
+
+ <sect1>
+ <heading>A Sample Makefile</heading>
+ <p>Here is a sample Makefile that you can use to create a new
+ port. Make sure you remove all the extra comments (ones
+ between brackets)!
+
+ <p>It is recommended that you follow this format (ordering of
+ variables, etc.). Not all of the existing Makefiles are in
+ this format (mostly old ones), but we are trying to uniformize
+ how they look. This format is designed so that the most
+ important information is easy to locate.
+
+<tscreen><verb>
+[the header...just to make it easier for us to identify the ports]
+# New ports collection makefile for: xdvi
+# Version required: 2.2 [things like "1.5alpha" are fine here too]
+# Date created: 26 May 1995
+[this is the person who did the original port to FreeBSD, in particular, the
+ person who wrote this Makefile]
+# Whom: Satoshi Asami <asami@FreeBSD.ORG>
+#
+# $Id: porting.sgml,v 1.2.4.1 1995-09-17 11:19:36 davidg Exp $
+[ ^^^^ don't worry about this...it will be automatically filled in by CVS when
+ it is committed to our repository]
+#
+
+[section to describe the package itself and main ftp site - DISTNAME
+ is always first, followed by PKGNAME (if necessary), CATEGORIES,
+ KEYWORDs (if necessary) and then MASTER_SITES, and optionally
+ EXTRACT_SUFX or DISTFILES]
+DISTNAME= xdvi
+PKGNAME= xdvi-pl18
+CATEGORIES+= printing
+[don't forget the trailing slash ("/")!]
+MASTER_SITES= ftp://crl.dec.com/pub/X11/contrib/applications/
+[set this if the source is not in the standard ".tar.gz" form]
+EXTRACT_SUFX= .tar.Z
+
+[section for distributed patches -- can be empty]
+PATCH_SITES= ftp://ftp.sra.co.jp/pub/X11/japanese/
+PATCHFILES= xdvi-18.patch1.gz xdvi-18.patch2.gz
+
+[maintainer; *mandatory*! This is the person (preferably with commit
+ privileges) who a user can contact for questions and bug reports - this
+ person should be the porter or someone who can forward questions to the
+ original porter reasonably promptly. If you really don't want to have your
+ address here, set it to "ports@FreeBSD.ORG".]
+MAINTAINER= asami@FreeBSD.ORG
+
+[dependencies -- can be empty]
+EXEC_DEPENDS= gs:${PORTSDIR}/print/ghostscript
+LIB_DEPENDS= Xpm\\.4\\.:${PORTSDIR}/graphics/xpm
+
+[this section is for other standard bsd.port.mk variables that don't belong to
+ any of the above]
+[If it extracts to a directory other than ${DISTNAME}...]
+WRKSRC= ${WRKDIR}/xdvi-new
+[If it asks questions during configure, build, install...]
+IS_INTERACTIVE= yes
+[If it requires "configure" in the distributed source directory to be run...]
+HAS_CONFIGURE= yes
+[If it requires GNU make, not /usr/bin/make, to build...]
+USE_GMAKE= yes
+[If it is an X application and requires "xmkmf -a" to be run...]
+USE_IMAKE= yes
+[et cetera.]
+
+[non-standard variables to be used in the rules below]
+MY_FAVORITE_RESPONSE= "yeah, right"
+
+[then the special rules, in the order they are called]
+pre-fetch:
+ i go fetch something, yeah
+
+post-patch:
+ i need to do something after patch, great
+
+pre-install:
+ and then some more stuff before installing, wow
+
+[and then the epilogue]
+.include <bsd.port.mk>
+</verb></tscreen>
+
+ <sect1>
+ <heading>Package Names</heading>
+
+ <p>The following are the conventions you should follow in
+ naming your packages. This is to have our package directory
+ easy to scan, as there are already lots and lots of packages
+ and users are going to turn away if they hurt their eyes!
+
+ <p>If your <tt>&dollar;{DISTNAME}</tt> does not look like
+ `<tt>&lt;name&gt;-&lt;version.string.numbers&gt;</tt>', set
+ <tt>&dollar;{PKGNAME}</tt> to something in that format.
+
+ <enum>
+ <item>The `<tt>&lt;name&gt;</tt>' part should be all
+ lowercases, except for a really large package (with lots of
+ programs in it). Things like XFree86 (yes there really is a
+ package of it, check it out) and ImageMagick fall into this
+ category. Otherwise, convert the name (or at least the
+ first letter) to lowercase. If the software in question
+ really is called that way, you can have numbers, hyphens and
+ underscores in the name too.
+
+ <item>The version string should be a period-separated list of
+ integers and single lowercase alphabets. The only exception
+ is the string `pl' (meaning `patchlevel'), which can be used
+ <em>only</em> when there are no major and minor version
+ numbers in the software.
+ </enum>
+
+ <p>Here are some (real) examples on how to convert a
+ <tt>&dollar;{DISTNAME}</tt> into a suitable
+ <tt>&dollar;{PKGNAME}</tt>:
+
+<tscreen><verb>
+DISTNAME PKGNAME Reason
+mule-2.2.2 mule-2.2.2 no prob at all
+XFree86-3.1.2 XFree86-3.1.2 ditto
+EmiClock-1.0.2 emiclock-1.0.2 no uppercase names for single programs
+gmod1.4 gmod-1.4 need hyphen after `<name>'
+xmris.4.02 xmris-4.02 ditto
+rdist-1.3alpha rdist-1.3a no strings like `alpha' allowed
+es-0.9-beta1 es-0.9b1 ditto
+v3.3beta021.src jpeg-5a what the heck was that anyway? ;)
+tvtwm tvtwm-pl11 version string always required
+piewm piewm-1.0 ditto
+xvgr-2.10pl1 xvgr-2.10.1 `pl' allowed only when no maj/minor numbers
+</verb></tscreen>
+
+ <p>If there is absolutely no trace of version information in the
+ original source and it is unlikely that the original author
+ will ever release another version, just set the version string
+ to `1.0' (like the piewm example above). Otherwise, ask the
+ original author or use the date string (`yy.mm.dd') as the
+ version.
+
+ <sect1>
+ <heading>That's It, Folks!</heading>
+
+ <p>Boy, this sure was a long tutorial, wasn't it? Thanks for
+ following us to here, really.
+ <p>Well, now that you know how to do a port, let's go at it and
+ convert everything in the world into ports! That is the
+ easiest way to start contributing to the FreeBSD Project!
+ <tt>:)</tt>
diff --git a/handbook/ports.sgml b/handbook/ports.sgml
index 0cb957954a..1c3a02dc33 100644
--- a/handbook/ports.sgml
+++ b/handbook/ports.sgml
@@ -1,7 +1,7 @@
-<!-- $Id: ports.sgml,v 1.2 1995-05-18 03:05:19 jfieber Exp $ -->
+<!-- $Id: ports.sgml,v 1.2.4.1 1995-09-17 11:19:38 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<sect><heading>The Ports collection<label id="ports:"></heading>
+<sect><heading>The Ports collection<label id="ports"></heading>
<p><em>Contributed by &a.gpalmer; and &a.jkh;.</em>
@@ -16,59 +16,75 @@ back of your computer!).
<sect1><heading>What is the FreeBSD Ports Collection?</heading>
-<p> People who (allegedly) know what they are doing have automated the
-process of ``porting'' software to FreeBSD, and the result is the
-Ports Collection. The general idea is that a combination of various
-programming tools available in the base FreeBSD installation will
-allow you to fetch the port from a FreeBSD mirror site, type ``make''
-and get the fully working program.
+<p> When 2.0 was released, the FreeBSD Project decided to attempt to
+automate the process of ``porting'' such software to FreeBSD, and the
+result is the Ports Collection. The general idea was that a
+combination of various programming tools already available in the base
+FreeBSD installation would allow you to simply type `make' for a given
+port and have the underlying ports mechanism automatically fetch the
+port from a FreeBSD mirror site, apply any special configuration
+knowledge to it and then build it to result in a fully working version
+of the program.
The ports collection itself normally doesn't have any of the
original source code necessary for the compilation in the tree, just
those shell scripts, Makefiles and source code ``diffs'' that are
-necessary to compile the program under FreeBSD. This is meant to keep
-the entire system down to a manageable size, and the current system
-has over 100 ports in the master source tree, and yet a compressed tar
-file of that tree is about 2 megabytes (all the source code needed is
-over 100Mb's!).
+necessary to configure and compile the program under FreeBSD. This
+keeps the entire system down to a manageable size, with the current
+system having over 300 ports in the master source tree and yet taking
+up less than ten megabytes.
<sect1><heading>How does the system compile with no source code?</heading>
-<p> A ports' Makefile automatically looks in a central location on
-your system (usually /usr/ports/distfiles, though this value can be
+<p> The Makefile for a port automatically looks in a central location
+on your system (usually /usr/ports/distfiles, though this value can be
customized) for the associated set of original distribution files that
-have been ``ported''. These are generally provided at various places
-on the Internet, though if you have a CDROM distribution of FreeBSD
-then you've already got them available on your CD for ease of use.
-See section 3.1 if you have such a CD distribution, otherwise skip to
-section 3.2.
-
-<!--
-3.1 Compiling ports from CD
-
- Type something profound here.
--->
-
-<sect2><heading>Compiling ports using an Internet connection</heading>
+have been ``ported''. Those not found locally are searched for
+wherever they're generally provided on the Internet. If you have a
+CDROM distribution of FreeBSD then you've already got them available
+on your CD for ease of use. See <ref id="ports:cd"
+name="Compiling ports from CD"> if you have such a CDROM
+distribution, otherwise skip to <ref id="ports:inet"
+name="Compiling ports using an Internet connection">.
+
+<sect1><heading>Compiling ports from CDROM<label id="ports:cd"></heading>
+
+<p>The ports collection is easy to use from CDROM, and all you need to
+do is to create a "link tree" to it using the <tt>lndir(1)</tt> command that
+comes with the <em>XFree86</em> distribution. Find a location with
+some free space and create a directory there, and make a symbolic link
+from <tt>/usr/ports</tt> to that directory. Then invoke the <tt>lndir(1)</tt> command with
+the full pathname of the ``ports'' directory on the CDROM as an
+argument (this might be, for example, something like: <tt>lndir
+/cdrom/ports</tt>). Then you can build ports directly off the CDROM by
+building them in the link tree you've created.
+
+Note that there are some ports for which we can't provide the original
+source in the CDROM due to licensing limitations. In that case,
+you'll need to look at the next section (<ref id="ports:inet"
+name="Compiling ports using an Internet connection">).
+
+<sect1><heading>Compiling ports using an Internet connection<label id="ports:inet"></heading>
<p> The ports collection can also use an auto-fetch system to keep
your ports collection source tree up to date, updating the central
``distfiles'' version for you the next time you compile the port.
- Of course, this always assumes you have a permanent network link,
-or don't mind heavy usage of your telephone. If you don't want heavy
-network usage when you compile your ports tree, you can pre-fetch the
+ Of course, this assumes you have a permanent network link or don't
+mind heavy usage of your telephone. If you don't want heavy network
+usage when you compile your ports tree, you can pre-fetch the
necessary tarballs beforehand and put them into /usr/ports/distfiles
-(or wherever DISTDIR points) by hand. A good way to see what files a
-port is going to need is to cd to that port's directory and do a
-``make -n fetch'' to see what it does.
+by hand. A good way to see what files a port is going to need is to
+cd to that ports' directory and do a <tt>make fetch-list</tt> to see what
+it does. The output of <tt>make fetch-list</tt> can also be used as a
+shell script to fetch the ports' tarballs at a well-connected machine.
You can also chose to get the source files either from the master
FTP site as defined in the relevant Makefile (in the MASTER_SITES
line), or some FreeBSD mirror site also carrying a set of distfiles,
as does the master FTP site on ftp.FreeBSD.org (aka ftp.cdrom.com) in
-the directory /pub/FreeBSD/ports/distfiles. Note that the files in
+the directory <tt>/pub/FreeBSD/distfiles</tt>. Note that the files in
that directory are not guarenteed to be kept up to date - this is a
volunteer project! We can't make any guarantees about the mirror
sites either - they are obviously under independant control and don't
@@ -83,8 +99,8 @@ going to the top of the tree and typing ``make fetch''.
<p>Oh. You can do one of four (4) things :
<enum>
-<item> Fix it yourself. Technical details can be found in the GUIDELINES file,
- available from URL ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/GUIDELINES
+<item> Fix it yourself. Technical details can be found in
+ <ref id="porting" name="Porting applications">.
<item> Gripe. This is done by e-mail *ONLY*! The people at Walnut Creek are
in no way responsible for the functionality (or lack thereof) of the
@@ -103,7 +119,7 @@ going to the top of the tree and typing ``make fetch''.
bug!
<item> Forget it. This is the easiest for most - very few of the programs in
- ports can be classed as `essential'!
+ ports can be classified as `essential'!
<item> Grab the pre-compiled package from a ftp server. The ``master'' package
collection is in:
@@ -112,7 +128,8 @@ going to the top of the tree and typing ``make fetch''.
though check your local mirror first, please!
These are more likely to work (on the whole) than trying to compile from
- source, and a lot faster!
+ source, and a lot faster! Use the <tt>pkg_add(1)</tt> or <tt>pkg_manage(1)</tt> program to
+ install them to your system.
</enum>
<sect1><heading>I've ported a program and I want to make a port out of it. What now?</heading>
@@ -124,35 +141,21 @@ going to the top of the tree and typing ``make fetch''.
<sect1><heading>I've got a good port, what now?</heading>
-<p> Upload the fixed version to freefall.cdrom.com /pub/incoming or
-ftp.FreeBSD.org /pub/FreeBSD/incoming and send e-mail to
+<p>Upload the fixed version to <tt>ftp://freefall.cdrom.com/pub/incoming</tt> or
+<tt>ftp://ftp.FreeBSD.org/pub/FreeBSD/incoming</tt> and send e-mail to
ports@FreeBSD.org with the filename and details. Someone on the
all-volunteer `ports committee' will (hopefully) look it over and
commit it to the ports collection if they like the looks of it.
-<sect1><heading>Things go funny during the fetch stage of compilation!</heading>
-
-<p> We know. Please don't blame us. There is a program called `ncftp'
-which is used instead of the normal ftp as it can do so-called
-``background'' or ``batch'' transfers, ideal for this situation.
-Unfortunately it can do strange things, and has crashed at least one
-machine (during circumstances stranger than most, I'll admit, but it
-was still responsible). Hopefully a future release of ncftp will fix
-these problems (it is not maintained by the main FreeBSD team, but a
-third party, who is I believe aware of its shortcomings)
-
-
<sect1><heading>I want to leave the compile going overnight, but some ports don't like this.</heading>
<p> There is a way around this. Before starting the compilation, type:
<verb>
setenv BATCH yes # (if you use csh/tcsh) or
- BATCH=yes # (for sh/bash)
+ BATCH=yes; export BATCH # (for sh/bash)
</verb>
- This should miss out ports which need user interaction. Unfortunately,
-ncftp doesn't know about this trick, and can often screw up and ask
-stupid questions in unattended batch mode. See (7).
+ This should skip ports which need user interaction to build.
To compile those ports left out by doing the above, using a
different login shell (or unsetting the above BATCH variable), set the
@@ -170,7 +173,7 @@ the weirdness can be explained properly in there (most of the current
weirdness is due to the lack of assumptions about anything, which is
necessary due to the generic nature of these files). Also check that
you have an up-to-date copy, as the file can change from minute to
-minute. A reasonably up-to-date copy can be found in:
+minute. The most up-to-date copy can be found in:
<url url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/mk">
@@ -195,15 +198,11 @@ time now! :-)
<sect1><heading>How do I get more information on all the ports?</heading>
<p> One good method is to cd to the top of the ports tree (say /usr/ports)
-and type something like:
+and type:
<verb>
- make describe | sed -e '/===/D' -e 's;/usr/ports/;;' | expand -40
+ make print-index
</verb>
-The ``make describe'' will try to extract the one-line description from
-each port, and the ``sed'' will delete the extraneous output. ``expand''
-just makes it a little more readable (sort of - you may want to season
-the output of this more to taste).
-
+This will print a summary of all ports in the tree.
<sect1><heading>I've heard of a new checksum system. What is this for?</heading>
diff --git a/handbook/ppp.sgml b/handbook/ppp.sgml
index 92d82bc289..564b6c26f4 100644
--- a/handbook/ppp.sgml
+++ b/handbook/ppp.sgml
@@ -1,7 +1,7 @@
-<!-- $Id: ppp.sgml,v 1.1.1.1 1995-04-28 16:19:59 jfieber Exp $ -->
+<!-- $Id: ppp.sgml,v 1.1.1.1.4.1 1995-09-17 11:19:39 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<sect><heading>Setting up a PPP link</heading>
+<sect><heading>Setting up kernel PPP<label id="ppp"></heading>
<p><em>Contributed by &a.gena;.</em>
@@ -50,7 +50,7 @@ To connect:
<enum>
<item> Dial to the remote host using kermit ( or other modem program )
enter your user name and password ( or whatever is needed to enable PPP
-ont the remote host )
+on the remote host )
<item> Exit kermit. ( without hanging up the line )
diff --git a/handbook/scsi.sgml b/handbook/scsi.sgml
index babcd0db8e..7213fa0ef7 100644
--- a/handbook/scsi.sgml
+++ b/handbook/scsi.sgml
@@ -1,11 +1,11 @@
-<!-- $Id: scsi.sgml,v 1.1.1.1 1995-04-28 16:19:59 jfieber Exp $ -->
+<!-- $Id: scsi.sgml,v 1.1.1.1.4.1 1995-09-17 11:19:39 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
<!--
<title>An introduction to SCSI and its use with FreeBSD</title>
<author>(c) 1995, Wilko Bulte, <tt/wilko@yedi.iaf.nl/
- <date>V0.2, Thu Apr 20 22:45:23 MET DST 1995</date>
- Copyright 1995, W. C. Bulte, Arnhem, The Netherlands
+ <date>Sun Sep 3 17:14:48 MET DST 1995</date>
+ Copyright 1995, Wilko C. Bulte, Arnhem, The Netherlands
<abstract>
This document attempts to describe the background of SCSI, its
@@ -13,9 +13,9 @@
</abstract>
-->
- <sect><heading>SCSI</heading>
+ <sect><heading>SCSI<label id="scsi"></heading>
- <p><em>&copy; 1995, &a.wilko;.</em>
+ <p><em>&copy; 1995, &a.wilko;.<newline>3 September 1995.</em>
SCSI is an acronym for Small Computer Systems Interface. It is an
ANSI standard that has become one of the leading I/O buses in the
@@ -28,7 +28,7 @@
standard allowing devices from different vendors to work together.
This effort was recognised in the ANSI SCSI-1 standard. The SCSI-1
standard (approx 1985) is now more or less obsolete. The current
- standard is SCSI-2 (see <ref id="further-reading" name="Further
+ standard is SCSI-2 (see <ref id="scsi:further-reading" name="Further
reading">), with SCSI-3 on the drawing boards.
In addition to a physical interconnection standard, SCSI defines a
@@ -38,7 +38,7 @@
includes the (revised) CCS as part of the standard itself. The
commands are dependent on the type of device at hand. It does not
make much sense of course to define a Write command for a
- scanner...
+ scanner.
The SCSI bus is a parallel bus, which comes in a number of
variants. The oldest and most used is an 8 bit wide bus, with
@@ -87,10 +87,10 @@
QIC tape unit, a SCSI-1 helical scan tape unit and 2 SCSI-1 disks
work together quite happily.
- <sect1>Concepts of SCSI
+ <sect1><heading>Components of SCSI</heading>
<p>
- <sect2>A <it>smart</it> interface
- <p>
+<!-- <sect2><heading>A <it>smart</it> interface</heading>
+ <p> -->
As said before, SCSI devices are smart. The idea is to put the
knowledge about intimate hardware details onto the SCSI device
itself. In this way, the host system does not have to worry
@@ -104,8 +104,8 @@
there is no longer a need to change (and qualify!) drivers for
every odd new device that is introduced.
- <sect2>Do's and don't's on interconnections
- <p>
+<!-- <sect2><heading>Do's and don't's on interconnections</heading>
+ <p> -->
For cabling and connectors there is a golden rule: get good
stuff. With bus speeds going up all the time you will save
yourself a lot of grief by using good material.
@@ -116,9 +116,10 @@
hunting down a problem with a flaky machine only to discover that
shortening the SCSI bus with 1 meter solved the problem. And the
original bus length was well within the SCSI specification.
- <sect2>SCSI bus types
+
+ <sect2><heading>SCSI bus types</heading>
<p>
- From an electrical point of view, there are two Incompatible bus
+ From an electrical point of view, there are two incompatible bus
types: single-ended and differential. This means that there are
two different main groups of SCSI devices and controllers, which
cannot be mixed on the same bus. It is possible however to use
@@ -148,7 +149,7 @@
that on a narrow (8 bit) bus 10 Mbytes/sec are possible instead
of 5 Mbytes/sec for 'slow' SCSI. More on this later.
- It should be noted that the datalines > 8 are only used for
+ It should be noted that the datalines &gt; 8 are only used for
datatransfers and device addressing. The transfers of commands
and status messages etc are only performed on the lowest 8
datalines. The standard allows narrow devices to operate on
@@ -156,7 +157,7 @@
between the devices. You have to watch your device addressing
closely when mixing wide and narrow.
- <sect3>Single ended buses
+ <sect3><heading>Single ended buses</heading>
<p>
A single-ended SCSI bus uses signals that are either 5 Volts or
0 Volts (indeed, TTL levels) and are relative to a COMMON
@@ -177,7 +178,7 @@
differential SCSI bus was introduced in the SCSI-2 standard.
For connector pinning and connector types please refer to the
- SCSI-2 standard (see <ref id="further-reading" name="Further
+ SCSI-2 standard (see <ref id="scsi:further-reading" name="Further
reading">) itself, connectors etc are listed there in
painstaking detail.
@@ -190,7 +191,7 @@
is a bad idea, you better stick to 50 pins cabling
in accordance with the SCSI standard.
- <sect3>Differential buses
+ <sect3><heading>Differential buses</heading>
<p>
A differential SCSI bus has a maximum length of 25
meters. Quite a difference from the 3 meters for a single-ended
@@ -216,7 +217,7 @@
AH1740 as a single ended board, whereas the AH1744 was differential.
The software interface to the host is identical for both.
- <sect3>Terminators
+ <sect2><heading>Terminators</heading>
<p>
Terminators in SCSI terminology are resistor networks that are
used to get a correct impedance matching. Impedance matching
@@ -277,7 +278,7 @@
for the internal flat cable connectors. This makes
reconfiguration much easier.
- <sect3>Terminator power
+ <sect2><heading>Terminator power</heading>
<p>
The terminators discussed in the previous chapter need power to
operate properly. On the SCSI bus, a line is dedicated to this
@@ -317,7 +318,7 @@
configurable, using some sort of setup tool. Consult you
documentation!
- <sect3>Device addressing
+ <sect2><heading>Device addressing</heading>
<p>
Because the SCSI bus is, ehh, a bus there must be a way to
distinguish or address the different devices connected to it.
@@ -349,7 +350,7 @@
tapechanger. In this way, the host system can address each of
the parts of the tape unit as desired.
- <sect3>Bus layout
+ <sect2><heading>Bus layout</heading>
<p>
SCSI buses are linear. So, not shaped like Y-junctions, star
topologies, cobwebbs or whatever else people might want to
@@ -364,9 +365,9 @@
<bf>Stick to the linear bus rule!</bf>
- <sect1>Using SCSI with FreeBSD
+ <sect1><heading>Using SCSI with FreeBSD</heading>
<p>
- <sect2>About translations, BIOSes and magic..
+ <sect2><heading>About translations, BIOSes and magic...</heading>
<p>
As stated before, you should first make sure that you have a
electrically sound bus.
@@ -445,10 +446,10 @@ Feb 9 19:33:46 yedi /386bsd: sd0: 636MB (1303250 total sec), 1632 cyl, 15 head,
the value reported by the drive when inquiring about the geometry
now becomes fake.
- <sect2>SCSI subsystem design
+ <sect2><heading>SCSI subsystem design</heading>
<p>
- FreeBSD uses a sort of layered SCSI subsystem. For each different
- controller card a so called device driver is written. This driver
+ FreeBSD uses a layered SCSI subsystem. For each different
+ controller card a device driver is written. This driver
knows all the intimate details about the hardware it
controls. The driver has a interface to the upper layers of the
SCSI subsystem through which it receives it's commands and
@@ -465,20 +466,98 @@ Feb 9 19:33:46 yedi /386bsd: sd0: 636MB (1303250 total sec), 1632 cyl, 15 head,
banging and more high level stuff. Adding support for another
piece of hardware is a much more managable problem.
- <sect2>Kernel configuration
+ <sect2><heading>Kernel configuration</heading>
<p>
Dependent on your hardware, the kernel configuration file must
- contain a line which describes your hostadapter. This includes
- I/O addresses, interrupts etc. Consult the man page for your
- adapter driver to get more info.
-
- Although it is probably an obvious remark: the kernel config
+ contain one or more lines describing your hostadapter(s).
+ This includes I/O addresses, interrupts etc.
+ Consult the man page for your
+ adapter driver to get more info. Apart from that, check out
+ /sys/i386/conf/LINT for an overview of a kernel config file.
+ LINT contains every possible option you can dream of. It
+ does <em>not</em> imply LINT will actually get you to a
+ working kernel at all.
+
+ Although it is probably stating the obvious: the kernel config
file should reflect your actual hardware setup. So, interrupts,
- I/O addresses etc must match the kernel config file.
+ I/O addresses etc must match the kernel config file. During
+ system boot messages will be displayed to indicate whether
+ the configured hardware was actually found.
- An example from the kernel config file (they live in
- <tt>/sys/i386/conf</tt> BTW), with some added comments (between
- &lsqb;&rsqb;):
+ An example based on the FreeBSD 2.0.5-Release kernel config
+ file LINT with some added comments (between &lsqb;&rsqb;):
+
+ <verb>
+
+# SCSI host adapters: `aha', `ahb', `aic', `bt', `nca'
+#
+# aha: Adaptec 154x
+# ahb: Adaptec 174x
+# ahc: Adaptec 274x/284x/294x
+# aic: Adaptec 152x and sound cards using the Adaptec AIC-6360 (slow!)
+# bt: Most Buslogic controllers
+# nca: ProAudioSpectrum cards using the NCR 5380 or Trantor T130
+# uha: UltraStore 14F and 34F
+# sea: Seagate ST01/02 8 bit controller (slow!)
+# wds: Western Digital WD7000 controller (no scatter/gather!).
+#
+# Note that the order is important in order for Buslogic cards to be
+# probed correctly.
+#
+
+&lsqb;For a Bustek controller&rsqb;
+controller bt0 at isa? port "IO_BT0" bio irq ? vector btintr
+
+&lsqb;For an Adaptec AHA274x, 284x etc controller&rsqb;
+controller ahc0 at isa? bio irq ? vector ahcintr # port??? iomem?
+
+&lsqb;For an Adaptec AHA174x controller&rsqb;
+controller ahb0 at isa? bio irq ? vector ahbintr
+
+&lsqb;For an Adaptec AHA154x controller&rsqb;
+controller aha0 at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr
+
+&lsqb;For an Ultrastor adapter&rsqb;
+controller uha0 at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
+
+controller scbus0 #base SCSI code
+
+disk sd0 at scbus0 target 0 unit 0 [SCSI disk 0 is at scbus 0, LUN 0]
+disk sd1 at scbus0 target 1 [implicit LUN 0 if omitted]
+disk sd2 at scbus0 target 3
+disk sd3 at scbus0 target 4
+tape st1 at scbus0 target 6 [SCSI tape at target 6]
+device cd0 at scbus? [the first ever CDROM found, no wiring]
+
+ </verb>
+
+ The example above tells the kernel to look for a bt (Bustek)
+ controller, then for an Adaptec 274x, 284x etc board, and
+ so on. The lines following the controller specifications
+ tell the kernel to configure specific devices but
+ <em>only</em> attach them when they match the target ID and
+ LUN specified.
+
+ So, if you had a SCSI tape at target ID 2 it would not be
+ configured, but it will attach when it is at target ID 6.
+
+ Below is another example of a kernel config file as used by
+ FreeBSD version < 2.0.5. The difference with the first example is
+ that devices are not 'wired down'. 'Wired down' means
+ that you specify which SCSI target belongs to which device.
+
+ A kernel built to the config file below will attach
+ the first SCSI disk it finds to sd0, the second disk to sd1
+ etc. If you ever removed or added a disk, all other devices
+ of the same type (disk in this case) would 'move around'.
+ This implies you have to change /etc/fstab each time.
+
+ Although the old style still works, you
+ are <em>strongly</em> recommended to use this new feature.
+ It will save you a lot of grief whenever you shift your
+ hardware around on the SCSI buses. So, when you re-use
+ your old trusty config file after upgrading from a
+ pre-FreeBSD2.0.5.R system check this out.
<verb>
controller ahb0 at isa? bio irq 11 vector ahbintr &lsqb;driver for Adaptec 174x&rsqb;
@@ -498,11 +577,7 @@ device st1
device cd0 #Only need one of these, the code dynamically grows &lsqb;for the cdrom&rsqb;
</verb>
- So, the ahb driver is used for the Adaptec 1740, the aha driver
- for the Adaptec 154x etc. If you have more than one card of the
- same type in your system you get an ahb1, ahb2 line etc.
-
- The example above supports 4 SCSI disks. If during boot more
+ Both examples support 4 SCSI disks. If during boot more
devices of a specific type (e.g. sd disks) are found than are
configured in the booting kernel, the system will complain. You
will have to build and boot a new kernel (after adapting the kernel
@@ -514,7 +589,7 @@ device cd0 #Only need one of these, the code dynamically grows &lsq
subsystem. For more detailed info on hostadapter drivers use eg
<tt>man 4 aha</tt> for info on the Adaptec 154x driver.
- <sect2>Tuning your SCSI kernel setup
+ <sect2><heading>Tuning your SCSI kernel setup</heading>
<p>
Experience has shown that some devices are slow to respond to INQUIRY
commands after a SCSI bus reset. An INQUIRY command is sent by the kernel
@@ -534,7 +609,7 @@ options "SCSI_DELAY=15" #Be pessimistic about Joe SCSI device
with device recognition. If this helps, tune it back until it just stays
working.
- <sect2>Rogue SCSI devices
+ <sect2><heading>Rogue SCSI devices</heading>
<p>
Although the SCSI standard tries to be complete and concise, it is
a complex standard and implementing things correctly is no easy task.
@@ -570,7 +645,7 @@ Mar 29 21:16:37 yedi /386bsd: st1: Archive Viper 150 is a known rogue
to connect your bogus Mumbletech SCSI cdrom you might be the one
that has to define which workaround is needed.
- <sect2>Busmaster host adapters
+ <sect2><heading>Busmaster host adapters</heading>
<p>
Most, but not all, SCSI host adapters are bus mastering controllers.
This means that they can do I/O on their own without putting load onto
@@ -601,7 +676,7 @@ options "TUNE_1542" #dynamic tune of bus DMA speed
Check the man pages for the host adapter that you use. Or better
still, use the ultimate documentation (read: driver source).
- <sect1>Tracking down problems
+ <sect1><heading>Tracking down problems</heading>
<p>
The following list is an attempt to give a guideline for the most
common SCSI problems and their solutions. It is by no means
@@ -627,7 +702,7 @@ options "TUNE_1542" #dynamic tune of bus DMA speed
If possible, configure your hostadapter to use slow bus speeds.
</itemize>
- <sect1><heading>Further reading<label id="further-reading"></>
+ <sect1><heading>Further reading<label id="scsi:further-reading"></heading>
<p>
If you intend to do some serious SCSI hacking, you might want to
have the official standard at hand:
@@ -644,44 +719,46 @@ options "TUNE_1542" #dynamic tune of bus DMA speed
BBS (719-574-0424) and on the ncrinfo.ncr.com anonymous ftp site.
Latest X3T10 committee documents are:
- <verb>
- AT Attachment (ATA or IDE) &lsqb;X3.221-1994&rsqb; Approved
- ATA Extensions (ATA-2) &lsqb;X3T10/948D Rev 2i&rsqb;
- Enhanced Small Device Interface (ESDI) &lsqb;X3.170-1990/X3.170a-1991&rsqb; Approved
- Small Computer System Interface - 2 (SCSI-2) &lsqb;X3.131-1994&rsqb; Approved
- SCSI-2 Common Access Method Transport and SCSI Interface Module (CAM)
+ <itemize>
+<item>AT Attachment (ATA or IDE) &lsqb;X3.221-1994&rsqb; (<em>Approved</em>)
+<item>ATA Extensions (ATA-2) &lsqb;X3T10/948D Rev 2i&rsqb;
+<item>Enhanced Small Device Interface (ESDI) &lsqb;X3.170-1990/X3.170a-1991&rsqb; (<em>Approved</em>)
+<item>Small Computer System Interface - 2 (SCSI-2) &lsqb;X3.131-1994&rsqb; (<em>Approved</em>)
+<item>SCSI-2 Common Access Method Transport and SCSI Interface Module (CAM)
&lsqb;X3T10/792D Rev 11&rsqb;
- </verb>
+ </itemize>
Other publications that might provide you with additional information are:
- <verb>
-"SCSI: Understanding the Small Computer System Interface", written by NCR
+<itemize>
+<item>"SCSI: Understanding the Small Computer System Interface", written by NCR
Corporation. Available from: Prentice Hall, Englewood Cliffs, NJ, 07632
Phone: (201) 767-5937 ISBN 0-13-796855-8
-"Basics of SCSI", a SCSI tutorial written by Ancot Corporation
+<item>"Basics of SCSI", a SCSI tutorial written by Ancot Corporation
Contact Ancot for availability information at:
Phone: (415) 322-5322 Fax: (415) 322-0455
-"SCSI Interconnection Guide Book", an AMP publication (dated 4/93, Catalog
+<item>"SCSI Interconnection Guide Book", an AMP publication (dated 4/93, Catalog
65237) that lists the various SCSI connectors and suggests cabling schemes.
Available from AMP at (800) 522-6752 or (717) 564-0100
-"Fast Track to SCSI", A Product Guide written by Fujitsu.
+<item>"Fast Track to SCSI", A Product Guide written by Fujitsu.
Available from: Prentice Hall, Englewood Cliffs, NJ, 07632
Phone: (201) 767-5937 ISBN 0-13-307000-X
-"The SCSI Bench Reference", "The SCSI Encyclopedia", and the "SCSI Tutor",
+<item>"The SCSI Bench Reference", "The SCSI Encyclopedia", and the "SCSI Tutor",
ENDL Publications, 14426 Black Walnut Court, Saratoga CA, 95070
Phone: (408) 867-6642
-"Zadian SCSI Navigator" (quick ref. book) and "Discover the Power of SCSI"
+<item>"Zadian SCSI Navigator" (quick ref. book) and "Discover the Power of SCSI"
(First book along with a one-hour video and tutorial book), Zadian Software,
Suite 214, 1210 S. Bascom Ave., San Jose, CA 92128, (408) 293-0800
- </verb>
+ </itemize>
- On Usenet the newsgroups comp.periphs.scsi and comp.periphs are
- noteworthy places to look for more info. You can also find the
- SCSI-Faq there, which posted periodically.
+ On Usenet the newsgroups <htmlurl
+ url="news:comp.periphs.scsi" name="comp.periphs.scsi">
+ and <htmlurl url="news:comp.periphs" name="comp.periphs">
+ are noteworthy places to look for more info. You can also
+ find the SCSI-Faq there, which is posted periodically.
Most major SCSI device and hostadapter suppliers operate ftp sites
and/or BBS systems. They may be valuable sources of information
diff --git a/handbook/slipc.sgml b/handbook/slipc.sgml
index 57323233e9..04a357ec76 100644
--- a/handbook/slipc.sgml
+++ b/handbook/slipc.sgml
@@ -1,9 +1,9 @@
-<!-- $Id: slipc.sgml,v 1.1.1.1.4.1 1995-09-17 11:03:24 davidg Exp $ -->
+<!-- $Id: slipc.sgml,v 1.1.1.1.4.2 1995-09-17 11:19:41 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<sect><heading>Setting up a SLIP client</heading>
+<sect><heading>Setting up a SLIP client<label id="slipc"></heading>
-<p><em>Contributed by &a.asami;.</em>
+<p><em>Contributed by &a.asami;<newline>8 Aug 1995.</em>
The following is one way to set up a FreeBSD machine for SLIP on a
static host network. For dynamic hostname assignments (i.e., your
@@ -16,37 +16,23 @@ just for your reference, I'm no expert in SLIP nor networking so your
mileage may vary.
-->
-Note: for 1.1 systems (not 1.1.5), you need to use /dev/tty01 instead
-of /dev/cua01. substitute all the occurences of "cua" in this document
-with "tty".
-
-Note: the default 1.1.5(.1) system only comes with cua/ttyd pairs for
-the last two ports (2 and 3), so if your modem is at sio0/sio1
-(COM1/COM2), you need to make the devices. Try "cd /dev; sh MAKEDEV
-cua01" to make the new special files for sio1 (ditto for sio0). This
-will delete tty01, but you shouldn't need it anymore...or you can make
-a symbolic link /dev/tty01 -> ttyd1 if you don't want to hunt down all
-occurences of tty01 in your setup files.
-
-I actually have a symbolic link /dev/modem -> cua01 (and /dev/mouse ->
-ttyd0). I use only the modem/mouse names in my configuration files.
-This helped a lot when I switched from 1.1 to 1.1.5.1 (tty01 => cua01)
-and when I had to move my modem temporarily to sio2 to enable the
-RS-232C port on the serial card. It can become quite cumbersome when
-you need to fix a bunch of files in /etc and .kermrc's all over the
-system!
-
-First, make sure you have
+First, determine which serial port your modem is connected to. I have
+a symbolic link /dev/modem -> cuaa1, and only use the modem name in my
+configuration files. It can become quite cumbersome when you need to
+fix a bunch of files in /etc and .kermrc's all over the system! (Note
+that /dev/cuaa0 is COM1, cuaa1 is COM2, etc.)
+
+Make sure you have
<verb>
-pseudo-device sl 2
+pseudo-device sl 1
</verb>
-in your kernel's config file. It is included in the GENERIC, GENERICAH
-and GENERICBT kernels, so this won't be a problem unless you deleted it.
+in your kernel's config file. It is included in the GENERIC kernel,
+so this won't be a problem unless you deleted it.
<sect1><heading>Things you have to do only once</heading>
<p><enum>
-<item> Add your home machine, the gateway and nameservers to your
+<item>Add your home machine, the gateway and nameservers to your
/etc/hosts file. Mine looks like this:
<verb>
127.0.0.1 localhost loghost
@@ -59,48 +45,70 @@ and GENERICBT kernels, so this won't be a problem unless you deleted it.
By the way, silvia is the name of the car that I had when I was
back in Japan (it's called 2?0SX here in U.S.).
-<item> Make sure you have "hosts" before "bind" in your /etc/host.conf.
+<item>Make sure you have "hosts" before "bind" in your /etc/host.conf.
Otherwise, funny things may happen.
-<item> Edit the /etc/netstart and add this to the end of the file:
+<item>Edit the file /etc/sysconfig.
+<enum>
+<item>Set your hostname by editing the line that says:
+<verb>
+hostname=myname.my.domain
+</verb>
+ You should give it your full Internet hostname.
+
+<item>Add sl0 to the list of network interfaces by changing the line
+that says:
+<verb>
+network_interfaces="lo0"
+</verb>
+to:
+<verb>
+network_interfaces="lo0 sl0"
+</verb>
+
+<item>Set the startup flags of sl0 by adding a line:
<verb>
-# set up slip
-gateway=slip-gateway
-ifconfig sl0 inet $hostname $gateway netmask 0xffffff00
-route add default $gateway
+ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"
</verb>
- Note that because of the "slip-gateway" entry in /etc/hosts, there
- is no local dependency in the netstart file. Also, you might want
- to un-comment the "<verb>route add $hostname localhost</verb>" line.
-<item> Make a file /etc/resolv.conf which contains:
+<item>Designate the default router by changing the line:
+<verb>
+defaultrouter=NO
+</verb>
+to:
+<verb>
+defaultrouter=slip-gateway
+</verb>
+</enum>
+
+<item>Make a file /etc/resolv.conf which contains:
<verb>
domain HIP.Berkeley.EDU
nameserver 128.32.136.9
nameserver 128.32.136.12
</verb>
As you can see, these set up the nameserver hosts. Of course, the
- actual addresses depend on your environment.
+ actual domain names and addresses depend on your environment.
-<item> Set the password for root and toor (and any other accounts that
+<item>Set the password for root and toor (and any other accounts that
doesn't have a password). Use passwd, don't edit the passwd or
passwd.master files!
-<item> Edit /etc/myname and reboot the machine.
+<item>Reboot your machine and make sure it comes up with the correct
+ hostname.
</enum>
-
<sect1><heading>Making a SLIP connection</heading>
<p><enum>
-<item> Dial up, type "slip" at the prompt, enter your machine name and
+<item>Dial up, type "slip" at the prompt, enter your machine name and
password. The things you need to enter depends on your
environment. I use kermit, with a script like this:
<verb>
# kermit setup
set modem hayes
-set line /dev/cua01
-set speed 57600
+set line /dev/modem
+set speed 115200
set parity none
set flow rts/cts
set terminal bytesize 8
@@ -119,27 +127,21 @@ output ***\x0d, echo \x0aCONNECTED\x0a
filesystem is generally a BAD idea. Do it at your own risk. I'm
just too lazy.
- Note: If you have an 1.1 machine, and kermit doesn't give you a
- prompt, try "stty -f /dev/tty01 clocal". I put this in
- /etc/rc.local so that it works the first time I boot the machine.
- This doesn't apply to 1.1.5(.1) systems, as cua0? are already
- configured for dialouts.
-
-<item> Leave the kermit there (you can suspend it by "z") and as root,
+<item>Leave the kermit there (you can suspend it by "z") and as root,
type
<verb>
-slattach -h -c -s 57600 /dev/cua01
+slattach -h -c -s 115200 /dev/modem
</verb>
- if you are able to "ping" hosts on campus, you are connected!
- If it doesn't work, you might want to try "-a" instead of "-c".
+ if you are able to "ping" hosts on the other side of the router,
+ you are connected! If it doesn't work, you might want to try "-a"
+ instead of "-c" as an argument to slattach.
</enum>
<sect1><heading>How to shutdown the connection</heading>
- <p>Type "ps gx" (as root) to find out the PID of slattach, and use
- "kill -INT" to kill it.
- Then go back to kermit ("fg" if you suspended it) and exit from it
- ("q").
+ <p>Type "kill -INT `cat /var/run/slattach.modem.pid`" (as root) to
+ kill slattach. Then go back to kermit ("fg" if you suspended it)
+ and exit from it ("q").
The slattach man page says you have to use "ifconfig sl0 down" to
mark the interface down, but this doesn't seem to make any
@@ -149,24 +151,19 @@ slattach -h -c -s 57600 /dev/cua01
often does). In that case, simply start kermit and quit it again.
It usually goes out on the second try.
- When you want to connect again, go back to (XXX). You may have to
- watch out for clocal mode. If "stty -f /dev/tty01" doesn't tell
- you it's clocal, you need to re-set it before kermitting. Again,
- this is only for 1.1 machines.
-
<sect1><heading>Troubleshooting</heading>
<p>If it doesn't work, feel free to ask me. The things that people
tripped over so far:
<itemize>
-<item> Not using "-c" or "-a" in slattach (I have no idea why this can be
+<item>Not using "-c" or "-a" in slattach (I have no idea why this can be
fatal, but adding this flag solved the problem for at least one
person)
-<item> Using "s10" instead of "sl0" (might be hard to see the difference on
+<item>Using "s10" instead of "sl0" (might be hard to see the difference on
some fonts.
-<item> Try "ifconfig sl0" to see your interface status. I get:
+<item>Try "ifconfig sl0" to see your interface status. I get:
<verb>
silvia# ifconfig sl0
sl0: flags=10<POINTOPOINT>
diff --git a/handbook/slips.sgml b/handbook/slips.sgml
index da31e3106c..3e86504010 100644
--- a/handbook/slips.sgml
+++ b/handbook/slips.sgml
@@ -11,7 +11,7 @@ Setting up FreeBSD as a SLIP Server
-->
-<sect><heading>Setting up a SLIP server</heading>
+<sect><heading>Setting up a SLIP server<label id="slips"></heading>
<p><em>Contribudted by &a.ghelmer;.<newline>
v1.0, 15 May 1995.</em>
@@ -35,7 +35,7 @@ problem.
For FreeBSD 1.x users, all of the files referenced in the directory
<tt>/etc/sliphome</tt> are actually in the <tt>/etc</tt> directory.
-<sect1><heading>Prerequisites<label id="prereqs"></>
+<sect1><heading>Prerequisites<label id="slips:prereqs"></>
<p>
This document is very technical in nature, so background knowledge is
@@ -64,7 +64,7 @@ modems, and perhaps <tt/stty(1)/ for information on setting serial
port parameters &lsqb;such as <tt/clocal/ for directly-connected
serial interfaces&rsqb;.
-<sect1>Quick Overview
+<sect1><heading>Quick Overview</heading>
<p>
In its typical configuration, using FreeBSD as a SLIP server works as
@@ -76,7 +76,7 @@ the special user, and if it finds a match, connects the serial line to
an available SLIP interface and then runs the shell script
<tt>/etc/sliphome/slip.login</tt> to configure the SLIP interface.
-<sect2>An Example of a SLIP Server Login
+<sect2><heading>An Example of a SLIP Server Login</heading>
<p>
For example, if a SLIP user ID were <tt>Shelmerg</tt>, <tt/Shelmerg/'s
@@ -121,7 +121,7 @@ logging).
OK, enough of the examples -- let's dive into setting up the system.
-<sect1>Kernel Configuration
+<sect1><heading>Kernel Configuration</heading>
<p>
FreeBSD's default kernels usually come with two SLIP interfaces
defined (<tt>sl0</tt> and <tt>sl1</tt>); you can use <tt>netstat
@@ -182,7 +182,7 @@ See the document ``Building Berkeley Kernels with Config'' and the
manual page for <tt>config(8)</tt> to see how to configure and build
kernels.
-<sect1>Sliplogin Configuration
+<sect1><heading>Sliplogin Configuration</heading>
<p>
@@ -196,7 +196,7 @@ and (optionally) <tt>slip.logout</tt>, which undoes
<tt>slip.login</tt>'s effects when the serial connection is
terminated.
-<sect2>slip.hosts Configuration
+<sect2><heading>slip.hosts Configuration</heading>
<p>
@@ -249,7 +249,7 @@ going to use ``proxy ARP'' on your SLIP server (it's not ``true''
proxy ARP, but that is the terminology used in this document to
describe it). If you're not sure which method to select or how to
assign IP addresses, please refer to the TCP/IP books referenced in
-the <ref id="prereqs"> section and/or consult your IP network manager.
+the <ref id="slips:prereqs"> section and/or consult your IP network manager.
If you are going to use a separate subnet for your SLIP clients, you
will need to allocate the subnet number out of your assigned IP
@@ -268,7 +268,7 @@ Ethernet subnet, and you'll also need to adjust your
<tt>/etc/sliphome/slip.logout</tt> scripts to use <tt>arp(8)</tt> to
manage the proxy-ARP entries in the SLIP server's ARP table.
-<sect2>slip.login Configuration
+<sect2><heading>slip.login Configuration</heading>
<p>
The typical <tt>/etc/sliphome/slip.login</tt> file looks like this:
@@ -347,7 +347,7 @@ Note that when you create <tt>/etc/sliphome/slip.login</tt> and
/etc/sliphome/slip.logout</tt>) must be set, or <tt>sliplogin</tt>
will be unable to execute it.
-<sect2>slip.logout Configuration
+<sect2><heading>slip.logout Configuration</heading>
<p>
@@ -400,7 +400,7 @@ It bears repeating: make sure <tt>/etc/sliphome/slip.logout</tt> has
the execute bit set for after you create it (ie, <tt>chmod 755
/etc/sliphome/slip.logout</tt>).
-<sect1>Routing Considerations
+<sect1><heading>Routing Considerations</heading>
<p>
If you are not using the ``proxy ARP'' method for routing packets
@@ -411,7 +411,7 @@ your SLIP server, or you will probably need to install and configure
<tt>gated</tt> on your FreeBSD SLIP server so that it will tell your
routers via appropriate routing protocols about your SLIP subnet.
-<sect2>Static Routes
+<sect2><heading>Static Routes</heading>
<p>
Adding static routes to your nearest default routers can be
@@ -423,7 +423,7 @@ which static routes to tell other routers about, so some expertise and
troubleshooting/tweaking may be necessary to get static-route-based
routing to work.
-<sect2>Running gated
+<sect2><heading>Running gated</heading>
<p>
An alternative to the headaches of static routes is to install
@@ -503,7 +503,7 @@ appropriate for your system. Please see the manual page for
<tt>gated</tt> for information on <tt>gated</tt>'s command-line
parameters.
-<sect1>Acknowledgements
+<sect1><heading>Acknowledgements</heading>
<p>
Thanks to these people for comments and advice regarding this tutorial:
diff --git a/handbook/submitters.sgml b/handbook/submitters.sgml
index 3389f8a917..0107139f71 100644
--- a/handbook/submitters.sgml
+++ b/handbook/submitters.sgml
@@ -1,28 +1,28 @@
-<!-- $Id: submitters.sgml,v 1.2 1995-05-18 03:05:22 jfieber Exp $ -->
+<!-- $Id: submitters.sgml,v 1.2.4.1 1995-09-17 11:19:43 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<chapt><heading>Contributing to FreeBSD</heading>
+<chapt><heading>Contributing to FreeBSD<label id="submitters"></heading>
<p><em>Contributed by &a.jkh;.</em>
-This guide is intended for those who are moderately familar with FreeBSD
-and are now to the point where they have some locally developed
-customizations or fixes to the system which they'd like to incorporate
-back into the mainstream sources, thus saving the work of having to
-re-integrate the changes for each subsequent FreeBSD release. Submitting
-something to the FreeBSD project is also an excellent way of getting your
-code seriously <em>tested</em>! Many people have developed an original concept
-far beyond what they might have envisioned at the start just due to the
-flood of feedback and ideas generated by the many thousands of users of
-FreeBSD. Contributions are also what FreeBSD lives and grows from,
-and so your contributions are very important to the continued survival
-of this communal effort of ours---we're very glad to see you reading this
-documentation!
+This guide is intended for those who are moderately familar with
+FreeBSD and have reached a point where they have some locally
+developed customizations or fixes to the system which they'd like to
+incorporate back into the mainstream sources. Submitting something to
+the FreeBSD project ensures that you won't have to continually
+reintegrate it with each subsequent release and is also an excellent
+way of getting your code seriously <em>tested</em>! Many people have
+seen an original concept develop far beyond what they might have
+originally envisioned simply due to the flood of feedback and ideas
+generated by the many thousands of users of FreeBSD. Contributions
+are also what FreeBSD lives and grows from, so your contributions are
+very important to the continued survival of this communal effort of
+ours---we're very glad to see you reading this document!
Submissions to FreeBSD can generally be classified into four catagories:
<enum>
<item>Ideas, general suggestions, bug reports.
-<item>Addition, deletion, renaming or patching of existing sources.
+<item>Changes to existing sources.
<item>Significant contribution of a large body of independant work.
<item>Porting of freely available software.
</enum>
@@ -41,8 +41,7 @@ are each, in their own way, quite significant to the project.
volume of mail!) may
subscribe to the hackers mailing list by sendimg mail to
<tt>&lt;majordomo@freebsd.org&gt;</tt>.
- See <ref id="eresources:mailing-lists"
- name="mailing lists">
+ See <ref id="eresources:mail" name="mailing lists">
for more information about this and other mailing lists.
<item>An actual bug report should be filed by using the
@@ -65,28 +64,23 @@ are each, in their own way, quite significant to the project.
<p>An addition or change to the existing source code is a somewhat trickier
affair and depends a lot on how far out of date you are with the current
state of the core FreeBSD development. There is a special on-going release
- of FreeBSD known as ``FreeBSD-current'' and made available in a variety of
- ways for the convenience of developers who wish to actively work on the
- system. See <ref id="current:" name="Staying current with
- FreeBSD"> for more information about getting and using FreeBSD-current.
+ of FreeBSD known as ``FreeBSD-current'' which is made available in
+ a variety of ways for the convenience of developers working
+ actively on the system. See <ref id="current" name="Staying
+ current with FreeBSD"> for more information about getting and using
+ FreeBSD-current.
Working from older sources unfortunately means that your changes may
- sometimes be too obsolete to use, or too divergent to allow for easy
- re-integration. This can be minimized somewhat by subscribing to the
- <tt>&lt;announce@freebsd.org&gt;</tt> mailing list, among
- others, where periodic
- announcements concerning the current state of the system are made.
- If you see a change being proposed for which you have a better solution,
- by all means come forward with your contribution and we
- will do our very best to evaluate it fairly and perhaps integrate it if
- it is indeed a better solution.
+ sometimes be too obsolete or too divergent for easy re-integration into
+ FreeBSD. Chances of this can be minimized somewhat by subscribing to the
+ <tt>&lt;announce@freebsd.org&gt;</tt> and
+ <tt>&lt;current@freebsd.org&gt;</tt> mailing lists, where discussions
+ on the current state of the system take place.
Assuming that you can manage to secure fairly up-to-date sources to base
your changes on, the next step is to produce a set of diffs to send to the
- FreeBSD maintainers for evaluation and possible adoption. This is done
- with the <tt>diff(1)</tt> command, with the FreeBSD
- maintainers preferring to receive
- diffs in `context diff' form. For example:
+ FreeBSD maintainers. This is done with the <tt>diff(1)</tt> command,
+ with the `context diff' form being preferred. For example:
<tscreen><verb>
diff -c &lt;oldfile&gt &lt;newfile&gt;
</verb></tscreen>
@@ -94,39 +88,36 @@ or
<tscreen><verb>
diff -c -r &lt;olddir&gt &lt;newdir&gt;
</verb></tscreen>
- See the man page for <tt>diff(1)</tt> for more details
- on producing both context and recursive context diffs.
+ would generate such a set of context diffs for the given source file
+ or directory hierarchy. See the man page for <tt>diff(1)</tt> for more
+ details.
- Once you have a set of diffs that are capable of taking a copy
- of the original code and bringing it to a state identical to
- the ``new'' sources (you may test this with the
+ Once you have a set of diffs (which you may test with the
<tt>patch(1)</tt> command), you should bundle them up in an
email message and send it, along with a brief description of
what the diffs are for, to
<tt>&lt;hackers@freebsd.org&gt;</tt>. Someone will very
likely get back in touch with you in 24 hours or less,
- assuming of course that your diffs are interesting!
+ assuming of course that your diffs are interesting! :-)
If your changes don't express themselves well as diffs alone
(e.g. you've perhaps added, deleted or renamed files as well)
then you may be better off bundling any new files, diffs and
- instructions for deleting/renaming any others into a
- <tt>tar</tt> file and running the <tt>uuencode(1)</tt> program
- on it before sending the output of that to
- <tt>&lt;hackers@freebsd.org&gt;</tt>. See the man pages on
- <tt>tar(1)</tt> and <tt>uuencode(1)</tt> for more info on
- bundling files through the mail this way.
-
- If your change is of a potentially sensitive nature, for
- example you're unsure of copyright issues governing its
- further distribution, or you're simply not ready to release it
- without a tighter review first, then you should send it to
- <tt>&lt;core@freebsd.org&gt;</tt> rather than
+ instructions for deleting/renaming others into a <tt>tar</tt>
+ file and running the <tt>uuencode(1)</tt> program on it before
+ sending the output of that to <tt>&lt;hackers@freebsd.org&gt;</tt>.
+ See the man pages on <tt>tar(1)</tt> and <tt>uuencode(1)</tt> for more
+ information on bundling files this way.
+
+ If your change is of a potentially sensitive nature, e.g.
+ you're unsure of copyright issues governing its further distribution
+ or you're simply not ready to release it without a tighter review first,
+ then you should send it to <tt>&lt;core@freebsd.org&gt;</tt> rather than
<tt>&lt;hackers@freebsd.org&gt;</tt>. The core mailing list
reaches a much smaller group of people who do much of the
day-to-day work on FreeBSD. Note that this group is also
- <em>very busy</em> and so you should only mail to them
- in cases where mailing to hackers truly is impractical.
+ <em>very busy</em> and so you should only send mail to them
+ in cases where mailing to hackers is truly impractical.
<sect><heading>Contributions of new code</heading>
@@ -135,42 +126,40 @@ diff -c -r &lt;olddir&gt &lt;newdir&gt;
work, or the addition of an important new feature to FreeBSD,
it becomes almost always necessary to either send changes as
uuencoded tar files or upload them to our ftp site <url
- url="ftp://freefall.cdrom.com/pub/FreeBSD/incoming"> where
- users may log in anonymously and upload their work or download
- the work-in-progress files left by others.
+ url="ftp://ftp.freebsd.org/pub/FreeBSD/incoming">.
When working with large amounts of code, the touchy subject of
copyrights also invariably comes up. Acceptable copyrights
for code included in FreeBSD are:
<enum>
- <item>Contributions under the BSD copyright
- are greatly preferred due to its ``no strings attached''
- nature and general attractiveness to commercial enterprises
- who might then be inclined to invest something of their own
+ <item>The BSD copyright. This copyright is most preferred
+ due to its ``no strings attached'' nature and general
+ attractiveness to commercial enterprises. Far from
+ discouraging such commercial use, the FreeBSD Project
+ actively encourages such participation by commercial interests
+ who might eventually be inclined to invest something of their own
into FreeBSD.
- <item>Contributions under the GNU Public License, or ``GPL''. This is
- not quite as popular a solution for us, due to
- the amount of extra effort demanded of anyone
- using the code for commercial purposes. However, given the
- sheer quantity of GPL'd code we currently require (compiler,
- assembler, text formatter, etc), it would be silly to pretend
- that we couldn't deal with the GPL at all and so we have become
- more willing to accept code with either the BSD or the GPL
- copyright. Code under the GPL also goes into a different part
- of the tree, that being <tt>/sys/gnu</tt> or
- <tt>/usr/src/gnu</tt>.
-
- <item>Contributions coming under any other type of copyright must be
- carefully reviewed before their inclusion into FreeBSD will even
- be considered. Contributions for which particularly restrictive
- commercial copyrights apply are generally rejected, though the
- authors are always free to make the changes available through
- their own channels.
+ <item>The GNU Public License, or ``GPL''. This license isn't quite
+ as popular with us due to the amount of extra effort demanded
+ of anyone using the code for commercial purposes, but given
+ the sheer quantity of GPL'd code we currently require (compiler,
+ assembler, text formatter, etc) it would be silly to refuse
+ additional contributions under this license. Code under the GPL
+ also goes into a different part of the tree, that being
+ <tt>/sys/gnu</tt> or <tt>/usr/src/gnu</tt>, and is therefore
+ easily identifable to anyone for whom the GPL presents a problem.
</enum>
- To place such a copyright on your work, place the following
+<p>Contributions coming under any other type of copyright must be
+ carefully reviewed before their inclusion into FreeBSD will
+ be considered. Contributions for which particularly restrictive
+ commercial copyrights apply are generally rejected, though the
+ authors are always encouraged to make such changes available
+ through their own channels.
+
+ To place a ``BSD-style'' copyright on your work, include the following
text at the very beginning of every source code file you wish
to protect, replacing the text between the `<tt>%%</tt>' with
the appropriate information.
@@ -204,7 +193,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- $Id: submitters.sgml,v 1.2 1995-05-18 03:05:22 jfieber Exp $
+ $Id: submitters.sgml,v 1.2.4.1 1995-09-17 11:19:43 davidg Exp $
</verb></tscreen>
For your convenience, a copy of this text can be found in
<tt>/usr/share/examples/etc/bsd-style-copyright</tt>.
@@ -213,25 +202,21 @@ For your convenience, a copy of this text can be found in
<sect><heading>Porting of software</heading>
<p>The porting of freely available software, while perhaps not as
-gratifying as developing your own package from scratch, is still
-a vital part of FreeBSD's growth and of great usefulness to those
-who wouldn't otherwise know where to turn for it. All ported
-software is organized into a hierarchy know as ``the ports
-collection''. This collection enables a new user to get a
-complete overview of what's available in a short time, and with a
-logical framework. The ports collection also saves
-considerable space by not actually containing the the majority of
-the sources being ported. See <ref id="ports:" name="The ports
-collection"> for more information on using the ports collection
-and <ref id="porting:" name="Porting applications"> for
-guidelines on creating new ports. You may also send mail to
+gratifying as developing your own from scratch, is still a vital part
+of FreeBSD's growth and of great usefulness to those who wouldn't
+otherwise know where to turn for it. All ported software is organized
+into a carefully organized hierarchy know as ``the ports collection''.
+The collection enables a new user to get a quick and complete overview
+of what's available for FreeBSD in an easy-to-compile form. It also
+saves considerable space by not actually containing the the majority
+of the sources being ported, but merely those differences required for
+running under FreeBSD. See <ref id="ports" name="The ports
+collection"> for more information on using the ports collection and
+<ref id="porting" name="Porting applications"> for guidelines on
+creating new ports. You may also send mail to
<tt>&lt;ports@freebsd.org&gt;</tt>.
Whichever way you decide to contribute, we hope you'll find it an
-enjoyable process and also realize how valuable your
-contributions are to the project! FreeBSD is one of those great
-projects where the more we all put in, the more we all get back
-out of it again, and with enough steady contributions it begins
-to aquire a momentum of its own. It is through such momentum
-that mountains are moved!
-
+enjoyable and rewarding process. Such contributions are also very
+valuable to FreeBSD's continued progress, and as a free software
+effort, the more we all put in the more we all get back out of it!
diff --git a/handbook/sup.sgml b/handbook/sup.sgml
index f09718cce6..151d5be777 100644
--- a/handbook/sup.sgml
+++ b/handbook/sup.sgml
@@ -1,8 +1,8 @@
-<!-- $Id: sup.sgml,v 1.2.4.1 1995-09-17 11:03:26 davidg Exp $ -->
+<!-- $Id: sup.sgml,v 1.2.4.2 1995-09-17 11:19:44 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<sect><heading>SUP</heading>
+<sect><heading>SUP<label id="sup"></heading>
<p><em>Contributed by &a.jkh; and &a.gclarkii;.</em>
@@ -30,12 +30,12 @@ the two collections; if you don't want ports, you can simply delete all the
ports entries. If you're inside the United States, you may also uncomment
the `secure' collection line to grab the DES code. If you're outside the
U.S., you should NOT sup this code from FreeBSD.ORG as this will
-violate U.S. export restrictions. Simply sup everything *but* the secure
-collection and then go look on "braae.ru.ac.za", where it's available for
+violate U.S. export restrictions. Simply sup everything <em>but</em> the secure
+collection and then go look on braae.ru.ac.za, where it's available for
anonymous ftp for those outside the U.S.
Any other distributions you do not wish to receive can be commented out
-with a # at the begining of the distribution line.
+with a &num; at the begining of the distribution line.
Once this is setup, you're ready to go. To start sup type:
<verb>
@@ -48,11 +48,9 @@ like so:
</verb>
Thats all there is to it! Remember that if you're running current,
which is what you will have if you sup, please join the freebsd-current
-mailing list. You should also be sure to read:
-<verb>
- ftp://ftp.FreeBSD.ORG:/pub/FreeBSD/FAQ/current-policy.FAQ
-</verb>
-For important information on just what we can and cannot do for you as
+mailing list. You should also be sure to read <ref id="current"
+name="Staying current with FreeBSD">
+for important information on just what we can and cannot do for you as
a -current user.
<sect1><heading>Description of FreeBSD SUP distributions</heading>
diff --git a/handbook/troubleshooting.sgml b/handbook/troubleshooting.sgml
index 311821fcee..4420c6d6aa 100644
--- a/handbook/troubleshooting.sgml
+++ b/handbook/troubleshooting.sgml
@@ -1,7 +1,7 @@
-<!-- $Id: troubleshooting.sgml,v 1.1.1.1 1995-04-28 16:19:59 jfieber Exp $ -->
+<!-- $Id: troubleshooting.sgml,v 1.1.1.1.4.1 1995-09-17 11:19:45 davidg Exp $ -->
<!-- The FreeBSD Documentation Project -->
-<chapt><heading>Troubleshooting</heading>
+<chapt><heading>Troubleshooting<label id="troubleshooting"></heading>
<p>The following tips and tricks may help you turn a
failing (or failed) installation attempt into a success.
@@ -41,15 +41,7 @@
address, IO address or a number of other device
configuration parameters. You can also disable a device
entirely if it's causing problems for other devices you'd
- much rather have work. Note that this only affects the
- kernel being booted temporarily, it does not write out
- the information to the kernel so that these settings are
- permanantly altered (this would be actually rather hard).
- If you reboot, you'll have to make the same changes
- again. The goal of the <tt>-c</tt> utility is to get you
- up far enough to be able to download the appropriate
- sources and configure and rebuild a kernel more specific
- to your needs.
+ much rather have work.
Another solution is, obviously, to remove the offending
hardware or simply strip the system down to the bare
@@ -62,17 +54,6 @@
</descrip>
<sect>
- <heading>My floppy-tape drive isn't probed</heading>
-
- <p>Cause: Last-minute problems with this driver caused it
- to be disabled by default.
-
- Solution: Boot with -c (described above) and set the
- flags value of fdc0 to 1. This will re-enable the floppy
- tape driver. Sorry, but it was causing problems for
- other people!
-
-<sect>
<heading>When I boot for the first time, it still looks for
/386bsd!</heading>
@@ -86,100 +67,3 @@
If you're installing for the first time, don't forget to
(W)rite out your new boot blocks! :-)
-<sect>
- <heading>I want to boot FreeBSD off the second drive. It
- doesn't!</heading>
-
- <p>Cause: FreeBSD will actually install just fine on a
- drive other than 0 (the first drive), and the boot
- manager will even allow you to select it, but the boot
- blocks rather pathologically assume 0. This should be
- fixed in 2.1.
-
- Solution: Easy - follow these steps:
-
- 1. Select the first (0) drive from the (F)disk editor
- and write out the boot manager with the (B) option.
- This will enable the boot manager that allows you to
- actually boot off the other drive.
-
- 2. Exit the fdisk editor for the first drive and and
- re-enter it again for the drive you wish to install
- on. Set up a partition on this drive, or select
- (A)ll for the entire drive.
-
- 3. Enter the disklabel editor and allocate space on
- your second drive as normal. Proceed with the
- installation.
-
- 4. Once you've installed on the disk and are going to
- reboot from the hard disk, enter the following at
- the boot prompt:
-
- hd(1,a)/kernel
-
- This will ensure that you really boot from the second
- drive. If you've actually installed on a drive other
- than 1 (the 3rd or 4th drive?), substitute that number
- in for the above. You will need to enter this EVERY
- time you reboot from the hard disk. If you're feeling
- brave and have a srcdist + the requisite experience,
- you can hack the boot blocks in:
-
- /usr/src/sys/i386/boot/biosboot
-
- So that this drive you're booting from is hard-coded.
- Recompile the boot blocks and reinstall them on your
- drive with `disklabel -B ...' You can then have the
- default Do The Right Thing.
-
-<sect>
- <heading>Newfs crashes, requesting that blocksize be 32K</heading>
-
- <p>Cause: You have your SCSI controller configured to
- translate geometries for disks >1GB in size.
-
- Solution: Turn such translation OFF in your controller's
- BIOS setup! FreeBSD has no problems with disks >1GB just
- so long as the root partition starts and ends BELOW
- cylinder 1024. This is a PC hardware limitation.
-
-<sect>
- <heading>FreeBSD won't boot off the hard disk</heading>
-
- <p>Cause: Root partition does not start and end below
- cylinder 1024.
-
- Solution: See solution for newfs crashes, or move your
- root partition. This limitation holds true for ANY
- operating system you wish to boot from your hard drive.
-
-
-<sect>
- <heading>FreeBSD still won't boot off the hard disk</heading>
-
- <p>Cause: No boot code is installed in sector 1.
-
- Solution: Chose the Write MBR (B)oot code in the FDISK
- editor.
-
-<sect>
- <heading>Nope, FreeBSD's still not booting from the hard
- disk</heading>
-
- <p>Cause: BIOS disk geometry different from that used when
- installing FreeBSD.
-
- Solution: With IDE drives, pay careful attention to the
- geometry information that FreeBSD prints out when it's
- first booting off the floppy. Use this geometry in your
- BIOS setup or use the BIOS geometry when you install
- FreeBSD. Either way, they have to match.
-
- With SCSI drives, the values they report is most often
- bogus and cannot be used. In this situation, the SCSI
- controller is performing geometry translation and it's
- probably wise to assume a default of 64 heads, 32 sectors
- and 1MB/cylinder. Use these values when you install
- FreeBSD. See above comments concerning newfs failures
- for more info.