4087 lines
172 KiB
Plaintext
4087 lines
172 KiB
Plaintext
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
|
|
<!-- $Id: FAQ.sgml,v 1.53 1997/05/07 16:32:31 wosch Exp $ -->
|
|
|
|
<article>
|
|
|
|
<title>Frequently Asked Questions for FreeBSD 2.X
|
|
<author>Maintainer: Peter da Silva <tt><htmlurl url='mailto:pds@FreeBSD.ORG'
|
|
name='<pds@FreeBSD.ORG>'></tt>
|
|
<date>$Date: 1997/05/07 16:32:31 $</date>
|
|
|
|
<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 <XXX> are under construction.
|
|
|
|
|
|
</abstract>
|
|
|
|
<toc>
|
|
|
|
<sect>
|
|
<heading>Preface</heading>
|
|
<p>
|
|
Welcome to the FreeBSD 2.X FAQ!
|
|
|
|
<sect1>
|
|
<heading>What is the purpose of this FAQ?</heading>
|
|
<p>
|
|
As is usual with Usenet FAQs, this document aims to cover the most
|
|
frequently asked questions concerning the FreeBSD operating system
|
|
(and of course answer them!). Although originally intended to reduce
|
|
bandwidth and avoid the same old questions being asked over and over
|
|
again, FAQs have become recognized as valuable information resources.
|
|
|
|
Every effort has been made to make this FAQ as informative as
|
|
possible; if you have any suggestions as to how it may be improved,
|
|
please feel free to mail them to the <url
|
|
url="mailto:pds@FreeBSD.ORG" name="FAQ maintainer">.
|
|
|
|
<sect1>
|
|
<heading>What is FreeBSD?</heading>
|
|
<p>
|
|
Briefly, FreeBSD 2.X is a UN*X-like 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, known as 386BSD, though very little of the 386BSD
|
|
code remains. A fuller description of what FreeBSD is and how
|
|
it can work for you may be found in the <url url="../../welcome.html"
|
|
name="Welcome Document">.
|
|
|
|
FreeBSD is used by companies, Internet Service Providers, researchers,
|
|
computer professionals, students and home users all over the world
|
|
in their work, education and recreation. See some of them in the
|
|
<url url="http://www.freebsd.org/gallery.html" name="FreeBSD Gallery.">
|
|
|
|
For more detailed information on FreeBSD, please see the
|
|
<url url="../handbook/handbook.html" name="FreeBSD Handbook.">
|
|
|
|
<sect1>
|
|
<heading>What are the goals of FreeBSD?</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, we believe, one of the most fundamental goals of Free
|
|
Software and one that we enthusiastically support.
|
|
|
|
That code in our source tree which falls under the GNU Public License
|
|
(GPL) or GNU Library Public License (GLPL) comes with slightly more
|
|
strings attached, though at least on the side of enforced
|
|
access rather than the usual opposite. Due to the additional
|
|
complexities that can evolve in the commercial use of GPL software,
|
|
we do, however, endeavor to replace such software with submissions
|
|
under the more relaxed BSD copyright whenever possible.
|
|
|
|
<sect1>
|
|
<heading>Why is it called FreeBSD?</heading>
|
|
<p>
|
|
<itemize>
|
|
<item>It may be used free of charge, even by commercial users.
|
|
<item>Full source for the operating system is freely available, and
|
|
the minimum possible restrictions have been placed upon its
|
|
use, distribution and incorporation into other work (commercial
|
|
or non-commercial).
|
|
<item>Anyone who has an improvement and/or bug fix is free to submit
|
|
their code and have it added to the source tree (subject to
|
|
one or two obvious provisos).
|
|
</itemize>
|
|
|
|
For those of our readers whose first language is not English, it may be
|
|
worth pointing out that the word ``free'' is being used in two ways here,
|
|
one meaning ``at no cost'', the other meaning ``you can do whatever you
|
|
like''. Apart from one or two things you <tt /cannot/ do with the
|
|
FreeBSD code, for example pretending you wrote it, you really can do
|
|
whatever you like with it.
|
|
|
|
<sect1>
|
|
<heading>What is the latest version of FreeBSD?</heading>
|
|
<p>
|
|
Version <url url="ftp://ftp.freebsd.org/pub/FreeBSD/2.1.7.1-RELEASE" name="2.1.7">
|
|
is the latest <em>stable</em> version; it was released in February, 1997.
|
|
Version <url url="ftp://ftp.freebsd.org/pub/FreeBSD/2.2.1-RELEASE" name="2.2.1">
|
|
is the latest <em>release</em> version; it was released in March, 1997.
|
|
Briefly explained, <bf>-stable</bf> is aimed at the ISP or other
|
|
corporate user who wants stability and a low change count over
|
|
the wizzy new features of the latest release (which is <bf>2.2.1</bf>).
|
|
|
|
<p>This is not to say that 2.2.1 is unusable for business services,
|
|
and many people who need some 2.2 specific feature (newer
|
|
compiler technology, faster networking code, etc) have decided to take
|
|
a chance with it with very good results. We simply do not wish to
|
|
"certify" 2.2 as mission-worthy until it's run another release or two
|
|
down its branch and been better shaken-out.
|
|
|
|
<sect1>
|
|
<heading>What is FreeBSD-current?</heading>
|
|
<p>
|
|
<url url="../handbook/current.html" name="FreeBSD-current"> is the
|
|
development version of the operating system, which will in due
|
|
course become 3.0-RELEASE. As such, it is really only of interest
|
|
to developers working on the system and die-hard hobbiests.
|
|
See the <url url="../handbook/current.html" name="relevant section">
|
|
in the <url url="../handbook/handbook.html" name="handbook"> for
|
|
details on running -current.
|
|
|
|
<sect1>
|
|
<heading> What are ``snapshots''?<label id="snapshots"></heading>
|
|
<p>
|
|
Every now and again, a <url url="../releases/snapshots.html"
|
|
name="snapshot"> is taken of the development code and prepared
|
|
more or less as if it were an official release; recently,
|
|
CDROMs have even been cut from the snapshots. The intention is to:-
|
|
|
|
<itemize>
|
|
<item>Test the latest version of the installation software.
|
|
<item>Allow people who would like to run -current, but who don't
|
|
have the time and/or bandwidth to follow it on a day-to-day
|
|
basis, an easy way to bootstrap it onto their systems.
|
|
<item>
|
|
Preserve a fixed reference point for the code in question,
|
|
in case we really break something badly later.
|
|
|
|
<item>Ensure that a new feature in need of testing has the
|
|
greatest possible number of potential testers.
|
|
</itemize>
|
|
|
|
No claim is made that a snapshot is regarded as being of
|
|
``production quality'' for any purpose. For that, you will
|
|
have to stick to full releases.
|
|
|
|
<sect1>
|
|
<heading> What about FreeBSD-stable?</heading>
|
|
<p>
|
|
Back when FreeBSD 2.0.5 was released, we branched FreeBSD
|
|
development into two parts. One branch was named <url
|
|
url="../handbook/stable.html" name="-stable">, with the
|
|
intention that only well-tested bug fixes and small incremental
|
|
enhancements would be made to it (for Internet Service Providers
|
|
and other commercial enterprises for whom sudden shifts or
|
|
experimental features are quite undesirable). The other branch was
|
|
3.0-current, which essentially has been one unbroken line leading
|
|
towards 3.0-RELEASE since 2.0 was released. If a little ASCII art
|
|
would help, this is how it looks:
|
|
<verb>
|
|
2.0
|
|
|
|
|
|
|
|
|
|
|
2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7 [2.1-stable ends]
|
|
| (Feb 1997)
|
|
|
|
|
[3.0-current] 2.2-SNAPs
|
|
|
|
|
|
|
|
2.2-ALPHA -> -BETA -> -GAMMA -> 2.2-RELEASE -> [2.2-stable]
|
|
| (Mar 1997)
|
|
|
|
|
3.0-SNAPs (Q1 1997)
|
|
|
|
|
|
|
|
\|/
|
|
+
|
|
|
|
[future 3.x releases]
|
|
</verb>
|
|
<p>
|
|
The -current branch is slowly progressing towards 3.0 and beyond,
|
|
whereas the existing -stable branch will be terminated by the
|
|
release of 2.2, resurrecting itself as 2.2-stable after the
|
|
2.2-RELEASE is out.
|
|
|
|
<sect1>
|
|
<heading>Why is the -stable branch ending with 2.1.7? </heading>
|
|
<p>
|
|
While we'd certainly like to be able to continue both branches of
|
|
development, we've found that the version control tools available to
|
|
us are not particularly well-suited for this; in fact, they quickly
|
|
result in a maintenance nightmare for any branch which lives much
|
|
beyond 2-3 months. The -stable branch has, by contrast, lasted for
|
|
well over a year and what little sanity the FreeBSD developers have
|
|
left would be in serious jeopardy if we continued in this way.
|
|
Perhaps in the future we'll figure out another model which gives
|
|
everyone what they want, and we are working on such a model, but in
|
|
the meantime it's probably best to think of -stable coming to an end
|
|
with <url url="ftp://ftp.freebsd.org/pub/FreeBSD/pub/2.1.7.1-RELEASE"
|
|
name="2.1.7.1-RELEASE"> (the final point release after 2.1.7).
|
|
|
|
<sect1>
|
|
<heading> When are FreeBSD releases made?</heading>
|
|
<p>
|
|
As a general principle, the FreeBSD core team only release a new
|
|
version of FreeBSD when they believe that there are sufficient new
|
|
features and/or bug fixes to justify one, and are satisfied that the
|
|
changes made have settled down sufficiently to avoid compromising the
|
|
stability of the release. Many users regard this caution as one of
|
|
the best things about FreeBSD, although it can be a little
|
|
frustrating when waiting for all the latest goodies to become
|
|
available...
|
|
<p>
|
|
Releases are made about every 6 months on average.
|
|
|
|
<sect1>
|
|
<heading>How do I make my own custom release?<label id="custrel"></heading>
|
|
<p>
|
|
To make a release you need to do three things: First, you need to
|
|
be running a kernel with the <tt/vn/ driver configured in. Add
|
|
this to your kernel config file and build a new kernel:
|
|
|
|
<verb>
|
|
pseudo-device vn #Vnode driver (turns a file into a device)
|
|
</verb>
|
|
|
|
Second, you have to have the whole CVS repository at hand.
|
|
To get this you can use
|
|
<url url="../handbook/cvsup.html" name="CVSUP">
|
|
but your tag value, if any, should be `.' and your release name
|
|
should be cvs:
|
|
|
|
<verb>
|
|
*default prefix=/home/ncvs base=/a host=cvsup.FreeBSD.org release=cvs delete compress use-rel=suffix
|
|
|
|
## Main Source Tree
|
|
src-all
|
|
src-eBones
|
|
src-secure
|
|
|
|
# Other stuff
|
|
ports-all
|
|
www
|
|
</verb>
|
|
|
|
Then run <tt/cvsup -g supfile/ to suck all the good bits into your
|
|
box...
|
|
|
|
Finally, you need a chunk of empty space to build into. Let's
|
|
say it's in <tt>/some/big/filesystem</tt>, and from the example
|
|
above you've got the CVS repository in <tt>/home/ncvs</tt>:
|
|
|
|
<verb>
|
|
setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs
|
|
cd /usr/src/release
|
|
make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release
|
|
</verb>
|
|
|
|
An entire release will be built in
|
|
<tt>/some/big/filesystem/release</tt>
|
|
and you will have a full FTP-type installation in
|
|
<tt>/some/big/filesystem/release/R/ftp</tt>
|
|
when you're done. If you want to build your SNAP along some other
|
|
branch than -current, you can also add <tt/RELEASETAG=SOMETAG/ to
|
|
the make release command line above, e.g. <tt/RELEASETAG=RELENG_2_2/
|
|
would build an up-to-the- minute 2.2 GAMMA snapshot.
|
|
|
|
<sect1>
|
|
<heading> Is FreeBSD only available for PCs?</heading>
|
|
<p>
|
|
At present, yes, though a port to the DEC Alpha architecture
|
|
is planned. If your machine has a different architecture and
|
|
you need something right now, we suggest you look at
|
|
<url url="http://www.netbsd.org/" name="NetBSD"> or
|
|
<url url="http://www.openbsd.org/" name="OpenBSD">.
|
|
|
|
<sect1>
|
|
<heading> Who is responsible for FreeBSD?</heading>
|
|
<p>
|
|
The key decisions concerning the FreeBSD project, such as the
|
|
overall direction of the project and who is allowed to add code to
|
|
the source tree, are made by a <url url="../handbook/contrib:core.html"
|
|
name="core team"> of some 17 people. There is a much larger
|
|
team of around 70+ <url url="../handbook/contrib:committers.html"
|
|
name="committers"> who are authorized to make changes directly to the
|
|
FreeBSD source tree.
|
|
<p>
|
|
However, most non-trivial changes are discussed in advance in the
|
|
mailing lists, and there are no restrictions on who may take part
|
|
in the discussion.
|
|
|
|
<sect1>
|
|
<heading>Where can I get FreeBSD?<label id="where-get"></heading>
|
|
<p>
|
|
The distribution is available via anonymous ftp from:
|
|
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/" name="the FreeBSD FTP site">
|
|
|
|
For the current stable release, 2.1.7.1R, look in:
|
|
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.1.7.1-RELEASE/"
|
|
name="FreeBSD 2.1.7.1-RELEASE">
|
|
|
|
For the current 2.2 branch release, 2.2.1R, look in:
|
|
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.2.1-RELEASE/"
|
|
name="FreeBSD 2.2.1-RELEASE">
|
|
|
|
<url url="ftp://releng22.freebsd.org/pub/FreeBSD/" name="SNAPshot releases">
|
|
are also made once a day along the RELENG_2_2 branch (2.2.1 -> 2.2.x)
|
|
as it winds its way towards the next point release on the 2.2 branch
|
|
(2.2.3, possibly, or maybe 2.2.5 depending on the change delta). With
|
|
the occasional exception of accidental breakage, the RELENG_2_2
|
|
branch is being carefully maintained (no experimental changes, fixes only
|
|
after testing in -current) and these snapshots of it may be considered
|
|
"2.2.1+" for all intents and purposes and more desirable than 2.2.1 for new
|
|
installations.
|
|
|
|
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>
|
|
|
|
In Australia, you may find it at:
|
|
|
|
Advanced Multimedia Distributors<newline>
|
|
Factory 1/1 Ovata Drive<newline>
|
|
Tullamarine, Melbourne<newline>
|
|
Victoria<newline>
|
|
Australia<newline>
|
|
|
|
Voice: +61 3 9338 67777<newline>
|
|
|
|
CDROM Support BBS<newline>
|
|
17 Irvine St<newline>
|
|
Peppermint Grove WA 6011<newline>
|
|
|
|
Voice: +61 9 385-3793<newline>
|
|
Fax: +61 9 385-2360<newline>
|
|
|
|
And in the UK:
|
|
|
|
The Public Domain & Shareware Library<newline>
|
|
Winscombe House, Beacon Rd<newline>
|
|
Crowborough<newline>
|
|
Sussex. TN6 1UL<newline>
|
|
|
|
Voice: +44 01892 663298<newline>
|
|
Fax: +44 01892 667473<newline>
|
|
(Do not dial the leading zero if calling from outside the UK).
|
|
|
|
|
|
|
|
<sect1>
|
|
<heading>Where do I find info on the mailing lists?</heading>
|
|
<p>
|
|
You can find full information in the
|
|
<url url="../handbook/eresources:mail.html"
|
|
name="Handbook entry on mailing-lists.">
|
|
<p>
|
|
|
|
<sect1>
|
|
<heading>What FreeBSD news groups are available?</heading>
|
|
<p>
|
|
You can find full information in the
|
|
<url url="../handbook/eresources:news.html"
|
|
name="Handbook entry on newsgroups.">
|
|
|
|
<sect1>
|
|
<heading>Is there anything about FreeBSD on IRC (Internet Relay Chat) ?</heading>
|
|
<p>
|
|
There are two channels about FreeBSD on IRC:
|
|
<enum>
|
|
<item>The main channel is #FreeBSD on the EFNET. You can
|
|
use your regular IRC server for it.
|
|
<item>You can point your IRC client to <tt/irc.FreeBSD.org/
|
|
This server is on BSDnet and hosts #FreeBSD. This
|
|
is not the same channel.
|
|
</enum>
|
|
<sect1>
|
|
<heading>Books on FreeBSD</heading>
|
|
<p>
|
|
Greg Lehey's book ``Installing and Running FreeBSD'' is available
|
|
from Walnut Creek and ships with the 2.1.7 CDROM. There is also
|
|
a larger book entitled ``The Complete FreeBSD'', which comes with
|
|
additional printed manpages amd includes the 2.1.7 CDROM set. It
|
|
should be available in most good bookshops now.
|
|
|
|
There is a FreeBSD Documentation Project which you may contact (or
|
|
even better, join) on the <tt>doc</tt> mailing list:
|
|
<url url="mailto:doc@FreeBSD.ORG" name="<doc@FreeBSD.ORG>">.
|
|
|
|
A FreeBSD ``handbook'' is available, and can be found as:
|
|
<url url="../handbook/handbook.html" name="the FreeBSD 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">
|
|
|
|
For a more in-depth look at the 4.4BSD kernel organization,
|
|
you can't go wrong with:
|
|
|
|
McKusick, Marshall Kirk, Keith Bostic, Michael J Karels,
|
|
and John Quarterman.<newline>
|
|
<em>The Design and Implementation of the 4.4BSD Operating
|
|
System</em>. Reading, Mass. : Addison-Wesley, 1996.<newline>
|
|
ISBN 0-201-54979-4<newline>
|
|
|
|
A good book on system administration is:
|
|
|
|
Evi Nemeth, Garth Snyder, Scott Seebass & 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$45-$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.1.7R CDROM (and the
|
|
FreeBSD CDROM often has newer versions).
|
|
|
|
<sect1>
|
|
<heading>I have heard about the Problem Report database.
|
|
Is there an easy way to accesss it ?</heading>
|
|
<p>
|
|
The Problem Report database, filled with all the problems, bugs
|
|
and changes requested by users with help of the <url
|
|
url="http://www.freebsd.org/send-pr.html" name="send-pr">
|
|
command can be reached at
|
|
<url url="http://www.freebsd.org/cgi-bin/query-pr-summary.cgi"
|
|
name="PR Database Summary">
|
|
|
|
<sect1>
|
|
<heading>Other sources of information.</heading>
|
|
<p>
|
|
The following newsgroups contain pertinent discussion for FreeBSD
|
|
users:
|
|
|
|
<itemize>
|
|
<item><url url="comp.unix.bsd.freebsd.announce" name="comp.unix.bsd.freebsd.announce">
|
|
<item><url url="comp.unix.bsd.freebsd.misc" name="comp.unix.bsd.freebsd.misc">
|
|
<item><url url="comp.unix.bsd.misc" name="comp.unix.bsd.misc">
|
|
</itemize>
|
|
|
|
If you have WWW access, please visit <url url="http://www.freebsd.org/"
|
|
name="the FreeBSD home page">.
|
|
|
|
The FreeBSD handbook has a pretty complete
|
|
<url url="../handbook/bibliography.html" name="Bibliography">
|
|
|
|
<label id="pao">There's also a wealth of information about using
|
|
FreeBSD on laptops at
|
|
<url url="http://www.jp.FreeBSD.org/PAO/"
|
|
name="Tatsumi Hosokawa's Mobile Computing page"> in Japan.
|
|
|
|
<sect>
|
|
<heading>Installation</heading>
|
|
<p>
|
|
<sect1>
|
|
<heading>Which file do I download to get FreeBSD?</heading>
|
|
<p>
|
|
You generally need just one floppy image, the <em>floppies/boot.flp</em>
|
|
file, which you image-copy onto a 1.44MB floppy and then boot it
|
|
in order to download the rest (and the installation will manage your TCP/IP
|
|
collection, deal with tapes, CDROMs, floppies, DOS partitions, whatever's
|
|
necessary to get the reset of the bits installed).
|
|
|
|
Full instructions on this procedure and a little bit more about installation
|
|
issues in general can be found in the <url url="../handbook/install.html"
|
|
name="Handbook entry on installing FreeBSD.">
|
|
|
|
<sect1>
|
|
<heading>Where are the instructions for installing FreeBSD?</heading>
|
|
<p>
|
|
Installation instructions can be found in the
|
|
<url url="../handbook/install.html"
|
|
name="Handbook entry on installing FreeBSD.">
|
|
|
|
<sect1>
|
|
<heading>What do I need in order to run FreeBSD?</heading>
|
|
<p>
|
|
You'll need a 386 or better PC, with 5 MB 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 also the section on <ref id="hardware" name="Hardware compatibility">
|
|
|
|
<sect1>
|
|
<heading>I have only 4 MB of RAM. Can I install FreeBSD?</heading>
|
|
<p>
|
|
FreeBSD 2.1.7 was the last version of FreeBSD that could be installed on
|
|
a 4MB system. Newer versions of FreeBSD, like 2.2, need at least
|
|
5MB to install on a new system.
|
|
|
|
All versions of FreeBSD, including 2.2, will RUN in 4MB of ram, they
|
|
just can't run the installation program in 4MB. You can add
|
|
extra memory for the install process, if you like, and then
|
|
after the system is up and running, go back to 4MB. Or you could
|
|
always just swap your disk into a system which has >4MB, install onto
|
|
it and then swap it back.
|
|
|
|
There are also situations in which FreeBSD 2.1.7 will not install
|
|
in 4 MB. To be exact: it does not install with 640 kB base + 3 MB
|
|
extended memory. If your motherboard can remap some of the ``lost''
|
|
memory out of the 640kB to 1MB region, then you may still be able
|
|
to get FreeBSD 2.1.7 up.
|
|
|
|
Try to go into your BIOS setup and look for a ``remap'' option.
|
|
Enable it. You may also have to disable ROM shadowing.
|
|
|
|
It may be easier to get 4 more MB just for the install. Build a
|
|
custom kernel with only the options you need and then get the 4
|
|
MB out again.
|
|
|
|
You may also install 2.0.5 and then upgrade your system to 2.1.7
|
|
with the ``upgrade'' option of the 2.1.7 installation program.
|
|
|
|
After the installation, if you build a custom kernel, it will run
|
|
in 4 MB. Someone has even succeeded in booting with 2 MB (the
|
|
system was almost unusable though :-))
|
|
|
|
<sect1>
|
|
<heading>I've got some other special requirements, can I make my own
|
|
custom install floppy?</heading>
|
|
<p>
|
|
Currently there's no way to *just* make a custom install floppy.
|
|
You have to cut a whole new release, which will include your
|
|
install floppy. There's some code in
|
|
<TT>/usr/src/release/floppies/Makefile</TT> that's supposed to let
|
|
you *just* make those floppies, but it's not really gelled yet.
|
|
|
|
To make a custom release, follow the instructions
|
|
<ref id="custrel" name="here">.
|
|
|
|
<sect1>
|
|
<heading>Can Windows 95 co-exist with FreeBSD?</heading>
|
|
|
|
<p>
|
|
Install Windows 95 first, after that FreeBSD. FreeBSD's boot
|
|
manager will then manage to boot Win95 and FreeBSD. If you
|
|
install Windows 95 second, it will boorishly overwrite your
|
|
boot manager without even asking. If that happens, see
|
|
the next section.
|
|
|
|
<sect1>
|
|
<heading>Help, Windows 95 killed my boot manager! How do I get
|
|
it back?</heading>
|
|
|
|
<p>You can reinstall the boot manager FreeBSD comes with in one of
|
|
two ways:
|
|
|
|
<itemize>
|
|
<item>Running DOS, go into the tools/ directory of your FreeBSD
|
|
distribution and look for <bf>bootinst.exe</bf>. You run it like so:
|
|
<p><bf>bootinst.exe boot.bin</bf>
|
|
<p>And the boot manager will be reinstalled.
|
|
|
|
<item>Boot the FreeBSD boot floppy again and go to the Custom
|
|
installation menu item. Choose Partition. Select the drive which
|
|
used to contain your boot manager (likely the first one) and when you
|
|
come to the partition editor for it, as the very first thing (e.g.
|
|
do not make any changes) select (W)rite. This will ask for
|
|
confirmation, say yes, and when you get the Boot Manager selection
|
|
prompt, be sure to select "Boot Manager."
|
|
This will re-write the boot manager to disk. Now quit out of the
|
|
installation menu and reboot off the hard disk as normal.
|
|
</itemize>
|
|
|
|
<sect1>
|
|
<heading>How can I have more than one operating system on my PC?</heading>
|
|
<p>
|
|
Have a look at <url url="http://www.in.net/~jayrich/doc/multios.html"
|
|
name="The multi-OS page.">
|
|
|
|
<sect1>
|
|
<heading>Can I install on an IDE disk with bad blocks?</heading>
|
|
<p>
|
|
FreeBSD's bad block (the ``<tt/bad144/'' command) handling is
|
|
still not 100% (to put it charitably) and it must
|
|
unfortunately be said that if you've got an IDE or ESDI drive
|
|
with lots of bad blocks, then FreeBSD is probably not for you!
|
|
That said, it does work on thousands of IDE based systems, so
|
|
you'd do well to try it first before simply giving up.
|
|
|
|
<sect1>
|
|
<heading>Strange things happen when I boot the install floppy!</heading>
|
|
<p>
|
|
If you're seeing things like the machine grinding to a halt or
|
|
spontaneously rebooting when you try to boot the install floppy,
|
|
here are three questions to ask yourself:-
|
|
<enum>
|
|
<item>Did you use a new, freshly-formatted, error-free floppy
|
|
(preferably a brand-new one straight out of the box, as
|
|
opposed to the magazine coverdisk that's been lying under
|
|
the bed for the last three years)?
|
|
<item>Did you download the floppy image in binary (or image) mode?
|
|
(don't be embarrassed, even the best of us have made this
|
|
mistake at least once when FTP'ing things!)
|
|
shell in the GUI can cause this problem.
|
|
</enum>
|
|
|
|
There have also been reports of Netscape causing problems when
|
|
downloading the boot floppy, so it's probably best to use a different
|
|
FTP client if you can.
|
|
|
|
<sect1>
|
|
<heading>Help! I can't install from tape!</heading>
|
|
<p>
|
|
If you are installing 2.1.7R 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.1.7R; with these tapes,
|
|
you will get an error that complains about the record size being
|
|
too big.
|
|
|
|
<sect1>
|
|
<heading>Can I install on my laptop over PLIP (Parallel Line IP)?</heading>
|
|
<p>
|
|
Connect the two computers using a Laplink parallel cable to use
|
|
this feature:
|
|
|
|
<verb>
|
|
+----------------------------------------+
|
|
|A-name A-End B-End Descr. Port/Bit |
|
|
+----------------------------------------+
|
|
|DATA0 2 15 Data 0/0x01 |
|
|
|-ERROR 15 2 1/0x08 |
|
|
+----------------------------------------+
|
|
|DATA1 3 13 Data 0/0x02 |
|
|
|+SLCT 13 3 1/0x10 |
|
|
+----------------------------------------+
|
|
|DATA2 4 12 Data 0/0x04 |
|
|
|+PE 12 4 1/0x20 |
|
|
+----------------------------------------+
|
|
|DATA3 5 10 Strobe 0/0x08 |
|
|
|-ACK 10 5 1/0x40 |
|
|
+----------------------------------------+
|
|
|DATA4 6 11 Data 0/0x10 |
|
|
|BUSY 11 6 1/0x80 |
|
|
+----------------------------------------+
|
|
|GND 18-25 18-25 GND - |
|
|
+----------------------------------------+
|
|
</verb>
|
|
|
|
See also <ref id="pao" name="this note"> on the Mobile Computing page.
|
|
|
|
<sect1>
|
|
<heading>Which geometry should I use for a disk drive?<label id="geometry"></heading>
|
|
<p>
|
|
(By the "geometry" of a disk, we mean the number of cylinders,
|
|
heads and sectors/track on a disk - I'll refer to this as
|
|
C/H/S for convenience. This is how the PC's BIOS works out
|
|
which area on a disk to read/write from).
|
|
|
|
This seems to cause a lot of confusion for some reason. First
|
|
of all, the <tt /physical/ geometry of a SCSI drive is totally
|
|
irrelevant, as FreeBSD works in term of disk blocks. In fact, there
|
|
is no such thing as "the" physical geometry, as the sector density
|
|
varies across the disk - what manufacturers claim is the "true"
|
|
physical geometry is usually the geometry that they've worked out
|
|
results in the least wasted space. For IDE disks, FreeBSD does
|
|
work in terms of C/H/S, but all modern drives will convert this
|
|
into block references internally as well.
|
|
|
|
All that matters is the <tt /logical/ geometry - the answer that the
|
|
BIOS gets when it asks "what is your geometry" and then uses to access
|
|
the disk. As FreeBSD uses the BIOS when booting, it's very important
|
|
to get this right. In particular, if you have more than one operating
|
|
system on a disk, they must all agree on the geometry, otherwise you
|
|
will have serious problems booting!
|
|
|
|
For SCSI disks, the geometry to use depends on whether extended
|
|
translation support is turned on in your controller (this is
|
|
often referred to as "support for DOS disks >1GB" or something
|
|
similar). If it's turned off, then use N cylinders, 64 heads
|
|
and 32 sectors/track, where 'N' is the capacity of the disk in
|
|
MB. For example, a 2GB disk should pretend to have 2048 cylinders,
|
|
64 heads and 32 sectors/track.
|
|
|
|
If it <tt /is/ turned on (it's often supplied this way to get around
|
|
certain limitations in MSDOS) and the disk capacity is more than 1GB,
|
|
use M cylinders, 63 heads (*not* 64), and 255 sectors per track, where
|
|
'M' is the disk capacity in MB divided by 7.844238 (!). So our
|
|
example 2GB drive would have 261 cylinders, 63 heads and 255 sectors
|
|
per track.
|
|
|
|
If you are not sure about this, or FreeBSD fails to detect the
|
|
geometry correctly during installation, the simplest way around
|
|
this is usually to create a small DOS partition on the disk. The
|
|
correct geometry should then be detected (and you can always remove
|
|
the DOS partition in the partition editor if you don't want to keep
|
|
it, or leave it around for programming network cards and the like).
|
|
|
|
Alternatively, there is a freely available utility distributed with
|
|
FreeBSD called ``<tt/pfdisk.exe/'' (located in the <tt>tools</tt>
|
|
subdirectory on the FreeBSD CDROM or on the various FreeBSD
|
|
ftp sites) which can be used to work out what geometry the other
|
|
operating systems on the disk are using. You can then enter this
|
|
geometry in the partition editor.
|
|
|
|
<sect1>
|
|
<heading>Any restrictions on how I divide the disk up?</heading>
|
|
|
|
<p>
|
|
Yes. You must make sure that your root partition is below 1024
|
|
cylinders so the BIOS can boot the kernel from it. (Note that this
|
|
is a limitation in the PC's BIOS, not FreeBSD).
|
|
|
|
For a SCSI drive, this will normally imply that the root partition
|
|
will be in the first 1024MB (or in the first 4096MB if extended
|
|
translation is turned on - see previous question). For IDE, the
|
|
corresponding figure is 504MB.
|
|
|
|
<sect1><heading>What about disk managers? My BIOS doesn't support large drives!</heading>
|
|
<p>
|
|
FreeBSD recognises the Ontrack Disk Manager and makes allowances
|
|
for it. Other disk managers are not supported.
|
|
|
|
If you just want to use the disk with FreeBSD you don't need a
|
|
disk manager. Just configure the disk for as much space as the
|
|
BIOS can deal with (usually 504 megabytes), and FreeBSD
|
|
should figure out how much space you really have. If you're using
|
|
an old disk with an MFM controller, you may need to explicitly
|
|
tell FreeBSD how many cylinders to use.
|
|
|
|
If you want to use the disk with FreeBSD and another operating
|
|
system, you may be able to do without a disk manager: just make sure
|
|
the the FreeBSD boot partition and the slice for the other
|
|
operating system are in the first 1024 cylinders.
|
|
|
|
<sect1>
|
|
<heading>When I boot FreeBSD I get ``Missing Operating System''.</heading>
|
|
<p>
|
|
This is classically a case of FreeBSD and DOS or some other OS
|
|
conflicting over their ideas of disk <ref id="geometry"
|
|
name="geometry."> You will have to reinstall FreeBSD, but obeying the
|
|
instructions given above will almost always get you going.
|
|
|
|
<sect1>
|
|
<heading>I can't get past the boot manager's `F?' prompt.</heading>
|
|
|
|
<p>
|
|
This is another symptom of the problem described in the preceding
|
|
question. Your BIOS geometry and FreeBSD geometry settings do
|
|
not agree! If your controller or BIOS supports cylinder
|
|
translation (often marked as ``>1GB drive support''), try
|
|
toggling its setting and reinstalling FreeBSD.
|
|
|
|
<sect1>
|
|
<heading>How can I add my new hard disk to my FreeBSD system?</heading>
|
|
<p>
|
|
The easiest way to do this is from the installation program. You
|
|
can start the installation program by running
|
|
<tt>/stand/sysinstall</tt> as root.
|
|
<p>
|
|
Alternatively, if you still have the install floppy, you can just
|
|
reboot from that and use the partition & label editors while
|
|
the system is totally quiescent.
|
|
<p>
|
|
<label id="2_1-disklabel-fix">
|
|
If the above does not work for you, or if you're a total masochist
|
|
who likes arcane interfaces, this is how to use disklabel(8) manually:
|
|
<p>
|
|
<em>WARNING: There is no substitute for reading carefully
|
|
& understanding what you are doing! Things described here may
|
|
DESTROY your system. Proceed with caution! Remember, a BACKUP is your
|
|
friend!</em>
|
|
<p>
|
|
<tt /sysinstall/ used to be broken up to 2.1.5-RELEASE and will
|
|
insist on mounting something at / in the disklabel editor. You will
|
|
have to manually run <tt /disklabel(8)/ before you can run
|
|
<tt /newfs(8)/. This means doing the math for partitions
|
|
yourself. This is rumoured to be easy :-) See if you can obtain a
|
|
skeletal label with ''<tt>disklabel -r <diskname></tt>''
|
|
<em>(eg. </em>''<tt>disklabel -r /dev/rwd0s2</tt>''<em>, assuming
|
|
that your new disk is wd0, the first IDE drive, and the FreeBSD
|
|
slice is the second one, s2)</em>. You should see something
|
|
like:-
|
|
|
|
<verb>
|
|
# /dev/rwd0s2:
|
|
type: ESDI
|
|
disk: wd0s2
|
|
label:
|
|
flags:
|
|
bytes/sector: 512
|
|
sectors/track: 63
|
|
tracks/cylinder: 64
|
|
sectors/cylinder: 4032
|
|
cylinders: 610
|
|
sectors/unit: 2459520
|
|
rpm: 3600
|
|
interleave: 1
|
|
trackskew: 0
|
|
cylinderskew: 0
|
|
headswitch: 0 # milliseconds
|
|
track-to-track seek: 0 # milliseconds
|
|
drivedata: 0
|
|
|
|
8 partitions:
|
|
# size offset fstype [fsize bsize bps/cpg]
|
|
c: 2459520 0 unused 0 0 # (Cyl. 0 - 609)
|
|
e: 2459520 0 4.2BSD 0 0 0 # (Cyl. 0 - 609)
|
|
</verb>
|
|
|
|
Make sure that the size is correct, in this case, 2459520
|
|
sectors/unit x 512 bytes/sector / 2**20 (1 Megabyte) = 1200
|
|
Megabytes. The rest of the stuff (b/s, t/c, s/c, interleave, etc.)
|
|
should get suitable defaults from <tt /disklabel/, but see
|
|
<ref id="ESDI" name="this note"> for older disks. 'fsize' is the
|
|
<ref id="fsize" name="Fragment size"> for the filesystem,
|
|
and 'bsize' is the <ref id="bsize" name="Block size">. 'c' is
|
|
the partition covering the entire slice (or entire disk for a
|
|
non-sliced disk), and must remain as it is. <em>It should not be
|
|
used for a filesystem</em>. The 'c' partition is magic in that it
|
|
is faked by the kernel even if no disklabel exists.
|
|
<p>
|
|
In the trivial case, where you want a single filesystem spanning
|
|
the whole slice, the entry for 'e' has to be corrected. Setting fsize
|
|
to 1024 and bsize to 8192 (8 fragments/block), which are reasonable
|
|
values for a filesystem, the correct entry for 'e' would be:-
|
|
|
|
<verb>
|
|
e: 2459520 0 4.2BSD 1024 8192
|
|
</verb>
|
|
|
|
<p>
|
|
Now, the (slightly) harder case, where we want 2 partitions for 2
|
|
filesystems. Following the <ref id="fsname" name="BSD naming
|
|
conventions">, the partitions will be <tt /wd0s2e/ &
|
|
<tt /wd0s2f/. Suppose we split up the 1200 MB into 300 MB for
|
|
'e' and the remaining 900 MB for 'f'. The partition entries would
|
|
be:-
|
|
|
|
<verb>
|
|
8 partitions:
|
|
# size offset fstype [fsize bsize bps/cpg]
|
|
c: 2459520 0 unused 0 0 # (Cyl. 0 - 609)
|
|
e: 614400 0 4.2BSD 1024 8192
|
|
f: 1843200 614400 4.2BSD 1024 8192
|
|
</verb>
|
|
|
|
<p>
|
|
<bf /Note:/ You can directly edit the disklabel with
|
|
''<tt>disklabel -e wd0s2</tt>''. See <tt /disklabel(8)/.
|
|
<p>
|
|
If you have at least FreeBSD 2.1.5, and you want to dedicate
|
|
an entire disk to FreeBSD without any care for other
|
|
systems, you might shorten the steps above to something like:
|
|
<verb>
|
|
# dd if=/dev/zero of=/dev/rwd0 count=100
|
|
# disklabel -Brw wd0 auto
|
|
# disklabel -e wd0
|
|
</verb>
|
|
|
|
The first <tt/dd/ command ensures there is no old junk at
|
|
the beginning of the disk that might confuse the disk code
|
|
in the kernel. Following is an automatic skeleton label
|
|
generation using the defaults that have been probed from the
|
|
disk at boot time. Editing this label continues as described
|
|
above.
|
|
<p>
|
|
You're done! Time to initialise the filesystems with something
|
|
like:-
|
|
|
|
<verb>
|
|
newfs -d0 /dev/rwd0s2e
|
|
newfs -d0 /dev/rwd0s2f
|
|
</verb>
|
|
|
|
Depending on the disk name and slice number, it might be
|
|
required that you run the script <tt>/dev/MAKEDEV</tt>
|
|
before in order to create the desired device nodes.
|
|
|
|
And mount your new filesystems (See <tt /mount(8)/):-
|
|
|
|
<verb>
|
|
mount /dev/wd0s2e /mnt/foo
|
|
mount /dev/wd0s2f /mnt/bar
|
|
</verb>
|
|
|
|
You may wish to edit <tt>/etc/fstab</tt> to automatically mount
|
|
the filesystems at boot time.
|
|
|
|
<p>
|
|
<bf /Glossary:/
|
|
<descrip>
|
|
<tag><label id="fsize"><bf>Fragment Size (fsize)</bf></tag>
|
|
The basic unit of storage for <tt /ffs/. See
|
|
M. McKusick, W. Joy, S. Leffler, and R. Fabry,
|
|
"A Fast File System for UNIX",
|
|
ACM Transactions on Computer Systems 2, 3, pp 181-197, August
|
|
1984, (reprinted in the BSD System Manager's Manual, SMM:5) or
|
|
<url url="file:/usr/share/doc/smm/05.fastfs/paper.ascii.gz"
|
|
name="/usr/share/doc/smm/05.fastfs/paper.ascii.gz">
|
|
on your system.
|
|
<tag><label id="bsize"><bf>Block Size (bsize)</bf></tag>
|
|
A block comprises one or more fragments. See the
|
|
reference above and
|
|
<url url="file:/usr/include/sys/disklabel.h"
|
|
name="<sys/disklabel.h>">
|
|
<tag><label id="ESDI">
|
|
<bf>Disklabel Characteristics for Older Disks (ESDI)</bf></tag>
|
|
You may need to provide more information to <tt /disklabel/
|
|
if you happen to own a ``true disk'', i.e. one with a
|
|
uniform geometry, real heads, sectors, and cylinders,
|
|
such as an old ESDI drive. All of this should be easily
|
|
obtainable from the drive case, owner's manual, fellow
|
|
sufferers, etc. :-)
|
|
<tag><label id="fsname">
|
|
<bf>BSD Filesystem Naming Conventions</bf></tag>
|
|
Partition 'a' is by convention reserved for a bootable
|
|
partition, and partition 'b' for swap space. Regular
|
|
partition names should start with 'd'. ('d' used to be
|
|
magic in 386BSD 0.1 through FreeBSD 2.0, thus partition
|
|
'e' is often used for the first non-bootable partition
|
|
containing a filesystem.)
|
|
<tag><label id="swap">
|
|
<bf>Warning about swap space</bf></tag>
|
|
The space required by the BSD partition table is allowed
|
|
for in the file system. It's not allowed for by the swap
|
|
partition. So don't start swap at cylinder 0, either offset
|
|
it or put a file system in partition 'a'.
|
|
</descrip>
|
|
|
|
<sect1>
|
|
<heading>I have bad blocks on my hard drive!</heading>
|
|
<p>
|
|
With SCSI drives, the drive should be capable of re-mapping
|
|
these automatically. However, many drives are shipped with
|
|
this feature disabled, for some mysterious reason...
|
|
|
|
To enable this, you'll need to edit the first device page mode,
|
|
which can be done on FreeBSD by giving the command (as root)
|
|
|
|
<verb>
|
|
scsi -f /dev/rsd0c -m 1 -e -P 3
|
|
</verb>
|
|
|
|
and changing the values of AWRE and ARRE from 0 to 1:-
|
|
<verb>
|
|
AWRE (Auto Write Reallocation Enbld): 1
|
|
ARRE (Auto Read Reallocation Enbld): 1
|
|
</verb>
|
|
|
|
For other drive types, you are dependent on support from the
|
|
operating system. Unfortunately, the ``bad144'' command that
|
|
FreeBSD supplies for this purpose needs a considerable amount
|
|
of work done on it...
|
|
|
|
IDE drives are <em/supposed/ to come with built-in bad-block
|
|
remapping; if you have documentation for your drive, you may want
|
|
to see if this feature has been disabled on your drive. However,
|
|
ESDI, RLL, and ST-506 drives normally do not do this.
|
|
|
|
<sect1>
|
|
<heading>I have >16MB of RAM. Will this cause any problems?<label id="bigram"></heading>
|
|
|
|
<p>
|
|
No. FreeBSD 2.X comes with bounce buffers which allows your bus
|
|
mastering controller access to greater than 16MB. (Note that this
|
|
should only be required if you are using ISA devices, although
|
|
one or two broken EISA and VLB devices may need it as well).
|
|
|
|
Also look at the section on <ref id="reallybigram"
|
|
name=">64M machines"> if you have that much memory,
|
|
or if you're using a Compaq or other BIOS that lies about
|
|
the available memory.
|
|
|
|
<sect1>
|
|
<heading>I keep seeing messages like ``<tt/ed1: timeout/''.</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. Boot with the -c option and
|
|
change the ed0/de0/... entry to match your board.
|
|
|
|
<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
|
|
includes several of the files mentioned here, and the
|
|
``<tt/sys/'' (kernel) source kit, which includes sources for the
|
|
kernel. There is nothing in the system which requires the
|
|
presence of the sources to operate, however, except for the
|
|
kernel-configuration program <tt/config(8)/. With the exception
|
|
of the kernel sources, our build structure is set up so that you
|
|
can read-only mount the sources from elsewhere via NFS and still
|
|
be able to make new binaries. (Because of the kernel-source
|
|
restriction, we recommend that you not mount this on
|
|
<tt>/usr/src</tt> directly, but rather in some other location
|
|
with appropriate symbolic links to duplicate the top-level
|
|
structure of the source tree.)
|
|
|
|
Having the sources on-line and knowing how to build a system with
|
|
them will make it much easier for you to upgrade to future
|
|
releases of FreeBSD.
|
|
|
|
|
|
<sect1>
|
|
<heading>I live outside the US. Can I use DES encryption?</heading>
|
|
|
|
<p> If it is not absolutely imperative that you use DES style
|
|
encryption, you can use FreeBSD's default encryption for even
|
|
<bf/better/ security, and with no export restrictions. FreeBSD
|
|
2.0's password default scrambler is now <bf/MD5/-based, and is
|
|
more CPU-intensive to crack with an automated password cracker
|
|
than DES, and allows longer passwords as well.
|
|
|
|
Since the DES encryption algorithm cannot legally be exported
|
|
from the US, non-US users should not download this software (as
|
|
part of the <tt/secrdist/ from US FTP sites.
|
|
|
|
There is however a replacement libcrypt available, based on
|
|
sources written in Australia by David Burren. This code is now
|
|
available on some non-US FreeBSD mirror sites. Sources for the
|
|
unencumbered libcrypt, and binaries of the programs which use it,
|
|
can be obtained from the following FTP sites:
|
|
|
|
<descrip>
|
|
<tag/South Africa/
|
|
<tt>ftp://ftp.internat.freebsd.org/pub/FreeBSD</tt><newline>
|
|
<tt>ftp://storm.sea.uct.ac.za/pub/FreeBSD</tt>
|
|
<tag/Brazil/
|
|
<tt>ftp://ftp.iqm.unicamp.br/pub/FreeBSD</tt>
|
|
<tag/Finland/
|
|
<tt>ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt</tt>
|
|
</descrip>
|
|
|
|
The non-US <tt/securedist/ can be used as a direct replacement
|
|
for the encumbered US <tt/securedist/. This <tt/securedist/
|
|
package is installed the same way as the US package (see
|
|
installation notes for details). If you are going to install DES
|
|
encryption, you should do so as soon as possible, before
|
|
installing other software.
|
|
|
|
Non-US users should please not download any encryption software
|
|
from the USA. This can get the maintainers of the sites from
|
|
which the software is downloaded into severe legal difficulties.
|
|
|
|
A non-US distribution of Kerberos is also being developed, and
|
|
current versions can generally be obtained by anonymous FTP from
|
|
<tt>braae.ru.ac.za</tt>.
|
|
|
|
There is a mailing list for the discussion of non-US encryption
|
|
software. For more information, send an email message with a
|
|
single line saying ``<tt/help/'' in the body of your message to
|
|
<tt><majordomo@braae.ru.ac.za></tt>.
|
|
|
|
</sect1>
|
|
</sect>
|
|
<sect>
|
|
<heading>Hardware compatibility <label id="hardware"></heading>
|
|
<p>
|
|
<sect1>
|
|
<heading>What kind of hard drives does FreeBSD run on?</heading>
|
|
|
|
<p>
|
|
IDE and SCSI hard drives are supported. FreeBSD also
|
|
supports ST-506 (sometimes called ``MFM''), RLL, and ESDI
|
|
drives, which are usually connected to WD-1002, WD-1003, or
|
|
WD-1006/7 controllers (although clones should also work).
|
|
|
|
<sect1>
|
|
<heading>What SCSI controllers are supported?</heading>
|
|
|
|
<p>
|
|
FreeBSD supports the following SCSI controllers:
|
|
|
|
<descrip>
|
|
<tag/Adaptec/
|
|
AH-1505 <ISA> <newline>
|
|
AH-152x Series <ISA> <newline>
|
|
AH-154x Series <ISA> <newline>
|
|
AH-174x Series <EISA> <newline>
|
|
Sound Blaster SCSI (AH-152x compat) <ISA> <newline>
|
|
AH-2742/2842 Series <ISA/EISA> <newline>
|
|
AH-2820/2822/2825 Series (Narrow/Twin/Wide) <VLB> <newline>
|
|
AH-294x and aic7870 MB controllers (Narrow/Twin/Wide) <PCI><newline>
|
|
AH-394x (Narrow/Twin/Wide)
|
|
<tag/Buslogic/
|
|
BT-445 Series <VLB> (but see section <ref id="bigram"
|
|
name="on >16 MB machines">) <newline>
|
|
BT-545 Series <ISA> <newline>
|
|
BT-742 Series <EISA><newline>
|
|
BT-747 Series <EISA><newline>
|
|
BT-946 Series <PCI> <newline>
|
|
BT-956 Series <PCI> <newline>
|
|
<tag/Future Domain/
|
|
TMC-950 Series <ISA> <newline>
|
|
<tag/PCI Generic/
|
|
NCR 53C81x based controllers <PCI> <newline>
|
|
NCR 53C82x based controllers <PCI> <newline>
|
|
NCR 53C860/75 based controllers <PCI> <newline>
|
|
<tag/ProAudioSpectrum/
|
|
Zilog 5380 based controllers <ISA> <newline>
|
|
Trantor 130 based controllers <ISA> <newline>
|
|
<tag/DTC/
|
|
DTC 3290 EISA SCSI in AHA-154x emulation.<newline>
|
|
<tag/Seagate/
|
|
ST-01/02 Series <ISA><newline>
|
|
<tag/UltraStor/
|
|
UH-14f Series <ISA><newline>
|
|
UH-24f Series <EISA> <newline>
|
|
UH-34f Series <VLB><newline>
|
|
<tag/Western Digital/
|
|
WD7000 <ISA> <No scatter/gather>
|
|
</descrip>
|
|
|
|
<sect1>
|
|
<heading>What CD-ROM drives are supported by FreeBSD?</heading>
|
|
|
|
<p>
|
|
Any SCSI drive connected to a supported controller.
|
|
|
|
<itemize>
|
|
<item>Mitsumi LU002 (8bit), LU005 (16bit) and FX001D (16bit 2x
|
|
Speed).
|
|
<item>Sony CDU 31/33A<newline>
|
|
<item>Sound Blaster Non-SCSI CD-ROM<newline>
|
|
<item>Matsushita/Panasonic CD-ROM<newline>
|
|
<item>ATAPI compatible IDE CD-ROMs (should be considered
|
|
<bf/experimental/)
|
|
</itemize>
|
|
All non-SCSI cards are known to be extremely slow compared to
|
|
SCSI drives.
|
|
|
|
<sect1>
|
|
<heading>How about ZIP drives?</heading>
|
|
|
|
<p>
|
|
FreeBSD supports the SCSI ZIP drive out of the box, of course. The
|
|
ZIP drive can only be set to run at SCSI target IDs 5 or 6, but if
|
|
your SCSI host adapter's BIOS supports it you can even boot from
|
|
it. I don't know which host adapters let you boot from targets
|
|
other than 0 or 1... look at your docs (and let me know if it works
|
|
out for you).
|
|
|
|
There is no built in support for the parallel ZIP drive, and if you
|
|
haven't bought your ZIP drive already I recommend you get the SCSI
|
|
one... the price is the same, and the performance is much better,
|
|
and you're unlikely to ever be able to boot from the parallel port.
|
|
|
|
If you already have a parallel ZIP, there is a port of the Linux
|
|
driver available at
|
|
<url url="http://www.prism.uvsq.fr/~son/ppa3.html"
|
|
name="Nicolas Souchu's home page"> in France.
|
|
|
|
Also check out <ref id="jaz" name="this note on removable drives">.
|
|
|
|
<sect1>
|
|
<heading>And how about JAZ, EZ, and other removable drives?</heading>
|
|
|
|
<p>
|
|
Apart from the IDE version of the EZ drive, these are all SCSI
|
|
devices, so the should all look like SCSI disks to FreeBSD, and
|
|
the IDE EZ should look like an IDE drive.
|
|
|
|
<label id="jaz">
|
|
I'm not sure how well FreeBSD supports changing the media out
|
|
while running. You will of course need to dismount the drive
|
|
before swapping media, and make sure that any external units are
|
|
powered on when you boot the system so FreeBSD can see them.
|
|
|
|
<sect1>
|
|
<heading>What multi-port serial cards are supported by FreeBSD?</heading>
|
|
|
|
<p>
|
|
<itemize>
|
|
<item>AST/4 in shared IRQ mode,
|
|
<item>ARNET 8 port in shared IRQ mode,
|
|
<item>BOCA 4/8/16 port cards in shared IRQ mode,
|
|
<item>Cyclades 8/16 port <Alpha>,
|
|
<item>Cronyx/Sigfgma multiport sync/async,
|
|
<item>RISCom/8 multiport card,
|
|
<item>SCCSI Usenet II in shared IRQ mode,
|
|
<item>STB 4 port i shared IRQ mode,
|
|
</itemize>
|
|
|
|
Some unnamed clone cards have also been known to work, especially
|
|
those that claim to be AST compatible.
|
|
|
|
A Digiboard 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>
|
|
<heading>Does FreeBSD support Adaptec's AHA-2xxx SCSI adapters?</heading>
|
|
|
|
<p>
|
|
FreeBSD supports the AHA-2xxx line of adapters. The GPL portions
|
|
of the old drivers have been re-written and they are now fully
|
|
under the Berkeley style copyright. However, the 2920 is <bf /not/
|
|
currently supported.
|
|
|
|
<sect1>
|
|
<heading>I have a Mumbleco bus mouse. How do I set it up?</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 irq5 vector mseintr
|
|
</verb>
|
|
|
|
<sect1>
|
|
<heading>I have a PS/2 mouse (``keyboard'' mouse) How do I use it?<label id="ps2mouse"></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_CHECKSYNC #checks the header byte for sync.
|
|
</verb>
|
|
|
|
<p>
|
|
See the <url url="../handbook/kernelconfig.html"
|
|
name="Handbook entry on configuring the kernel">
|
|
if you've no experience with building kernels.
|
|
|
|
If you're running FreeBSD 2.1.6 or later, the psm0 device
|
|
line is already there, but it's disabled. Remove the keyword
|
|
<tt/disable/ from the device line to enable it, or if you
|
|
don't want to compile a kernel just boot with the "-c" flag
|
|
and enable it from there.
|
|
|
|
Once you have a kernel detecting psm0 correctly at boot time,
|
|
make sure that an entry for psm0 exists in /dev. You can do this
|
|
by typing:
|
|
<verb>
|
|
cd /dev; sh MAKEDEV psm0
|
|
</verb>
|
|
When logged in as root.
|
|
|
|
<sect1>
|
|
<heading>I have a laptop with a track-ball mouse.</heading>
|
|
|
|
<p>
|
|
Please refer to <ref id="ps2mouse" name="the answer to the previous question">.
|
|
And check out <ref id="pao" name="this note"> on the Mobile Computing page.
|
|
|
|
<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.
|
|
The QIC-40/80 drives are known to be slow.
|
|
|
|
Some of the early 8-mm drives are not quite compatible with
|
|
SCSI-2, and may not work well with FreeBSD.
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<heading>How about tape changers?</heading>
|
|
|
|
<p>FreeBSD 2.2 supports SCSI changers using the <tt/ch/ device and the
|
|
<tt/chio/ command. The details of how you actually control the
|
|
changer can be found in the <tt/chio(1)/ man page.
|
|
|
|
If you're not using <tt/AMANDA/ or some other product that already
|
|
understands changers, remember that they're only know how to move a
|
|
tape from one point to another, so you need to keep track of which
|
|
slot a tape is in, and which slot the tape currently in the drive
|
|
needs to go back to.
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<heading>What sound cards are supported by FreeBSD?</heading>
|
|
|
|
<p>
|
|
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.
|
|
|
|
<bf/NOTE/ This is only for sound! This driver does not support
|
|
CD-ROMs, SCSI or joysticks on these cards.
|
|
|
|
<sect1>
|
|
<heading>What network cards does FreeBSD support?</heading>
|
|
|
|
<p>
|
|
There is support for the following cards:
|
|
|
|
<descrip>
|
|
<tag/``de'' driver/
|
|
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>
|
|
3Com 3c503 <newline>
|
|
HP 27247B and 27252A <newline>
|
|
And clones of the above <newline>
|
|
<tag/``le'' driver/
|
|
DEC EtherWORKS II and EtherWORKS III controllers. <newline>
|
|
<tag/``ie'' driver/
|
|
AT&T EN100/StarLAN 10 <newline>
|
|
3COM 3c507 Etherlink 16/TP<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)
|
|
<tag/``eg'' driver/
|
|
3com 3c505 Etherlink/+
|
|
<tag/``ze'' driver/
|
|
IBM PCMCIA credit card adapter
|
|
<tag/``lnc'' drive/
|
|
Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL)(*)
|
|
<tag/``ep'' driver/
|
|
3com 3c509 (Must disable PNP support on card)
|
|
<tag/``ix'' driver/
|
|
Intel InterExpress
|
|
<tag/``cx'' driver/
|
|
Cronyx/Sigma multiport Sync/Async (Cisco and PPP framing)
|
|
<tag/``zp'' driver/
|
|
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>
|
|
|
|
<bf/NOTE/ PCMCIA Ethernet cards from IBM and National
|
|
Semiconductor.
|
|
|
|
<bf/NOTE/ Drivers marked with (*) are known to have problems.
|
|
|
|
<bf/NOTE/ We also support TCP/IP over parallel lines. At this point
|
|
we are incompatible with other versions, but we hope to correct
|
|
this in the near future.
|
|
|
|
<bf/NOTE/ Some of these cards require a DOS partition on your hard
|
|
drive to run the configuration software. Software configured cards
|
|
may also need to be hard-reset after running another operating
|
|
system that uses manufacturer-supplied drivers.
|
|
|
|
<sect1>
|
|
<heading>I don't have a math co-processor.</heading>
|
|
|
|
<p>
|
|
<tt /Note/ This will only affect 386/486SX/486SLC owners - other
|
|
machines will have one built into the CPU.
|
|
<p>
|
|
In general this will not cause any problems, 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 buy a math
|
|
co-processor; it's well worth it.
|
|
|
|
<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>
|
|
<heading>What other devices does 2.X support?</heading>
|
|
|
|
<p>
|
|
Here is a listing of drivers that do not fit into any of the
|
|
above areas.
|
|
|
|
<descrip>
|
|
<tag><tt/b004.c/</tag>
|
|
Driver for B004 compatible Transputer boards <newline>
|
|
<tag>``ctx'' driver</tag>
|
|
Driver for CORTEX-I Frame grabber <newline>
|
|
<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
|
|
<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 & 5000 ISDN cards
|
|
<tag/``psm'' driver/
|
|
PS/2 mouse port
|
|
<tag><tt/tw.c/</tag>
|
|
Driver for the X-10 POWERHOUSE <newline>
|
|
</descrip>
|
|
<!--
|
|
<sect1>
|
|
<heading>I am about to buy a new machine. What do you recommend?</heading>
|
|
|
|
<p>
|
|
See the <url url="../handbook/hw.html" name="hardware section">
|
|
of the handbook.
|
|
-->
|
|
<sect1>
|
|
<heading>I have a lap-top with power management.</heading>
|
|
<p>
|
|
FreeBSD supports APM on certain machines. Please look in the
|
|
<tt/LINT/ kernel config file under <tt/APM/.
|
|
|
|
<sect1>
|
|
<heading>FreeBSD does not recognise my Bustek 742a EISA SCSI.</heading>
|
|
<p>
|
|
This info is specific to the 742a but may also cover other
|
|
Buslogic cards. (Bustek = Buslogic)
|
|
|
|
There are 2 general ``versions'' of the 742a card. They are
|
|
hardware revisions A-G, and revisions H - onwards. The revision
|
|
letter is located after the Assembly number on the edge of the
|
|
card. The 742a has 2 ROM chips on it, one is the BIOS chip and
|
|
the other is the Firmware chip. FreeBSD doesn't care what
|
|
version of BIOS chip you have but it does care about what version
|
|
of firmware chip. Buslogic will send upgrade ROMS out if you
|
|
call their tech support dept. The BIOS and Firmware chips are
|
|
shipped as a matched pair. You must have the most current
|
|
Firmware ROM in your adapter card for your hardware revision.
|
|
|
|
The REV A-G cards can only accept BIOS/Firmware sets up to
|
|
2.41/2.21. The REV H- up cards can accept the most current
|
|
BIOS/Firmware sets of 4.70/3.37. The difference between the
|
|
firmware sets is that the 3.37 firmware supports ``round robin''
|
|
|
|
The Buslogic cards also have a serial number on them. If you
|
|
have a old hardware revision card you can call the Buslogic RMA
|
|
department and give them the serial number and attempt to
|
|
exchange the card for a newer hardware revision. If the card is
|
|
young enough they will do so.
|
|
|
|
FreeBSD 2.1 only supports Firmware revisions 2.21 onward. If you
|
|
have a Firmware revision older than this your card will not be
|
|
recognized as a Buslogic card. It may be recognized as an
|
|
Adaptec 1540, however. The early Buslogic firmware contains an
|
|
AHA1540 ``emulation'' mode. This is not a good thing for an EISA
|
|
card, however.
|
|
|
|
If you have an old hardware revision card and you obtain the 2.21
|
|
firmware for it, you will need to check the position of jumper W1
|
|
to B-C, the default is A-B.
|
|
|
|
The 742a EISA cards never had the ``>16MB'' problem mentioned in
|
|
the section <ref id="bigram" name="on >16 MB machines">. This is a
|
|
problem that occurs with the Vesa-Local Buslogic SCSI cards.
|
|
|
|
<sect1>
|
|
<heading>FreeBSD does not recognise my on-board AIC-7xxx EISA SCSI in an HP Netserver</heading>
|
|
<p>
|
|
This is basically a known problem. The EISA on-board SCSI controller
|
|
in the HP Netserver machines occupies EISA slot number 11, so all
|
|
the ``true'' EISA slots are in front of it. Alas, the address space
|
|
for EISA slots >= 10 collides with the address space assigned to PCI,
|
|
and FreeBSD's auto-configuration currently cannot handle this
|
|
situation very well.
|
|
|
|
So now, the best you can do is to pretend there were no address
|
|
range clash :), by bumping the kernel option <tt/EISA_SLOTS/
|
|
to a value of 12.
|
|
Configure and compile a kernel, as described in the
|
|
<url url="http://www.freebsd.org/handbook/kernelconfig.html"
|
|
name="Handbook entry on configuring the kernel">.
|
|
|
|
Of course, this does present you a chicken-and-egg problem when
|
|
installing on such a machine. In order to work around this
|
|
problem, a special hack is available inside <em>UserConfig</em>.
|
|
Do not use the ``visual'' interface, but the plain command-line
|
|
interface there. Simply type
|
|
<verb>
|
|
eisa 12
|
|
quit
|
|
</verb>
|
|
|
|
at the prompt, and install your system as usual. While it's
|
|
recommendable to compile and install a custom kernel anyway,
|
|
<tt/dset(8)/ now also understands to save this value.
|
|
|
|
Hopefully, future version will have a proper fix for this problem.
|
|
|
|
<sect1>
|
|
<heading>What's up with this CMD640 IDE controller?</heading>
|
|
|
|
<p>It's broken. It cannot handle commands on both channels
|
|
simultaneously.
|
|
|
|
<p>There's a workaround available now, but as of FreeBSD 2.2,
|
|
we felt it was still not long enough in the source tree to
|
|
shake out any potential bugs. Hence it is disabled by default.
|
|
To enable it, you have to reconfigure and recompile your kernel
|
|
with
|
|
<verb>
|
|
options "CMD640"
|
|
</verb>
|
|
|
|
in the config file.
|
|
|
|
<p>In order to install the system, you must however ensure
|
|
that only one channel of this controller will be used. Don't
|
|
forget about ATAPI CD-ROM drives here -- if you are using one,
|
|
it must be the slave on the primary channel. Once your new
|
|
kernel is in place, you can rearrange the machine as you like.
|
|
|
|
<p>The workaround is likely to be enabled by default in future
|
|
versions.
|
|
|
|
<sect>
|
|
<heading>Commercial Applications</heading>
|
|
|
|
<p>
|
|
<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
|
|
in FreeBSD can have very positive effects on FreeBSD's long-term
|
|
viability). We encourage commercial software vendors to send their
|
|
entries here for inclusion.
|
|
|
|
|
|
<sect1>
|
|
<heading>Where can I get Motif for FreeBSD?</heading>
|
|
<p>Contact <ref id="xig" name="Xi Graphics"> for a Motif 2.0
|
|
distribution for FreeBSD.
|
|
|
|
This distribution includes:
|
|
<itemize>
|
|
<item>OSF/Motif manager, xmbind, panner, wsm.
|
|
<item>Development kit with uil, mrm, xm, xmcxx, include and Imake files.
|
|
<item>Static and dynamic libraries.
|
|
<item>Demonstration applets.
|
|
<item>Preformatted man pages.
|
|
</itemize>
|
|
|
|
<p>Be sure to specify that you want the FreeBSD version of Motif
|
|
when ordering! Versions for BSDI and Linux are also sold by
|
|
<em>Xi Graphics</em>. This is currently a 4 diskette set... in the
|
|
future this will change to a unified CD distribution like their CDE.</p>
|
|
|
|
<sect1>
|
|
<heading>Where can I get CDE for FreeBSD?</heading>
|
|
<p>Contact <ref id="xig" name="Xi Graphics"> for a CDE 1.0.10
|
|
distribution for FreeBSD. This includes Motif 1.2.5, and can
|
|
be used with Motif 2.0.
|
|
|
|
<p>This is a unified CDROM distribution for FreeBSD and Linux.</p>
|
|
|
|
<sect1>
|
|
<heading>Are there any commercial high-performance X servers?<label id="xig"></heading>
|
|
<p>
|
|
Yes, <url url="http://www.xig.com" name="Xi Graphics">
|
|
sells their Accelerated-X product for FreeBSD and other Intel
|
|
based systems.
|
|
|
|
This high performance X Server offers easy configuration, support
|
|
for multiple concurrent video boards and is distributed in binary
|
|
form only, in a unified diskette distribution for FreeBSD and Linux.
|
|
|
|
There is a free "compatibility demo" of version 3.1 available.
|
|
|
|
Xi Graphics also sells Motif and CDE for FreeBSD (see above).
|
|
|
|
<descrip>
|
|
<tag/More info/
|
|
<url url="http://www.xig.com/" name="Xi Graphics WWW page">
|
|
<tag/or/
|
|
<url url="mailto:sales@xig.com" name="Sales"> or
|
|
<url url="mailto:support@xig.com" name="Support">
|
|
email addresses.
|
|
<tag/or/
|
|
phone (800) 946 7433 or +1 303 298-7478.
|
|
</descrip>
|
|
|
|
<sect1>
|
|
<heading>Are there any Database systems for FreeBSD?</heading>
|
|
<p>
|
|
Yes! Conetic Software Systems has ported their C/base and C/books
|
|
database systems to FreeBSD 2.0.5 and higher.
|
|
|
|
<descrip>
|
|
<tag/For more information/
|
|
<url url="http://www.conetic.com/" name="Conetic Software Systems">
|
|
<tag/or mail/
|
|
<url url="mailto:info@conetic.com" name="Information E-mail address">
|
|
</descrip>
|
|
|
|
<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 <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/''
|
|
installed.
|
|
|
|
Thanks must be extended to all of these companies for showing
|
|
enough faith in FreeBSD to port their products to it. While we
|
|
get no direct benefit from the sales of these products, the
|
|
indirect benefits of FreeBSD proving itself to be a successful
|
|
platform for such commercial interests will be immense! We wish
|
|
these companies every measure of success, and can only hope that
|
|
others are encouraged to follow suit.
|
|
|
|
</sect1>
|
|
|
|
<sect>
|
|
<heading>User Applications</heading>
|
|
|
|
<sect1>
|
|
<heading>I want to run X, how do I go about it?</heading>
|
|
|
|
<p>
|
|
First, get the XFree86(tm) distribution of X11R6 from
|
|
<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
|
|
configuring XFree86(tm) for your particular graphics
|
|
card/mouse/etc.
|
|
|
|
You may also wish to investigate the Xaccel server, which is
|
|
available at a very reasonable price. See section
|
|
<ref id="xig" name="on Xi Graphics"> for more details.
|
|
|
|
<sect1>
|
|
<heading>Why doesn't my mouse work with X</heading>
|
|
|
|
<p>
|
|
If you are using syscons (the default console driver), you can
|
|
configure FreeBSD to support a mouse pointer on each virtual
|
|
screen. In order to avoid conflicting with X, syscons supports
|
|
a virtual device called ``<tt>sysmouse</tt>''. All mouse events
|
|
received from the real mouse device are written to the sysmouse
|
|
device, using the MouseSystems protocol. If you wish to use your
|
|
mouse on one or more virtual consoles, <bf/and/ use X, the
|
|
following configuration is recommended:
|
|
|
|
<verb>
|
|
/etc/sysconfig:
|
|
mousedtype=ps/2 # or whatever your actual type is
|
|
mousedport=/dev/psm0 # or whatever your real port is
|
|
|
|
/etc/XF86Config
|
|
Section Pointer
|
|
Protocol "MouseSystems"
|
|
Device "/dev/sysmouse"
|
|
.....
|
|
</verb>
|
|
|
|
<p>
|
|
Some people prefer to use ``<tt>/dev/mouse</tt>'' under X. To
|
|
make this work, ``<tt>/dev/mouse</tt>'' should be linked to
|
|
``<tt>/dev/sysmouse</tt>'':
|
|
|
|
<verb>
|
|
cd /dev
|
|
rm -f mouse
|
|
ln -s sysmouse mouse
|
|
</verb>
|
|
|
|
<sect1>
|
|
<heading>ghostscript gives lots of errors with my 386/486SX.<label id="emul"></heading>
|
|
|
|
<p>
|
|
You don't have a math co-processor, right?
|
|
You will need to add the alternative math emulator to your kernel;
|
|
you do this by adding the following to your kernel config file
|
|
and it will be compiled in.
|
|
|
|
<verb>
|
|
options GPL_MATH_EMULATE
|
|
</verb>
|
|
|
|
<bf/NOTE/ You will need to remove the <tt/MATH_EMULATE/
|
|
option when you do this.
|
|
|
|
<sect1>
|
|
<heading>Is there an easy way to get hold of applications?</heading>
|
|
|
|
<p>
|
|
Yes. Please take a look at <url
|
|
url="http://www.FreeBSD.ORG/ports/" name="the ports page">
|
|
for software ported to FreeBSD. The list is growing daily,
|
|
so come back to check often. All ports here should work for
|
|
systems on either the 2.2 or 3.0 branch, and most of them
|
|
work for 2.1.x systems as well. CDROM people will have a
|
|
snapshot of this tree at the time of release in the
|
|
<tt>ports/</tt> directory on the CD.
|
|
|
|
We also support the concept of a ``package'', which is
|
|
essentially a gzipped binary distribution with a little extra
|
|
intelligence embedded in it for doing any custom installation
|
|
work required. Packages can also be installed or uninstalled
|
|
again easily without having to know the gory details. CDROM
|
|
people will have a <tt>packages/</tt> directory on their CD,
|
|
others can get the currently available packages from:
|
|
|
|
<descrip>
|
|
<tag>for 2.1.x-release</tag>
|
|
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.1.7/"
|
|
name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.1.7/">
|
|
<tag>for 2.2.1-release/2.2-stable</tag>
|
|
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2/"
|
|
name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2/">
|
|
<tag>for 3.0-current</tag>
|
|
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-3.0/"
|
|
name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-3.0/">
|
|
</descrip>
|
|
|
|
or your nearest mirror site.
|
|
|
|
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.
|
|
A <tt/README/ file in the packages directory provides more
|
|
details on the care and feeding of the package software, so no
|
|
explicit details will be given here.
|
|
|
|
<sect1>
|
|
<heading>Where do I find libc.so.3.0?</heading>
|
|
<p>
|
|
You are trying to run a package for 2.2/3.0 on a 2.1.x
|
|
system. Please take a look at the previous section and get
|
|
the correct port/package for your system.
|
|
|
|
<sect1>
|
|
<heading>When I run a SCO/iBCS2 application, it bombs on <tt/socksys/.</heading>
|
|
|
|
<p>
|
|
You first need to edit the <tt>/etc/sysconfig</tt> in the last
|
|
section to change the following variable to <tt/YES/:
|
|
<verb>
|
|
# Set to YES if you want ibcs2 (SCO) emulation loaded at startup
|
|
ibcs2=NO
|
|
</verb>
|
|
It will load the <tt/ibcs2/ kernel module at startup.
|
|
|
|
You'll then need to set up /compat/ibcs2/dev to look like:
|
|
|
|
<verb>
|
|
lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null
|
|
lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys
|
|
-rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null
|
|
lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null
|
|
crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx
|
|
</verb>
|
|
You just need socksys to go to <tt>/dev/null</tt> to fake the
|
|
open & close. The code in -current will handle the rest.
|
|
This is much cleaner than the way it was done before. If you
|
|
want the <tt/spx/ driver for a local socket X connection, define
|
|
<tt/SPX_HACK/ when you compile the system.
|
|
|
|
<sect1>
|
|
<heading>How do I configure INN (Internet News) for my machine?</heading>
|
|
|
|
<p>After installing the inn package or port, the
|
|
<url url="http://www.math.psu.edu/barr/INN.html"
|
|
name="Dave Barr's INN Page">
|
|
where you'll find the INN FAQ may be an excellent place to start.
|
|
|
|
<sect>
|
|
<heading>Miscellaneous Questions</heading>
|
|
<p>
|
|
|
|
<sect1>
|
|
<heading>Why does FreeBSD consume far more swap space than Linux?</heading>
|
|
|
|
<p>
|
|
It doesn't. You might mean ``why does my swap seem full?''. If
|
|
that is what you really meant, it's because putting stuff in swap
|
|
rather than discarding it makes it faster to recover than if the
|
|
pager had to go through the file system to pull in clean
|
|
(unmodified) blocks from an executable.
|
|
|
|
The actual amount of dirty pages that you can have in core at
|
|
once is not reduced; the clean pages are displaced as necessary.
|
|
|
|
<sect1>
|
|
<heading>How can I add more swap space?</heading>
|
|
|
|
<p>The best way is to increase the size of your swap partition, or
|
|
take advantage of this convenient excuse to add another disk (and
|
|
see <ref id="swap" name="this note"> if you do), but
|
|
<bf/Werner Griessl/ has provided these instructions for setting FreeBSD
|
|
up for swapping to a file:
|
|
|
|
<p>Here is an example for 64Mb vn-swap (<tt>/usr/swap0</tt>)
|
|
<p>
|
|
<enum>
|
|
<item>
|
|
create a vn-device
|
|
<verb>
|
|
cd /dev; sh ./MAKEDEV vn0
|
|
</verb>
|
|
<item>
|
|
create a swapfile (<tt>/usr/swap0</tt>)
|
|
<verb>
|
|
dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
|
|
</verb>
|
|
<item>
|
|
put into /etc/rc.local the line
|
|
<verb>
|
|
vnconfig -ce /dev/vn0c /usr/swap0 swap
|
|
</verb>
|
|
<item>
|
|
reboot the machine
|
|
</enum>
|
|
|
|
<p>
|
|
You must also have a kernel with the line
|
|
<verb>
|
|
pseudo-device vn #Vnode driver (turns a file into a device)
|
|
</verb>
|
|
in your config-file.
|
|
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<heading>What is FreeBSD's a.out executable format, and why not ELF?</heading>
|
|
<p>To understand why FreeBSD uses the <tt>a.out</tt> format, you must
|
|
first know a little about the 3 currently "dominant" executable
|
|
formats for UNIX:
|
|
|
|
<itemize>
|
|
<item><bf>a.out</bf>
|
|
<p>The oldest and `classic' unix object format. It uses a
|
|
short and compact header with a magic number at the beginning
|
|
that's often used to characterize the format (see the
|
|
<tt>a.out</tt>(5) for more details). It contains three loaded
|
|
segments: .text, .data, and .bss plus a symbol table and a
|
|
string table.
|
|
</item>
|
|
|
|
|
|
<item><bf>COFF</bf>
|
|
<p>The SVR3 object format. The header now comprises a section
|
|
table, so you can have more than just .text, .data, and .bss
|
|
sections.</item>
|
|
|
|
<item><bf>ELF</bf>
|
|
<p>The successor to <tt/COFF/, featuring Multiple sections
|
|
and 32-bit or 64-bit possible values. One major drawback:
|
|
<tt/ELF/ was also designed with the assumption that there
|
|
would be only one ABI per system architecture. That
|
|
assumption is actually quite incorrect, and not even in the
|
|
commercial SYSV world (which has at least three ABIs: SVR4,
|
|
Solaris, SCO) does it hold true.
|
|
|
|
FreeBSD tries to work around this problem somewhat by
|
|
providing a utility for <em>branding</em> a known <tt/ELF/
|
|
executable with information about the ABI it's compliant with.
|
|
See the man page for brandelf(1) for more information.</item>
|
|
</itemize>
|
|
|
|
<p>FreeBSD comes from the "classic" camp and uses the
|
|
<tt/a.out/ format, a technology tried and proven through
|
|
many generations of BSD releases. Though it has also been possible
|
|
for some time to build and run native <tt/ELF/ binaries (and
|
|
kernels) on a FreeBSD system, no official "push" to switch to
|
|
ELF as the default format has, as yet, been made. Why? Well,
|
|
when the Linux camp made their painful transition to <tt/ELF/, it
|
|
was not so much to flee the <tt/a.out/ executable format
|
|
as it was their inflexible jump-table based shared library
|
|
mechanism, which made the construction of shared libraries
|
|
very difficult for vendors and developers alike. Since the <tt/ELF/
|
|
tools available offered a solution to the shared library
|
|
problem and were generally seen as "the way forward" anyway, the
|
|
migration cost was accepted as necessary and the transition
|
|
made.
|
|
|
|
<p>In FreeBSD's case, it's not quite so simple since our shared
|
|
library mechanism is based more closely on Sun's
|
|
<tt>SunOS</tt>-style shared library mechanism and, as such, is very
|
|
easy to use. The only thing we actually lack with <tt/a.out/
|
|
which <tt/ELF/ would give us is cleaner support for C++ constructors
|
|
and destructors, among other similarly esoteric things, and it
|
|
simply hasn't become much of a problem yet (and there is quite
|
|
a bit of C++ code in FreeBSD's source tree). Should that change,
|
|
a migration may, at some point, be more seriously contemplated.
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<heading>Why doesn't chmod change the permissions on symlinks?</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>
|
|
|
|
<sect1>
|
|
<heading>Why are login names <bf/still/ resticted to 8 characters</heading>
|
|
|
|
<p>You'd think it'd be easy enough to change <bf/UT_NAMESIZE/ and rebuild
|
|
the whole world, and everything would just work. Unfortunately there's
|
|
scads of applications and utilities (including system tools) that have
|
|
hard-coded small numbers (not always "8" or "9", but oddball ones
|
|
like "15" and "20") in structures and buffers... and it would break
|
|
Sun's NIS clients and no doubt cause other problems in interacting
|
|
with other UNIX systems.
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<heading>When I mount a CDROM, I get ``Incorrect super block''.</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 automatically understands the Rock Ridge
|
|
(long filename) extensions as well.
|
|
|
|
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_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 mount a CDROM, I get ``Device not configured''.</heading>
|
|
<p>
|
|
This generally means that there is no CDROM in the CDROM drive,
|
|
or the drive is not visible on the bus. Feed the drive
|
|
something, and/or check its master/slave status if it is
|
|
IDE (ATAPI). It can take a couple of seconds for a CDROM drive
|
|
to notice that it's been fed, so be patient.
|
|
|
|
Sometimes a SCSI CD-ROM may be missed because it hadn't enough time
|
|
to answer the bus reset. In you have a SCSI CD-ROM please try to
|
|
add the following symbol into your kernel configuration file
|
|
and recompile.
|
|
|
|
<verb>
|
|
options "SCSI_DELAY=15"
|
|
</verb>
|
|
|
|
<sect1>
|
|
<heading>How do I mount a secondary DOS partition?</heading>
|
|
|
|
<p>
|
|
The secondary DOS partitions are found after ALL the primary
|
|
partitions. For example, if you have an "E" partition as the
|
|
second DOS partition on the second SCSI drive, you need to create
|
|
the special files for "slice 5" in /dev, then mount /dev/sd1s5:
|
|
|
|
<verb>
|
|
% cd /dev
|
|
% ./MAKEDEV sd1s5
|
|
% mount -t msdos /dev/sd1s5 /dos/e
|
|
</verb>
|
|
|
|
<sect1>
|
|
<heading>Can I mount other foreign filesystems under FreeBSD?</heading> <p>
|
|
<bf/ Digital UNIX/ UFS CDROMs can be mounted directly on FreeBSD.
|
|
Mounting disk partitions from Digital UNIX and other systems
|
|
that support UFS may be more complex, depending on the details
|
|
of the disk partitioning for the operating system in question.
|
|
<p>
|
|
<bf/ Linux/: 2.2 and later have support for <bf/ext2fs/ partitions.
|
|
See mount_ext2fs(8) for more information.
|
|
|
|
Any other information on this subject would be appreciated.
|
|
|
|
<sect1>
|
|
<heading>How can I use the NT loader to boot FreeBSD?</heading>
|
|
<p>
|
|
The general idea is that you copy the first sector of your
|
|
native root FreeBSD or Linux partition into a file in the DOS/NT
|
|
partition. Assuming you name that file something like
|
|
<tt>c:\bootsect.bsd</tt> or <tt>c:\bootsect.lnx</tt>
|
|
(inspired by <tt>c:\bootsect.dos</tt>) you can then edit the
|
|
<tt>c:\boot.ini</tt> file to come up with something like
|
|
this:
|
|
<verb>
|
|
[boot loader]
|
|
timeout=30
|
|
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
|
|
[operating systems]
|
|
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
|
|
C:\BOOTSECT.BSD="FreeBSD"
|
|
C:\BOOTSECT.LNX="Linux"
|
|
C:\="DOS"
|
|
</verb>
|
|
This procedure assumes that DOS, NT, Linux, FreeBSD, or whatever
|
|
have been installed into their respective fdisk partitions on the
|
|
<bf/same/ disk. In my case DOS & NT are in the first fdisk
|
|
partition, FreeBSD in the second, and Linux in the third. I also
|
|
installed FreeBSD and Linux to boot from their native partitions,
|
|
not the disk MBR, and without delay.
|
|
|
|
Mount a DOS-formatted floppy (if you've converted to NTFS) or the
|
|
FAT partition, under, say, <tt>/mnt</tt>.
|
|
|
|
In FreeBSD:
|
|
<verb>
|
|
dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1
|
|
</verb>
|
|
|
|
In Linux:
|
|
<verb>
|
|
dd if=/dev/sda2 of=/mnt/bootsect.lnx bs=512 count=1
|
|
</verb>
|
|
|
|
Reboot into DOS or NT. NTFS users copy the <tt/bootsect.bsd/
|
|
and/or the <tt/bootsect.lnx/ file from the floppy to
|
|
<tt/C:\/. Modify the attributes (permissions) on
|
|
<tt/boot.ini/ with:
|
|
|
|
<verb>
|
|
attrib -s -r c:\boot.ini
|
|
</verb>
|
|
|
|
Edit to add the appropriate entries from the example
|
|
<tt/boot.ini/ above, and restore the attributes:
|
|
|
|
<verb>
|
|
attrib -r -s c:\boot.ini
|
|
</verb>
|
|
|
|
If FreeBSD or Linux are booting from the MBR, restore it with the
|
|
DOS ``<tt>fdisk /mbr</tt>'' command after you reconfigure them to
|
|
boot from their native partitions.
|
|
|
|
<sect1>
|
|
<heading>My printer is ridiculously slow. What can I do ?</heading>
|
|
<p>
|
|
If it's parallel, and the only problem is that it's terribly
|
|
slow, try setting your printer port into ``polled'' mode:
|
|
|
|
<verb>
|
|
lptcontrol -p
|
|
</verb>
|
|
|
|
Some newer HP printers are claimed not to work correctly in
|
|
interrupt mode, apparently due to some (not yet exactly
|
|
understood) timing problem.
|
|
|
|
<sect1>
|
|
<heading>Can I run DOS binaries under FreeBSD?</heading>
|
|
|
|
<p>
|
|
Not yet, though BSDI has just donated their <tt/rundos/ DOS emulation
|
|
subsystem which we're now working on integrating and enhancing.
|
|
Send mail to
|
|
<url url="mailto:emulation@freebsd.org"
|
|
name="The FreeBSD emulation discussion list">
|
|
if you're interested in joining this effort!
|
|
|
|
For now, 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>My programs occasionally die with ``Signal 11'' errors.</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, when you're beating on memory by compiling a kernel,
|
|
or just when the system's running particularly hot).
|
|
|
|
The SIG11 FAQ (listed below) points up slow memory as being the
|
|
most common problem. Increase the number of wait states in your
|
|
BIOS setup, or get faster memory.
|
|
|
|
For me the guilty party has been bad cache RAM or a bad on-board
|
|
cache controller. Try disabling the on-board (secondary) cache in
|
|
the BIOS setup and see if that solves the problem.
|
|
|
|
There's an extensive FAQ on this at
|
|
<url url="http://www.bitwizard.nl/sig11/"
|
|
name="the SIG11 problem FAQ">
|
|
|
|
<sect1>
|
|
<heading>Help! X Window menus and dialog boxes don't work right!</heading>
|
|
<p>
|
|
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>When I boot, the screen goes black and loses sync!</heading>
|
|
<p>
|
|
This is a known problem with the ATI Mach 64 video card.
|
|
The problem is that this card uses address <tt/2e8/, and
|
|
the fourth serial port does too. Due to a bug (feature?) in the
|
|
sio.c driver it will touch this port even if you don't have the
|
|
fourth serial port, and <bf/even/ if you disable sio3 (the fourth
|
|
port) which normally uses this address.
|
|
|
|
Until the bug has been fixed, you can use this workaround:
|
|
<enum>
|
|
<item> Enter <tt/-c/ at the bootprompt.
|
|
(This will put the kernel into configuration mode).
|
|
<item> Disable <tt/sio0/, <tt/sio1/, <tt/sio2/ and <tt/sio3/
|
|
(all of them). This way the sio driver doesn't get activated
|
|
-> no problems.
|
|
<item> Type exit to continue booting.
|
|
</enum>
|
|
|
|
If you want to be able to use your serial ports,
|
|
you'll have to build a new kernel with the following
|
|
modification: in <tt>/usr/src/sys/i386/isa/sio.c</tt> find the
|
|
one occurrence of the string <tt/0x2e8/ and remove that string
|
|
and the preceding comma (keep the trailing comma). Now follow
|
|
the normal procedure of building a new kernel.
|
|
|
|
Even after applying these workarounds, you may still find that
|
|
X Window does not work properly. Some newer ATI Mach 64 video
|
|
cards (notably ATI Mach Xpression) do not run with the current
|
|
version of <tt/XFree86/; the screen goes black when you start
|
|
X Window, or it works with strange problems. You can get
|
|
a beta-version of a new X-server that works better, by looking at
|
|
<url url="http://www.xfree86.org" name="the XFree86 site">
|
|
and following the links to the new beta release. Get the
|
|
following files:
|
|
|
|
<tt>AccelCards, BetaReport, Cards, Devices, FILES, README.ati,
|
|
README.FreeBSD, README.Mach64, RELNOTES, VGADriver.Doc,
|
|
X312BMa64.tgz</tt>
|
|
|
|
Replace the older files with the new versions and make sure you
|
|
run <tt/xf86config/ again.
|
|
|
|
<sect1>
|
|
<heading>What is a virtual console?</heading>
|
|
<p>
|
|
Virtual consoles, put simply, enable you to have several
|
|
simultaneous sessions on the same machine without doing anything
|
|
complicated like setting up a network or running X.
|
|
<p>
|
|
When the system starts, it will display a login prompt on
|
|
the monitor after displaying all the boot messages. You can
|
|
then type in your login name and password and start working (or
|
|
playing!) on the first virtual console.
|
|
<p>
|
|
At some point, you will probably wish to start another
|
|
session, perhaps to look at documentation for a program
|
|
you are running or to read your mail while waiting for an
|
|
FTP transfer to finish. Just do Alt-F2 (hold down the Alt
|
|
key and press the F2 key), and you will find a login prompt
|
|
waiting for you on the second ``virtual console''! When you
|
|
want to go back to the original session, do Alt-F1.
|
|
<p>
|
|
The default FreeBSD installation has three virtual consoles
|
|
enabled, and Alt-F1, Alt-F2, and Alt-F3 will switch between
|
|
these virtual consoles.
|
|
|
|
<sect1>
|
|
<heading>How do I access the virtual consoles from X?</heading>
|
|
<p>
|
|
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. If you insist on
|
|
using the control key to switch back to X you can find your
|
|
text console stuck in ``control-lock'' mode. Tap the control
|
|
key to wake it up again.
|
|
|
|
<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 Window System
|
|
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 the X Window system 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>How do I start XDM from the <tt>/etc/ttys</tt> file ?</heading>
|
|
<p>
|
|
Starting xdm via /etc/ttys is a Bad Thing. I don't know why this
|
|
crept into some README file.
|
|
|
|
Start it from your <tt/rc.local/, and be explicit about how it
|
|
has to start. If this is your last action in <tt/rc.local/, put
|
|
a ``<tt/sleep 1/'' behind, to allow <tt/xdm/ to properly
|
|
daemonize before the <tt/rc/ shell exits.
|
|
|
|
<tt/xdm/ should be started without any arguments (i.e., as a
|
|
daemon).
|
|
|
|
<bf/NOTE:/ A previos version of this FAQ told you to add the
|
|
<tt/vt/ you want X to use to the
|
|
<tt>/usr/X11R6/lib/X11/xdm/Xservers</tt> file. This is not necessary:
|
|
X will use the first free <tt/vt/ it finds.
|
|
|
|
<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
|
|
for keeping their development trees in sync. We used it to keep
|
|
remote sites in sync with our central development sources.
|
|
|
|
SUP is not bandwidth friendly, and has been retired. The current
|
|
recommended method to keep your sources up to date is
|
|
<url url="../handbook/cvsup.html" name="Handbook entry on CVSup">
|
|
|
|
<sect1>
|
|
<heading>How cool is FreeBSD?</heading>
|
|
<p>
|
|
Q. Has anyone done any temperature testing while running FreeBSD?
|
|
I know Linux runs cooler than dos, but have never seen a mention of
|
|
FreeBSD. It seems to run really hot.
|
|
<p>
|
|
A. No, but we have done numerous taste tests on blindfolded
|
|
volunteers who have also had 250 micrograms of LSD-25
|
|
administered beforehand. 35% of the volunteers said that FreeBSD
|
|
tasted sort of orange, whereas Linux tasted like purple haze.
|
|
Neither group mentioned any particular variances in temperature
|
|
that I can remember. We eventually had to throw the results of
|
|
this survey out entirely anyway when we found that too many
|
|
volunteers were wandering out of the room during the tests, thus
|
|
skewing the results. I think most of the volunteers are at Apple
|
|
now, working on their new ``scratch and sniff'' GUI. It's a
|
|
funny old business we're in!
|
|
|
|
Seriously, both FreeBSD and Linux uses the ``<tt/HLT/'' (halt)
|
|
instruction when the system is idle thus lowering its energy
|
|
consumption and therefore the heat it generates. Also if you
|
|
have APM (automatic power management) configured, then FreeBSD
|
|
can also put the CPU into a low power mode.
|
|
|
|
<sect1>
|
|
<heading>Who's scratching in my memory banks??</heading>
|
|
<p>
|
|
Q. Is there anything "odd" that FreeBSD does when compiling the
|
|
kernel which would cause the memory to make a scratchy sound? When
|
|
compiling (and for a brief moment after recognizing the floppy drive
|
|
upon startup, as well), a strange scratchy sound emanates from what
|
|
appears to be the memory banks.
|
|
<p>
|
|
A. Yes! You'll see frequent references to ``daemons'' in the BSD
|
|
documentation, and what most people don't know is that this
|
|
refers to genuine, non-corporeal entities that now possess your
|
|
computer. The scratchy sound coming from your memory is actually
|
|
high-pitched whispering exchanged among the daemons as they best
|
|
decide how to deal with various system administration tasks.
|
|
|
|
If the noise gets to you, a good ``<tt>fdisk /mbr</tt>'' from DOS
|
|
will get rid of them, but don't be surprised if they react
|
|
adversely and try to stop you. In fact, if at any point during
|
|
the exercise you hear the satanic voice of Bill Gates coming from
|
|
the built-in speaker, take off running and don't ever look back!
|
|
Freed from the counterbalancing influence of the BSD daemons, the
|
|
twin demons of DOS and Windows are often able to re-assert total
|
|
control over your machine to the eternal damnation of your soul.
|
|
Given a choice, I think I'd prefer to get used to the scratchy
|
|
noises, myself!
|
|
|
|
<sect1>
|
|
<heading>How do I create customized installation disks?</heading>
|
|
<p>
|
|
The entire process of creating installation disks and source and
|
|
binary archives is automated by various targets in
|
|
<tt>/usr/src/release/Makefile</tt>. The information there should
|
|
be enough to get you started. However, it should be said that this
|
|
involves doing a ``make world'' and will therefore take up a lot of
|
|
time and disk space.
|
|
|
|
<sect1>
|
|
<heading>``make world'' clobbers my existing installed binaries.</heading>
|
|
|
|
<p>
|
|
Yes, this is the general idea; as its name might suggest,
|
|
``make world'' rebuilds every system binary from scratch, so
|
|
you can be certain of having a clean and consistent
|
|
environment at the end (which is why it takes so long).
|
|
<p>
|
|
If the environment variable <tt/DESTDIR/ is defined while running
|
|
``<tt/make world/'' or ``<tt/make install/'', the newly-created
|
|
binaries will be deposited in a directory tree identical to the
|
|
installed one, rooted at <tt>${DESTDIR}</tt>.
|
|
Some random combination of shared libraries modifications and
|
|
program rebuilds can cause this to fail in ``<tt/make world/'',
|
|
however.
|
|
|
|
|
|
<sect1>
|
|
<heading>When my system boots, it says ``(bus speed defaulted)''.</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
|
|
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>
|
|
<heading>Can I follow current with limited Internet access?<label id="ctm"></heading>
|
|
|
|
<p>
|
|
Yes, you can do this <tt /without/ downloading the whole source tree
|
|
by using the
|
|
<url
|
|
url="../handbook/ctm.html"
|
|
name="CTM facility.">
|
|
|
|
<sect1>
|
|
<heading>How did you split the distribution up into 240k files?</heading>
|
|
|
|
<p>
|
|
Newer BSD based systems have a ``<tt/-b/'' option to split that
|
|
allows them to split files on arbitrary byte boundaries.
|
|
|
|
Here is an example from <tt>/usr/src/Makefile</tt>.
|
|
|
|
<verb>
|
|
bin-tarball:
|
|
(cd ${DISTDIR}; \
|
|
tar cf - . \
|
|
gzip --no-name -9 -c | \
|
|
split -b 240640 - \
|
|
${RELEASEDIR}/tarballs/bindist/bin_tgz.)
|
|
</verb>
|
|
|
|
<sect1>
|
|
<heading>I've written a kernel extension, who do I send it to?</heading>
|
|
<p>
|
|
Please take a look at:
|
|
|
|
<url url="../handbook/submitters.html"
|
|
name="The Handbook entry on how to submit code.">
|
|
|
|
And thanks for the thought!
|
|
|
|
<sect1>
|
|
<heading>When I run xconsole, I get ``Couldn't open console''.</heading>
|
|
<p>
|
|
If you start X with 'startx', the permissions on /dev/console will
|
|
<tt /not/ get changed, resulting in things like ``xterm -C'' and
|
|
``xconsole'' not working.
|
|
|
|
<p>
|
|
This is because of the way console permissions are set by default.
|
|
On a multi-user system, one doesn't necessarily want just any user
|
|
to be able to write on the system console. For users who are logging
|
|
directly onto a machine with a VTY, the <tt/fbtab(5)/ file exists
|
|
to solve such problems.
|
|
|
|
In a nutshell, make sure an uncommented line of the form
|
|
|
|
<verb>
|
|
/dev/ttyv0 0600 /dev/console
|
|
</verb>
|
|
|
|
is in <tt>/etc/fbtab</tt> and it will ensure that whomever logs
|
|
in on <tt>/dev/ttyv0</tt> will own the console.
|
|
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<heading>How are Plug N Play ISA cards detected and initialised?</heading>
|
|
<p>
|
|
By: Frank Durda IV <tt><uhclem@nemesis.lonestar.org></tt>
|
|
|
|
In a nutshell, there a few I/O ports that all of the PnP boards
|
|
respond to when the host asks if anyone is out there. So when
|
|
the PnP probe routine starts, he asks if there are any PnP boards
|
|
present, and all the PnP boards respond with their model # to
|
|
a I/O read of the same port, so the probe routine gets a wired-OR
|
|
``yes'' to that question. At least one bit will be on in that
|
|
reply. Then the probe code is able to cause boards with board
|
|
model IDs (assigned by Microsoft/Intel) lower than X to go
|
|
``off-line''. It then looks to see if any boards are still
|
|
responding to the query. If the answer was ``<tt/0/'', then
|
|
there are no boards with IDs above X. Now probe asks if there
|
|
are any boards below ``X''. If so, probe knows there are boards
|
|
with a model numbers below X. Probe then asks for boards greater
|
|
than X-(limit/4) to go off-line. If repeats the query. By
|
|
repeating this semi-binary search of IDs-in-range enough times,
|
|
the probing code will eventually identify all PnP boards present
|
|
in a given machine with a number of iterations that is much lower
|
|
than what 2^64 would take.
|
|
|
|
The IDs are two 32-bit fields (hence 2ˆ64) + 8 bit checksum.
|
|
The first 32 bits are a vendor identifier. They never come out
|
|
and say it, but it appears to be assumed that different types of
|
|
boards from the same vendor could have different 32-bit vendor
|
|
ids. The idea of needing 32 bits just for unique manufacturers
|
|
is a bit excessive.
|
|
|
|
The lower 32 bits are a serial #, ethernet address, something
|
|
that makes this one board unique. The vendor must never produce
|
|
a second board that has the same lower 32 bits unless the upper
|
|
32 bits are also different. So you can have multiple boards of
|
|
the same type in the machine and the full 64 bits will still be
|
|
unique.
|
|
|
|
The 32 bit groups can never be all zero. This allows the
|
|
wired-OR to show non-zero bits during the initial binary search.
|
|
|
|
Once the system has identified all the board IDs present, it will
|
|
reactivate each board, one at a time (via the same I/O ports),
|
|
and find out what resources the given board needs, what interrupt
|
|
choices are available, etc. A scan is made over all the boards
|
|
to collect this information.
|
|
|
|
This info is then combined with info from any ECU files on the
|
|
hard disk or wired into the MLB BIOS. The ECU and BIOS PnP
|
|
support for hardware on the MLB is usually synthetic, and the
|
|
peripherals don't really do geniune PnP. However by examining
|
|
the BIOS info plus the ECU info, the probe routines can cause the
|
|
devices that are PnP to avoid those devices the probe code cannot
|
|
relocate.
|
|
|
|
Then the PnP devices are visited once more and given their I/O,
|
|
DMA, IRQ and Memory-map address assignments. The devices will
|
|
then appear at those locations and remain there until the next
|
|
reboot, although there is nothing that says you can't move them
|
|
around whenever you want.
|
|
|
|
There is a lot of oversimplification above, but you should get
|
|
the general idea.
|
|
|
|
Microsoft took over some of the primary printer status ports to
|
|
do PnP, on the logic that no boards decoded those addresses for
|
|
the opposing I/O cycles. I found a genuine IBM printer board
|
|
that did decode writes of the status port during the early PnP
|
|
proposal review period, but MS said ``tough''. So they do a
|
|
write to the printer status port for setting addresses, plus that
|
|
use that address + <tt/0x800/, and a third I/O port for reading
|
|
that can be located anywhere between <tt/0x200/ and <tt/0x3ff/.
|
|
|
|
<sect1>
|
|
<heading>My PS/2 mouse doesn't behave properly under X Window.</heading>
|
|
<p>
|
|
Your mouse and the mouse driver have somewhat become out of
|
|
synchronization. Switching away from X to a virtual terminal
|
|
and getting back to X again may make them re-synchronized.
|
|
If the problem occurs often, you may add the following option
|
|
in your kernel configuration file and recompile it.
|
|
<verb>
|
|
options PSM_CHECKSYNC
|
|
</verb>
|
|
|
|
See the section on <ref id="make-kernel" name="building a
|
|
kernel"> if you've no experience with building kernels.
|
|
|
|
With this option, there should be less chance of synchronization
|
|
problem between the mouse and the driver. If, however, you
|
|
still see the problem, click any mouse button while holding
|
|
the mouse still to re-synchronize the mouse and the driver.
|
|
|
|
Note that unfortunately this option may not work with all the
|
|
systems and voids the ``tap'' feature of the ALPS GlidePoint
|
|
device attached to the PS/2 mouse port.
|
|
|
|
<sect>
|
|
<heading>Kernel Configuration</heading>
|
|
<p>
|
|
<sect1>
|
|
<heading>I'd like to customize my kernel. Is it difficult?<label id="make-kernel"></heading>
|
|
<p>
|
|
Not at all! First, you need either the complete
|
|
<tt/srcdist/ or, at the minimum, the <tt/kerndist/ loaded on your
|
|
system. This provides the necessary sources for building the
|
|
kernel, as, unlike most commercial UNIX vendors, we have a policy
|
|
of <bf/NOT/ shipping our kernel code in binary object form.
|
|
Shipping the source takes a bit more space, but it also means
|
|
that you can refer to the actual kernel sources in case of
|
|
difficulty or to further your understanding of what's
|
|
<bf/really/ happening.
|
|
|
|
Once you have the <tt/kerndist/ or <tt/srcdist/ loaded, do this:
|
|
|
|
<enum>
|
|
<item> <tt>cd /usr/src/sys/i386/conf</tt>
|
|
<item> <tt/cp GENERIC MYKERNEL/
|
|
<item> <tt/vi MYKERNEL/
|
|
<item> <tt/config MYKERNEL/
|
|
<item> <tt>cd ../../compile/MYKERNEL</tt>
|
|
<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. -
|
|
simply bring your old one over and check it carefully for any
|
|
drivers that may have changed boot syntax or been rendered
|
|
obsolete.
|
|
|
|
A good kernel config file to look into is <tt/LINT/, which
|
|
contains entries for <bf/all/ possible kernel options and
|
|
documents them fairly well. The <tt/GENERIC/ kernel config file
|
|
is used to build the initial release you probably loaded (unless
|
|
you upgraded in-place) and contains entries for the most common
|
|
configurations. It's a pretty good place to start from.
|
|
|
|
If you don't need to make any changes to <tt/GENERIC/, you can
|
|
also skip step 3, where you customize the kernel for your
|
|
configuration. Step 8 should only be undertaken if steps 6 and 7
|
|
succeed. This will copy the new kernel image to
|
|
<tt>/kernel</tt> and <bf/BACK UP YOUR OLD ONE IN/
|
|
<tt>/kernel.old</tt>! It's very important to remember this in
|
|
case the new kernel fails to work for some reason - you can still
|
|
select <tt>/kernel.old</tt> at the boot prompt to boot the old
|
|
one. When you reboot, the new kernel will boot by default.
|
|
|
|
If the compile in step 7 falls over for some reason, then it's
|
|
recommended that you start from step 4 but substitute
|
|
<tt/GENERIC/ for <tt/MYKERNEL/. If you can generate a
|
|
<tt/GENERIC/ kernel, then it's likely something in your special
|
|
configuration file that's bad (or you've uncovered a bug!). If
|
|
the build of the <tt/GENERIC/ kernel does <bf/NOT/ succeed, then
|
|
it's very likely that your sources are somehow corrupted.
|
|
|
|
Finally, if you need to see your original boot messages again to
|
|
compile a new kernel that's better tailored to your hardware, try
|
|
the <tt/dmesg(8)/ command. It should print out all the boot-time
|
|
messages printed by your old kernel, some of which may be quite
|
|
helpful in configuring the new one.
|
|
|
|
<bf/NOTE:/ I recommend making a dated snapshot of your kernel
|
|
in <tt/kernel.YYMMDD/ after you get it all working, that way if
|
|
you do something dire the next time you play with your configuration
|
|
you can boot that kernel instead of having to go all the way back
|
|
to <tt/kernel.GENERIC/. This is particularly important if you're
|
|
now booting off a controller that isn't supported in the GENERIC
|
|
kernel (yes, personal experience).
|
|
|
|
<sect1>
|
|
<heading>My kernel compiles fail because <tt/_hw_float/ is missing.</heading>
|
|
|
|
<p>
|
|
Let me guess. You removed <tt/npx0/ from your kernel configuration
|
|
file because you don't have a math co-processor, right? Wrong! :-)
|
|
The <tt/npx0/ is <bf/MANDATORY/. Even if you don't have a
|
|
mathematic co-processor, you <bf/must/ include the <tt/npx0/
|
|
device.
|
|
|
|
<sect1>
|
|
<heading>Interrupt conflicts with multi-port serial code.</heading>
|
|
<p>
|
|
Q. 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?
|
|
|
|
<p>
|
|
A. The problem here is that FreeBSD has code built-in to keep the
|
|
kernel from getting trashed due to hardware or software
|
|
conflicts. The way to fix this is to leave out the IRQ settings
|
|
on all but one port. Here is a example:
|
|
|
|
<verb>
|
|
#
|
|
# Multiport high-speed serial line - 16550 UARTS
|
|
#
|
|
device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
|
|
device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
|
|
device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
|
|
device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr
|
|
</verb>
|
|
|
|
<sect1>
|
|
<heading>How do I enable support for QIC-40/80 drives?</heading>
|
|
|
|
<p>
|
|
You need to uncomment the following line in the generic config
|
|
file (or add it to your config file), add a ``<tt/flags 0x1/''
|
|
on the <tt/fdc/ line and recompile.
|
|
|
|
<verb>
|
|
controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr
|
|
disk fd0 at fdc0 drive 0 ^^^^^^^^^
|
|
disk fd1 at fdc0 drive 1
|
|
#tape ft0 at fdc0 drive 2
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
</verb>
|
|
|
|
Next, you create a device called <tt>/dev/ft0</tt> by going into
|
|
<tt>/dev</tt> and run the following command:
|
|
|
|
<verb>
|
|
sh MAKEDEV ft0
|
|
</verb>
|
|
|
|
for the first device. <tt/ft1/ for a second one and so on.
|
|
|
|
You will have a device called <tt>/dev/ft0</tt>, which you can
|
|
write to through a special program to manage it called
|
|
``<tt/ft/'' - see the man page on <tt/ft/ for further details.
|
|
Versions previous to <tt/-current/ also had some trouble dealing
|
|
with bad tape media; if you have trouble where <tt/ft/ seems to
|
|
go back and forth over the same spot, try grabbing the latest
|
|
version of <tt/ft/ from <tt>/usr/src/sbin/ft</tt> in
|
|
<tt/-current/ and try that.
|
|
|
|
|
|
<sect1>
|
|
<heading>Does FreeBSD support System V IPC primitives?</heading>
|
|
|
|
<p>
|
|
Yes, FreeBSD supports System V-style IPC. This includes shared
|
|
memory, messages and semaphores. You need to add the following
|
|
lines to your kernel config to enable them.
|
|
|
|
<verb>
|
|
options SYSVSHM
|
|
options "SHMMAXPGS=64" # 256Kb of sharable memory
|
|
options SYSVSEM # enable for semaphores
|
|
options SYSVMSG # enable for messaging
|
|
</verb>
|
|
|
|
Recompile and install.
|
|
|
|
<bf/NOTE:/ You may need to increase SHMMAXPGS to some
|
|
ridiculous number like 4096 (16M!) if you want to run
|
|
GIMP. 256Kb is plenty for X11R6 shared memory.
|
|
|
|
<sect1>
|
|
<heading>I have 128 MB of RAM but the system only uses 64 MB.<label id="reallybigram"></heading>
|
|
|
|
<p>
|
|
Due to the manner in which FreeBSD gets the memory size from the
|
|
BIOS, it can only detect 16 bits worth of Kbytes in size (65535
|
|
Kbytes = 64MB). If you have more than 64MB, FreeBSD will only see
|
|
the first 64MB (or less... some BIOSes peg the memory size to 16M).
|
|
|
|
To work around this problem, you need to use the
|
|
kernel option specified below. There is a way to get complete
|
|
memory information from the BIOS, but we don't have room in the
|
|
bootblocks to do it. Someday when lack of room in the bootblocks
|
|
is fixed, we'll use the extended BIOS functions to get the full
|
|
memory information...but for now we're stuck with the kernel
|
|
option.
|
|
|
|
<tt>
|
|
options "MAXMEM=<n>"
|
|
</tt>
|
|
|
|
Where <tt/n/ is your memory in Kilobytes. For a 128 MB machine,
|
|
you'd want to use <tt/131072/.
|
|
|
|
<sect1>
|
|
<heading>FreeBSD 2.0 panics with ``kmem_map too small!''</heading>
|
|
|
|
<p>
|
|
<tt /Note/ The message may also be ``mb_map too small!''
|
|
<p>
|
|
The panic indicates that the system ran out of virtual memory for
|
|
network buffers (specifically, mbuf clusters). You can increase
|
|
the amount of VM available for mbuf clusters by adding:
|
|
|
|
<tt>
|
|
options "NMBCLUSTERS=<n>"
|
|
</tt>
|
|
|
|
to your kernel config file, where <n> is a number in the
|
|
range 512-4096, depending on the number of concurrent TCP
|
|
connections you need to support. I'd recommend trying 2048 - this
|
|
should get rid of the panic completely. You can monitor the
|
|
number of mbuf clusters allocated/in use on the system with
|
|
<tt/netstat -m/.
|
|
|
|
|
|
<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><platforms@FreeBSD.ORG></tt> for more information on our
|
|
strategy for porting.
|
|
|
|
<sect1>
|
|
<heading>I need a major number for a device driver I've written.</heading>
|
|
|
|
<p>
|
|
This depends on whether or not you plan on making the driver
|
|
publicly available. If you do, then please send us a copy of the
|
|
driver source code, plus the appropriate modifications to
|
|
<tt>files.i386</tt>, a sample configuration file entry, and the
|
|
appropriate <tt>MAKEDEV</tt> code to create any special files
|
|
your device uses. If you do not, or are unable to because of
|
|
licensing restrictions, then character major number 32 and block
|
|
major number 8 have been reserved specifically for this purpose;
|
|
please use them. In any case, we'd appreciate hearing about your
|
|
driver on <tt><hackers@FreeBSD.ORG></tt>.
|
|
|
|
</sect1>
|
|
|
|
<sect>
|
|
<heading>System Administration</heading>
|
|
|
|
<sect1>
|
|
<heading>What's with all these SNAPshot, RELENG and RELEASE releases?</heading>
|
|
|
|
<p>
|
|
There are currently three active/semi-active branches in the FreeBSD
|
|
<url url="http://www.freebsd.org/cgi/cvsweb.cgi" name="CVS Repository">:
|
|
|
|
<itemize>
|
|
<item><bf/RELENG_2_1_0/ AKA <bf/2.1-stable/ AKA <bf/"2.1 branch"/</item>
|
|
<item><bf/RELENG_2_2/ AKA <bf/2.2-stable/ AKA <bf/"2.2 branch"/</item>
|
|
<item><bf/HEAD/ AKA <bf/-current/ AKA <bf/3.0-current/</item>
|
|
</itemize>
|
|
|
|
<p><bf/HEAD/ is not an actual branch tag, like the other two, it's
|
|
simply a symbolic constant for
|
|
<em/"the current, non-branched development stream"/
|
|
which we simply refer to as <bf/-current/.
|
|
|
|
Right now, <bf/-current/ is the 3.0 development stream and the
|
|
<bf/2.2-stable/ branch, <bf/RELENG_2_2/, forked off from
|
|
<bf/-current/ in November 1996.
|
|
|
|
The <bf/2.1-stable/ branch, <bf/RELENG_2_1_0/,departed -current in
|
|
September of 1994.
|
|
|
|
<itemize>
|
|
<item><bf/Fine, so what are SNAPshots?/
|
|
|
|
<p>"SNAPs" are made from -current, that is to say 3.0, and they happen
|
|
infrequently, basically whenever I feel like doing one (e.g. I or
|
|
someone else wants something tested), and this generally doesn't
|
|
happen more than 3-4 times a year.</item>
|
|
|
|
<item><bf/And what constitutes a full "RELEASE" then?/
|
|
|
|
<p>A full release generally occurs along a branch, divorced from
|
|
the <bf/-current/ mainline and its associated instabilities as people
|
|
work on new mechanisms or generally do renovation on FreeBSD. A
|
|
release, unless it's perhaps the very first one on a new branch,
|
|
is meant to be of slightly better and more tested stuff, and the
|
|
release date is chosen to coincide with a point in time when the
|
|
sources are the most stable, following ALPHA and BETA test periods
|
|
along the branch (during which time the addition of new functionality
|
|
is discouraged and the testing of existing functionality strongly
|
|
encouraged). </item>
|
|
|
|
<item><bf/Makes sense so far - so, what's a "RELENG?" release?/
|
|
|
|
<p>The RELENG releases are a new thing, sort of a "release of the day"
|
|
mechanism which is automated and set to run along a given branch,
|
|
in the current case that being <bf/RELENG_2_2/.
|
|
|
|
The URL <url url="ftp://releng22.freebsd.org/pub/FreeBSD"
|
|
name="ftp://releng22.freebsd.org/pub/FreeBSD"> points to a machine
|
|
which builds a full 2.2 branch release <em/every day/ from wherever
|
|
the RELENG_2_2 tag happens to be pointing at 3am. If the new
|
|
build succeeds, the release is moved into the anonymous FTP area
|
|
for transfer by others. If it fails, jkh gets a mail telling him
|
|
"Hey, somebody broke the 2.2 branch! Bad hacker, no caffeine!"
|
|
and he goes off to investigate. The 2.2 branch is not supposed to
|
|
break since people are only supposed to be committing bug fixes and
|
|
well-tested enhancements to that branch, nothing experimental
|
|
or untried (sometimes they do anyway, but hey - this is a
|
|
volunteer-driven project and we try to take that in stride :-).
|
|
</item>
|
|
</itemize>
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<heading>Where are the system start-up configuration files?</heading>
|
|
|
|
<p>
|
|
From 2.0.5R to 2.2.1R, the primary configuration file is
|
|
<tt>/etc/sysconfig</tt>. All the options are to be specified in
|
|
this file and other files such as <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.
|
|
|
|
In post-2.2.1 and 3.0, <tt>/etc/sysconfig</tt> was renamed
|
|
to a more self-describing <tt>rc.conf</tt> file and the syntax
|
|
cleaned up a bit in the process. <tt>/etc/netstart</tt> was also
|
|
renamed to <tt>/etc/rc.network</tt> so that all files could be
|
|
copied with a <tt>cp /usr/src/etc/rc* /etc</tt> command.
|
|
|
|
<tt>/etc/rc.local</tt> is here as always and is the place to
|
|
start up additional local services like <tt/INN/ or set custom
|
|
options.
|
|
|
|
The <tt>/etc/rc.serial</tt> is for serial port initialization
|
|
(e.g. locking the port characteristics, and so on.).
|
|
|
|
The <tt>/etc/rc.i386</tt> is for Intel-specifics settings, such
|
|
as iBCS2 emulation or the PC system console configuration.
|
|
|
|
Starting with 2.1.0R, you can also have "local" startup files in a
|
|
directory specified in <tt>/etc/sysconfig</tt> (or
|
|
<tt>/etc/rc.conf</tt>):
|
|
<verb>
|
|
# Location of local startup files.
|
|
local_startup=/usr/local/etc/rc.local.d
|
|
</verb>
|
|
Each file ending in <tt/.sh/ will be executed in alphabetical
|
|
order.
|
|
|
|
If you want to ensure a certain execution order without changing all
|
|
the file names, you can use a scheme similar to the following with
|
|
digits prepended to each file name to insure the ordering:
|
|
<verb>
|
|
10news.sh
|
|
15httpd.sh
|
|
20ssh.sh
|
|
</verb>
|
|
It can be seen as ugly (or SysV :-)) but it provides a simple and
|
|
regular scheme for locally-added packages without resorting to
|
|
magical editing of <tt>/etc/rc.local</tt>.
|
|
|
|
<sect1>
|
|
<heading>How do I add a user easily?</heading>
|
|
|
|
<p>
|
|
Use the <tt/adduser/ command.
|
|
|
|
There is another package called ``<tt/new-account/'' also written
|
|
in Perl by Ollivier Robert. Ask
|
|
<tt><roberto@FreeBSD.ORG></tt> about it. It is currently
|
|
undergoing further development.
|
|
|
|
To remove the user again, use the <tt/rmuser/ command.
|
|
|
|
<sect1>
|
|
<heading>I'm having problems setting up my printer.</heading>
|
|
<p>
|
|
Please have a look at the Handbook entry on printing. It
|
|
should cover most of your problem. See the
|
|
<url
|
|
url="../handbook/printing.html"
|
|
name="Handbook entry on printing.">
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<heading>The keyboard mappings are wrong for my system.</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
|
|
files. Choose the one relevant to your system and load it.
|
|
|
|
<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 can be configured in <tt>/etc/sysconfig</tt>. See the
|
|
appropriate comments in this file.
|
|
|
|
In 2.0.5R and later, everything related to text fonts, keyboard
|
|
mapping is in <tt>/usr/share/examples/syscons</tt>.
|
|
|
|
The following mappings are currently supported:
|
|
<itemize>
|
|
<!-- automatically created by `kbdmap -p' -->
|
|
|
|
<item>Brazilian 275 keyboard Codepage 850
|
|
<item>Brazilian 275 keyboard ISO-8859-1
|
|
<item>Danish Codepage 865
|
|
<item>Danish ISO-8859-1
|
|
<item>French ISO-8859-1
|
|
<item>German Codepage 850
|
|
<item>German ISO-8859-1
|
|
<item>Italian ISO-8859-1
|
|
<item>Japanese 106
|
|
<item>Japanese 106x
|
|
<item>Norwegian ISO-8859-1
|
|
<item>Russian Codepage 866 (alternative)
|
|
<item>Russian koi8-r (shift)
|
|
<item>Russian koi8-r
|
|
<item>Spanish ISO-8859-1
|
|
<item>Swedish Codepage 850
|
|
<item>Swedish ISO-8859-1
|
|
<item>United Kingdom Codepage 850
|
|
<item>United Kingdom ISO-8859-1
|
|
<item>United States of America ISO-8859-1
|
|
<item>United States of America dvorak
|
|
<item>United States of America dvorakx
|
|
</itemize>
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<heading>``CMAP busy panic'' when rebooting with a new kernel.</heading>
|
|
<p>
|
|
The logic that attempts to detect an out of data
|
|
<tt>/var/db/kvm_*.db</tt> files sometimes fails and using a
|
|
mismatched file can sometimes lead to panics.
|
|
|
|
If this happens, reboot single-user and do:
|
|
<verb>
|
|
rm /var/db/kvm_*.db
|
|
</verb>
|
|
|
|
<sect1>
|
|
<heading>I can't get user quotas to work properly.</heading>
|
|
<p>
|
|
<enum>
|
|
<item>Don't turn on quotas on '/',
|
|
<item>Put the quota file on the file system that the quotas are
|
|
to be enforced on. ie:
|
|
<verb>
|
|
FS QUOTA FILE
|
|
/usr /usr/admin/quotas
|
|
/home /home/admin/quotas
|
|
...
|
|
</verb>
|
|
</enum>
|
|
|
|
<sect1>
|
|
<heading>What's inappropriate about my ccd?</heading>
|
|
<p>
|
|
The symptom of this is:
|
|
<verb>
|
|
host# ccdconfig -C
|
|
ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format
|
|
host#
|
|
</verb>
|
|
|
|
<p>
|
|
This usually happens when you are trying to concatenate the
|
|
`c' partitions, which default to type `unused'. The ccd
|
|
driver requires the underlying partition type to be
|
|
FS_BSDFFS. Edit the disklabel of the disks you are trying
|
|
to concatenate and change the types of partitions to
|
|
`4.2BSD'.
|
|
|
|
<sect1>
|
|
<heading>Why can't I edit the disklabel on my ccd?</heading>
|
|
<p>
|
|
The symptom of this is:
|
|
<verb>
|
|
host# disklabel ccd0
|
|
(it prints something sensible here, so let's try to edit it)
|
|
host# disklabel -e ccd0
|
|
(edit, save, quit)
|
|
disklabel: ioctl DIOCWDINFO: No disk label on disk;
|
|
use "disklabel -r" to install initial label
|
|
host#
|
|
</verb>
|
|
|
|
<p>
|
|
This is because the disklabel returned by ccd is actually a
|
|
`fake' one that is not really on the disk. You can solve
|
|
this problem by writing it back explicitly, as in:
|
|
<verb>
|
|
host# disklabel ccd0 > /tmp/disklabel.tmp
|
|
host# disklabel -Rr ccd0 /tmp/disklabel.tmp
|
|
host# disklabel -e ccd0
|
|
(this will work now)
|
|
</verb>
|
|
|
|
<sect>
|
|
<heading>Networking</heading>
|
|
|
|
<sect1>
|
|
<heading>Where can I get information on ``diskless booting''?</heading>
|
|
|
|
<p>
|
|
``Diskless booting'' means that the FreeBSD box is booted over a
|
|
network, and reads the necessary files from a server instead of
|
|
its hard disk. For full details, please read
|
|
|
|
<url url="../handbook/diskless.html"
|
|
name="the Handbook entry on diskless booting">
|
|
|
|
<sect1>
|
|
<heading>Can a FreeBSD box be used as a dedicated network router?</heading>
|
|
|
|
<p>
|
|
Internet standards and good engineering practice prohibit us from
|
|
providing packet forwarding by default in FreeBSD. You can
|
|
however enable this feature by changing the following variable to
|
|
<tt/YES/ in <tt>/etc/sysconfig</tt>:
|
|
<verb>
|
|
# If you want this host to be a gateway, set to YES.
|
|
gateway=YES
|
|
</verb>
|
|
|
|
This 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/ftp.gated.Merit.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>
|
|
<heading>I want to recompile the latest BIND from ISC. It blows up during the compilation on some types conflicts. What can I do ? </heading>
|
|
<p>
|
|
There is a conflict between the ``<tt/cdefs.h/'' file in the
|
|
distribution and the one shipped with FreeBSD. Just remove
|
|
<tt>compat/include/sys/cdefs.h</tt>.
|
|
|
|
<sect1>
|
|
<heading>Can I connect my Win95 box to the Internet via FreeBSD?</heading>
|
|
<p>
|
|
Typically, people who ask this question have two PC's at home, one
|
|
with FreeBSD and one with Win95; the idea is to use the FreeBSD
|
|
box to connect to the Internet and then be able to access the
|
|
Internet from the Windows95 box through the FreeBSD box. This
|
|
is really just a special case of the previous question.
|
|
|
|
There's a useful document available which explains how to set
|
|
FreeBSD up as a <url url="http://www.ssimicro.com/~jeremyc/ppp.html"
|
|
name="PPP Dialup Router">
|
|
|
|
<bf/NOTE:/ This requires having at least two fixed IP addresses
|
|
available, and possibly three or more, depending on how much
|
|
work you want to go through to set up the Windows box. As an
|
|
alternative, if you don't have a fixed IP, you can use one of
|
|
the private IP subnets and install <bf/proxies/ such as
|
|
<url url="http://squid.nlanr.net/Squid/" name="SQUID"> and
|
|
<url url="http://www.tis.com/" name="the TIS firewall toolkit">
|
|
on your FreeBSD box.
|
|
|
|
<sect1>
|
|
<heading>Does FreeBSD support SLIP and PPP?</heading>
|
|
|
|
<p>
|
|
Yes. See the man pages for <tt/slattach(8)/ and/or <tt/pppd(8)/
|
|
if you're using FreeBSD to connect to another site. If you're
|
|
using FreeBSD as a server for other machines, look at the man
|
|
page for <tt/sliplogin(8)/.
|
|
|
|
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
|
|
links:
|
|
|
|
<url url="../handbook/slips.html"
|
|
name="Handbook entry on SLIP (server side)">
|
|
<url url="../handbook/slipc.html"
|
|
name="Handbook entry on SLIP (client side)">
|
|
<url url="../handbook/ppp.html"
|
|
name="Handbook entry on PPP (kernel version)">
|
|
<url url="../handbook/userppp.html"
|
|
name="Handbook entry on PPP (user-mode version)">
|
|
|
|
<sect1>
|
|
<heading>I can connect with IJPPP but it doesn't work right!</heading>
|
|
|
|
<p>
|
|
A possible cause for this is IJPPPs' use of predictor1
|
|
compression. One way of determining if you have this problem
|
|
is to look at your log and if you have protocol errors then this is
|
|
most likely it.
|
|
These can be shut off with:
|
|
<verb>
|
|
deny pred1
|
|
disable pred1
|
|
</verb>
|
|
Use these two before you dial out and it should work.
|
|
|
|
<sect1>
|
|
<heading>I can't create a <tt>/dev/ed0</tt> device!</heading>
|
|
|
|
<p>
|
|
In the Berkeley networking framework, network interfaces are only
|
|
directly accessible by kernel code. Please see the
|
|
<tt>/etc/netstart</tt> file and the manual pages for the various
|
|
network programs mentioned there for more information. If this
|
|
leaves you totally confused, then you should pick up a book
|
|
describing network administration on another BSD-related
|
|
operating system; with few significant exceptions, administering
|
|
networking on FreeBSD is basically the same as on SunOS 4.0 or
|
|
Ultrix.
|
|
|
|
<sect1>
|
|
<heading>How can I setup Ethernet aliases?</heading>
|
|
<p>
|
|
Add ``<tt/netmask 0xffffffff/'' to your <tt/ifconfig/
|
|
command-line like the following:
|
|
<verb>
|
|
ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff
|
|
</verb>
|
|
|
|
<sect1>
|
|
<heading>How do I get my 3C503 to use the other network port?</heading>
|
|
|
|
<p>
|
|
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>
|
|
<heading>I'm having problems with NFS to/from FreeBSD.</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
|
|
<url
|
|
url="../handbook/nfs.html"
|
|
name="the Handbook entry on NFS">
|
|
|
|
for more information on
|
|
this topic.
|
|
|
|
<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 privileged port; try
|
|
<verb>
|
|
mount -o -P linuxbox:/blah /mnt
|
|
</verb>
|
|
<sect1>
|
|
<heading>Why can't I NFS-mount from a Sun box?</heading>
|
|
|
|
<p>
|
|
Sun workstations running SunOS 4.X only accept mount requests
|
|
from a privileged port; try
|
|
<verb>
|
|
mount -o -P sunbox:/blah /mnt
|
|
</verb>
|
|
<sect1><heading>I'm having problems talking PPP to NeXTStep machines.</heading>
|
|
|
|
<p>
|
|
Try disabling the TCP extensions in <tt>/etc/sysconfig</tt> by
|
|
changing the following variable to NO:
|
|
<verb>
|
|
tcp_extensions=NO
|
|
</verb>
|
|
|
|
Xylogic's Annex boxes are also broken in this regard and you must
|
|
use the above change to connect thru them.
|
|
|
|
<sect1>
|
|
<heading>How do I enable IP multicast support?</heading>
|
|
|
|
<p>
|
|
Multicast host operations are fully supported in FreeBSD 2.0 by
|
|
default. If you want your box to run as a multicast router, you
|
|
will need to load the <tt/ip_mroute_mod/ loadable kernel module
|
|
and run <tt/mrouted/.
|
|
|
|
For more information:
|
|
<verb>
|
|
Product Description Where
|
|
--------------- ----------------------- ---------------------------------------
|
|
faq.txt Mbone FAQ ftp.isi.edu:/mbone/faq.txt
|
|
imm/immserv IMage Multicast ftp.hawaii.edu:/paccom/imm.src.tar.Z
|
|
for jpg/gif images.
|
|
nv Network Video. ftp.parc.xerox.com:
|
|
/pub/net-reseach/exp/nv3.3alpha.tar.Z
|
|
vat LBL Visual Audio Tool. ftp.ee.lbl.gov:
|
|
/conferencing/vat/i386-vat.tar.Z
|
|
wb LBL White Board. ftp.ee.lbl.gov:
|
|
/conferencing/wb/i386-wb.tar.Z
|
|
mmcc MultiMedia Conference ftp.isi.edu:
|
|
Control program /confctrl/mmcc/mmcc-intel.tar.Z
|
|
rtpqual Tools for testing the ftp.psc.edu:/pub/net_tools/rtpqual.c
|
|
quality of RTP packets.
|
|
vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z
|
|
and nv.
|
|
</verb>
|
|
|
|
</sect1>
|
|
<sect1>
|
|
<heading>Which network cards are based on the DEC PCI chipset?</heading>
|
|
|
|
<p>
|
|
Here is a list compiled by Glen Foster
|
|
<tt/<gfoster@driver.nsta.org>/:
|
|
<verb>
|
|
Vendor Model
|
|
- --------------------------------------------------------
|
|
ASUS PCI-L101-TB
|
|
Accton ENI1203
|
|
Cogent EM960PCI
|
|
Compex ENET32-PCI
|
|
D-Link DE-530
|
|
DEC DE435
|
|
Danpex EN-9400P3
|
|
JCIS Condor JC1260
|
|
Linksys EtherPCI
|
|
Mylex LNP101
|
|
SMC EtherPower 10/100 (Model 9332)
|
|
SMC EtherPower (Model 8432)
|
|
TopWare TE-3500P
|
|
Zynx ZX342
|
|
</verb>
|
|
</sect1>
|
|
<sect1>
|
|
<heading>Why do I have to use the FQDN for hosts on my site?</heading>
|
|
<p>
|
|
You will probably find that the host is actually in a different
|
|
domain; for example, if you are in foo.bar.edu and you wish to reach
|
|
a host called ``mumble'' in the bar.edu domain, you will have to
|
|
refer to it by the fully-qualified domain name, ``mumble.bar.edu'',
|
|
instead of just ``mumble''.
|
|
<p>
|
|
Traditionally, this was allowed by BSD BIND resolvers. However
|
|
the current version of <em>BIND</em> that ships with FreeBSD
|
|
no longer provides default abbreviations for non-fully
|
|
qualified domain names other than the domain you are in.
|
|
So an unqualified host <tt>mumble</tt> must either be found
|
|
as <tt>mumble.foo.bar.edu</tt>, or it will be searched for
|
|
in the root domain.
|
|
<p>
|
|
This is different from the previous behaviour, where the
|
|
search continued across <tt>mumble.bar.edu</tt>, and
|
|
<tt>mumble.edu</tt>. Have a look at RFC 1535 for why this
|
|
was considered bad practice, or even a security hole.
|
|
<p>
|
|
As a good workaround, you can place the line
|
|
<p><tt>
|
|
search foo.bar.edu bar.edu
|
|
</tt><p>
|
|
instead of the previous
|
|
|
|
<p><tt>
|
|
domain foo.bar.edu
|
|
</tt><p>
|
|
into your <tt>/etc/resolv.conf</tt>. However, make sure
|
|
that the search order does not go beyond the ``boundary
|
|
between local and public administration'', as RFC 1535
|
|
calls it.
|
|
|
|
</sect1>
|
|
|
|
<sect1><heading>Sendmail says ``mail loops back to myself''</heading>
|
|
<p>
|
|
This is answered in the sendmail FAQ as follows:-
|
|
<verb>
|
|
* I'm getting "Local configuration error" messages, such as:
|
|
|
|
553 relay.domain.net config error: mail loops back to myself
|
|
554 <user@domain.net>... Local configuration error
|
|
|
|
How can I solve this problem?
|
|
|
|
You have asked mail to the domain (e.g., domain.net) to be
|
|
forwarded to a specific host (in this case, relay.domain.net)
|
|
by using an MX record, but the relay machine doesn't recognize
|
|
itself as domain.net. Add domain.net to /etc/sendmail.cw
|
|
(if you are using FEATURE(use_cw_file)) or add "Cw domain.net"
|
|
to /etc/sendmail.cf.
|
|
</verb>
|
|
<p>
|
|
The sendmail FAQ is in <tt>/usr/src/usr.sbin/sendmail</tt>
|
|
and is recommended reading if you want to do any
|
|
``tweaking'' of your mail setup.
|
|
|
|
<sect1>
|
|
<heading>How do I use sendmail for mail delivery with UUCP?</heading>
|
|
|
|
<p>
|
|
The sendmail configuration that ships with FreeBSD is
|
|
suited for sites that connect directly to the Internet.
|
|
Sites that wish to exchange their mail via UUCP must install
|
|
another sendmail configuration file.
|
|
|
|
<p>
|
|
Tweaking <tt>/etc/sendmail.cf</tt> manually is considered
|
|
something for purists. Sendmail version 8 comes with a
|
|
new approach of generating config files via some <tt>m4</tt>
|
|
preprocessing, where the actual hand-crafted configuration
|
|
is on a higher abstraction level. You should use the
|
|
configuration files under
|
|
|
|
<verb>
|
|
/usr/src/usr.sbin/sendmail/cf
|
|
</verb>
|
|
|
|
If you didn't install your system with full sources,
|
|
the sendmail config stuff has been
|
|
broken out into a separate source distribution tarball just
|
|
for you. Assuming you've got your CD-ROM mounted, do:
|
|
|
|
<verb>
|
|
cd /usr/src
|
|
tar -xvzf /cdrom/dists/src/ssmailcf.aa
|
|
</verb>
|
|
|
|
Don't panic, this is only a few hundred kilobytes in size.
|
|
The file <tt>README</tt> in the <tt>cf</tt> directory can
|
|
serve as a basic introduction to m4 configuration.
|
|
|
|
<p>
|
|
For UUCP delivery, you are best advised to use the
|
|
<em>mailertable</em> feature. This constitutes a database
|
|
that sendmail can use to base its routing decision upon.
|
|
|
|
<p>
|
|
First, you have to create your <tt>.mc</tt> file. The
|
|
directory <tt>/usr/src/usr.sbin/sendmail/cf/cf</tt> is the
|
|
home of these files. Look around, there are already a few
|
|
examples. Assuming you have named your file <tt>foo.mc</tt>,
|
|
all you need to do in order to convert it into a valid
|
|
<tt>sendmail.cf</tt> is:
|
|
|
|
<verb>
|
|
cd /usr/src/usr.sbin/sendmail/cf/cf
|
|
make foo.cf
|
|
cp foo.cf /etc/sendmail.cf
|
|
</verb>
|
|
|
|
A typical <tt>.mc</tt> file might look like:
|
|
|
|
<verb>
|
|
include(`../m4/cf.m4')
|
|
VERSIONID(`Your version number')
|
|
OSTYPE(bsd4.4)
|
|
|
|
FEATURE(nodns)
|
|
FEATURE(nocanonify)
|
|
FEATURE(mailertable)
|
|
|
|
define(`UUCP_RELAY', your.uucp.relay)
|
|
define(`UUCP_MAX_SIZE', 200000)
|
|
|
|
MAILER(local)
|
|
MAILER(smtp)
|
|
MAILER(uucp)
|
|
|
|
Cw your.alias.host.name
|
|
Cw youruucpnodename.UUCP
|
|
</verb>
|
|
|
|
The <em>nodns</em> and <em>nocanonify</em> features will
|
|
prevent any usage of the DNS during mail delivery. The
|
|
<em>UUCP_RELAY</em> clause is needed for bizarre reasons,
|
|
don't ask. Simply put an Internet hostname there that
|
|
is able to handle .UUCP pseudo-domain addresses; most likely,
|
|
you will enter the mail relay of your ISP there.
|
|
|
|
<p>
|
|
Once you've got this, you need this file called
|
|
<tt>/etc/mailertable</tt>. A typical example of this
|
|
gender again:
|
|
|
|
<verb>
|
|
#
|
|
# makemap hash /etc/mailertable.db < /etc/mailertable
|
|
#
|
|
horus.interface-business.de uucp-dom:horus
|
|
.interface-business.de uucp-dom:if-bus
|
|
interface-business.de uucp-dom:if-bus
|
|
.heep.sax.de smtp8:%1
|
|
horus.UUCP uucp-dom:horus
|
|
if-bus.UUCP uucp-dom:if-bus
|
|
. uucp-dom:sax
|
|
</verb>
|
|
|
|
As you can see, this is part of a real-life file. The first
|
|
three lines handle special cases where domain-addressed mail
|
|
should not be sent out to the default route, but instead to
|
|
some UUCP neighbour in order to ``shortcut'' the delivery
|
|
path. The next line handles mail to the local Ethernet
|
|
domain that can be delivered using SMTP. Finally, the UUCP
|
|
neighbours are mentioned in the .UUCP pseudo-domain notation,
|
|
to allow for a ``uucp-neighbour!recipient'' override of the
|
|
default rules. The last line is always a single dot, matching
|
|
everything else, with UUCP delivery to a UUCP neighbour that
|
|
serves as your universal mail gateway to the world. All of
|
|
the node names behind the <tt>uucp-dom:</tt> keyword must
|
|
be valid UUCP neighbours, as you can verify using the
|
|
command <tt>uuname</tt>.
|
|
|
|
<p>
|
|
As a reminder that this file needs to be converted into a
|
|
DBM database file before being usable, the command line to
|
|
accomplish this is best placed as a comment at the top of
|
|
the mailertable. You always have to execute this command
|
|
each time you change your mailertable.
|
|
|
|
<p>
|
|
Final hint: if you are uncertain whether some particular
|
|
mail routing would work, remember the <tt>-bt</tt> option to
|
|
sendmail. It starts sendmail in <em>address test mode</em>;
|
|
simply enter ``0 '', followed by the address you wish to
|
|
test for the mail routing. The last line tells you the used
|
|
internal mail agent, the destination host this agent will be
|
|
called with, and the (possibly translated) address. Leave
|
|
this mode by typing Control-D.
|
|
|
|
<verb>
|
|
j@uriah 191% sendmail -bt
|
|
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
|
|
Enter <ruleset> <address>
|
|
> 0 foo@interface-business.de
|
|
rewrite: ruleset 0 input: foo @ interface-business . de
|
|
...
|
|
rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \
|
|
< @ interface-business . de >
|
|
> ^D
|
|
j@uriah 192%
|
|
</verb>
|
|
|
|
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<heading>``Permission denied'' for all networking operations.</heading>
|
|
<p>
|
|
If you have compiled your kernel with the <tt/IPFIREWALL/
|
|
option, you need to be aware that the default policy as of
|
|
2.1.7R (this actually changed during 2.1-STABLE development)
|
|
is to deny all packets that are not explicitly allowed.
|
|
|
|
<p>
|
|
If you had unintentionally misconfigured your system for
|
|
firewalling, you can restore network operability by typing
|
|
the following while logged in as root:
|
|
|
|
<verb>
|
|
ipfw add 65534 allow all from any to any
|
|
</verb>
|
|
|
|
For further information on configuring a FreeBSD firewall,
|
|
see the <url url="../handbook/handbook.html" name="FreeBSD Handbook.">
|
|
|
|
</sect1>
|
|
|
|
<sect>
|
|
<heading>Serial Communications</heading>
|
|
<p>
|
|
This section answers common questions about serial communications
|
|
with FreeBSD.
|
|
|
|
<sect1>
|
|
<heading>How do I tell if FreeBSD found my serial ports?</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
|
|
either watch your system closely for the messages it prints or
|
|
run the command
|
|
<verb>
|
|
dmesg | grep sio
|
|
</verb>
|
|
after your system's up and running.
|
|
|
|
Here's some example output from the above command:
|
|
<verb>
|
|
sio0 at 0x3f8-0x3ff irq 4 on isa
|
|
sio0: type 16550A
|
|
sio1 at 0x2f8-0x2ff irq 3 on isa
|
|
sio1: type 16550A
|
|
</verb>
|
|
|
|
This shows two serial ports. The first is on irq 4, is using
|
|
port address <tt/0x3f8/, and has a 16550A-type UART chip. The
|
|
second uses the same kind of chip but is on irq 3 and is at port
|
|
address <tt/0x2f8/. Internal modem cards are treated just like
|
|
serial ports---except that they always have a modem ``attached''
|
|
to the port.
|
|
|
|
The <tt/GENERIC/ kernel includes support for two serial ports
|
|
using the same irq and port address settings in the above
|
|
example. If these settings aren't right for your system, or if
|
|
you've added modem cards or have more serial ports than your
|
|
kernel is configured for, just reconfigure your kernel. See
|
|
section <ref id="make-kernel" name="about building a kernel"> for
|
|
more details.
|
|
|
|
<sect1>
|
|
<heading>How do I tell if FreeBSD found my modem cards?</heading>
|
|
<p>
|
|
Please refer to the answer to the previous question.
|
|
|
|
<sect1>
|
|
<heading>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 any old configuration files you have, though.
|
|
|
|
<sect1>
|
|
<heading>How do I access the serial ports on FreeBSD?</heading>
|
|
<p>
|
|
The third serial port, <tt/sio2/ (known as COM3 in DOS), is 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 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 enable support for a multiport serial card?</heading>
|
|
<p>
|
|
Again, the section on kernel configuration provides information
|
|
about configuring your kernel. For a multiport serial card,
|
|
place an <tt/sio/ line for each serial port on the card in the
|
|
kernel configuration file. But place the irq and vector
|
|
specifiers on only one of the entries. All of the ports on the
|
|
card should share one irq. For consistency, use the last serial
|
|
port to specify the irq. Also, specify the
|
|
<tt/COM_MULTIPORT/ option.
|
|
|
|
The following example is for an AST 4-port serial card on irq 7:
|
|
<verb>
|
|
options "COM_MULTIPORT"
|
|
device sio4 at isa? port 0x2a0 tty flags 0x781
|
|
device sio5 at isa? port 0x2a8 tty flags 0x781
|
|
device sio6 at isa? port 0x2b0 tty flags 0x781
|
|
device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr
|
|
</verb>
|
|
The flags indicate that the master port has minor number 7
|
|
(<tt/0x700/), diagnostics enabled during probe (<tt/0x080/), and
|
|
all the ports share an irq (<tt/0x001/).
|
|
|
|
<sect1>
|
|
<heading>Can FreeBSD handle multiport serial cards sharing irqs?</heading>
|
|
<p>
|
|
Not yet. You'll have to use a different irq for each card.
|
|
|
|
<sect1>
|
|
<heading>How can I set the default serial parameters for a port?</heading>
|
|
<p>
|
|
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/ttyd1
|
|
</verb>
|
|
|
|
When you change the settings to this device, the settings are in
|
|
effect until the device is closed. When it's reopened, it goes
|
|
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 ttyd5, do:
|
|
<verb>
|
|
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/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/ttyd5/ to 57600 bps, do
|
|
<verb>
|
|
stty -f /dev/ttyld5 57600
|
|
</verb>
|
|
|
|
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>
|
|
<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 auto-answer. Your modem
|
|
will need to assert carrier-detect when it detects a carrier and
|
|
not assert it all the time. It will need to hang up the phone
|
|
and reset itself when the data terminal ready (<tt/DTR/) line
|
|
goes from on to off. It should probably use <tt>RTS/CTS</tt>
|
|
flow control or no local flow control at all. Finally, it must
|
|
use a constant speed between the computer and itself, but (to be
|
|
nice to your callers) it should negotiate a speed between itself
|
|
and the remote modem.
|
|
|
|
For many Hayes command-set--compatible modems, this command will
|
|
make these settings and store them in nonvolatile memory:
|
|
<verb>
|
|
AT &C1 &D3 &K3 &Q6 S0=1 &W
|
|
</verb>
|
|
See the section <ref id="direct-at" name="on sending AT
|
|
commands"> below for information on how to make these settings
|
|
without resorting to an MS-DOS terminal program.
|
|
|
|
Next, make an entry in <tt>/etc/ttys</tt> for the modem. This
|
|
file lists all the ports on which the operating system will await
|
|
logins. Add a line that looks something like this:
|
|
<verb>
|
|
ttyd1 "/usr/libexec/getty std.57600" dialup on insecure
|
|
</verb>
|
|
This line indicates that the second serial port
|
|
(<tt>/dev/ttyd1</tt>) has a modem connected running at 57600 bps
|
|
and no parity (<tt/std.57600/, which comes from the file
|
|
<tt>/etc/gettytab</tt>). The terminal type for this port is
|
|
``dialup.'' The port is ``on'' and is ``insecure''---meaning
|
|
root logins on the port aren't allowed. For dialin ports like
|
|
this one, use the <tt/ttydX/ entry.
|
|
|
|
It's common practice to use ``dialup'' as the terminal type.
|
|
Many users set up in their .profile or .login files a prompt for
|
|
the actual terminal type if the starting type is dialup. The
|
|
example shows the port as insecure. To become root on this port,
|
|
you have to login as a regular user, then ``<tt/su/'' to
|
|
<tt/root/. If you use ``secure'' then <tt/root/ can login in
|
|
directly.
|
|
|
|
After making modifications to <tt>/etc/ttys</tt>, you need to
|
|
send a hangup or <tt/HUP/ signal to the <tt/init/ process:
|
|
<verb>
|
|
kill -1 1
|
|
</verb>
|
|
This forces the init process to reread <tt>/etc/ttys</tt>. The
|
|
init process will then start getty processes on all ``on'' ports.
|
|
You can find out if logins are available for your port by typing
|
|
<verb>
|
|
ps -ax | grep '[t]tyd1'
|
|
</verb>
|
|
|
|
You should see something like:
|
|
<verb>
|
|
747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1
|
|
</verb>
|
|
|
|
<sect1>
|
|
<heading>How can I connect a dumb terminal 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
|
|
ports. If you're using an actual terminal, see its accompanying
|
|
instructions.
|
|
|
|
Then, modify <tt>/etc/ttys</tt>, like above. For example, if
|
|
you're hooking up a WYSE-50 terminal to the fifth serial port,
|
|
use an entry like this:
|
|
<verb>
|
|
ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
|
|
</verb>
|
|
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).
|
|
|
|
<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
|
|
the group <tt/dialer/ to control who has access to your modem or
|
|
remote systems. Just add yourself to group dialer.
|
|
|
|
Alternatively, you can let everyone on your system run <tt/tip/
|
|
and <tt/cu/ by typing:
|
|
<verb>
|
|
chmod 4511 /usr/bin/tip
|
|
</verb>
|
|
You don't have to run this command for <tt/cu/, since <tt/cu/ is
|
|
just a hard link to <tt/tip/.
|
|
|
|
<sect1>
|
|
<heading>My stock Hayes modem isn't supported---what can 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
|
|
``<tt/at=hayes/'' in your <tt>/etc/remote</tt> file.
|
|
|
|
The Hayes driver isn't smart enough to recognize some of the
|
|
advanced features of newer modems---messages like <tt/BUSY/,
|
|
<tt/NO DIALTONE/, or <tt/CONNECT 115200/ will just confuse it.
|
|
You should turn those messages off when you use <tt/tip/ (using
|
|
<tt/ATX0&W/).
|
|
|
|
Also, the dial timeout for <tt/tip/ is 60 seconds. Your modem
|
|
should use something less, or else tip will think there's a
|
|
communication problem. Try <tt/ATS7=45&W/.
|
|
|
|
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?<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
|
|
up to the first serial port, <tt>/dev/cuaa0</tt>, then put in the
|
|
following line:
|
|
<verb>
|
|
cuaa0:dv=/dev/cuaa0:br#19200:pa=none
|
|
</verb>
|
|
Use the highest bps rate your modem supports in the br
|
|
capability. Then, type ``<tt/tip cuaa0/'' and you'll be
|
|
connected to your modem.
|
|
|
|
If there is no <tt>/dev/cuaa0</tt> on your system, do this:
|
|
<verb>
|
|
cd /dev
|
|
MAKEDEV cuaa0
|
|
</verb>
|
|
<p>
|
|
Or use cu as root with the following command:
|
|
<verb>
|
|
cu -l``line'' -s``speed''
|
|
</verb>
|
|
with line being the serial port (e.g.<tt>/dev/cuaa0</tt>)
|
|
and speed being the speed (e.g.<tt>57600</tt>).
|
|
When you are done entering the AT commands hit <tt>~.</tt> to exit.
|
|
|
|
<sect1>
|
|
<heading>The <tt/@/ sign for the pn capability doesn't work!</heading>
|
|
<p>
|
|
The <tt/@/ sign in the phone number capability tells tip to look in
|
|
<tt>/etc/phones</tt> for a phone number. But the <tt/@/ sign is
|
|
also a special character in capability files like
|
|
<tt>/etc/remote</tt>. Escape it with a backslash:
|
|
<verb>
|
|
pn=\@
|
|
</verb>
|
|
|
|
<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:
|
|
<verb>
|
|
tip115200|Dial any phone number at 115200 bps:\
|
|
:dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
|
|
tip57600|Dial any phone number at 57600 bps:\
|
|
:dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
|
|
</verb>
|
|
|
|
Then you can things like ``<tt/tip -115200 5551234/''. If you
|
|
prefer <tt/cu/ over <tt/tip/, use a generic cu entry:
|
|
<verb>
|
|
cu115200|Use cu to dial any number at 115200bps:\
|
|
:dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
|
|
</verb>
|
|
and type ``<tt/cu 5551234 -s 115200/''.
|
|
|
|
<sect1>
|
|
<heading>Do I have to type in the bps rate every time I do that?</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
|
|
capability. <tt/tip/ thinks a good default is 1200 bps which is
|
|
why it looks for a ``<tt/tip1200/'' entry. You don't have to use
|
|
1200 bps, though.
|
|
|
|
<sect1>
|
|
<heading>I access a number of hosts through a terminal server.</heading>
|
|
<p>
|
|
Rather than waiting until you're connected and typing
|
|
``<tt/CONNECT <host>/'' each time, use tip's <tt/cm/
|
|
capability. For example, these entries in
|
|
<tt>/etc/remote</tt>:
|
|
<verb>
|
|
pain|pain.deep13.com|Forrester's machine:\
|
|
:cm=CONNECT pain\n:tc=deep13:
|
|
muffin|muffin.deep13.com|Frank's machine:\
|
|
:cm=CONNECT muffin\n:tc=deep13:
|
|
deep13:Gizmonics Institute terminal server:\
|
|
:dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234:
|
|
</verb>
|
|
|
|
will let you type ``<tt/tip pain/'' or ``<tt/tip muffin/'' to
|
|
connect to the hosts pain or muffin; and ``<tt/tip deep13/'' to
|
|
get to the terminal server.
|
|
|
|
<sect1>
|
|
<heading>Can tip try more than one line for each site?</heading>
|
|
<p>
|
|
This is often a problem where a university has several modem lines
|
|
and several thousand students trying to use them...
|
|
<p>
|
|
Make an entry for your university in <tt>/etc/remote</tt>
|
|
and use <tt>\@</tt> for the <tt/pn/ capability:
|
|
<verb>
|
|
big-university:\
|
|
:pn=\@:tc=dialout
|
|
dialout:\
|
|
:dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
|
|
</verb>
|
|
|
|
Then, list the phone numbers for the university in
|
|
<tt>/etc/phones</tt>:
|
|
<verb>
|
|
big-university 5551111
|
|
big-university 5551112
|
|
big-university 5551113
|
|
big-university 5551114
|
|
</verb>
|
|
|
|
<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>
|
|
<heading>Why do 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
|
|
character to any other character with the <tt/~s/ escape, which
|
|
means ``set a variable.''
|
|
|
|
Type ``<tt/~sforce=<single-char>/'' followed by a newline.
|
|
<tt/<single-char>/ is any single character. If you leave
|
|
out <tt/<single-char>/, then the force character is the nul
|
|
character, which you can get by typing CTRL+2 or CTRL+SPACE. A
|
|
pretty good value for <tt/<single-char>/ is SHIFT+CTRL+6,
|
|
which I've seen only used on some terminal servers.
|
|
|
|
You can have the force character be whatever you want by
|
|
specifying the following in your <tt>$HOME/.tiprc</tt>
|
|
file:
|
|
<verb>
|
|
force=<single-char>
|
|
</verb>
|
|
|
|
<sect1>
|
|
<heading>Suddenly everything I type is in UPPER CASE??</heading>
|
|
<p>
|
|
You must've pressed CTRL+A, <tt/tip/'s ``raise character,''
|
|
specially designed for people with broken caps-lock keys. Use
|
|
<tt/~s/ as above and set the variable ``raisechar'' to something
|
|
reasonable. In fact, you can set it to the same as the force
|
|
character, if you never expect to use either of these features.
|
|
|
|
Here's a sample .tiprc file perfect for Emacs users who need to
|
|
type CTRL+2 and CTRL+A a lot:
|
|
<verb>
|
|
force=^^
|
|
raisechar=^^
|
|
</verb>
|
|
The ^^ is SHIFT+CTRL+6.
|
|
|
|
<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
|
|
commands run ``<tt/cat/'' and ``<tt/echo/'' on the remote system
|
|
to accept and send files. The syntax is:
|
|
<verb>
|
|
~p <local-file> [<remote-file>]
|
|
~t <remote-file> [<local-file>]
|
|
</verb>
|
|
|
|
There's no error checking, so you probably should use another
|
|
protocol, like zmodem.
|
|
|
|
<sect1>
|
|
<heading>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.
|
|
|
|
To send files, start the receiving program on the remote end.
|
|
Then, type ``<tt/~C sz <files>/'' to send them to the
|
|
remote system.
|
|
|
|
</sect>
|
|
|
|
<sect>
|
|
<heading>ACKNOWLEDGMENTS</heading>
|
|
|
|
<p>
|
|
<verb>
|
|
If you see a problem with this FAQ, or wish to submit an entry,
|
|
please mail us at <FAQ@FreeBSD.ORG>. We appreciate your
|
|
feedback, and cannot make this a better FAQ without your help!
|
|
|
|
|
|
FreeBSD Core Team
|
|
</verb>
|
|
|
|
<descrip>
|
|
<tag/Gary Clark II/
|
|
FreeBSD Doc Team
|
|
<tag/Jordan Hubbard/
|
|
Janitorial services (I don't do windows)
|
|
<tag/Doug White/
|
|
Services above and beyond the call of duty on freebsd-questions
|
|
<tag/Joerg Wunsch/
|
|
Services above and beyond the call of duty on Usenet
|
|
<tag/Garrett Wollman/
|
|
Networking and formatting
|
|
<tag/Jim Lowe/
|
|
Multicast information
|
|
<tag/Peter da Silva/
|
|
FreeBSD FAQ typing machine slavey
|
|
<tag/The FreeBSD Team/
|
|
Kvetching, moaning, submitting data
|
|
</descrip>
|
|
|
|
And to any others we've forgotten, apologies and heartfelt thanks!
|
|
</article>
|