2556 lines
110 KiB
Plaintext
2556 lines
110 KiB
Plaintext
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN">
|
|
|
|
<article>
|
|
|
|
<title>Frequently Asked Questions for FreeBSD 2.X
|
|
<author>The FreeBSD FAQ Team, <tt/FAQ@FreeBSD.ORG/
|
|
<date> $Id: freebsd-faq.sgml,v 1.31 1996/01/28 16:59:05 jfieber Exp $
|
|
<abstract>
|
|
This is the FAQ for FreeBSD systems version 2.X All entries are
|
|
assumed to be relevant to FreeBSD 2.0.5+, unless otherwise noted.
|
|
Any entries with a <XXX> are under construction.
|
|
</abstract>
|
|
|
|
<toc>
|
|
|
|
<sect>
|
|
<heading>Preface</heading>
|
|
<p>
|
|
Welcome to the FreeBSD 2.X FAQ ! This document tries to answer
|
|
some of the most frequently asked questions about FreeBSD 2.X (or
|
|
later, unless specifically indicated). If there's something you're
|
|
having trouble with and you just don't see it here, then please
|
|
send mail to:
|
|
|
|
<url url="mailto:questions@FreeBSD.ORG" name="FreeBSD-questions
|
|
Mailing list"> or to <url url="mailto:faq@FreeBSD.ORG"
|
|
name="FreeBSD FAQ mailing list">
|
|
|
|
The latest released version is FreeBSD 2.1.0R. FreeBSD-current
|
|
refers to the future FreeBSD 2.2. The 2.1 release has been issued
|
|
from a special branch of the -current sources and is intended as a
|
|
even more stable version of 2.0.5.
|
|
|
|
There are regular snapshots extracted from 2.2-CURRENT. Check on
|
|
<tt>ftp.FreeBSD.ORG</tt> in <tt>/pub/FreeBSD/*-SNAP*</tt>.
|
|
|
|
This version of the FAQ uses the <tt>linuxdoc-sgml</tt> utility
|
|
written for Linux by Matt Welsh. The initial SGML translation was
|
|
made by Ollivier Robert <url url="mailto:roberto@FreeBSD.ORG"
|
|
name="roberto@FreeBSD.ORG">
|
|
|
|
Some of the instructions here will also refer to auxiliary
|
|
utilities in the <tt>/usr/share/FAQ/Text</tt> directory. If you do
|
|
not have this directory, or if it does not contain the file that
|
|
you want, you are probably using a version of FreeBSD prior to
|
|
2.0.5R. In this case, install the FreeBSD sources and look in
|
|
<tt>/usr/src/share/FAQ/Text</tt> (instead of
|
|
<tt>/usr/share/FAQ</tt>). CDROM purchasers and net folks who've
|
|
grabbed the FreeBSD 2.X ``<tt/srcdist/'' will have these files. If
|
|
you don't have the source distribution, then you can either grab
|
|
the whole thing from:
|
|
|
|
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current"
|
|
name="FreeBSD-current base directory">
|
|
|
|
Or you can grab only those files you're interested in straight out
|
|
of the FreeBSD-current distribution in:
|
|
|
|
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current/src"
|
|
name="FreeBSD-current src directory">
|
|
|
|
<sect1>
|
|
<heading>What is FreeBSD?</heading>
|
|
<p>
|
|
FreeBSD 2.X is a UN*X type operating system based on
|
|
U.C. Berkeley's 4.4BSD-lite release for the i386 platform. It is
|
|
also based indirectly on William Jolitz's port of U.C. Berkeley's
|
|
Net/2 to the i386, 386BSD. There have been many additions and
|
|
bug fixes made throughout the entire system, some of the
|
|
highlights of which are:
|
|
|
|
<itemize>
|
|
<item>More robust and extensive PC device support
|
|
<item>System V-style IPC, messaging and semaphores
|
|
<item>Shared Libraries
|
|
<item>Much improved virtual memory code
|
|
<item>Better console driver support
|
|
<item>Network booting (diskless) support
|
|
<item>YP support
|
|
<item>Full support of the PCI bus
|
|
<item>Loadable kernel modules
|
|
<item>Serial Console Support
|
|
<item>Merged VM/Buffer Cache
|
|
<item>On demand PPP
|
|
<item>Sync PPP
|
|
<item>Improved SCSI support
|
|
</itemize>
|
|
|
|
<sect1>
|
|
<heading>What do I need to run FreeBSD?</heading>
|
|
<p>
|
|
You'll need a 386 or better PC, with 4 Mo or more of RAM and at
|
|
least 60 MB of hard disk space. It can run with a low end MDA
|
|
card but to run X11R6, a VGA or better video card is needed.
|
|
|
|
See the section on <ref id="hardware" name="Hardware compatibility">
|
|
|
|
<sect1>
|
|
<heading>Where can I get FreeBSD</heading>
|
|
<p>
|
|
The distribution is available via anonymous ftp from:
|
|
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/" name="FreeBSD home directory">
|
|
|
|
For the current release, 2.1.0R, look in:
|
|
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.1.0-RELEASE/" name="FreeBSD 2.1.0-RELEASE">
|
|
|
|
FreeBSD is also available via CDROM, from the following place(s):
|
|
|
|
Walnut Creek CDROM<newline>
|
|
4041 Pike Lane, Suite D-386<newline>
|
|
Concord, CA 94520 USA<newline>
|
|
Orders: (800)-786-9907<newline>
|
|
Questions: (510)-674-0783<newline>
|
|
FAX: (510)-674-0821<newline>
|
|
email: <url url="mailto:orders@cdrom.com" name="WC Orders address"> <newline>
|
|
WWW: <url url="http://www.cdrom.com/" name="WC Home page"><newline>
|
|
|
|
In Australia, you may find it at the following:
|
|
|
|
Advanced MM Distributors<newline>
|
|
45 Elstone Ave<newline>
|
|
Airport West VIC 3042<newline>
|
|
|
|
Voice: +61 3 374-1410<newline>
|
|
Fax: +61 3 338-7411 fax<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>
|
|
|
|
<sect1>
|
|
<heading>What are the FreeBSD mailing lists, and how can I get on them?</heading>
|
|
<p>
|
|
The following mailing lists are provided for FreeBSD users and
|
|
developers. For more information, send to
|
|
<majordomo@FreeBSD.ORG> and include a single line saying
|
|
``help'' in the body of your message.
|
|
|
|
<descrip>
|
|
<tag/announce/ For announcements about or on FreeBSD.
|
|
<tag/hackers/ Useful for persons wishing to work on the internals.
|
|
<tag/questions/ General questions on FreeBSD.
|
|
<tag/bugs/ Where bugs should be sent.
|
|
<tag/SCSI/ Mailing list for SCSI developers.
|
|
<tag/current/ This is the mailing list for communications
|
|
between the developers and users of freebsd-current. It also
|
|
carries announcements and discussions on current.
|
|
<tag/security/ For issues dealing with system security.
|
|
<tag/platforms/ Deals with ports to non-Intel platforms
|
|
<tag/ports/ Discussion of <tt>/usr/ports/???</tt>
|
|
<tag/fs/ Discussion of FreeBSD Filesystems
|
|
<tag/hardware/ Discussion on hardware requirements for
|
|
FreeBSD.
|
|
<tag/committers/ CVS commit messages for -current users
|
|
<tag/chat/ What does not belong elsewhere, general chat, fun.
|
|
<tag/hubs/ This the mailing-list for all of the generous
|
|
people who manage the ``regional'' part of the <tt/freebsd.org/
|
|
domain.
|
|
<tag/users-groups/ This is the mailing list for the
|
|
coordinators from each of the local area Users Groups to
|
|
discuss matters with each other and a designated individual
|
|
from the Core Team. This mail list should be limited to
|
|
meeting synopsis and coordination of projects that span User
|
|
Groups
|
|
</descrip>
|
|
<p>
|
|
The FreeBSD-commit list has been broken up into groups dealing
|
|
with different areas of interest. Please see the FreeBSD mailing
|
|
list FAQ in:
|
|
<url url="http://www.freebsd.org/How/handbook/eresources:mail.html" name="Handbook s section on mailing-lists">
|
|
<p>
|
|
Example:
|
|
<p>
|
|
To subscribe to the <tt/questions/ list, you'll to send a message
|
|
containing the following command in the <bf/body/ of the message,
|
|
the subject is ignored:
|
|
<verb>
|
|
subscribe questions john.smith@foo.bar (John Smith)
|
|
</verb>
|
|
<p>
|
|
To unsubscribe, it is as easy. Just remember to send your request
|
|
to
|
|
<url url="mailto:Majordomo@FreeBSD.ORG" name="The mail administrator">
|
|
<bf/not/ to the list itself. The last thing the subscribed
|
|
users want to see is administrative requests...
|
|
|
|
<sect1>
|
|
<heading>What are the various FreeBSD news groups?</heading>
|
|
<p>
|
|
There are two newsgroups currently dedicated to FreeBSD:
|
|
<descrip>
|
|
<tag/comp.unix.bsd.freebsd.announce/ For announcements
|
|
<tag/comp.unix.bsd.freebsd.misc/ General discussion
|
|
</descrip>
|
|
The following newsgroups may also be of interest to
|
|
general BSD enthusiasts:
|
|
<descrip>
|
|
<tag><tt/comp.unix.bsd/</tag>
|
|
General BSD topics
|
|
</descrip>
|
|
To setup/run your own News server or just reading Usenet News,
|
|
you may have a look at various packages already ported for
|
|
FreeBSD 2.X in <tt>/usr/ports/news</tt>. You'll find Cnews, INN,
|
|
Trn, TIN and others there.
|
|
|
|
For French-speaking people, the <tt/fr.comp.os.bsd/ group is for
|
|
you. Ask your system administrator if you don't receive this
|
|
group.
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<heading>Books on FreeBSD</heading>
|
|
<p>
|
|
There currently aren't any books written specifically for
|
|
FreeBSD, although some people are supposedly working on some.
|
|
|
|
The FreeBSD Documentation Project exists, you may contact (or
|
|
better join them) on the <tt>doc</tt> mailing list:
|
|
<url url="mailto:doc@FreeBSD.ORG" name="<doc@FreeBSD.ORG>">.
|
|
|
|
A FreeBSD ``handbook'' is being created, and can be found as:
|
|
|
|
<url url="http://www.freebsd.org/How/handbook/" name="FreeBSD's Handbook">
|
|
Note that this is a work in progress, and so parts may be incomplete.
|
|
|
|
However, as FreeBSD 2.X is based upon Berkeley 4.4BSD-Lite, most
|
|
of the 4.4BSD manuals are applicable to FreeBSD 2.X. O'Reilly
|
|
and Associates publishes these manuals:
|
|
|
|
4.4BSD System Manager's Manual <newline>
|
|
By Computer Systems Research Group, UC Berkeley <newline>
|
|
1st Edition June 1994, 804 pages <newline>
|
|
ISBN: 1-56592-080-5 <NEWLINE>
|
|
|
|
4.4BSD User's Reference Manual <newline>
|
|
By Computer Systems Research Group, UC Berkeley <newline>
|
|
1st Edition June 1994, 905 pages <newline>
|
|
ISBN: 1-56592-075-9 <NEWLINE>
|
|
|
|
4.4BSD User's Supplementary Documents <newline>
|
|
By Computer Systems Research Group, UC Berkeley <newline>
|
|
1st Edition July 1994, 712 pages <newline>
|
|
ISBN: 1-56592-076-7 <NEWLINE>
|
|
|
|
4.4BSD Programmer's Reference Manual <newline>
|
|
By Computer Systems Research Group, UC Berkeley <newline>
|
|
1st Edition June 1994, 886 pages <newline>
|
|
ISBN: 1-56592-078-3 <NEWLINE>
|
|
|
|
4.4BSD Programmer's Supplementary Documents <newline>
|
|
By Computer Systems Research Group, UC Berkeley <newline>
|
|
1st Edition July 1994, 596 pages <newline>
|
|
ISBN: 1-56592-079-1 <NEWLINE>
|
|
|
|
A description of these can be found via WWW as:
|
|
|
|
<url url="http://gnn.com/gnn/bus/ora/category/bsd.html"
|
|
name="4.4BSD books description">
|
|
|
|
A good book on system administration is:
|
|
|
|
Evi Nemeth, Garth Snyder, Scott Seebass & 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.0R CDROM (and the
|
|
FreeBSD CDROM often has newer versions).
|
|
|
|
<sect1>
|
|
<heading>Other sources of information.</heading>
|
|
<p>
|
|
One good source of additional information is the
|
|
``[comp.unix.bsd] NetBSD, FreeBSD, and 386BSD (0.1)
|
|
FAQ''. Much of the information is relevant to FreeBSD, and this
|
|
FAQ is posted around twice a month to the following newsgroups:
|
|
|
|
<verb>
|
|
comp.unix.bsd.netbsd.announce
|
|
comp.unix.bsd.freebsd.announce
|
|
comp.answers
|
|
news.answers
|
|
</verb>
|
|
|
|
If you have WWW access, the FreeBSD home page is at:
|
|
|
|
<url url="http://www.freebsd.org/" name="Main FreeBSD page">
|
|
|
|
The FreeBSD handbook has a pretty complete bibliography, look at:
|
|
<url url="http://www.FreeBSD.ORG/How/handbook/bibliography.html" name="Bibliography">
|
|
|
|
<sect>
|
|
<heading>FreeBSD goals</heading>
|
|
<p>
|
|
<sect1>
|
|
<heading>Copyrights</heading>
|
|
<p>
|
|
The goals of the FreeBSD Project are to provide software that may
|
|
be used for any purpose and without strings attached. Many of us
|
|
have a significant investment in the code (and project) and would
|
|
certainly not mind a little financial renumeration now and then,
|
|
but we're definitely not prepared to insist on it. We believe
|
|
that our first and foremost "mission" is to provide code to any
|
|
and all comers, and for whatever purpose, so that the code gets
|
|
the widest possible use and provides the widest possible benefit.
|
|
This is, I believe, one of the most fundamental goals of Free
|
|
Software and one that we enthusiastically support.
|
|
|
|
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.
|
|
|
|
<sect>
|
|
<heading>Installation</heading>
|
|
<p>
|
|
<sect1>
|
|
<heading>How do I install FreeBSD?</heading>
|
|
<p>
|
|
|
|
<bf/IMPORTANT NOTE/ if you are installing 2.1.0R from tape, see
|
|
the question titled,
|
|
<ref id="install-tape" name="Help! I can't install from tape!">
|
|
|
|
Installation instructions can be found as:
|
|
|
|
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.1.0-RELEASE/INSTALL"
|
|
name="INSTALL from 2.1.0R">
|
|
|
|
Release notes are also available as:
|
|
|
|
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.1.0-RELEASE/RELNOTES"
|
|
name="RELNOTES from 2.1.0R">
|
|
|
|
On the CDROM, the following files are in the top-most directory:
|
|
|
|
<verb>
|
|
INSTALL -- Installation instructions
|
|
README.TXT -- Basic README file
|
|
RELNOTES -- Release notes
|
|
</verb>
|
|
|
|
<sect1>
|
|
<heading>I have only 4 MB of memory in this machine. Can I install FreeBSD 2.1.0 ?</heading>
|
|
|
|
<p>
|
|
FreeBSD 2.1.0 does not install with 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.0 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.0
|
|
with the ``upgrade'' option of the 2.1.0 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>Help! I have no space! Do I need to delete everything first?</heading>
|
|
|
|
<p>
|
|
If your machine is already running DOS and has little or no free
|
|
space available for FreeBSD's installation, all is not lost! You
|
|
may find the ``<tt/FIPS/'' utility, provided in the
|
|
<tt>tools/</tt> subdirectory on the FreeBSD CDROM or on the
|
|
various FreeBSD ftp sites, to be quite useful.
|
|
|
|
FIPS allows you to split an existing DOS partition into two
|
|
pieces, preserving the original partition and allowing you to
|
|
install onto the second free piece. You first ``defrag'' your
|
|
DOS partition, using the DOS 6.xx <tt/DEFRAG/ utility or the
|
|
Norton Disk tools, then run <tt/FIPS/. It will prompt you for
|
|
the rest of the information it needs. Afterwards, you can reboot
|
|
and install FreeBSD on the new free slice. See the Distributions
|
|
menu for an estimation of how much free space you'll need for the
|
|
kind of installation you want.
|
|
|
|
<sect1>
|
|
<heading>I have installed Windows 95 on to my home PC, and I want
|
|
to also install FreeBSD.</heading>
|
|
|
|
<p>
|
|
Install Windows 95 first, after that FreeBSD. FreeBSD's boot
|
|
manager will then manage to boot Win95 and FreeBSD.
|
|
|
|
<sect1>
|
|
<heading>Can I use compressed DOS filesystems from FreeBSD?</heading>
|
|
|
|
<p>
|
|
No. If you are using a utility such as Stacker(tm) or
|
|
DoubleSpace(tm), FreeBSD will only be able to use whatever
|
|
portion of the filesystem you leave uncompressed. The rest of
|
|
the filesystem will show up as one large file (the
|
|
stacked/dblspaced file!). <bf/DO NOT REMOVE THAT FILE!/ You will
|
|
probably regret it greatly!
|
|
|
|
It is probably better to create another uncompressed DOS primary
|
|
partition and use this for communications between DOS and
|
|
FreeBSD.
|
|
|
|
<sect1>
|
|
<heading>Can I mount my DOS extended partitions?</heading>
|
|
|
|
<p>
|
|
This feature isn't in FreeBSD 2.1 but should be in 2.2. We've
|
|
laid all the groundwork for making this happen, now we just need
|
|
to do the last 1% of the work involved.
|
|
|
|
<sect1>
|
|
<heading>Can I run DOS binaries under FreeBSD?</heading>
|
|
|
|
<p>
|
|
Not yet! We'd like to add support for this someday, but are
|
|
still lacking anyone to actually do the work. Ongoing work with
|
|
Linux's <tt/DOSEMU/ utility may bring this much closer to being a
|
|
reality sometime soon. Send mail to
|
|
<url url="mailto:hackers@freebsd.org"
|
|
name="The FreeBSD hackers list">
|
|
if you're interested in joining this effort!
|
|
|
|
However, there is a neat utility called ``<tt/pcemu/'' in the
|
|
ports collection which emulates an 8088 and enough BIOS services
|
|
to run DOS text mode applications. It requires the X Window
|
|
System (provided as XFree86 3.1.2).
|
|
|
|
<sect1>
|
|
<heading>Help! I can't install from tape! The install fails with a ``record too big'' error!<label id="install-tape"></heading>
|
|
<p>
|
|
If you are installing 2.1.0R 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.0R; with these tapes,
|
|
you will get an error that complains about the record size being
|
|
too big.
|
|
|
|
<sect1>
|
|
<heading>I want to install FreeBSD onto a SCSI disk that has more than 1024 cylinders. How do I do it?</heading>
|
|
|
|
<p>
|
|
This depends. If you don't have DOS (or another operating
|
|
system) on the system, you can just keep the drive in native mode
|
|
and simply make sure that your root partition is below 1024 so
|
|
the BIOS can boot the kernel from it. It you also have DOS/some
|
|
other OS on the drive then your best bet is to find out what
|
|
parameters that it thinks you have before installing FreeBSD.
|
|
When FreeBSD's installation procedure prompts you for these
|
|
values, you should then enter them rather than simply going with
|
|
the defaults.
|
|
|
|
There is a freely available utility distributed with FreeBSD
|
|
called ``<tt/pfdisk/'' (located in the <tt>tools/dos-tools</tt>
|
|
subdirectory) which can be used for this purpose.
|
|
|
|
<sect1>
|
|
<heading>I want to install my laptop with PLIP (Parallel Line IP). How's the cable ?
|
|
|
|
<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>
|
|
|
|
<sect1>
|
|
<heading>When I boot FreeBSD it says ``Missing Operating System''.</heading>
|
|
|
|
<p>
|
|
See question above. This is classically a case of FreeBSD and
|
|
DOS or some other OS conflicting over their ideas of disk
|
|
geometry. You will have to reinstall FreeBSD, but obeying the
|
|
instructions given above will almost always get you going.
|
|
|
|
<sect1>
|
|
<heading>When I install the boot manager and try to boot FreeBSD for the first time, it just comes back with the boot manager prompt again.</heading>
|
|
|
|
<p>
|
|
This is another symptom of the problem described in the preceding
|
|
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>I'm having lots of trouble trying to disklabel a new SCSI drive.</heading>
|
|
|
|
<p>I have made an entry in <tt>/etc/disktab</tt>, but
|
|
when I try to label the drive the following happens:
|
|
<verb>
|
|
mips# disklabel -w /dev/sd1 sea32550N
|
|
disklabel: ioctl DIOCWDINFO: Operation not supported by device
|
|
</verb>
|
|
What am I doing wrong?
|
|
|
|
Answer:<newline>
|
|
Doing this using <tt/disklabel/ (and <tt/fdisk/) is probably
|
|
harder than using <tt/sysinstall/. The following should work to
|
|
put FreeBSD-2.1.0 on the whole of an <bf/empty/ disk assuming that
|
|
the <tt/disktab/ entry is correct.
|
|
<verb>
|
|
disklabel -r -w /dev/rsd1 sea32550N
|
|
^^ ^
|
|
</verb>
|
|
The first <tt/-r/ is essential for writing new labels and using
|
|
the raw device instead of the block device is good technique. To
|
|
be ``empty'' the disk should have 0's at critical points on the
|
|
first two sectors. In particular, the 2 byte signature at the
|
|
end of the first sector must not be <tt/0xaa55/ or the disk will
|
|
be interpreted as having a slice (partition) table and it will be
|
|
difficult to write to it where you want unless the slice table is
|
|
initialized correctly. All bootable hard disks will have the
|
|
<tt/0xaa55/ signature so they won't be empty. Empty disks may be
|
|
created by copying zeros over the first 2 sectors:
|
|
|
|
<verb>
|
|
dd if=/dev/zero of=/dev/rsd1 bs=1k count=1
|
|
</verb>
|
|
|
|
Note that this will (appear to) destroy all data on the disk.
|
|
|
|
The above is not the best method. Normally you will have a slice
|
|
table or a label that you want to preserve or modify slightly.
|
|
This can be done using
|
|
|
|
<verb>
|
|
fdisk -u /dev/rsd1 # install or change slice table
|
|
disklabel -r -w sd1 sea32550N # install label
|
|
^no /dev/r
|
|
</verb>
|
|
|
|
<tt/fdisk/ is unintuitive and has poor error handling so it is
|
|
difficult to change slice tables using it. However, to install a
|
|
new slice table on an empty drive you just have to accept all the
|
|
defaults except for ``n'' to write at the end.
|
|
|
|
Note that the <tt/sd1/ drive in the above is different from
|
|
<tt>/dev/rsd1</tt>. <tt/disklabel/ modifies path names that
|
|
don't start with a slash by prefixing <tt>/dev/r</tt> and
|
|
suffixing the ``raw'' partition letter. <tt/sd1/ thus means
|
|
<tt>/dev/rsd1c</tt>, i.e., the ``<tt/c/'' partition on the first
|
|
BSD slice on drive <tt/sd1/, i.e., the whole of the first BSD
|
|
slice on drive sd1, while <tt>/dev/rsd1</tt> is the whole of
|
|
drive sd1. Thus ``<tt>disklabel ... sd1</tt>'' will fail if
|
|
there is no FreeBSD slice, while ``<tt>disklabel /dev/rsd1</tt>''
|
|
will print the in-core label for the whole drive. Oops, this
|
|
assumes that slices are enabled by the 0xaa55 signature. If
|
|
slices aren't enabled, then /dev/rsd1c means the whole drive. In
|
|
practice, slices have to be enabled to make the disk bootable.
|
|
|
|
If there are no BSD slices, then <tt>/dev/rsd1c</tt> will be
|
|
empty instead of unconfigured and attempts to label <tt/sd1/ will
|
|
fail with a bogus error message about <tt>/dev/rsd1c</tt> not
|
|
existing.
|
|
|
|
<tt>/dev/sd1</tt> didn't exist in previous versions of FreeBSD or
|
|
386BSD so your ``<tt>disklabel -w /dev/sd1 ...</tt>'' would have
|
|
printed a less confusing error message before failing.
|
|
|
|
<verb>
|
|
The disklabel I'm trying is
|
|
sea32550N|Seagate 32550N:\
|
|
:ty=winchester:dt=SCSI:se#512:nc#3510:nt#11:ns#108:\
|
|
:rm#7200:\
|
|
:pa#2433024:oa#0:ta=4.2BSD:\
|
|
:pc#4169880:oc#0:
|
|
</verb>
|
|
Note that <tt/ns/ has to be < 64 in the slice table. I would use
|
|
<tt/nt#22:ns#54/. This only matters if you don't accept
|
|
<tt/fdisk/'s default (bogus) slice table. You have to use a
|
|
valid table if you want multiple slices, or the first slice
|
|
starting at a nonzero offset. Starting a nonempty slice at
|
|
offset 0 is invalid so <tt/sysinstall/ doesn't support creating
|
|
such slices.
|
|
|
|
<sect1>
|
|
<heading>I have an IDE drive with lots of bad blocks on it and FreeBSD doesn't seem to install properly.</heading>
|
|
|
|
<p>
|
|
FreeBSD's bad block (the ``<tt/bad144/'' command) handling is
|
|
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.
|
|
|
|
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 32MB of memory, should I expect any special 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.
|
|
|
|
<sect1>
|
|
<heading>My network card keeps getting errors like, ``<tt/ed1: timeout/''. What's going on?</heading>
|
|
|
|
<p>
|
|
This is usually caused by an interrupt conflict (e.g., two boards
|
|
using the same IRQ). FreeBSD prior to 2.0.5R used to be tolerant
|
|
of this, and the network driver would still function in the
|
|
presence of IRQ conflicts. However, with 2.0.5R and later, IRQ
|
|
conflicts are no longer tolerated.
|
|
|
|
<sect1>
|
|
<heading>Do I need to install the complete sources?</heading>
|
|
|
|
<p> In general, no. However, we would strongly recommend that you
|
|
install, at a minimum, the ``<tt/base/'' source kit, which
|
|
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>DES encryption software can not be exported from the United States. If I live outside the US, how can I encrypt passwords?</heading>
|
|
|
|
<p> If it is not absolutely imperative that you use DES style
|
|
encryption, you can use FreeBSD's default encryption for even
|
|
<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.
|
|
|
|
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>
|
|
FreeBSD 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).
|
|
|
|
FreeBSD also supports IDE and SCSI hard drives.
|
|
|
|
<sect1>
|
|
<heading>What SCSI controllers are supported?</heading>
|
|
|
|
<p>
|
|
FreeBSD supports the following SCSI controllers:
|
|
|
|
<descrip>
|
|
<tag/Adaptec/
|
|
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 32 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>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>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 the AHA-2xxx SCSI adapters from Adaptec?</heading>
|
|
|
|
<p>
|
|
FreeBSD supports the AHA-2xxx line of disks. The GPL portions
|
|
of the old drivers have been re-written and now it is fully
|
|
under the Berkeley style copyright.
|
|
|
|
<sect1>
|
|
<heading>I have a Mumbleco bus mouse. Is it supported and if so, how do I set it up for XFree86?</heading>
|
|
|
|
<p>
|
|
FreeBSD supports the Logitech and ATI Inport bus mice. You need
|
|
to add the following line to the kernel config file and recompile
|
|
for the Logitech and ATI mice:
|
|
<verb>
|
|
device mse0 at isa? port 0x23c tty irq5 vector mseintr
|
|
</verb>
|
|
|
|
<sect1>
|
|
<heading>I have a PS/2 mouse (``keyboard'' mouse) (Alternatively: I have a laptop with a track-ball mouse). How do I use it?</heading>
|
|
<p>
|
|
You'll have to add the following lines to your kernel
|
|
configuration file and recompile:
|
|
<verb>
|
|
device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
|
|
# Options for psm:
|
|
options PSM_NO_RESET #don't reset mouse hardware (some laptops)
|
|
</verb>
|
|
|
|
<p>
|
|
See <url url="http://www.freebsd.org/handbook/kernelconfig.html"
|
|
name="configuring the kernel">
|
|
if you've no experience with building kernels.
|
|
|
|
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.
|
|
<p>
|
|
Note: Some PS/2 mouse controllers have a problem
|
|
where the presence of the psm0 driver will cause the keyboard to
|
|
lock up (which is why this driver is not present by default in the
|
|
GENERIC kernel). This can sometimes be fixed by bouncing the
|
|
NumLock key during the boot process. The real
|
|
fix is, of course, to merge the PS/2 mouse driver with syscons.
|
|
Any volunteers? :)
|
|
|
|
<sect1>
|
|
<heading>What types of tape drives are supported under FreeBSD?</heading>
|
|
|
|
<p>
|
|
FreeBSD supports SCSI, QIC-02 and QIC-40/80 (Floppy based) tape
|
|
drives. This includes 8-mm (aka Exabyte) and DAT drives.
|
|
|
|
<sect1>
|
|
<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>
|
|
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
|
|
<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.
|
|
|
|
<sect1>
|
|
<heading>I have a 386/486sx/486SLC machine without a math co-processor. Will this cause me any problems?</heading>
|
|
|
|
<p>
|
|
Generally no, but there are circumstances where you will take a
|
|
hit, either in performance or accuracy of the math emulation code
|
|
(see the section <ref id="emul" name="on FP emulation">). In
|
|
particular, drawing arcs in X will be VERY slow. It is highly
|
|
recommended that you 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 to run FreeBSD on and want an idea of what other people are running. Is there list of other systems anywhere?</heading>
|
|
|
|
<p>
|
|
Yes. Please look at the file <tt>Systems.FAQ</tt>. This file is
|
|
a listing of hardware that people are running in their machines.
|
|
Please note, this is a raw listing of equipment that other users
|
|
have sent in, and does not constitute any kind of endorsement by
|
|
the FreeBSD Project.
|
|
|
|
<sect1>
|
|
<heading>I have a lap-top with power management. Can FreeBSD take advantage of this?</heading>
|
|
<p>
|
|
Yes it can on certain machines. Please look in the <tt/LINT/
|
|
kernel config file under <tt/APM/.
|
|
|
|
|
|
<sect>
|
|
<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 the following company:
|
|
|
|
Lasermoon Ltd<newline>
|
|
2a Beaconsfield Road<newline>
|
|
Fareham, Hants<newline>
|
|
England. PO16 0QB<newline>
|
|
Phone: +44 (01) 329 834944<newline>
|
|
FAX: +44 (0) 329 825936<newline>
|
|
Email: <url url="mailto:info@lasermoon.co.uk" name="Info Address">
|
|
|
|
<sect1>
|
|
<heading>Are there any commercial X servers for some of the high-end graphics cards like the Matrox or #9 I-128, or offering 8/16/24 bit deep pallettes?<label id="xinside"></heading>
|
|
<p>
|
|
Yes, X Inside Incorporated sells their Accelerated-X product for
|
|
FreeBSD and other Intel based systems.
|
|
|
|
This high performance X Server offers easy configuration, support
|
|
for multiple concurrent video boards and is distributed in binary
|
|
form only.
|
|
|
|
Price is $99.50 (promotional price for Linux/FreeBSD
|
|
version) for the 1.1 version, which is available now.
|
|
|
|
This product is for FreeBSD 1.1 and runs under 2.0 with the
|
|
FreeBSD 1.1 compatibility libs (``<tt/compat1xdist/'').
|
|
|
|
<descrip>
|
|
<tag/More info/
|
|
<url url="http://www.xinside.com/" name="X inside WWW page">
|
|
<tag/or/
|
|
<url url="ftp://ftp.xinside.com/accelx/1.1/prodinfo.txt"
|
|
name="Products information">
|
|
<tag/or/
|
|
<url url="mailto:info@xinside.com" name="Info E-mail address">
|
|
<tag/or/
|
|
phone +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="xinside" name="on Xaccel"> for more details.
|
|
|
|
<sect1>
|
|
<heading>I've been trying to run ghostscript on a 386 (or 486sx) with no math co-processor and I keep getting errors. What's up?<label id="emul"></heading>
|
|
|
|
<p>
|
|
You will need to add the alternate math emulator to your kernel,
|
|
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>I want all this neat software, but I haven't got the space or CPU power to compile it all myself. Is there any way of getting binaries?</heading>
|
|
|
|
<p>
|
|
Yes. We support the concept of a ``package'', which is
|
|
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:
|
|
|
|
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages"
|
|
name="FreeBSD's packages">
|
|
|
|
Note that all ports may not be available as packages, and that
|
|
new packages are constantly being added. It is always a good
|
|
idea to check periodically to see which packages are available.
|
|
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>I'm trying to get a SCO/iBCS2 application to run, it keeps bombing about <tt/socksys/. How do I set this up ?</heading>
|
|
|
|
<p>
|
|
You first need to edit the <tt>/etc/sysconfig</tt> in the last
|
|
section to change the following variable to <tt/YES/:
|
|
<code>
|
|
# Set to YES if you want ibcs2 (SCO) emulation loaded at startup
|
|
ibcs2=NO
|
|
</code>
|
|
It will load the <tt/ibcs2/ kernel module at startup.
|
|
|
|
You'll then need to set up /compat/ibcs2/dev to look like:
|
|
|
|
<code>
|
|
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
|
|
</code>
|
|
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.
|
|
|
|
<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>Hey! Chmod doesn't change the file permissions of symlinked files! What's going on?</heading>
|
|
<p>
|
|
You have to use either ``<tt/-H/'' or ``<tt/-L/'' together with
|
|
the ``<tt/-R/'' option to make this work. See the <tt/chmod(1)/
|
|
and <tt/symlink(7)/ man pages for more info.
|
|
|
|
<bf/WARNING/ the ``<tt/-R/'' option does a <bf/RECURSIVE/
|
|
<tt/chmod/. Be careful about specifying directories or symlinks
|
|
to directories to <tt/chmod/. If you want to change the
|
|
permissions of a directory referenced by a symlink, use
|
|
<tt/chmod(1)/ without any options and follow the symlink with a
|
|
trailing slash (``<tt>/</tt>''). For example, if ``<tt/foo/'' is
|
|
a symlink to directory ``<tt/bar/'', and you want to change the
|
|
permissions of ``<tt/foo/'' (actually ``<tt/bar/''), you would do
|
|
something like:
|
|
<verb>
|
|
chmod 555 foo/
|
|
</verb>
|
|
|
|
With the trailing slash, <tt/chmod/ will follow the symlink,
|
|
``<tt/foo/'', to change the permissions of the directory,
|
|
``<tt/bar/''.
|
|
|
|
<sect1>
|
|
<heading>How do I mount a CDROM? I've tried using <tt/mount(8)/, but it keeps on giving me an error like, ``<tt>/dev/cd0a on /mnt: Incorrect super block.</tt>''</heading>
|
|
<p>
|
|
You have to tell <tt/mount(8)/ the type of the device that you
|
|
want to mount. By default, <tt/mount(8)/ will assume the
|
|
filesystem is of type ``<tt/ufs/''. You want to mount a CDROM
|
|
filesystem, and you do this by specifying the ``<tt/-t cd9660/''
|
|
option to <tt/mount(8)/. This does, of course, assume that the
|
|
CDROM contains an ISO 9660 filesystem, which is what most CDROMs
|
|
have. As of 1.1R, FreeBSD also understands the Rock Ridge
|
|
(long filename) extensions.
|
|
|
|
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 try to mount a CDROM, I get a ``Device not configured'' error. What's going on?</heading>
|
|
<p>
|
|
This generally means that there is no CDROM in the CDROM drive.
|
|
Feed the drive something.
|
|
|
|
<sect1>
|
|
<heading>My programs occasionally die with ``Signal 11'' errors. What's going on?</heading>
|
|
<p>
|
|
This can be caused by bad hardware (memory, motherboard, etc.).
|
|
Try running a memory-testing program on your PC. Note that, even
|
|
though every memory testing program you try will report your
|
|
memory as being fine, it's possible for slightly marginal memory
|
|
to pass all memory tests, yet fail under operating conditions
|
|
(such as during busmastering DMA from a SCSI controller like the
|
|
Adaptec 1542).
|
|
|
|
<sect1>
|
|
<heading>Help, some of my X Window menus and dialog boxes don't work right! I can't select them.</heading>
|
|
<p>
|
|
Try turning off the Num Lock key.
|
|
|
|
If your Num Lock key is on by default at boot-time, you may add
|
|
the following line in the ``<tt/Keyboard/'' section of the
|
|
<tt/XF86config/ file.
|
|
|
|
<verb>
|
|
# Let the server do the NumLock processing. This should only be required
|
|
# when using pre-R6 clients
|
|
ServerNumLock
|
|
</verb>
|
|
|
|
<sect1>
|
|
<heading>How do I access the virtual consoles?</heading>
|
|
<p>
|
|
If the console is not currently displaying X Window, just press
|
|
Alt-F1 to Alt-F12.
|
|
|
|
<bf/NOTE/ the default FreeBSD installation has
|
|
only three (3) virtual consoles enabled, and so only Alt-F1,
|
|
Alt-F2, and Alt-F3 will work to switch between three virtual
|
|
consoles. If you want to increase this number, see the next
|
|
question.
|
|
|
|
If the console is currently displaying X Window, you can use
|
|
Ctrl-Alt-F1, etc. to switch to a virtual console. Note, however,
|
|
that once you've switched away from X Window to a virtual
|
|
terminal, you use only the Alt- function key to switch to another
|
|
virtual terminal or back to X Window. You do not also press the
|
|
Ctrl key; the Ctrl-Alt-function key combination is used only when
|
|
switching from X Window to a virtual terminal.
|
|
|
|
<sect1>
|
|
<heading>How do I increase the number of virtual consoles?</heading>
|
|
<p>
|
|
Edit <tt>/etc/ttys</tt> and add entries for ``<tt/ttyv4/'' to
|
|
``<tt/ttyvc/'' after the comment on ``Virtual terminals'' (delete
|
|
the leading whitespace in the following example):
|
|
|
|
<verb>
|
|
# Edit the existing entry for ttyv3 in /etc/ttys and change
|
|
# "off" to "on".
|
|
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
|
|
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
|
|
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
|
|
ttyv6 "/usr/libexec/getty Pc" cons25 on secure
|
|
ttyv7 "/usr/libexec/getty Pc" cons25 on secure
|
|
ttyv8 "/usr/libexec/getty Pc" cons25 on secure
|
|
ttyv9 "/usr/libexec/getty Pc" cons25 on secure
|
|
ttyva "/usr/libexec/getty Pc" cons25 on secure
|
|
ttyvb "/usr/libexec/getty Pc" cons25 on secure
|
|
</verb>
|
|
|
|
Use as many or as few as you want. The more virtual terminals
|
|
you have, the more resources that are used; this can be important
|
|
if you have 8MB RAM or less. You may also want to change the
|
|
``<tt/secure/'' to ``<tt/insecure/''.
|
|
|
|
<bf/IMPORTANT NOTE/ if you want to run X Window, you <bf/MUST/
|
|
leave a virtual terminal unused (or turned off). For example, if
|
|
you want to attach a virtual terminal to all of your twelve
|
|
Alt-function keys, you can only attach virtual terminals to
|
|
eleven of them. The last must be left unused, because X Windows
|
|
will use it, and you will use the last Alt-function key to switch
|
|
back to X Window (after you have switched from X Window to a
|
|
virtual console via a Ctrl-Alt-function key). The easiest way to
|
|
do this is to disable a console by turning it off. For example,
|
|
if you have a keyboard with twelve function keys, you would
|
|
change settings for virtual terminal 12 from:
|
|
|
|
<verb>
|
|
ttyvb "/usr/libexec/getty Pc" cons25 on secure
|
|
</verb>
|
|
to:
|
|
<verb>
|
|
ttyvb "/usr/libexec/getty Pc" cons25 off secure
|
|
</verb>
|
|
|
|
If your keyboard has only ten function keys, you would end up with:
|
|
<verb>
|
|
ttyv9 "/usr/libexec/getty Pc" cons25 off secure
|
|
ttyva "/usr/libexec/getty Pc" cons25 off secure
|
|
ttyvb "/usr/libexec/getty Pc" cons25 off secure
|
|
</verb>
|
|
(You could also just delete these lines.)
|
|
|
|
Once you have edited <tt>/etc/ttys</tt>, the next step is to make
|
|
sure that you have enough virtual terminal devices. The easiest
|
|
way to do this is:
|
|
<verb>
|
|
cd /dev
|
|
./MAKEDEV vty12 # For 12 devices
|
|
</verb>
|
|
|
|
Next, the easiest (and cleanest) way to activate the virtual
|
|
consoles is to reboot. However, if you really don't want to
|
|
reboot, you can just shut down X Window and execute (as
|
|
<tt/root/):
|
|
<verb>
|
|
kill -HUP 1
|
|
</verb>
|
|
|
|
It's imperative that you completely shut down X Window if it is
|
|
running, before running this command. If you don't, your system
|
|
will probably appear to hang/lock up after executing the kill
|
|
command.
|
|
|
|
<sect1>
|
|
<heading>I've heard of something called FreeBSD-current. How do I run it, and where can I get more information?</heading>
|
|
|
|
<p>
|
|
Read this:
|
|
<url url="http://www.freebsd.org/How/handbook/current.html"
|
|
name="Handbook's section of FreeBSD-CURRENT">
|
|
it will tell you all you need to know.
|
|
|
|
<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 use it to keep
|
|
remote sites in sync with our central development sources.
|
|
|
|
Unless you have direct Internet connectivity, and don't care too
|
|
much about the cost/duration of the sessions, you shouldn't use
|
|
sup. For those ``low/expensive-bandwidth'' applications, we have
|
|
developed <tt/CTM/, see the section <ref id="ctm" name="on CTM">
|
|
for more about that.
|
|
|
|
To use it, you need to have direct Internet connectivity (not
|
|
just mail or news). First, pick up the <tt/sup.tgz/ package
|
|
from:
|
|
|
|
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages/sup.tgz"
|
|
name="The SUP package">
|
|
|
|
Second, read the <url
|
|
url="http://www.freebsd.org/How/handbook/sup.html"
|
|
name="Handbook's section on SUP">
|
|
|
|
This file describes how to setup sup on your machine. You may
|
|
also want to look at
|
|
|
|
<tt>/usr/src/share/examples/sup/*-supfile</tt>, or you may grab
|
|
updated supfiles from:
|
|
|
|
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FAQ/extras"
|
|
name="Updated SUP files">
|
|
|
|
which are a set of supfiles for supping from <tt/FreeBSD.ORG/.
|
|
|
|
<sect1>
|
|
<heading>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</heading>
|
|
<p>
|
|
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, Linux use the ``<tt/HALT/'' instruction when the
|
|
system is idle thus lowering its energy consumption and therefore
|
|
the heat it generates.
|
|
|
|
<sect1>
|
|
<heading>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.</heading>
|
|
|
|
<p>
|
|
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 that I can give out to other people at my site?</heading>
|
|
|
|
<p>
|
|
The entire process of creating installation disks and source and
|
|
binary archives is automated by various targets in
|
|
<tt>/usr/src/release/Makefile</tt>. The information there should
|
|
be enough to get you started.
|
|
|
|
<sect1>
|
|
<heading>How do I re-build my system without clobbering the existing installed binaries?</heading>
|
|
|
|
<p>
|
|
If you define the environment variable <tt/DESTDIR/ while running
|
|
``<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 booted, it told me that ``(bus speed defaulted)''. What does that mean?</heading>
|
|
|
|
<p>
|
|
The Adaptec 1542 SCSI host adapters allow the user to configure
|
|
their bus access speed in software. Previous versions of the
|
|
1542 driver tried to determine the fastest usable speed and set
|
|
the adapter to that. We found that this breaks some users'
|
|
systems, so you now have to define the ``<tt/TUNE_1542/'' kernel
|
|
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>I would like to track changes to current and do not have net access. Is there any way besides downloading the whole tree?<label id="ctm"></heading>
|
|
|
|
<p>
|
|
Yes, you can use the <tt/CTM/ facility. Check out the
|
|
|
|
<url
|
|
url="http://www.freebsd.org/How/handbook/handbook/ctm.html" name="Handbook's section on for CTM">
|
|
for more information.
|
|
|
|
<sect1>
|
|
<heading>How do I split up large binary files into smaller 240k files like the distribution does?</heading>
|
|
|
|
<p>
|
|
Newer BSD based systems have a ``<tt/-b/'' option to split that
|
|
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><XXX> I've had a couple of system panics and would like to be able browse the system dumps. The normal kernel is stripped and I don't want to run a bloated kernel. What can I do?</heading>
|
|
|
|
<sect1>
|
|
<heading>I've got this neato kernel extension I just know everyone will will want. How do I get it included into the distribution?</heading>
|
|
<p>
|
|
Please take a look at the FAQ for submitting code to FreeBSD at:
|
|
|
|
<url url="http://www.FreeBSD.ORG/How/handbook/submitters.html"
|
|
name="Handbook's section on how to submit code">.
|
|
|
|
And thanks for the thought.
|
|
|
|
</sect1>
|
|
|
|
<sect>
|
|
<heading>Kernel Configuration</heading>
|
|
<p>
|
|
<sect1>
|
|
<heading>Ok, so how DO I compile my own kernel, anyway?<label id="make-kernel"></heading>
|
|
<p>
|
|
Before you can compile a kernel, you need either the complete
|
|
<tt/srcdist/ or, at the minimum, the <tt/kerndist/ loaded on your
|
|
system. This provides the necessary sources for building the
|
|
kernel, as we have a policy of <bf/NOT/ shipping our kernels in
|
|
linkable object form as most commercial UNIX vendors do.
|
|
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/actually/ happening.
|
|
|
|
Anyway, to answer the question, 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 7 should only be undertaken if step 6
|
|
succeeds. 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 6 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.
|
|
|
|
<sect1>
|
|
<heading>I don't understand, I have removed <tt/npx0/ from my kernel configuration file as I don't have a mathematic co-processor but it keeps bombing saying that <tt/_hw_float/ is missing.</heading>
|
|
|
|
<p>
|
|
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>When I compile a kernel with multi-port serial code, it tells me that only the first port is probed and the rest skipped due to interrupt conflicts. How do I fix this?</heading>
|
|
|
|
<p>
|
|
The problem here is that FreeBSD has code built-in to keep the
|
|
kernel from getting trashed due t hardware or software
|
|
conflicts. The way to fix this is to leave out the IRQ settings
|
|
on other ports besides the first. 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>FreeBSD is supposed to come with support for QIC-40/80 drives but when I look, I can't find it.</heading>
|
|
|
|
<p>
|
|
You need to uncomment the following line in the generic config
|
|
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 IPC primitives like those in System V?</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.
|
|
|
|
<sect1>
|
|
<heading>I have 128 MB of RAM but it seems that the system use only the first 64 MB. What's going on ?</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. 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.
|
|
|
|
<code>
|
|
options "MAXMEM=<n>"
|
|
</code>
|
|
Where <tt/n/ is your memory in Kilobytes. For a 128 MB machine,
|
|
you'd want to use <tt/131072/
|
|
|
|
<sect1>
|
|
<heading>Sometimes my FreeBSD 2.0 reboots saying: ``Panic: kmem_map (or 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:
|
|
|
|
<code>
|
|
options "NMBCLUSTERS=<n>"
|
|
</code>
|
|
|
|
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 just wrote a device driver for a Foobar Systems, Inc. Integrated Adaptive Gronkulator card. How do I get the appropriate major numbers assigned?</heading>
|
|
|
|
<p>
|
|
This depends on whether or not you plan on making the driver
|
|
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>Hmm, where are my familiar BSD system files ? What's this <tt>/etc/sysconfig</tt> thing?</heading>
|
|
|
|
<p>
|
|
As for 2.0.5R, the primary configuration file is
|
|
<tt>/etc/sysconfig</tt>. All the options are to be specified in
|
|
this one and the other one (<tt>/etc/rc</tt> and
|
|
<tt>/etc/netstart</tt>) just include it.
|
|
|
|
Look in the <tt>/etc/sysconfig</tt> file and change the value to
|
|
match your system. This file is filled with comments to show what
|
|
to put in there.
|
|
|
|
The <tt>/etc/rc.local</tt> is here as always and is the place to
|
|
put additional services like <tt/INN/ or a <tt/http/ server.
|
|
|
|
The <tt>/etc/rc.serial</tt> is for serial port initialization
|
|
(e.g. locking the port characteristics, and so on.).
|
|
|
|
The <tt>/etc/rc.i386</tt> is for Intel-specifics setting like the
|
|
iBCS2 emulation.
|
|
|
|
Starting with 2.1.0R, you can have "local" startup files in a
|
|
directory specified in <tt>/etc/sysconfig</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 alphabetic
|
|
order.
|
|
|
|
If you want to have a proper 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 order:
|
|
<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? I read the man page and am more confused than ever!</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
|
|
under further development.
|
|
|
|
<sect1>
|
|
<heading>I'm trying to use my printer and keep running into problems. I tried looking at <tt>/etc/printcap</tt>, but it's close to useless. Any ideas?</heading>
|
|
<p>
|
|
Please have a look at the section of the Handbook on printing. It
|
|
should cover most of your problem. See
|
|
<url
|
|
url="http://www.freebsd.org/How/handbook/printing.html"
|
|
name="Handbook's section on printing">
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<heading>My keyboard mappings are wrong for my system. How can I fix them?</heading>
|
|
<p>
|
|
The kbdcontrol program has an option to load a keyboard map file.
|
|
Under <tt>/usr/share/syscons/keymaps</tt> are a number of map
|
|
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 tis 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>
|
|
<item>Danish (both ISO and cp865),
|
|
<item>French (ISO only),
|
|
<item>German (both ISO and cp850),
|
|
<item>Russian,
|
|
<item>Swedish (both ISO and cp850),
|
|
<item>U.K. (both ISO and cp850),
|
|
<item>Spain,
|
|
<item>U.S.A. (ISO only),
|
|
<item>Dvorak US.
|
|
</itemize>
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<heading>Why do I get a ``CMAP busy panic during boot just after installing 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'm trying to use quotas for my users and it keeps bombing...</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>
|
|
|
|
<sect>
|
|
<heading>Networking</heading>
|
|
|
|
<sect1>
|
|
<heading>Where can I get information booting FreeBSD ``diskless'', that is booting and running a FreeBSD box from a server rather than having a local disk?</heading>
|
|
|
|
<p>
|
|
Please read the diskless section in the Handbook. It is in
|
|
<tt>/usr/share/doc/handbook</tt> or use the following WWW link:
|
|
|
|
<url url="http://www.FreeBSD.ORG/How/handbook/diskless.html"
|
|
name="Handbook's section on diskless boot">
|
|
|
|
<sect1>
|
|
<heading>I've heard that you can use a FreeBSD box as a dedicated network router - is there any easy support for this?</heading>
|
|
|
|
<p>
|
|
Internet standards and good engineering practice prohibit us from
|
|
providing packet forwarding by default in FreeBSD. You can
|
|
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>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="http://www.FreeBSD.ORG/How/handbook/slips.html"
|
|
name="Handbook's section on SLIP (server side)">
|
|
<url url="http://www.FreeBSD.ORG/How/handbook/slipc.html"
|
|
name="Handbook's section on SLIP (client side)">
|
|
<url url="http://www.FreeBSD.ORG/How/handbook/ppp.html"
|
|
name="Handbook's section on PPP (kernel version)">
|
|
<url url="http://www.FreeBSD.ORG/How/handbook/userppp.html"
|
|
name="Handbook's section on SLIP (user-mode version)">
|
|
|
|
<sect1>
|
|
<heading>How do I get my network set up? I don't see how to make my <tt>/dev/ed0</tt> device!</heading>
|
|
|
|
<p>
|
|
In the Berkeley networking framework, network interfaces are only
|
|
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 ? It always says: ``File exists''.</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 and my Wuffotronics Workstation / generic NFS appliance, where should I look first?</heading>
|
|
|
|
<p>
|
|
Certain PC network cards are better than others (to put it
|
|
mildly) and can sometimes cause problems with network intensive
|
|
applications like NFS.
|
|
|
|
See
|
|
<url
|
|
url="http://www.freebsd.org/How/handbook/nfs.html"
|
|
name="Handbook's section 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 with my NeXTStep machines and other FreeBSD ones across PPP</heading>
|
|
|
|
<p>
|
|
Try disabling the TCP extensions in <tt>/etc/sysconfig</tt> by
|
|
changing the following variable to NO:
|
|
<verb>
|
|
tcp_extensions=NO
|
|
</verb>
|
|
|
|
<sect1>
|
|
<heading>I want to enable IP multicast support on my FreeBSD box, how do I do it? (Alternatively: What the heck IS multicasting and what applications make use of it?)</heading>
|
|
|
|
<p>
|
|
Multicast host operations are fully supported in FreeBSD 2.0 by
|
|
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>The 2.1.0R release notes speaks of network card based on the DEC PCI chipset, what are they ?</heading>
|
|
|
|
<p>
|
|
Here is a list compiled by Glen Foster
|
|
<tt/<gfoster@driver.nsta.org>/:
|
|
<code>
|
|
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
|
|
</code>
|
|
|
|
<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 or modem cards?</heading>
|
|
<p>
|
|
As the FreeBSD kernel boots, it will probe for the serial ports
|
|
in your system for which the kernel was configured. You can
|
|
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>Hey, I just upgraded to 2.0.5 and my <tt/tty0X/ are missing!</heading>
|
|
<p>
|
|
Don't worry, they have been merged with the <tt/ttydX/
|
|
devices. You'll have to change old configuration files.
|
|
|
|
<sect1>
|
|
<heading>How do I access the serial ports once FreeBSD is running?</heading>
|
|
<p>
|
|
The third serial port, <tt/sio2/ (known as COM3 in DOS), is on
|
|
<tt>/dev/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 configure the kernel for my multiport serial card?</heading>
|
|
<p>
|
|
Again, the section on kernel configuration provides information
|
|
about configuring your kernel. For a multiport serial card,
|
|
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>I have two multiport serial cards that can share irqs. Can FreeBSD handle this?</heading>
|
|
<p>
|
|
Not yet. You'll have to use a different irq for each card.
|
|
|
|
<sect1>
|
|
<heading>What's the difference between <tt/ttyd1/, <tt/ttyid1/, and <tt/ttyld1/? Or, how can I set the default serial parameters for a port?</heading>
|
|
<p>
|
|
The <tt/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 &ero;C1 &ero;D3 &ero;K3 &ero;Q6 S0=1 &ero;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 make my spare computer a dumb terminal connected to my FreeBSD box?</heading>
|
|
<p>
|
|
If you're using another computer as a terminal into your FreeBSD
|
|
system, get a null modem cable to go between the two serial
|
|
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 should I do?</heading>
|
|
<p>
|
|
Actually, the man page for <tt/tip/ is out of date. There is a
|
|
generic Hayes dialer already built in. Just use
|
|
``<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 without resorting to some DOS-based terminal program?<label id="direct-at"></heading>
|
|
<p>
|
|
Make what's called a ``<tt/direct/'' entry in your
|
|
<tt>/etc/remote</tt> file. For example, if your modem's hooked
|
|
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 done entering the AT commands hit <tt>~.</tt> to exit.
|
|
|
|
<sect1>
|
|
<heading>Why doesn't the <tt/@/ sign for the phone number capability work?</heading>
|
|
<p>
|
|
The <tt/@/ sign in the pn capability tells tip to look in
|
|
<tt>/etc/phones</tt> for a phone number. But the <tt/@/ sign is
|
|
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>Great---but how can I do that without having to specify the bps rate on the command line?</heading>
|
|
<p>
|
|
Put in an entry for <tt/tip1200/ or <tt/cu1200/, but go ahead and
|
|
use whatever bps rate is appropriate with the br
|
|
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 want separate entries for various hosts I access through a terminal server, but I don't want to type ``<tt/CONNECT <host>/'' each time once I'm connected. Can <tt/tip/ do that for me?</heading>
|
|
<p>
|
|
Yes. Use the <tt/cm/ capability. For example, these entries in
|
|
<tt>/etc/remote</tt>:
|
|
<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>My university has 42 billion students but only 4 modem lines. Can tip automatically try each line?</heading>
|
|
<p>
|
|
Sure. Make an entry for your university in <tt>/etc/remote</tt>
|
|
and use <tt>\@</tt> for the <tt/pn/ capability:
|
|
<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>How come I have to hit CTRL+P twice to send CTRL+P once?</heading>
|
|
<p>
|
|
CTRL+P is the default ``force'' character, used to tell <tt/tip/
|
|
that the next character is literal data. You can set the force
|
|
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 all UPPER CASE. What gives?</heading>
|
|
<p>
|
|
You must've pressed CTRL+A, <tt/tip/'s ``raise character,''
|
|
specially designed for people with broken caps-lock keys. Use
|
|
<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>Okay, how can I run zmodem with <tt/tip/?</heading>
|
|
<p>
|
|
To receive files, start the sending program on the remote end.
|
|
Then, type ``<tt/~C rz/'' to begin receiving them locally.
|
|
|
|
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>
|
|
<code>
|
|
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
|
|
</code>
|
|
|
|
<descrip>
|
|
<tag/Ollivier Robert/
|
|
FreeBSD FAQ maintenance man
|
|
<tag/Gary Clark II/
|
|
FreeBSD Doc Team
|
|
<tag/Jordan Hubbard/
|
|
Janitorial services (I don't do windows)
|
|
<tag/Garrett Wollman/
|
|
Networking and formatting
|
|
<tag/Jim Lowe/
|
|
Multicast information
|
|
<tag/The FreeBSD Team/
|
|
Kvetching, moaning, submitting data
|
|
</descrip>
|
|
|
|
And to any others we've forgotten, apologies and heartfelt thanks!
|
|
</article>
|