Divide the FAQ into several pieces, one file for each section.
Requested by: the FreeBSD Japanese Documentation Project Submitted by: Mitsuru Iwasaki <iwasaki@jp.FreeBSD.ORG>
This commit is contained in:
parent
f26de15f03
commit
5a99733233
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=2140
16 changed files with 5166 additions and 5062 deletions
5094
FAQ/FAQ.sgml
5094
FAQ/FAQ.sgml
File diff suppressed because it is too large
Load diff
|
@ -1,7 +1,10 @@
|
|||
# $Id: Makefile,v 1.5 1997-10-18 16:06:01 brian Exp $
|
||||
# $Id: Makefile,v 1.6 1997-11-03 08:53:35 max Exp $
|
||||
|
||||
SGMLOPTS=-links
|
||||
DOC= FAQ
|
||||
SRCS= FAQ.sgml
|
||||
SRCS= FAQ.sgml acknowledgments.sgml admin.sgml applications.sgml
|
||||
SRCS+= commercial.sgml hackers.sgml hardware.sgml install.sgml
|
||||
SRCS+= kernelconfig.sgml misc.sgml network.sgml preface.sgml
|
||||
SRCS+= serial.sgml troubleshoot.sgml x.sgml
|
||||
|
||||
.include <bsd.sgml.mk>
|
||||
|
|
41
FAQ/acknowledgments.sgml
Normal file
41
FAQ/acknowledgments.sgml
Normal file
|
@ -0,0 +1,41 @@
|
|||
<!-- $Id: acknowledgments.sgml,v 1.1 1997-11-03 08:53:36 max Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect>
|
||||
<heading>ACKNOWLEDGMENTS<label id="acknowledgments"></heading>
|
||||
|
||||
<p>
|
||||
<verb>
|
||||
If you see a problem with this FAQ, or wish to submit an entry,
|
||||
please mail us at <FAQ@FreeBSD.ORG>. We appreciate your
|
||||
feedback, and cannot make this a better FAQ without your help!
|
||||
|
||||
|
||||
FreeBSD Core Team
|
||||
</verb>
|
||||
|
||||
<descrip>
|
||||
<tag/Jordan Hubbard/
|
||||
Occasional fits of FAQ-reshuffling and updating.
|
||||
|
||||
<tag/Doug White/
|
||||
Services above and beyond the call of duty on freebsd-questions
|
||||
|
||||
<tag/Joerg Wunsch/
|
||||
Services above and beyond the call of duty on Usenet
|
||||
|
||||
<tag/Garrett Wollman/
|
||||
Networking and formatting
|
||||
|
||||
<tag/Jim Lowe/
|
||||
Multicast information
|
||||
|
||||
<tag/Peter da Silva/
|
||||
FreeBSD FAQ typing machine slavey
|
||||
|
||||
<tag/The FreeBSD Team/
|
||||
Kvetching, moaning, submitting data
|
||||
</descrip>
|
||||
|
||||
<p>And to any others we've forgotten, apologies and heartfelt thanks!
|
||||
</sect>
|
945
FAQ/admin.sgml
Normal file
945
FAQ/admin.sgml
Normal file
|
@ -0,0 +1,945 @@
|
|||
<!-- $Id: admin.sgml,v 1.1 1997-11-03 08:53:38 max Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect>
|
||||
<heading>System Administration<label id="admin"></heading>
|
||||
|
||||
<sect1>
|
||||
<heading>Where are the system start-up configuration files?</heading>
|
||||
|
||||
<p>From 2.0.5R to 2.2.1R, the primary configuration file is
|
||||
<tt>/etc/sysconfig</tt>. All the options are to be specified in
|
||||
this file and other files such as <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?rc" name="/etc/rc"> and
|
||||
<tt>/etc/netstart</tt> just include it.
|
||||
|
||||
<p>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.
|
||||
|
||||
<p>In post-2.2.1 and 3.0, <tt>/etc/sysconfig</tt> was renamed
|
||||
to a more self-describing <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)" name="rc.conf">
|
||||
file and the syntax cleaned up a bit in the process.
|
||||
<tt>/etc/netstart</tt> was also renamed to <tt>/etc/rc.network</tt>
|
||||
so that all files could be copied with a <tt><htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?cp" name="cp"> /usr/src/etc/rc*
|
||||
/etc</tt> command.
|
||||
|
||||
<p><tt>/etc/rc.local</tt> is here as always and may be used to
|
||||
start up additional local services like <htmlurl
|
||||
url="http://www.freebsd.org/cgi/ports.cgi?^inn" name="INN">
|
||||
or set custom options.
|
||||
|
||||
<p>The <tt>/etc/rc.serial</tt> is for serial port initialization
|
||||
(e.g. locking the port characteristics, and so on.).
|
||||
|
||||
<p>The <tt>/etc/rc.i386</tt> is for Intel-specifics settings, such
|
||||
as iBCS2 emulation or the PC system console configuration.
|
||||
|
||||
<p>Starting with 2.1.0R, you can also have "local" startup files in a
|
||||
directory specified in <tt>/etc/sysconfig</tt> (or
|
||||
<tt>/etc/rc.conf</tt>):
|
||||
|
||||
<verb>
|
||||
# Location of local startup files.
|
||||
local_startup=/usr/local/etc/rc.local.d
|
||||
</verb>
|
||||
|
||||
<p>Each file ending in <tt/.sh/ will be executed in alphabetical order.
|
||||
|
||||
<p>If you want to ensure a certain execution order without changing all
|
||||
the file names, you can use a scheme similar to the following with
|
||||
digits prepended to each file name to insure the ordering:
|
||||
|
||||
<verb>
|
||||
10news.sh
|
||||
15httpd.sh
|
||||
20ssh.sh
|
||||
</verb>
|
||||
|
||||
<p>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>. Many of the ports/packages
|
||||
assume that <tt>/usr/local/etc/rc.d</tt> is a local startup directory.
|
||||
|
||||
<sect1>
|
||||
<heading>How do I add a user easily?</heading>
|
||||
|
||||
<p>Use the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?adduser"
|
||||
name="adduser"> command.
|
||||
|
||||
<p>There is another package called ``<tt/new-account/'' also written
|
||||
in Perl by Ollivier Robert. Ask <tt><roberto@FreeBSD.ORG></tt>
|
||||
about it. It is currently undergoing further development.
|
||||
|
||||
<p>To remove the user again, use the <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?rmuser" name="rmuser"> command.
|
||||
|
||||
<sect1>
|
||||
<heading>How can I add my new hard disk to my FreeBSD system?</heading>
|
||||
|
||||
<p>The easiest way to do this is from the installation program. You
|
||||
can start the installation program by running
|
||||
<tt>/stand/sysinstall</tt> as root.
|
||||
|
||||
<p>Alternatively, if you still have the install floppy, you can just
|
||||
reboot from that and use the partition & label editors while
|
||||
the system is totally quiescent.
|
||||
|
||||
<p><label id="2_1-disklabel-fix">If the above does not work for you,
|
||||
or if you're a total masochist who likes arcane interfaces, this is how
|
||||
to use <htmlurl url="http://www.freebsd.org/cgi/man.cgi?disklabel"
|
||||
name="disklabel"> manually:
|
||||
|
||||
<p><em>WARNING: There is no substitute for reading carefully
|
||||
& understanding what you are doing! Things described here may
|
||||
DESTROY your system. Proceed with caution! Remember, a BACKUP is your
|
||||
friend!</em>
|
||||
|
||||
<p><tt /sysinstall/ used to be broken up to 2.1.5-RELEASE and will
|
||||
insist on mounting something at / in the disklabel editor. You will
|
||||
have to manually run
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?disklabel"
|
||||
name="disklabel"> before you can run
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?newfs" name="newfs">/.
|
||||
This means doing the math for partitions yourself. This is rumored to
|
||||
be easy :-) See if you can obtain a skeletal label with
|
||||
''<tt>disklabel -r <diskname></tt>'' <em>(e.g.
|
||||
</em>''<tt>disklabel -r /dev/rwd0s2</tt>''<em>, assuming that your new
|
||||
disk is wd0, the first IDE drive, and the FreeBSD slice is the second
|
||||
one, s2)</em>. You should see something like:-
|
||||
|
||||
<verb>
|
||||
# /dev/rwd0s2:
|
||||
type: ESDI
|
||||
disk: wd0s2
|
||||
label:
|
||||
flags:
|
||||
bytes/sector: 512
|
||||
sectors/track: 63
|
||||
tracks/cylinder: 64
|
||||
sectors/cylinder: 4032
|
||||
cylinders: 610
|
||||
sectors/unit: 2459520
|
||||
rpm: 3600
|
||||
interleave: 1
|
||||
trackskew: 0
|
||||
cylinderskew: 0
|
||||
headswitch: 0 # milliseconds
|
||||
track-to-track seek: 0 # milliseconds
|
||||
drivedata: 0
|
||||
|
||||
8 partitions:
|
||||
# size offset fstype [fsize bsize bps/cpg]
|
||||
c: 2459520 0 unused 0 0 # (Cyl. 0 - 609)
|
||||
e: 2459520 0 4.2BSD 0 0 0 # (Cyl. 0 - 609)
|
||||
</verb>
|
||||
|
||||
<p>Make sure that the size is correct, in this case, 2459520
|
||||
sectors/unit x 512 bytes/sector / 2**20 (1 Megabyte) = 1200
|
||||
Megabytes. The rest of the stuff (b/s, t/c, s/c, interleave, etc.)
|
||||
should get suitable defaults from <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?disklabel"
|
||||
name="disklabel">, but see <ref id="ESDI" name="this note"> for older
|
||||
disks. 'fsize' is the <ref id="fsize" name="Fragment size"> for the
|
||||
filesystem, and 'bsize' is the <ref id="bsize" name="Block size">. 'c'
|
||||
is the partition covering the entire slice (or entire disk for a
|
||||
non-sliced disk), and must remain as it is. <em>It should not be
|
||||
used for a filesystem</em>. The 'c' partition is magic in that it
|
||||
is faked by the kernel even if no disklabel exists.
|
||||
|
||||
<p>In the trivial case, where you want a single filesystem spanning
|
||||
the whole slice, the entry for 'e' has to be corrected. Setting fsize
|
||||
to 1024 and bsize to 8192 (8 fragments/block), which are reasonable
|
||||
values for a filesystem, the correct entry for 'e' would be:-
|
||||
|
||||
<verb>
|
||||
e: 2459520 0 4.2BSD 1024 8192
|
||||
</verb>
|
||||
|
||||
<p>Now, the (slightly) harder case, where we want 2 partitions for 2
|
||||
filesystems. Following the <ref id="fsname" name="BSD naming
|
||||
conventions">, the partitions will be <tt /wd0s2e/ &
|
||||
<tt /wd0s2f/. Suppose we split up the 1200 MB into 300 MB for
|
||||
'e' and the remaining 900 MB for 'f'. The partition entries would
|
||||
be:-
|
||||
|
||||
<verb>
|
||||
8 partitions:
|
||||
# size offset fstype [fsize bsize bps/cpg]
|
||||
c: 2459520 0 unused 0 0 # (Cyl. 0 - 609)
|
||||
e: 614400 0 4.2BSD 1024 8192
|
||||
f: 1843200 614400 4.2BSD 1024 8192
|
||||
</verb>
|
||||
|
||||
<p><bf /Note:/ You can directly edit the disklabel with
|
||||
''<tt>disklabel -e wd0s2</tt>''. See
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?disklabel"
|
||||
name="disklabel">.
|
||||
|
||||
<p>If you have at least FreeBSD 2.1.5, and you want to dedicate
|
||||
an entire disk to FreeBSD without any care for other
|
||||
systems, you might shorten the steps above to something like:
|
||||
|
||||
<verb>
|
||||
# dd if=/dev/zero of=/dev/rwd0 count=100
|
||||
# disklabel -Brw wd0 auto
|
||||
# disklabel -e wd0
|
||||
</verb>
|
||||
|
||||
<p>The first <htmlurl url="http://www.freebsd.org/cgi/man.cgi?dd"
|
||||
name="dd"> command ensures there is no old junk at
|
||||
the beginning of the disk that might confuse the disk code
|
||||
in the kernel. Following is an automatic skeleton label
|
||||
generation using the defaults that have been probed from the
|
||||
disk at boot time. Editing this label continues as described
|
||||
above.
|
||||
|
||||
<p>You're done! Time to initialize the filesystems with something
|
||||
like:-
|
||||
|
||||
<verb>
|
||||
newfs -d0 /dev/rwd0s2e
|
||||
newfs -d0 /dev/rwd0s2f
|
||||
</verb>
|
||||
|
||||
<p>Depending on the disk name and slice number, it might be
|
||||
required that you run the script <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?MAKEDEV" name="/dev/MAKEDEV">
|
||||
before in order to create the desired device nodes.
|
||||
|
||||
<p>And mount your new filesystems (See
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount" name="mount">):-
|
||||
|
||||
<verb>
|
||||
mount /dev/wd0s2e /mnt/foo
|
||||
mount /dev/wd0s2f /mnt/bar
|
||||
</verb>
|
||||
|
||||
<p>You may wish to edit <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?fstab(5)" name="/etc/fstab"> to
|
||||
automatically mount the filesystems at boot time.
|
||||
|
||||
<p><bf /Glossary:/
|
||||
|
||||
<descrip>
|
||||
<tag><label id="fsize"><bf>Fragment Size (fsize)</bf></tag>
|
||||
The basic unit of storage for <tt /ffs/. See
|
||||
M. McKusick, W. Joy, S. Leffler, and R. Fabry,
|
||||
"A Fast File System for UNIX",
|
||||
ACM Transactions on Computer Systems 2, 3, pp 181-197, August
|
||||
1984, (reprinted in the BSD System Manager's Manual, SMM:5) or
|
||||
<url url="file:/usr/share/doc/smm/05.fastfs/paper.ascii.gz"
|
||||
name="/usr/share/doc/smm/05.fastfs/paper.ascii.gz"> on your system.
|
||||
|
||||
<tag><label id="bsize"><bf>Block Size (bsize)</bf></tag>
|
||||
A block comprises one or more fragments. See the
|
||||
reference above and
|
||||
<url url="file:/usr/include/sys/disklabel.h"
|
||||
name="<sys/disklabel.h>">
|
||||
|
||||
<tag><label id="ESDI">
|
||||
<bf>Disklabel Characteristics for Older Disks (ESDI)</bf></tag>
|
||||
You may need to provide more information to <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?disklabel"
|
||||
name="disklabel"> if you happen to own a ``true disk'', i.e. one with a
|
||||
uniform geometry, real heads, sectors, and cylinders,
|
||||
such as an old ESDI drive. All of this should be easily
|
||||
obtainable from the drive case, owner's manual, fellow
|
||||
sufferers, etc. :-)
|
||||
|
||||
<tag><label id="fsname">
|
||||
<bf>BSD Filesystem Naming Conventions</bf></tag>
|
||||
Partition 'a' is by convention reserved for a bootable
|
||||
partition, and partition 'b' for swap space. Regular
|
||||
partition names should start with 'd'. ('d' used to be
|
||||
magic in 386BSD 0.1 through FreeBSD 2.0, thus partition
|
||||
'e' is often used for the first non-bootable partition
|
||||
containing a filesystem.)
|
||||
|
||||
<tag><label id="swap">
|
||||
<bf>Warning about swap space</bf></tag>
|
||||
The space required by the BSD partition table is allowed
|
||||
for in the file system. It's not allowed for by the swap
|
||||
partition. So don't start swap at cylinder 0, either offset
|
||||
it or put a file system in partition 'a'.
|
||||
</descrip>
|
||||
|
||||
<sect1>
|
||||
<heading>I have a new removable drive, how do I use it?</heading>
|
||||
|
||||
<p>Whether it's a removable drive like a ZIP or an EZ drive (or
|
||||
even a floppy, if you want to use it that way), or a new hard
|
||||
disk, once it's installed and recognized by the system, and
|
||||
you have your cartridge/floppy/whatever slotted in, things are
|
||||
pretty much the same for all devices.
|
||||
|
||||
<p><label id="disklabel">(this section is based on <url
|
||||
url="http://vinyl.quickweb.com/mark/FreeBSD/ZIP-FAQ.html"
|
||||
name="Mark Mayo's ZIP FAQ">)
|
||||
|
||||
<p>If it's a ZIP drive or a floppy , you've already got a DOS
|
||||
filesystem on it, you can use a command like this:
|
||||
|
||||
<verb>
|
||||
mount -t msdos /dev/fd0c /floppy
|
||||
</verb>
|
||||
|
||||
<p>if it's a floppy, or this:
|
||||
|
||||
<verb>
|
||||
mount -t msdos /dev/sd2s4 /zip
|
||||
</verb>
|
||||
|
||||
<p>for a ZIP disk with the factory configuration.
|
||||
|
||||
<p>For other disks, see how they're laid out using <tt/fdisk/ or
|
||||
<tt>/stand/sysinstall</tt>.
|
||||
|
||||
<p>The rest of the examples will be for a ZIP drive on sd2, the third
|
||||
SCSI disk.
|
||||
|
||||
<p>Unless it's a floppy, or a removable you plan on sharing with
|
||||
other people, it's probably a better idea to stick a BSD file
|
||||
system on it. You'll get long filename support, at least a 2X
|
||||
improvement in performance, and a lot more stability. First, you
|
||||
need to redo the DOS-level partitions/filesystems. You can either
|
||||
use <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fdisk"
|
||||
name="fdisk"> or <tt>/stand/sysinstall</tt>, or for a small
|
||||
drive that you don't want to bother with multiple operating system
|
||||
support on, just blow away the whole FAT partition table (slices)
|
||||
and just use the BSD partitioning:
|
||||
|
||||
<verb>
|
||||
dd if=/dev/zero of=/dev/rsd2 count=2
|
||||
disklabel -Brw sd2 auto
|
||||
</verb>
|
||||
|
||||
<p>You can use disklabel (more info in <ref id="2_1-disklabel-fix"
|
||||
name="this note">) or <tt>/stand/sysinstall</tt> to create multiple
|
||||
BSD partitions. You'll certainly want to do this if you're adding
|
||||
swap space on a fixed disk, but it's probably irrelevant on a
|
||||
removable drive like a ZIP.
|
||||
|
||||
<p>Finally, create a new file system, this one's on our ZIP drive
|
||||
using the whole disk:
|
||||
|
||||
<verb>
|
||||
newfs /dev/rsd2c
|
||||
</verb>
|
||||
|
||||
<p>and mount it:
|
||||
|
||||
<verb>
|
||||
mount /dev/sd2c /zip
|
||||
</verb>
|
||||
|
||||
<p>and it's probably a good idea to add a line like this to
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fstab"
|
||||
name="/etc/fstab"> so you can just type "mount /zip" in the
|
||||
future:
|
||||
|
||||
<verb>
|
||||
/dev/sd2c /zip ffs rw,noauto 0 0
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>How do I mount a secondary DOS partition?</heading>
|
||||
|
||||
<p>The secondary DOS partitions are found after ALL the primary
|
||||
partitions. For example, if you have an "E" partition as the
|
||||
second DOS partition on the second SCSI drive, you need to create
|
||||
the special files for "slice 5" in /dev, then mount /dev/sd1s5:
|
||||
|
||||
<verb>
|
||||
# cd /dev
|
||||
# ./MAKEDEV sd1s5
|
||||
# mount -t msdos /dev/sd1s5 /dos/e
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>Can I mount other foreign filesystems under FreeBSD?</heading>
|
||||
|
||||
<p><bf/ Digital UNIX/ UFS CDROMs can be mounted directly on FreeBSD.
|
||||
Mounting disk partitions from Digital UNIX and other systems
|
||||
that support UFS may be more complex, depending on the details
|
||||
of the disk partitioning for the operating system in question.
|
||||
|
||||
<p><bf/ Linux/: 2.2 and later have support for <bf/ext2fs/ partitions.
|
||||
See <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount_ext2fs"
|
||||
name="mount_ext2fs"> for more information.
|
||||
|
||||
<p>Any other information on this subject would be appreciated.
|
||||
|
||||
<sect1>
|
||||
<heading>How can I use the NT loader to boot FreeBSD?</heading>
|
||||
|
||||
<p>The general idea is that you copy the first sector of your
|
||||
native root FreeBSD partition into a file in the DOS/NT
|
||||
partition. Assuming you name that file something like
|
||||
<tt>c:\bootsect.bsd</tt> (inspired by <tt>c:\bootsect.dos</tt>),
|
||||
you can then edit the <tt>c:\boot.ini</tt> file to come up with
|
||||
something like this:
|
||||
|
||||
<verb>
|
||||
[boot loader]
|
||||
timeout=30
|
||||
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
|
||||
[operating systems]
|
||||
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
|
||||
C:\BOOTSECT.BSD="FreeBSD"
|
||||
C:\="DOS"
|
||||
</verb>
|
||||
|
||||
<p>This procedure assumes that DOS, NT, FreeBSD, or whatever
|
||||
have been installed into their respective fdisk partitions on the
|
||||
<bf/same/ disk. In my case DOS & NT are in the first fdisk
|
||||
partition and FreeBSD is in the second. I also installed FreeBSD
|
||||
to boot from its native partition, <bf/not/ the disk MBR.
|
||||
|
||||
<p>Mount a DOS-formatted floppy (if you've converted to NTFS) or the
|
||||
FAT partition, under, say, <tt>/mnt</tt>.
|
||||
|
||||
<verb>
|
||||
dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1
|
||||
</verb>
|
||||
|
||||
<p>Reboot into DOS or NT. NTFS users copy the <tt/bootsect.bsd/
|
||||
and/or the <tt/bootsect.lnx/ file from the floppy to
|
||||
<tt/C:\/. Modify the attributes (permissions) on
|
||||
<tt/boot.ini/ with:
|
||||
|
||||
<verb>
|
||||
attrib -s -r c:\boot.ini
|
||||
</verb>
|
||||
|
||||
<p>Edit to add the appropriate entries from the example
|
||||
<tt/boot.ini/ above, and restore the attributes:
|
||||
|
||||
<verb>
|
||||
attrib -r -s c:\boot.ini
|
||||
</verb>
|
||||
|
||||
<p>If FreeBSD is booting from the MBR, restore it with the DOS
|
||||
``<tt/fdisk/'' command after you reconfigure them to boot from their
|
||||
native partitions.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
How do I boot FreeBSD and Linux from LILO?
|
||||
</heading>
|
||||
|
||||
<p>Theoretically you should be able to boot FreeBSD from LILO by
|
||||
treating it as a DOS-style operating system, but I haven't been
|
||||
able to get it to work. If you put LILO at the start of your Linux
|
||||
boot partition instead of in the MBR, you can boot LILO from the
|
||||
FreeBSD boot manager. This is what I do.
|
||||
|
||||
<p>If you're running Windows-95 and Linux this is recommended anyway,
|
||||
to make it simpler to get Linux booting again if you should need
|
||||
to reinstall Windows95 (which is a Jealous Operating System, and
|
||||
will bear no other Operating Systems in the Master Boot Record).
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
Will a ``dangerously dedicated'' disk endanger my health?
|
||||
</heading>
|
||||
|
||||
<p><label id="dedicate">The installation procedure allows you to chose
|
||||
two different methods in partitioning your harddisk(s). The default way
|
||||
makes it compatible with other operating systems on the same machine,
|
||||
by using fdisk table entries (called ``slices'' in FreeBSD),
|
||||
with a FreeBSD slice that employs partitions of its own.
|
||||
Optionally, one can chose to install a boot-selector to switch
|
||||
between the possible operating systems on the disk(s).
|
||||
|
||||
<p>Now, while this is certainly the common case for people
|
||||
coming from a PC background, those people coming more from a
|
||||
Unix background and who are going to setup a machine just to
|
||||
run FreeBSD and only FreeBSD, are more used to the classic
|
||||
Unix way where the operating system owns the entire disks,
|
||||
from the very first sector through the end. A true fdisk
|
||||
table isn't of any use in this case, the machine is running
|
||||
FreeBSD 24 hours per day, 7 days per week, no other operating
|
||||
system should ever be booted on it. So, if you select
|
||||
``A)ll FreeBSD'' in sysinstall's fdisk editor, and answer the
|
||||
next question with ``No'', you'll get this mode. Note that
|
||||
this means the BSD bootstrap also forms the MBR for this drive,
|
||||
so there's no space left for anything like a boot manager.
|
||||
Don't ever try to install one, or you'll damage the BSD
|
||||
bootstrap.
|
||||
|
||||
<p>So why it is called ``dangerous''? A disk in this mode
|
||||
doesn't contain what normal PC utilities would consider a
|
||||
valid fdisk table. Depending on how well they have been
|
||||
designed, they might complain at you once they are getting
|
||||
in contact with such a disk, or even worse, they might
|
||||
damage the BSD bootstrap without even asking or notifying
|
||||
you. Some kind of operating system that is in rather
|
||||
widespread use on PCs is known for this kind of
|
||||
user-unfriendliness (of course, it does this in the name of
|
||||
``user-friendliness''). At least one Award BIOS that is for
|
||||
example used in HP Netservers (but not only there) is known
|
||||
to ignore any harddisk that doesn't have what it believes to
|
||||
be a valid fdisk table. When it comes to booting, it simply
|
||||
ignores such a disk drive, advances to the floppy drive, and
|
||||
barfs at you with just ``Read error''. Very impressive, eh?
|
||||
They probably also call this ``user-friendly'', who knows?
|
||||
|
||||
<p>The advantages of this mode are: FreeBSD owns the entire
|
||||
disk, no need to waste several fictitious `tracks' for just
|
||||
nothing but a 1980-aged simplistic partitioning model
|
||||
enforcing some artificial and now rather nonsensical
|
||||
constraints on how this partitioning needs to be done.
|
||||
These constraints often lead to what might be the biggest
|
||||
headaches for OS installations on PCs, geometry mismatch
|
||||
hassles resulting out of two different, redundant ways how
|
||||
to store the partitioning information in the fdisk table.
|
||||
See the chapter about <ref id="missing_os" name="Missing
|
||||
Operating System">. In ``dangerously dedicated'' mode, the
|
||||
BSD bootstrap starts at sector 0, and this one is the only
|
||||
sector that always translates into the same C/H/S values,
|
||||
regardless of which `translation' your BIOS is using for
|
||||
your disk. Thus, you can also swap disks between
|
||||
systems/controllers that use a different translation scheme,
|
||||
without risking that they won't boot anymore.
|
||||
|
||||
<p>To return a ``dangerously dedicated'' disk for normal PC
|
||||
use, there are basically two options. The first is, you
|
||||
write enough NULL bytes over the MBR to make any subsequent
|
||||
installation believe this to be a blank disk. You can do
|
||||
this for example with
|
||||
|
||||
<verb>
|
||||
dd if=/dev/zero of=/dev/rsd0 count=15
|
||||
</verb>
|
||||
|
||||
<p>Alternatively, the undocumented DOS ``feature''
|
||||
|
||||
<verb>
|
||||
fdisk /mbr
|
||||
</verb>
|
||||
|
||||
<p>will to install a new master boot record as well, thus clobbering the
|
||||
BSD bootstrap.
|
||||
|
||||
<sect1>
|
||||
<heading>How can I add more swap space?</heading>
|
||||
|
||||
<p>The best way is to increase the size of your swap partition, or
|
||||
take advantage of this convenient excuse to add another disk (and
|
||||
see <ref id="swap" name="this note"> if you do).
|
||||
|
||||
<p>Adding swap onto a separate disk makes things faster than
|
||||
simply adding swap onto the same disk. As an example, if you
|
||||
are compiling source located on one disk, and the swap is on
|
||||
another disk, this is much faster than both swap and compile
|
||||
on the same disk. This is true for SCSI disks specifically.
|
||||
|
||||
<p> IDE drives are not able to allow access to both drives on
|
||||
the same channel at the same time (FreeBSD doesn't support mode 4, so
|
||||
all IDE disk I/O is ``programmed''). I would still suggest putting
|
||||
your swap on a separate drive however. The drives are so cheap,
|
||||
it is not worth worrying about.
|
||||
|
||||
<p>It is a really bad idea to locate your swap file over NFS
|
||||
unless you are running in a very fast networking environment, with
|
||||
a good server.
|
||||
|
||||
<p>Here is an example for 64Mb vn-swap (<tt>/usr/swap0</tt>, though
|
||||
of course you can use any name that you want).
|
||||
|
||||
<p>Make sure your kernel was built with the line
|
||||
|
||||
<verb>
|
||||
pseudo-device vn 1 #Vnode driver (turns a file into a device)
|
||||
</verb>
|
||||
|
||||
<p>in your config-file. The GENERIC kernel already contains this.
|
||||
|
||||
<enum>
|
||||
<item>create a vn-device
|
||||
|
||||
<verb>
|
||||
cd /dev
|
||||
sh ./MAKEDEV vn0
|
||||
</verb>
|
||||
|
||||
<item>create a swapfile (<tt>/usr/swap0</tt>)
|
||||
|
||||
<verb>
|
||||
dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
|
||||
</verb>
|
||||
|
||||
<item>enable the swap file in <tt>/etc/rc.conf</tt>
|
||||
|
||||
<verb>
|
||||
swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.
|
||||
</verb>
|
||||
|
||||
<item>reboot the machine
|
||||
</enum>
|
||||
|
||||
<p>To enable the swap file immediately, type
|
||||
|
||||
<verb>
|
||||
vnconfig -ce /dev/vn0c /usr/swap0 swap
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>I'm having problems setting up my printer.</heading>
|
||||
|
||||
<p>Please have a look at the Handbook entry on printing. It
|
||||
should cover most of your problem. See the
|
||||
<url url="../handbook/printing.html" name="Handbook entry on printing.">
|
||||
|
||||
<sect1>
|
||||
<heading>The keyboard mappings are wrong for my system.</heading>
|
||||
|
||||
<p>The kbdcontrol program has an option to load a keyboard map file.
|
||||
Under <tt>/usr/share/syscons/keymaps</tt> are a number of map
|
||||
files. Choose the one relevant to your system and load it.
|
||||
|
||||
<verb>
|
||||
kbdcontrol -l uk.iso
|
||||
</verb>
|
||||
|
||||
<p>Both the <tt>/usr/share/syscons/keymaps</tt> and the <tt/.kbd/
|
||||
extension are assumed by
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?kbdcontrol"
|
||||
name="kbdcontrol">.
|
||||
|
||||
<p>This can be configured in <tt>/etc/sysconfig</tt> (or <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)" name="rc.conf">).
|
||||
See the appropriate comments in this file.
|
||||
|
||||
<p>In 2.0.5R and later, everything related to text fonts, keyboard
|
||||
mapping is in <tt>/usr/share/examples/syscons</tt>.
|
||||
|
||||
<p>The following mappings are currently supported:
|
||||
|
||||
<itemize>
|
||||
<!-- generate by `kbdmap -p' -->
|
||||
<item>Belgian ISO-8859-1
|
||||
<item>Brazilian 275 keyboard Codepage 850
|
||||
<item>Brazilian 275 keyboard ISO-8859-1
|
||||
<item>Danish Codepage 865
|
||||
<item>Danish ISO-8859-1
|
||||
<item>French ISO-8859-1
|
||||
<item>German Codepage 850
|
||||
<item>German ISO-8859-1
|
||||
<item>Italian ISO-8859-1
|
||||
<item>Japanese 106
|
||||
<item>Japanese 106x
|
||||
<item>Latin American
|
||||
<item>Norwegian ISO-8859-1
|
||||
<item>Polish ISO-8859-2 (programmer's)
|
||||
<item>Russian Codepage 866 (alternative)
|
||||
<item>Russian koi8-r (shift)
|
||||
<item>Russian koi8-r
|
||||
<item>Spanish ISO-8859-1
|
||||
<item>Swedish Codepage 850
|
||||
<item>Swedish ISO-8859-1
|
||||
<item>Swiss-German ISO-8859-1
|
||||
<item>United Kingdom Codepage 850
|
||||
<item>United Kingdom ISO-8859-1
|
||||
<item>United States of America ISO-8859-1
|
||||
<item>United States of America dvorak
|
||||
<item>United States of America dvorakx
|
||||
</itemize>
|
||||
|
||||
<sect1>
|
||||
<heading>I can't get user quotas to work properly.</heading>
|
||||
|
||||
<p>
|
||||
<enum>
|
||||
<item>Don't turn on quotas on '/',
|
||||
|
||||
<item>Put the quota file on the file system that the quotas are
|
||||
to be enforced on. ie:
|
||||
|
||||
<verb>
|
||||
FS QUOTA FILE
|
||||
/usr /usr/admin/quotas
|
||||
/home /home/admin/quotas
|
||||
...
|
||||
</verb>
|
||||
</enum>
|
||||
|
||||
<sect1>
|
||||
<heading>What's inappropriate about my ccd?</heading>
|
||||
|
||||
<p>The symptom of this is:
|
||||
|
||||
<verb>
|
||||
# ccdconfig -C
|
||||
ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format
|
||||
#
|
||||
</verb>
|
||||
|
||||
<p>This usually happens when you are trying to concatenate the
|
||||
`c' partitions, which default to type `unused'. The ccd
|
||||
driver requires the underlying partition type to be
|
||||
FS_BSDFFS. Edit the disklabel of the disks you are trying
|
||||
to concatenate and change the types of partitions to
|
||||
`4.2BSD'.
|
||||
|
||||
<sect1>
|
||||
<heading>Why can't I edit the disklabel on my ccd?</heading>
|
||||
|
||||
<p>The symptom of this is:
|
||||
|
||||
<verb>
|
||||
# disklabel ccd0
|
||||
(it prints something sensible here, so let's try to edit it)
|
||||
# disklabel -e ccd0
|
||||
(edit, save, quit)
|
||||
disklabel: ioctl DIOCWDINFO: No disk label on disk;
|
||||
use "disklabel -r" to install initial label
|
||||
#
|
||||
</verb>
|
||||
|
||||
<p>This is because the disklabel returned by ccd is actually a
|
||||
`fake' one that is not really on the disk. You can solve
|
||||
this problem by writing it back explicitly, as in:
|
||||
|
||||
<verb>
|
||||
# disklabel ccd0 > /tmp/disklabel.tmp
|
||||
# disklabel -Rr ccd0 /tmp/disklabel.tmp
|
||||
# disklabel -e ccd0
|
||||
(this will work now)
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>Does FreeBSD support System V IPC primitives?</heading>
|
||||
|
||||
<p>Yes, FreeBSD supports System V-style IPC. This includes shared
|
||||
memory, messages and semaphores. You need to add the following
|
||||
lines to your kernel config to enable them.
|
||||
|
||||
<verb>
|
||||
options SYSVSHM
|
||||
options "SHMMAXPGS=64" # 256Kb of sharable memory
|
||||
options SYSVSEM # enable for semaphores
|
||||
options SYSVMSG # enable for messaging
|
||||
</verb>
|
||||
|
||||
<p>Recompile and install.
|
||||
|
||||
<p><bf/NOTE:/ You may need to increase SHMMAXPGS to some
|
||||
ridiculous number like 4096 (16M!) if you want to run
|
||||
GIMP. 256Kb is plenty for X11R6 shared memory.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
How do I use sendmail for mail delivery with UUCP?<label id="uucpmail">
|
||||
</heading>
|
||||
|
||||
<p>The sendmail configuration that ships with FreeBSD is
|
||||
suited for sites that connect directly to the Internet.
|
||||
Sites that wish to exchange their mail via UUCP must install
|
||||
another sendmail configuration file.
|
||||
|
||||
<p>Tweaking <tt>/etc/sendmail.cf</tt> manually is considered
|
||||
something for purists. Sendmail version 8 comes with a
|
||||
new approach of generating config files via some
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?m4"
|
||||
name="m4"> preprocessing, where the actual hand-crafted configuration
|
||||
is on a higher abstraction level. You should use the
|
||||
configuration files under
|
||||
|
||||
<verb>
|
||||
/usr/src/usr.sbin/sendmail/cf
|
||||
</verb>
|
||||
|
||||
<p>If you didn't install your system with full sources, the sendmail
|
||||
config stuff has been broken out into a separate source distribution
|
||||
tarball just for you. Assuming you've got your CD-ROM mounted, do:
|
||||
|
||||
<verb>
|
||||
cd /usr/src
|
||||
tar -xvzf /cdrom/dists/src/ssmailcf.aa
|
||||
</verb>
|
||||
|
||||
<p>Don't panic, this is only a few hundred kilobytes in size.
|
||||
The file <tt>README</tt> in the <tt>cf</tt> directory can
|
||||
serve as a basic introduction to m4 configuration.
|
||||
|
||||
<p>For UUCP delivery, you are best advised to use the
|
||||
<em>mailertable</em> feature. This constitutes a database
|
||||
that sendmail can use to base its routing decision upon.
|
||||
|
||||
<p>First, you have to create your <tt>.mc</tt> file. The
|
||||
directory <tt>/usr/src/usr.sbin/sendmail/cf/cf</tt> is the
|
||||
home of these files. Look around, there are already a few
|
||||
examples. Assuming you have named your file <tt>foo.mc</tt>,
|
||||
all you need to do in order to convert it into a valid
|
||||
<tt>sendmail.cf</tt> is:
|
||||
|
||||
<verb>
|
||||
cd /usr/src/usr.sbin/sendmail/cf/cf
|
||||
make foo.cf
|
||||
cp foo.cf /etc/sendmail.cf
|
||||
</verb>
|
||||
|
||||
<p>A typical <tt>.mc</tt> file might look like:
|
||||
|
||||
<verb>
|
||||
include(`../m4/cf.m4')
|
||||
VERSIONID(`Your version number')
|
||||
OSTYPE(bsd4.4)
|
||||
|
||||
FEATURE(nodns)
|
||||
FEATURE(nocanonify)
|
||||
FEATURE(mailertable)
|
||||
|
||||
define(`UUCP_RELAY', your.uucp.relay)
|
||||
define(`UUCP_MAX_SIZE', 200000)
|
||||
|
||||
MAILER(local)
|
||||
MAILER(smtp)
|
||||
MAILER(uucp)
|
||||
|
||||
Cw your.alias.host.name
|
||||
Cw youruucpnodename.UUCP
|
||||
</verb>
|
||||
|
||||
<p>The <em>nodns</em> and <em>nocanonify</em> features will
|
||||
prevent any usage of the DNS during mail delivery. The
|
||||
<em>UUCP_RELAY</em> clause is needed for bizarre reasons,
|
||||
don't ask. Simply put an Internet hostname there that
|
||||
is able to handle .UUCP pseudo-domain addresses; most likely,
|
||||
you will enter the mail relay of your ISP there.
|
||||
|
||||
<p>Once you've got this, you need this file called
|
||||
<tt>/etc/mailertable</tt>. A typical example of this
|
||||
gender again:
|
||||
|
||||
<verb>
|
||||
#
|
||||
# makemap hash /etc/mailertable.db < /etc/mailertable
|
||||
#
|
||||
horus.interface-business.de uucp-dom:horus
|
||||
.interface-business.de uucp-dom:if-bus
|
||||
interface-business.de uucp-dom:if-bus
|
||||
.heep.sax.de smtp8:%1
|
||||
horus.UUCP uucp-dom:horus
|
||||
if-bus.UUCP uucp-dom:if-bus
|
||||
. uucp-dom:sax
|
||||
</verb>
|
||||
|
||||
<p>As you can see, this is part of a real-life file. The first
|
||||
three lines handle special cases where domain-addressed mail
|
||||
should not be sent out to the default route, but instead to
|
||||
some UUCP neighbor in order to ``shortcut'' the delivery
|
||||
path. The next line handles mail to the local Ethernet
|
||||
domain that can be delivered using SMTP. Finally, the UUCP
|
||||
neighbors are mentioned in the .UUCP pseudo-domain notation,
|
||||
to allow for a ``uucp-neighbor!recipient'' override of the
|
||||
default rules. The last line is always a single dot, matching
|
||||
everything else, with UUCP delivery to a UUCP neighbor that
|
||||
serves as your universal mail gateway to the world. All of
|
||||
the node names behind the <tt>uucp-dom:</tt> keyword must
|
||||
be valid UUCP neighbors, as you can verify using the
|
||||
command <tt>uuname</tt>.
|
||||
|
||||
<p>As a reminder that this file needs to be converted into a
|
||||
DBM database file before being usable, the command line to
|
||||
accomplish this is best placed as a comment at the top of
|
||||
the mailertable. You always have to execute this command
|
||||
each time you change your mailertable.
|
||||
|
||||
<p>Final hint: if you are uncertain whether some particular
|
||||
mail routing would work, remember the <tt>-bt</tt> option to
|
||||
sendmail. It starts sendmail in <em>address test mode</em>;
|
||||
simply enter ``0 '', followed by the address you wish to
|
||||
test for the mail routing. The last line tells you the used
|
||||
internal mail agent, the destination host this agent will be
|
||||
called with, and the (possibly translated) address. Leave
|
||||
this mode by typing Control-D.
|
||||
|
||||
<verb>
|
||||
j@uriah 191% sendmail -bt
|
||||
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
|
||||
Enter <ruleset> <address>
|
||||
> 0 foo@interface-business.de
|
||||
rewrite: ruleset 0 input: foo @ interface-business . de
|
||||
...
|
||||
rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \
|
||||
< @ interface-business . de >
|
||||
> ^D
|
||||
j@uriah 192%
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
How do I set up mail with a dialup connection to the 'net?
|
||||
<label id="ispmail">
|
||||
</heading>
|
||||
|
||||
<p>If you've got a statically assigned IP number, you should not
|
||||
need to adjust anything from the default. Set your host name up
|
||||
as your assigned internet name and sendmail will do the rest.
|
||||
|
||||
<p>If you've got a dynamically assigned IP number and use a dialup
|
||||
<bf/ppp/ connection to the internet, you will probably be given a
|
||||
mailbox on your ISPs mail server. Lets assume your ISPs domain is
|
||||
<tt/myISP.com/, and that your user name is <tt/user/. Lets also
|
||||
assume you've called your machine <tt/bsd.home/ and that your ISP
|
||||
has told you that you may use <tt/relay.myISP.com/ as a mail relay.
|
||||
|
||||
<p>In order to retrieve mail from your mailbox, you'll need to
|
||||
install a retrieval agent. <bf/Fetchmail/ is a good choice as it
|
||||
supports many different protocols. Usually, POP3 will be provided
|
||||
by your ISP. If you've chosen to use user-ppp, you can automatically
|
||||
fetch your mail when a connection to the 'net is established with the
|
||||
following entry in <tt>/etc/ppp/ppp.linkup</tt>:
|
||||
|
||||
<verb>
|
||||
MYADDR:
|
||||
!bg su user -c fetchmail
|
||||
</verb>
|
||||
|
||||
<p>I'm assuming that you have an account for <tt/user/ on <tt/bsd.home/.
|
||||
In the home directory of <tt/user/ on <tt/bsd.home/, create a
|
||||
<tt/.fetchmailrc/ file:
|
||||
|
||||
<verb>
|
||||
poll myISP.com protocol pop3 fetchall pass MySecret;
|
||||
</verb>
|
||||
|
||||
<p>Needless to say, this file should not be readable by anyone except
|
||||
<tt/user/ as it contains the password <tt/MySecret/.
|
||||
|
||||
<p>In order to send mail with the correct <bf/from:/ header, you must
|
||||
tell sendmail to use <tt/user@myISP.com/ rather than
|
||||
<tt/user@bsd.home/. You may also wish to tell sendmail to send all
|
||||
mail via <tt/relay.myISP.com/, allowing quicker mail transmission.
|
||||
|
||||
<p>The following <tt/.mc/ file should suffice:
|
||||
|
||||
<verb>
|
||||
VERSIONID(`bsd.home.mc version 1.0')
|
||||
OSTYPE(bsd4.4)dnl
|
||||
FEATURE(nouucp)dnl
|
||||
MAILER(local)dnl
|
||||
MAILER(smtp)dnl
|
||||
Cwbsd.home
|
||||
CwmyISP.com
|
||||
MASQUERADE_AS(`myISP.com')dnl
|
||||
FEATURE(allmasquerade)dnl
|
||||
FEATURE(masquerade_envelope)dnl
|
||||
FEATURE(nocanonify)dnl
|
||||
FEATURE(nodns)dnl
|
||||
define(SMART_HOST, `relay.myISP.com')
|
||||
DmmyISP.com
|
||||
define(`confDOMAIN_NAME',`myISP.com')dnl
|
||||
</verb>
|
||||
|
||||
<p>Refer to the previous section for details of how to turn this
|
||||
<tt/.mc/ file into a <tt/sendmail.rc/ file. Also, don't forget to
|
||||
restart sendmail after updating sendmail.cf.
|
||||
|
||||
</sect>
|
||||
|
131
FAQ/applications.sgml
Normal file
131
FAQ/applications.sgml
Normal file
|
@ -0,0 +1,131 @@
|
|||
<!-- $Id: applications.sgml,v 1.1 1997-11-03 08:53:40 max Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect>
|
||||
<heading>User Applications<label id="applications"></heading>
|
||||
|
||||
<sect1>
|
||||
<heading>So, where are all the user applications?</heading>
|
||||
|
||||
<p>Please take a look at <url url="http://www.FreeBSD.ORG/ports/"
|
||||
name="the ports page"> for info on software packages ported to
|
||||
FreeBSD. The list currently tops 1000 and is growing daily, so come
|
||||
back to check often or subscribe to the <tt/freebsd-announce/
|
||||
<ref id="mailing" name="mailing list"> for periodic updates on new
|
||||
entries.
|
||||
|
||||
<p>Most ports should be available for both the 2.2 and 3.0
|
||||
branches, and many of them should work on 2.1.x systems as
|
||||
well. Each time a FreeBSD release is made, a snapshot of the
|
||||
ports tree at the time of release in also included in the
|
||||
<tt>ports/</tt> directory.
|
||||
|
||||
<p>We also support the concept of a ``package'', essentially no
|
||||
more than a gzipped binary distribution with a little extra
|
||||
intelligence embedded in it for doing whatever custom installation
|
||||
work is required. A package can installed and uninstalled
|
||||
again easily without having to know the gory details of which
|
||||
files it includes.
|
||||
|
||||
<p>Use the package installation menu in <tt>/stand/sysinstall</tt>
|
||||
(under the post-configuration menu item) or invoke the
|
||||
<em>pkg_add(1)</em> command on the specific package files you're
|
||||
interested in installing. Package files can usually be identified by
|
||||
their <em>.tgz</em> suffix and CDROM distribution people will have
|
||||
a <tt>packages/All</tt> directory on their CD which contains such
|
||||
files. They can also be downloaded over the net for various versions
|
||||
of FreeBSD at the following locations:
|
||||
|
||||
<descrip>
|
||||
<tag>for 2.1.x-release</tag>
|
||||
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.1.7/"
|
||||
name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.1.7/">
|
||||
|
||||
<tag>for 2.2.5-release/2.2-stable</tag>
|
||||
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2.5/"
|
||||
name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2.5/">
|
||||
|
||||
<tag>for 3.0-current</tag>
|
||||
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-3.0/"
|
||||
name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-3.0/">
|
||||
</descrip>
|
||||
|
||||
<p>or your nearest local mirror site.
|
||||
|
||||
<p>Note that all ports may not be available as packages since
|
||||
new ones are constantly being added. It is always a good
|
||||
idea to check back periodically to see which packages are available
|
||||
at the <url url="ftp://ftp.freebsd.org/pub/FreeBSD/"
|
||||
name="ftp.freebsd.org"> master site.
|
||||
|
||||
<sect1>
|
||||
<heading>Where do I find libc.so.3.0?</heading>
|
||||
|
||||
<p>You are trying to run a package for 2.2/3.0 on a 2.1.x
|
||||
system. Please take a look at the previous section and get
|
||||
the correct port/package for your system.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
ghostscript gives lots of errors with my 386/486SX.<label id="emul">
|
||||
</heading>
|
||||
|
||||
<p>You don't have a math co-processor, right?
|
||||
You will need to add the alternative math emulator to your kernel;
|
||||
you do this by adding the following to your kernel config file
|
||||
and it will be compiled in.
|
||||
|
||||
<verb>
|
||||
options GPL_MATH_EMULATE
|
||||
</verb>
|
||||
|
||||
<p><bf/NOTE/ You will need to remove the <tt/MATH_EMULATE/
|
||||
option when you do this.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
When I run a SCO/iBCS2 application, it bombs on <tt/socksys/.
|
||||
</heading>
|
||||
|
||||
<p>You first need to edit the <tt>/etc/sysconfig</tt>
|
||||
(or <htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)"
|
||||
name="/etc/rc.conf">) file in the last section to change the
|
||||
following variable to <tt/YES/:
|
||||
|
||||
<verb>
|
||||
# Set to YES if you want ibcs2 (SCO) emulation loaded at startup
|
||||
ibcs2=NO
|
||||
</verb>
|
||||
|
||||
<p>It will load the <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?ibcs2" name="ibcs2">
|
||||
kernel module at startup.
|
||||
|
||||
<p>You'll then need to set up /compat/ibcs2/dev to look like:
|
||||
|
||||
<verb>
|
||||
lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null
|
||||
lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys
|
||||
-rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null
|
||||
lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null
|
||||
crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx
|
||||
</verb>
|
||||
|
||||
<p>You just need socksys to go to <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?null(4)" name="/dev/null">
|
||||
to fake the open & close. The code in -current will handle the
|
||||
rest. This is much cleaner than the way it was done before. If you
|
||||
want the <tt/spx/ driver for a local socket X connection, define
|
||||
<tt/SPX_HACK/ when you compile the system.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
How do I configure INN (Internet News) for my machine?
|
||||
</heading>
|
||||
|
||||
<p>After installing the inn package or port, an excelent place to
|
||||
start is <url url="http://www.math.psu.edu/barr/INN.html"
|
||||
name="Dave Barr's INN Page"> where you'll find the INN FAQ.
|
||||
|
||||
</sect>
|
||||
|
95
FAQ/commercial.sgml
Normal file
95
FAQ/commercial.sgml
Normal file
|
@ -0,0 +1,95 @@
|
|||
<!-- $Id: commercial.sgml,v 1.1 1997-11-03 08:53:42 max Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect>
|
||||
<heading>Commercial Applications<label id="commercial"></heading>
|
||||
|
||||
<p><bf/NOTE/ This section is still very sparse, though we're hoping, of
|
||||
course, that companies will add to it! :) The FreeBSD group has no
|
||||
financial interest in any of the companies listed here but simply
|
||||
lists them as a public service (and feels that commercial interest
|
||||
in FreeBSD can have very positive effects on FreeBSD's long-term
|
||||
viability). We encourage commercial software vendors to send their
|
||||
entries here for inclusion.
|
||||
|
||||
<sect1>
|
||||
<heading>Where can I get Motif for FreeBSD?</heading>
|
||||
|
||||
<p>Contact <ref id="xig" name="Xi Graphics"> for a Motif 2.0
|
||||
distribution for FreeBSD.
|
||||
|
||||
<p>This distribution includes:
|
||||
<itemize>
|
||||
<item>OSF/Motif manager, xmbind, panner, wsm.
|
||||
|
||||
<item>Development kit with uil, mrm, xm, xmcxx, include and Imake
|
||||
files.
|
||||
|
||||
<item>Static and dynamic libraries.
|
||||
|
||||
<item>Demonstration applets.
|
||||
|
||||
<item>Preformatted man pages.
|
||||
</itemize>
|
||||
|
||||
<p>Be sure to specify that you want the FreeBSD version of Motif
|
||||
when ordering! Versions for BSDI and Linux are also sold by
|
||||
<em>Xi Graphics</em>. This is currently a 4 diskette set... in the
|
||||
future this will change to a unified CD distribution like their CDE.
|
||||
|
||||
<sect1>
|
||||
<heading>Where can I get CDE for FreeBSD?</heading>
|
||||
|
||||
<p>Contact <ref id="xig" name="Xi Graphics"> for a CDE 1.0.10
|
||||
distribution for FreeBSD. This includes Motif 1.2.5, and can
|
||||
be used with Motif 2.0.
|
||||
|
||||
<p>This is a unified CDROM distribution for FreeBSD and Linux.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
Are there any commercial high-performance X servers?<label id="xig">
|
||||
</heading>
|
||||
|
||||
<p>Yes, <url url="http://www.xig.com" name="Xi Graphics"> sells their
|
||||
Accelerated-X product for FreeBSD and other Intel based systems.
|
||||
|
||||
<p>This high performance X Server offers easy configuration, support
|
||||
for multiple concurrent video boards and is distributed in binary
|
||||
form only, in a unified diskette distribution for FreeBSD and Linux.
|
||||
|
||||
<p>There is a free "compatibility demo" of version 3.1 available.
|
||||
|
||||
<p>Xi Graphics also sells Motif and CDE for FreeBSD (see above).
|
||||
|
||||
<descrip>
|
||||
<tag/More info/
|
||||
<url url="http://www.xig.com/" name="Xi Graphics WWW page">
|
||||
|
||||
<tag/or/ <url url="mailto:sales@xig.com" name="Sales"> or
|
||||
<url url="mailto:support@xig.com" name="Support"> email addresses.
|
||||
|
||||
<tag/or/ phone (800) 946 7433 or +1 303 298-7478.
|
||||
</descrip>
|
||||
|
||||
<sect1>
|
||||
<heading>Are there any Database systems for FreeBSD?</heading>
|
||||
|
||||
<p>Yes! Conetic Software Systems has ported their C/base and C/books
|
||||
database systems to FreeBSD 2.0.5 and higher, and Sleepycat
|
||||
Software is selling a commercially supported version of the DB
|
||||
database library.
|
||||
|
||||
<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">,
|
||||
|
||||
<tag/and/
|
||||
<url url="http://www.sleepycat.com/" name = "Sleepycat Software">.
|
||||
</descrip>
|
||||
|
||||
</sect>
|
||||
|
265
FAQ/hackers.sgml
Normal file
265
FAQ/hackers.sgml
Normal file
|
@ -0,0 +1,265 @@
|
|||
<!-- $Id: hackers.sgml,v 1.1 1997-11-03 08:53:45 max Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect>
|
||||
<heading>For serious FreeBSD hackers only<label id="hackers"></heading>
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
What are SNAPs and RELEASEs?
|
||||
</heading>
|
||||
|
||||
<p>There are currently three active/semi-active branches in the FreeBSD
|
||||
<url url="http://www.freebsd.org/cgi/cvsweb.cgi" name="CVS Repository">:
|
||||
|
||||
<itemize>
|
||||
<item><bf/RELENG_2_1_0/ AKA <bf/2.1-stable/ AKA <bf/"2.1 branch"/
|
||||
<item><bf/RELENG_2_2/ AKA <bf/2.2-stable/ AKA <bf/"2.2 branch"/
|
||||
<item><bf/HEAD/ AKA <bf/-current/ AKA <bf/3.0-current/
|
||||
</itemize>
|
||||
|
||||
<p><bf/HEAD/ is not an actual branch tag, like the other two, it's
|
||||
simply a symbolic constant for
|
||||
<em/"the current, non-branched development stream"/ which we simply
|
||||
refer to as <bf/-current/.
|
||||
|
||||
<p>Right now, <bf/-current/ is the 3.0 development stream and the
|
||||
<bf/2.2-stable/ branch, <bf/RELENG_2_2/, forked off from
|
||||
<bf/-current/ in November 1996.
|
||||
|
||||
<p>The <bf/2.1-stable/ branch, <bf/RELENG_2_1_0/, departed -current in
|
||||
September of 1994.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
How do I make my own custom release?<label id="custrel">
|
||||
</heading>
|
||||
|
||||
<p>To make a release you need to do three things: First, you need to
|
||||
be running a kernel with the <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?vn" name="vn"> driver configured
|
||||
in. Add this to your kernel config file and build a new kernel:
|
||||
|
||||
<verb>
|
||||
pseudo-device vn #Vnode driver (turns a file into a device)
|
||||
</verb>
|
||||
|
||||
<p>Second, you have to have the whole CVS repository at hand.
|
||||
To get this you can use <url url="../handbook/cvsup.html" name="CVSUP">
|
||||
but your tag value, if any, should be `.' and your release name
|
||||
should be cvs:
|
||||
|
||||
<verb>
|
||||
*default prefix=/home/ncvs
|
||||
*default base=/a
|
||||
*default host=cvsup.FreeBSD.org
|
||||
*default release=cvs
|
||||
*default delete compress use-rel-suffix
|
||||
|
||||
## Main Source Tree
|
||||
src-all
|
||||
src-eBones
|
||||
src-secure
|
||||
|
||||
# Other stuff
|
||||
ports-all
|
||||
www
|
||||
doc-all
|
||||
</verb>
|
||||
|
||||
<p>Then run <tt/cvsup -g supfile/ to suck all the good bits onto your
|
||||
box...
|
||||
|
||||
<p>Finally, you need a chunk of empty space to build into. Let's
|
||||
say it's in <tt>/some/big/filesystem</tt>, and from the example
|
||||
above you've got the CVS repository in <tt>/home/ncvs</tt>:
|
||||
|
||||
<verb>
|
||||
setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs
|
||||
cd /usr/src/release
|
||||
make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release
|
||||
</verb>
|
||||
|
||||
<p>An entire release will be built in
|
||||
<tt>/some/big/filesystem/release</tt> and you will have a full FTP-type
|
||||
installation in <tt>/some/big/filesystem/release/R/ftp</tt> when you're
|
||||
done. If you want to build your SNAP along some other branch than
|
||||
-current, you can also add <tt/RELEASETAG=SOMETAG/ to
|
||||
the make release command line above, e.g. <tt/RELEASETAG=RELENG_2_2/
|
||||
would build an up-to-the- minute 2.2 GAMMA snapshot.
|
||||
|
||||
<sect1>
|
||||
<heading>How do I create customized installation disks?</heading>
|
||||
|
||||
<p>The entire process of creating installation disks and source and
|
||||
binary archives is automated by various targets in
|
||||
<tt>/usr/src/release/Makefile</tt>. The information there should
|
||||
be enough to get you started. However, it should be said that this
|
||||
involves doing a ``make world'' and will therefore take up a lot of
|
||||
time and disk space.
|
||||
|
||||
<sect1>
|
||||
<heading>``make world'' clobbers my existing installed binaries.</heading>
|
||||
|
||||
<p>Yes, this is the general idea; as its name might suggest,
|
||||
``make world'' rebuilds every system binary from scratch, so you can be
|
||||
certain of having a clean and consistent environment at the end (which
|
||||
is why it takes so long).
|
||||
|
||||
<p>If the environment variable <tt/DESTDIR/ is defined while running
|
||||
``<tt/make world/'' or ``<tt/make install/'', the newly-created
|
||||
binaries will be deposited in a directory tree identical to the
|
||||
installed one, rooted at <tt>${DESTDIR}</tt>.
|
||||
Some random combination of shared libraries modifications and
|
||||
program rebuilds can cause this to fail in ``<tt/make world/'',
|
||||
however.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
When my system boots, it says ``(bus speed defaulted)''.
|
||||
</heading>
|
||||
|
||||
<p>The Adaptec 1542 SCSI host adapters allow the user to configure
|
||||
their bus access speed in software. Previous versions of the
|
||||
1542 driver tried to determine the fastest usable speed and set
|
||||
the adapter to that. We found that this breaks some users'
|
||||
systems, so you now have to define the ``<tt/TUNE_1542/'' kernel
|
||||
configuration option in order to have this take place. Using it
|
||||
on those systems where it works may make your disks run faster,
|
||||
but on those systems where it doesn't, your data could be
|
||||
corrupted.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
Can I follow current with limited Internet access?<label id="ctm">
|
||||
</heading>
|
||||
|
||||
<p>Yes, you can do this <tt /without/ downloading the whole source tree
|
||||
by using the <url url="../handbook/ctm.html" name="CTM facility.">
|
||||
|
||||
<sect1>
|
||||
<heading>How did you split the distribution into 240k files?</heading>
|
||||
|
||||
<p>Newer BSD based systems have a ``<tt/-b/'' option to split that
|
||||
allows them to split files on arbitrary byte boundaries.
|
||||
|
||||
<p>Here is an example from <tt>/usr/src/Makefile</tt>.
|
||||
|
||||
<verb>
|
||||
bin-tarball:
|
||||
(cd ${DISTDIR}; \
|
||||
tar cf - . \
|
||||
gzip --no-name -9 -c | \
|
||||
split -b 240640 - \
|
||||
${RELEASEDIR}/tarballs/bindist/bin_tgz.)
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>I've written a kernel extension, who do I send it to?</heading>
|
||||
|
||||
<p>Please take a look at <url url="../handbook/contrib.html"
|
||||
name="The Handbook entry on how to submit code.">
|
||||
|
||||
<p>And thanks for the thought!
|
||||
|
||||
<sect1>
|
||||
<heading>How are Plug N Play ISA cards detected and initialized?</heading>
|
||||
|
||||
<p>By: <url url="mailto:uhclem@nemesis.lonestar.org"
|
||||
name="Frank Durda IV">
|
||||
|
||||
<p>In a nutshell, there a few I/O ports that all of the PnP boards
|
||||
respond to when the host asks if anyone is out there. So when
|
||||
the PnP probe routine starts, he asks if there are any PnP boards
|
||||
present, and all the PnP boards respond with their model # to
|
||||
a I/O read of the same port, so the probe routine gets a wired-OR
|
||||
``yes'' to that question. At least one bit will be on in that
|
||||
reply. Then the probe code is able to cause boards with board
|
||||
model IDs (assigned by Microsoft/Intel) lower than X to go
|
||||
``off-line''. It then looks to see if any boards are still
|
||||
responding to the query. If the answer was ``<tt/0/'', then
|
||||
there are no boards with IDs above X. Now probe asks if there
|
||||
are any boards below ``X''. If so, probe knows there are boards
|
||||
with a model numbers below X. Probe then asks for boards greater
|
||||
than X-(limit/4) to go off-line. If repeats the query. By
|
||||
repeating this semi-binary search of IDs-in-range enough times,
|
||||
the probing code will eventually identify all PnP boards present
|
||||
in a given machine with a number of iterations that is much lower
|
||||
than what 2^64 would take.
|
||||
|
||||
<p>The IDs are two 32-bit fields (hence 2ˆ64) + 8 bit checksum.
|
||||
The first 32 bits are a vendor identifier. They never come out
|
||||
and say it, but it appears to be assumed that different types of
|
||||
boards from the same vendor could have different 32-bit vendor
|
||||
ids. The idea of needing 32 bits just for unique manufacturers
|
||||
is a bit excessive.
|
||||
|
||||
<p>The lower 32 bits are a serial #, ethernet address, something
|
||||
that makes this one board unique. The vendor must never produce
|
||||
a second board that has the same lower 32 bits unless the upper
|
||||
32 bits are also different. So you can have multiple boards of
|
||||
the same type in the machine and the full 64 bits will still be
|
||||
unique.
|
||||
|
||||
<p>The 32 bit groups can never be all zero. This allows the
|
||||
wired-OR to show non-zero bits during the initial binary search.
|
||||
|
||||
<p>Once the system has identified all the board IDs present, it will
|
||||
reactivate each board, one at a time (via the same I/O ports),
|
||||
and find out what resources the given board needs, what interrupt
|
||||
choices are available, etc. A scan is made over all the boards
|
||||
to collect this information.
|
||||
|
||||
<p>This info is then combined with info from any ECU files on the
|
||||
hard disk or wired into the MLB BIOS. The ECU and BIOS PnP
|
||||
support for hardware on the MLB is usually synthetic, and the
|
||||
peripherals don't really do genuine PnP. However by examining
|
||||
the BIOS info plus the ECU info, the probe routines can cause the
|
||||
devices that are PnP to avoid those devices the probe code cannot
|
||||
relocate.
|
||||
|
||||
<p>Then the PnP devices are visited once more and given their I/O,
|
||||
DMA, IRQ and Memory-map address assignments. The devices will
|
||||
then appear at those locations and remain there until the next
|
||||
reboot, although there is nothing that says you can't move them
|
||||
around whenever you want.
|
||||
|
||||
<p>There is a lot of oversimplification above, but you should get
|
||||
the general idea.
|
||||
|
||||
<p>Microsoft took over some of the primary printer status ports to
|
||||
do PnP, on the logic that no boards decoded those addresses for
|
||||
the opposing I/O cycles. I found a genuine IBM printer board
|
||||
that did decode writes of the status port during the early PnP
|
||||
proposal review period, but MS said ``tough''. So they do a
|
||||
write to the printer status port for setting addresses, plus that
|
||||
use that address + <tt/0x800/, and a third I/O port for reading
|
||||
that can be located anywhere between <tt/0x200/ and <tt/0x3ff/.
|
||||
|
||||
<sect1>
|
||||
<heading>Will FreeBSD ever support other architectures?</heading>
|
||||
|
||||
<p>Several different groups have expressed interest in working on
|
||||
multi-architecture support for FreeBSD and some people are
|
||||
currently working on a port of FreeBSD to the ALPHA, with the
|
||||
cooperation of DEC. For general discussion on new architectures,
|
||||
use the <tt><platforms@FreeBSD.ORG></tt>
|
||||
<ref id="mailing" name="mailing list">.
|
||||
|
||||
<sect1>
|
||||
<heading>I need a major number for a device driver I've written.</heading>
|
||||
|
||||
<p>This depends on whether or not you plan on making the driver
|
||||
publicly available. If you do, then please send us a copy of the
|
||||
driver source code, plus the appropriate modifications to
|
||||
<tt>files.i386</tt>, a sample configuration file entry, and the
|
||||
appropriate <htmlurl url="http://www.freebsd.org/cgi/man.cgi?MAKEDEV"
|
||||
name="MAKEDEV"> 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>.
|
||||
|
||||
</sect>
|
||||
|
422
FAQ/hardware.sgml
Normal file
422
FAQ/hardware.sgml
Normal file
|
@ -0,0 +1,422 @@
|
|||
<!-- $Id: hardware.sgml,v 1.1 1997-11-03 08:53:46 max Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect>
|
||||
<heading>Hardware compatibility <label id="hardware"></heading>
|
||||
|
||||
<sect1>
|
||||
<heading>What kind of hard drives does FreeBSD support?</heading>
|
||||
|
||||
<p>FreeBSD supports EIDE and SCSI drives (with a compatible
|
||||
controller; see the next section), and all drives using the
|
||||
original "Western Digital" interface (MFM, RLL, ESDI, and
|
||||
of course IDE). A few ESDI controllers that use proprietary
|
||||
interfaces may not work: stick to WD1002/3/6/7 interfaces
|
||||
and clones.
|
||||
|
||||
<sect1>
|
||||
<heading>Which SCSI controllers are supported?</heading>
|
||||
|
||||
<p>FreeBSD supports the following SCSI controllers:
|
||||
|
||||
<descrip>
|
||||
<tag/Adaptec/
|
||||
AH-1505 <ISA> <newline>
|
||||
AH-152x Series <ISA> <newline>
|
||||
AH-154x Series <ISA> <newline>
|
||||
AH-174x Series <EISA> <newline>
|
||||
Sound Blaster SCSI (AH-152x compat) <ISA> <newline>
|
||||
AH-2742/2842 Series <ISA/EISA> <newline>
|
||||
AH-2820/2822/2825 Series (Narrow/Twin/Wide) <VLB> <newline>
|
||||
AH-294x and aic7870 MB controllers (Narrow/Twin/Wide) <PCI>
|
||||
<newline>
|
||||
AH-394x (Narrow/Twin/Wide)
|
||||
|
||||
<tag/Buslogic/
|
||||
BT-445 Series <VLB> (this is one of the cards referred to
|
||||
in the section <ref id="bigram" name="on >16 MB machines">)
|
||||
<newline>
|
||||
BT-545 Series <ISA> <newline>
|
||||
BT-742 Series <EISA><newline>
|
||||
BT-747 Series <EISA><newline>
|
||||
BT-946 Series <PCI> <newline>
|
||||
BT-956 Series <PCI> <newline>
|
||||
|
||||
<tag/Future Domain/
|
||||
TMC-950 Series <ISA> <newline>
|
||||
|
||||
<tag/PCI Generic/
|
||||
NCR 53C81x based controllers <PCI> <newline>
|
||||
NCR 53C82x based controllers <PCI> <newline>
|
||||
NCR 53C860/75 based controllers <PCI> <newline>
|
||||
|
||||
<tag/ProAudioSpectrum/
|
||||
Zilog 5380 based controllers <ISA> <newline>
|
||||
Trantor 130 based controllers <ISA> <newline>
|
||||
|
||||
<tag/DTC/
|
||||
DTC 3290 EISA SCSI in AHA-154x emulation.<newline>
|
||||
|
||||
<tag/Seagate/
|
||||
ST-01/02 Series <ISA><newline>
|
||||
|
||||
<tag/UltraStor/
|
||||
UH-14f Series <ISA><newline>
|
||||
UH-24f Series <EISA> <newline>
|
||||
UH-34f Series <VLB><newline>
|
||||
|
||||
<tag/Western Digital/
|
||||
WD7000 <ISA> <No scatter/gather>
|
||||
</descrip>
|
||||
|
||||
<sect1>
|
||||
<heading>Which CD-ROM drives are supported by FreeBSD?</heading>
|
||||
|
||||
<p>Any SCSI drive connected to a supported controller is supported.
|
||||
|
||||
<p>The following proprietry CD-ROM interfaces are also supported:
|
||||
|
||||
<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<newline>
|
||||
</itemize>
|
||||
|
||||
<p>All non-SCSI cards are known to be extremely slow compared to
|
||||
SCSI drives, and some ATAPI CDROMs may not work.
|
||||
|
||||
<p>As of 2.2 the FreeBSD CDROM from Walnut Creek supports booting
|
||||
directly from the CD.
|
||||
|
||||
<sect1>
|
||||
<heading>Does FreeBSD support ZIP drives?</heading>
|
||||
|
||||
<p>FreeBSD supports the SCSI ZIP drive out of the box, of course. The
|
||||
ZIP drive can only be set to run at SCSI target IDs 5 or 6, but if
|
||||
your SCSI host adapter's BIOS supports it you can even boot from
|
||||
it. I don't know which host adapters let you boot from targets
|
||||
other than 0 or 1... look at your docs (and let me know if it works
|
||||
out for you).
|
||||
|
||||
<p>There is no built in support for the parallel ZIP drive, and if you
|
||||
haven't bought your ZIP drive already I recommend you get the SCSI
|
||||
one... the price is the same, and the performance is much better,
|
||||
and you're unlikely to ever be able to boot from the parallel port.
|
||||
|
||||
<p>If you already have a parallel ZIP, there is a port of the Linux
|
||||
driver available at
|
||||
|
||||
<url url="http://www.prism.uvsq.fr/~son/ppa3.html"
|
||||
name="Nicolas Souchu's home page"> in France.
|
||||
|
||||
<p>Also check out <ref id="jaz" name="this note on removable drives">,
|
||||
and <ref id="disklabel" name="this note on 'formatting'">.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
Does FreeBSD support JAZ, EZ and other removable drives?
|
||||
</heading>
|
||||
|
||||
<p>Apart from the IDE version of the EZ drive, these are all SCSI
|
||||
devices, so the should all look like SCSI disks to FreeBSD, and
|
||||
the IDE EZ should look like an IDE drive.
|
||||
|
||||
<p><label id="jaz">I'm not sure how well FreeBSD supports changing
|
||||
the media out while running. You will of course need to dismount the
|
||||
drive before swapping media, and make sure that any external units are
|
||||
powered on when you boot the system so FreeBSD can see them.
|
||||
|
||||
<p>See <ref id="disklabel" name="this note on 'formatting'">.
|
||||
|
||||
<sect1>
|
||||
<heading>Which multi-port serial cards are supported by FreeBSD?</heading>
|
||||
|
||||
<p>There is a list of these in the <htmlurl
|
||||
url="../handbook/install:misc.html" name="Miscellaneous devices">
|
||||
section of the handbook.
|
||||
|
||||
<p>Some unnamed clone cards have also been known to work, especially
|
||||
those that claim to be AST compatible.
|
||||
|
||||
<p>Check the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sio"
|
||||
name="sio"> man page to get more information on configuring such cards.
|
||||
|
||||
<sect1>
|
||||
<heading>I have an unusual bus mouse. How do I set it up?</heading>
|
||||
|
||||
<p>FreeBSD supports the Logitech and ATI Inport bus mice. You need
|
||||
to add the following line to the kernel config file and recompile
|
||||
for the Logitech and ATI mice:
|
||||
|
||||
<verb>
|
||||
device mse0 at isa? port 0x23c tty irq5 vector mseintr
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
How do I use my PS/2 (``keyboard'') mouse?
|
||||
<label id="ps2mouse">
|
||||
</heading>
|
||||
|
||||
<p>If you're running a relatively recent version of FreeBSD then you
|
||||
can simply enable it in the kernel configuration menu
|
||||
at installation time, otherwise later with -c at the boot:
|
||||
prompt. It is disabled by default, so you will need to enable
|
||||
it explicitly.
|
||||
|
||||
<p>If you're running an older version of FreeBSD then you'll have to
|
||||
add the following lines to your kernel configuration file and compile
|
||||
a new kernel:
|
||||
|
||||
<verb>
|
||||
device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
|
||||
# Options for psm:
|
||||
options PSM_CHECKSYNC #checks the header byte for sync.
|
||||
</verb>
|
||||
|
||||
<p>See the <url url="../handbook/kernelconfig.html"
|
||||
name="Handbook entry on configuring the kernel"> if you've no
|
||||
experience with building kernels.
|
||||
|
||||
<p>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>
|
||||
|
||||
<p>when logged in as root.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
How do I use the mouse/trackball/touchpad on my laptop?
|
||||
</heading>
|
||||
|
||||
<p>Please refer to <ref id="ps2mouse" name="the answer to the previous
|
||||
question">. And check out <ref id="pao" name="this note"> on the Mobile
|
||||
Computing page.
|
||||
|
||||
<sect1>
|
||||
<heading>What types of tape drives are supported?</heading>
|
||||
|
||||
<p>FreeBSD supports SCSI, QIC-36 (with a QIC-02 interface) and
|
||||
QIC-40/80 (Floppy based) tape drives. This includes 8-mm (aka Exabyte)
|
||||
and DAT drives. The QIC-40/80 drives are known to be slow.
|
||||
|
||||
<p>Some of the early 8-mm drives are not quite compatible with SCSI-2,
|
||||
and may not work well with FreeBSD.
|
||||
|
||||
<sect1>
|
||||
<heading>Does FreeBSD support tape changers?</heading>
|
||||
|
||||
<p>FreeBSD 2.2 supports SCSI changers using the <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?ch(4)" name="ch"> device and
|
||||
the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?chio" name="chio">
|
||||
command. The details of how you actually control the changer can be
|
||||
found in the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?chio"
|
||||
name="chio"> man page.
|
||||
|
||||
<p>If you're not using <htmlurl
|
||||
url="http://www.freebsd.org/cgi/ports.cgi?amanda" name="AMANDA"> or
|
||||
some other product that already understands changers, remember that
|
||||
they're only know how to move a tape from one point to another, so
|
||||
you need to keep track of which slot a tape is in, and which slot the
|
||||
tape currently in the drive needs to go back to.
|
||||
|
||||
<sect1>
|
||||
<heading>Which 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.
|
||||
|
||||
<p><bf/NOTE/ This is only for sound! This driver does not support
|
||||
CD-ROMs, SCSI or joysticks on these cards, except for the
|
||||
SoundBlaster. The SoundBlaster SCSI interface and some non-SCSI
|
||||
CDROMS are supported, but you can't boot off this device.
|
||||
|
||||
<sect1>
|
||||
<heading>Which network cards does FreeBSD support?</heading>
|
||||
|
||||
<p>See the <htmlurl url="../handbook/install:nics.html"
|
||||
name="Ethernet cards"> section of the handbook for a more
|
||||
complete list. Since it doesn't list the drivers
|
||||
you need to use for each of the cards, this incomplete
|
||||
list will have to do.
|
||||
|
||||
<descrip>
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?de(4)"
|
||||
name="de"> driver/
|
||||
DEC DC21x40 and compatible PCI controllers<newline>
|
||||
(including 21140 100bT cards) <newline>
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ed(4)"
|
||||
name="ed"> driver/ NE2000 and 1000<newline>
|
||||
WD/SMC 8003, 8013 and Elite Ultra (8216)<newline>
|
||||
3Com 3c503 <newline>
|
||||
HP 27247B and 27252A <newline>
|
||||
And clones of the above <newline>
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?le(4)"
|
||||
name="le"> driver/
|
||||
DEC EtherWORKS II and EtherWORKS III controllers. <newline>
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ie(4)"
|
||||
name="ie"> driver/
|
||||
AT&T EN100/StarLAN 10 <newline>
|
||||
3COM 3c507 Etherlink 16/TP<newline>
|
||||
NI5210 <newline>
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?is(4)"
|
||||
name="is"> driver/
|
||||
Isolan AT 4141-0 <newline>
|
||||
Isolink 4110 <newline>
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?el(4)"
|
||||
name="el"> driver/
|
||||
3com 3c501 (does not support Multicast or DMA)
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?eg(4)"
|
||||
name="eg"> driver/
|
||||
3com 3c505 Etherlink/+
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ze(4)"
|
||||
name="ze"> driver/
|
||||
IBM PCMCIA credit card adapter
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?lnc(4)"
|
||||
name="lnc"> drive/
|
||||
Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL)(*)
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ep(4)"
|
||||
name="ep"> driver/
|
||||
3com 3c509 (Must disable PNP support on card)
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ix(4)"
|
||||
name="ix"> driver/
|
||||
Intel InterExpress
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?cx(4)"
|
||||
name="cx"> driver/
|
||||
Cronyx/Sigma multiport Sync/Async (Cisco and PPP framing)
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?zp(4)"
|
||||
name="zp"> driver/
|
||||
3Com PCMCIA Etherlink III (aka 3c589)(A-C only)
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fea(4)"
|
||||
name="fea"> driver/
|
||||
DEC DEFEA EISA FDDI controller
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fpa(4)"
|
||||
name="fpa"> driver/
|
||||
DEC DEFPA PCI FDDI controller
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fe(4)"
|
||||
name="fe"> driver/
|
||||
Fujitsu MB86960A/MB86965A Ethernet cards
|
||||
</descrip>
|
||||
|
||||
<p><bf/NOTE/ Drivers marked with (*) are known to have problems.
|
||||
|
||||
<p><bf/NOTE/ 3C598D is NOT supported yet.
|
||||
|
||||
<p><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. Refer to the description in the lp(4)
|
||||
man page.
|
||||
|
||||
<p><bf/NOTE/ Some of these cards require a DOS partition on your hard
|
||||
drive to run the configuration software. Software configured cards
|
||||
may also need to be hard-reset after running another operating
|
||||
system that uses manufacturer-supplied drivers. This may even
|
||||
require a full power cycle.
|
||||
|
||||
<sect1>
|
||||
<heading>I don't have a math co-processor - is that bad?</heading>
|
||||
|
||||
<p><tt /Note/ This will only affect 386/486SX/486SLC owners - other
|
||||
machines will have one built into the CPU.
|
||||
|
||||
<p>In general this will not cause any problems, but there are
|
||||
circumstances where you will take a hit, either in performance or
|
||||
accuracy of the math emulation code (see the section <ref id="emul"
|
||||
name="on FP emulation">). In particular, drawing arcs in X will be
|
||||
VERY slow. It is highly recommended that you buy a math
|
||||
co-processor; it's well worth it.
|
||||
|
||||
<p><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 which do not fit into any of the
|
||||
earlier categories.
|
||||
|
||||
<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><htmlurl url="http://www.freebsd.org/cgi/man.cgi?gsc(4)"
|
||||
name="gsc"> driver</tag>
|
||||
Driver for the Genuis GS-4500 Hand scanner
|
||||
|
||||
<tag><htmlurl url="http://www.freebsd.org/cgi/man.cgi?joy(4)"
|
||||
name="joy"> driver</tag>
|
||||
Driver for a joystick
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?labpc(4)"
|
||||
name="labpc"> driver/
|
||||
Driver for National Instrument's Lab-PC and Lab-PC+
|
||||
|
||||
<tag/``uart'' driver/
|
||||
Stand-alone 6850 UART for MIDI
|
||||
|
||||
<tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?psm(4)"
|
||||
name="psm"> driver/ PS/2 mouse port
|
||||
|
||||
<tag><tt/tw.c/</tag>
|
||||
Driver for the X-10 POWERHOUSE <newline>
|
||||
</descrip>
|
||||
|
||||
<!--
|
||||
<sect1>
|
||||
<heading>I am about to buy a new machine. What do you recommend?</heading>
|
||||
|
||||
<p>See the <url url="../handbook/hw.html" name="hardware section">
|
||||
of the handbook for general tips if you're going to build it
|
||||
yourself, otherwise see the
|
||||
FreeBSD <url url="http://www.freebsd.org/commercial/hardware.html"
|
||||
name="Hardware vendors"> page for various companies who offer
|
||||
FreeBSD compatible systems.
|
||||
-->
|
||||
|
||||
<sect1>
|
||||
<heading>Does FreeBSD support power management on my laptop?</heading>
|
||||
|
||||
<p>FreeBSD supports APM on certain machines. Please look in the
|
||||
<tt/LINT/ kernel config file, searching for the <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?apm" name="APM"> keyword.
|
||||
|
||||
</sect>
|
||||
|
443
FAQ/install.sgml
Normal file
443
FAQ/install.sgml
Normal file
|
@ -0,0 +1,443 @@
|
|||
<!-- $Id: install.sgml,v 1.1 1997-11-03 08:53:47 max Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect>
|
||||
<heading>Installation<label id="install"></heading>
|
||||
|
||||
<sect1>
|
||||
<heading>Which file do I download to get FreeBSD?</heading>
|
||||
|
||||
<p>You generally need just one floppy image, the <em>floppies/boot.flp
|
||||
</em> file, which you image-copy onto a 1.44MB floppy and then boot it
|
||||
in order to download the rest (and the installation will manage your
|
||||
TCP/IP collection, deal with tapes, CDROMs, floppies, DOS.
|
||||
partitions, whatever's necessary to get the reset of the bits
|
||||
installed).
|
||||
|
||||
<p>Full instructions on this procedure and a little bit more about
|
||||
installation issues in general can be found in the <url
|
||||
url="../handbook/install.html"
|
||||
name="Handbook entry on installing FreeBSD.">
|
||||
|
||||
<sect1>
|
||||
<heading>Where are the instructions for installing FreeBSD?</heading>
|
||||
|
||||
<p>Installation instructions can be found in the
|
||||
<url url="../handbook/install.html"
|
||||
name="Handbook entry on installing FreeBSD.">
|
||||
|
||||
<sect1>
|
||||
<heading>What do I need in order to run FreeBSD?</heading>
|
||||
|
||||
<p>You'll need a 386 or better PC, with 5 MB or more of RAM and at
|
||||
least 60 MB of hard disk space. It can run with a low end MDA
|
||||
graphics card but to run X11R6, a VGA or better video card is needed.
|
||||
|
||||
<p>See also the section on <ref id="hardware"
|
||||
name="Hardware compatibility">
|
||||
|
||||
<sect1>
|
||||
<heading>I have only 4 MB of RAM. Can I install FreeBSD?</heading>
|
||||
|
||||
<p>FreeBSD 2.1.7 was the last version of FreeBSD that could be installed
|
||||
on a 4MB system. Newer versions of FreeBSD, like 2.2, need at least 5MB
|
||||
to install on a new system.
|
||||
|
||||
<p>All versions of FreeBSD, including 3.0, will RUN in 4MB of ram, they
|
||||
just can't run the installation program in 4MB. You can add
|
||||
extra memory for the install process, if you like, and then
|
||||
after the system is up and running, go back to 4MB. Or you could
|
||||
always just swap your disk into a system which has >4MB, install onto
|
||||
it and then swap it back.
|
||||
|
||||
<p>There are also situations in which FreeBSD 2.1.7 will not install
|
||||
in 4 MB. To be exact: it does not install with 640 kB base + 3 MB
|
||||
extended memory. If your motherboard can remap some of the ``lost''
|
||||
memory out of the 640kB to 1MB region, then you may still be able
|
||||
to get FreeBSD 2.1.7 up.
|
||||
|
||||
<p>Try to go into your BIOS setup and look for a ``remap'' option.
|
||||
Enable it. You may also have to disable ROM shadowing.
|
||||
|
||||
<p>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.
|
||||
|
||||
<p>You may also install 2.0.5 and then upgrade your system to 2.1.7
|
||||
with the ``upgrade'' option of the 2.1.7 installation program.
|
||||
|
||||
<p>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>
|
||||
How can I make my own custom install floppy?
|
||||
</heading>
|
||||
|
||||
<p>Currently there's no way to *just* make a custom install floppy.
|
||||
You have to cut a whole new release, which will include your install
|
||||
floppy. There's some code in <tt>/usr/src/release/floppies/Makefile</tt>
|
||||
that's supposed to let you *just* make those floppies, but it's not
|
||||
really gelled yet.
|
||||
|
||||
<p>To make a custom release, follow the instructions <ref id="custrel"
|
||||
name="here">.
|
||||
|
||||
<sect1>
|
||||
<heading>Can I have more than one operating system on my PC?</heading>
|
||||
|
||||
<p>Have a look at <url url="../tutorials/multios/multios.html"
|
||||
name="The multi-OS page.">
|
||||
|
||||
<sect1>
|
||||
<heading>Can Windows 95 co-exist with FreeBSD?</heading>
|
||||
|
||||
<p>Install Windows 95 first, after that FreeBSD. FreeBSD's boot
|
||||
manager will then manage to boot Win95 and FreeBSD. If you
|
||||
install Windows 95 second, it will boorishly overwrite your
|
||||
boot manager without even asking. If that happens, see
|
||||
the next section.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
Windows 95 killed my boot manager! How do I get it back?
|
||||
</heading>
|
||||
|
||||
<p>You can reinstall the boot manager FreeBSD comes with in one of
|
||||
two ways:
|
||||
|
||||
<itemize>
|
||||
<item>Running DOS, go into the tools/ directory of your FreeBSD
|
||||
distribution and look for <bf>bootinst.exe</bf>. You run it like so:
|
||||
|
||||
<p><bf>bootinst.exe boot.bin</bf>
|
||||
|
||||
<p>and the boot manager will be reinstalled.
|
||||
|
||||
<item>Boot the FreeBSD boot floppy again and go to the Custom
|
||||
installation menu item. Choose Partition. Select the drive which
|
||||
used to contain your boot manager (likely the first one) and when you
|
||||
come to the partition editor for it, as the very first thing (e.g.
|
||||
do not make any changes) select (W)rite. This will ask for
|
||||
confirmation, say yes, and when you get the Boot Manager selection
|
||||
prompt, be sure to select "Boot Manager."
|
||||
This will re-write the boot manager to disk. Now quit out of the
|
||||
installation menu and reboot off the hard disk as normal.
|
||||
</itemize>
|
||||
|
||||
<sect1>
|
||||
<heading>Can I install on a disk with bad blocks?</heading>
|
||||
|
||||
<p>FreeBSD's bad block (the <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?bad144" name="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.
|
||||
|
||||
<p>If you have a SCSI drive with bad blocks, see <ref id="awre"
|
||||
name="this answer">.
|
||||
|
||||
<sect1>
|
||||
<heading>Strange things happen when I boot the install floppy!</heading>
|
||||
|
||||
<p>If you're seeing things like the machine grinding to a halt or
|
||||
spontaneously rebooting when you try to boot the install floppy,
|
||||
here are three questions to ask yourself:-
|
||||
|
||||
<enum>
|
||||
<item>Did you use a new, freshly-formatted, error-free floppy
|
||||
(preferably a brand-new one straight out of the box, as
|
||||
opposed to the magazine coverdisk that's been lying under
|
||||
the bed for the last three years)?
|
||||
|
||||
<item>Did you download the floppy image in binary (or image) mode?
|
||||
(don't be embarrassed, even the best of us have accidentally
|
||||
downloaded a binary file in ASCII mode at least once!)
|
||||
|
||||
<item>If you're using one of these new-fangled operating systems
|
||||
like Windows95 or Windows NT, did you shut it down and restart
|
||||
the system in plain, honest DOS? It seems these OS's can
|
||||
interfere with programs that write directly to hardware, which
|
||||
the disk creation program does; even running it inside a DOS
|
||||
shell in the GUI can cause this problem.
|
||||
</enum>
|
||||
|
||||
<p>There have also been reports of Netscape causing problems when
|
||||
downloading the boot floppy, so it's probably best to use a different
|
||||
FTP client if you can.
|
||||
|
||||
<sect1>
|
||||
<heading>Help! I can't install from tape!</heading>
|
||||
|
||||
<p>If you are installing 2.1.7R from tape, you must create the tape
|
||||
using a tar blocksize of 10 (5120 bytes). The default tar
|
||||
blocksize is 20 (10240 bytes), and tapes created using this
|
||||
default size cannot be used to install 2.1.7R; with these tapes,
|
||||
you will get an error that complains about the record size being
|
||||
too big.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
Can I install on my laptop over PLIP (Parallel Line IP)?
|
||||
</heading>
|
||||
|
||||
<p>Connect the two computers using a Laplink parallel cable to use
|
||||
this feature:
|
||||
|
||||
<verb>
|
||||
+----------------------------------------+
|
||||
|A-name A-End B-End Descr. Port/Bit |
|
||||
+----------------------------------------+
|
||||
|DATA0 2 15 Data 0/0x01 |
|
||||
|-ERROR 15 2 1/0x08 |
|
||||
+----------------------------------------+
|
||||
|DATA1 3 13 Data 0/0x02 |
|
||||
|+SLCT 13 3 1/0x10 |
|
||||
+----------------------------------------+
|
||||
|DATA2 4 12 Data 0/0x04 |
|
||||
|+PE 12 4 1/0x20 |
|
||||
+----------------------------------------+
|
||||
|DATA3 5 10 Strobe 0/0x08 |
|
||||
|-ACK 10 5 1/0x40 |
|
||||
+----------------------------------------+
|
||||
|DATA4 6 11 Data 0/0x10 |
|
||||
|BUSY 11 6 1/0x80 |
|
||||
+----------------------------------------+
|
||||
|GND 18-25 18-25 GND - |
|
||||
+----------------------------------------+
|
||||
</verb>
|
||||
|
||||
<p>See also <ref id="pao" name="this note"> on the Mobile Computing page.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
Which geometry should I use for a disk drive?<label id="geometry">
|
||||
</heading>
|
||||
|
||||
<p>(By the "geometry" of a disk, we mean the number of cylinders,
|
||||
heads and sectors/track on a disk - I'll refer to this as
|
||||
C/H/S for convenience. This is how the PC's BIOS works out
|
||||
which area on a disk to read/write from).
|
||||
|
||||
<p>This seems to cause a lot of confusion for some reason. First
|
||||
of all, the <tt /physical/ geometry of a SCSI drive is totally
|
||||
irrelevant, as FreeBSD works in term of disk blocks. In fact, there
|
||||
is no such thing as "the" physical geometry, as the sector density
|
||||
varies across the disk - what manufacturers claim is the "true"
|
||||
physical geometry is usually the geometry that they've worked out
|
||||
results in the least wasted space. For IDE disks, FreeBSD does
|
||||
work in terms of C/H/S, but all modern drives will convert this
|
||||
into block references internally as well.
|
||||
|
||||
<p>All that matters is the <tt /logical/ geometry - the answer that the
|
||||
BIOS gets when it asks "what is your geometry?" and then uses to access
|
||||
the disk. As FreeBSD uses the BIOS when booting, it's very important
|
||||
to get this right. In particular, if you have more than one operating
|
||||
system on a disk, they must all agree on the geometry, otherwise you
|
||||
will have serious problems booting!
|
||||
|
||||
<p>For SCSI disks, the geometry to use depends on whether extended
|
||||
translation support is turned on in your controller (this is
|
||||
often referred to as "support for DOS disks >1GB" or something
|
||||
similar). If it's turned off, then use N cylinders, 64 heads
|
||||
and 32 sectors/track, where 'N' is the capacity of the disk in
|
||||
MB. For example, a 2GB disk should pretend to have 2048 cylinders,
|
||||
64 heads and 32 sectors/track.
|
||||
|
||||
<p>If it <tt /is/ turned on (it's often supplied this way to get around
|
||||
certain limitations in MSDOS) and the disk capacity is more than 1GB,
|
||||
use M cylinders, 63 heads (*not* 64), and 255 sectors per track, where
|
||||
'M' is the disk capacity in MB divided by 7.844238 (!). So our
|
||||
example 2GB drive would have 261 cylinders, 63 heads and 255 sectors
|
||||
per track.
|
||||
|
||||
<p>If you are not sure about this, or FreeBSD fails to detect the
|
||||
geometry correctly during installation, the simplest way around
|
||||
this is usually to create a small DOS partition on the disk. The
|
||||
correct geometry should then be detected (and you can always remove
|
||||
the DOS partition in the partition editor if you don't want to keep
|
||||
it, or leave it around for programming network cards and the like).
|
||||
|
||||
<p>Alternatively, there is a freely available utility distributed with
|
||||
FreeBSD called ``<tt/pfdisk.exe/'' (located in the <tt>tools</tt>
|
||||
subdirectory on the FreeBSD CDROM or on the various FreeBSD
|
||||
ftp sites) which can be used to work out what geometry the other
|
||||
operating systems on the disk are using. You can then enter this
|
||||
geometry in the partition editor.
|
||||
|
||||
<sect1>
|
||||
<heading>Any restrictions on how I divide the disk up?</heading>
|
||||
|
||||
<p>Yes. You must make sure that your root partition is below 1024
|
||||
cylinders so the BIOS can boot the kernel from it. (Note that this
|
||||
is a limitation in the PC's BIOS, not FreeBSD).
|
||||
|
||||
<p>For a SCSI drive, this will normally imply that the root partition
|
||||
will be in the first 1024MB (or in the first 4096MB if extended
|
||||
translation is turned on - see previous question). For IDE, the
|
||||
corresponding figure is 504MB.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
What about disk managers? Or, I have a large drive!
|
||||
</heading>
|
||||
|
||||
<p>FreeBSD recognizes the Ontrack Disk Manager and makes allowances
|
||||
for it. Other disk managers are not supported.
|
||||
|
||||
<p>If you just want to use the disk with FreeBSD you don't need a
|
||||
disk manager. Just configure the disk for as much space as the
|
||||
BIOS can deal with (usually 504 megabytes), and FreeBSD
|
||||
should figure out how much space you really have. If you're using
|
||||
an old disk with an MFM controller, you may need to explicitly
|
||||
tell FreeBSD how many cylinders to use.
|
||||
|
||||
<p>If you want to use the disk with FreeBSD and another operating
|
||||
system, you may be able to do without a disk manager: just make sure
|
||||
the the FreeBSD boot partition and the slice for the other
|
||||
operating system are in the first 1024 cylinders. If you're
|
||||
reasonably careful, a 20 megabyte boot partition should be plenty.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
When I boot FreeBSD I get ``Missing Operating System''
|
||||
<label id="missing_os">
|
||||
</heading>
|
||||
|
||||
<p>This is classically a case of FreeBSD and DOS or some other OS
|
||||
conflicting over their ideas of disk <ref id="geometry"
|
||||
name="geometry."> You will have to reinstall FreeBSD, but obeying the
|
||||
instructions given above will almost always get you going.
|
||||
|
||||
<sect1>
|
||||
<heading>I can't get past the boot manager's `F?' prompt.</heading>
|
||||
|
||||
<p>This is another symptom of the problem described in the preceding
|
||||
question. Your BIOS geometry and FreeBSD geometry settings do
|
||||
not agree! If your controller or BIOS supports cylinder
|
||||
translation (often marked as ``>1GB drive support''), try
|
||||
toggling its setting and reinstalling FreeBSD.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
I have >16MB of RAM. Will this cause any problems?<label id="bigram">
|
||||
</heading>
|
||||
|
||||
<p>Apart from performance issues, no. FreeBSD 2.X comes with bounce
|
||||
buffers which allow your bus mastering controller access to greater
|
||||
than 16MB. (Note that this should only be required if you are using
|
||||
ISA devices, although one or two broken EISA and VLB devices may
|
||||
need it as well).
|
||||
|
||||
<p>Also look at the section on <ref id="reallybigram"
|
||||
name=">64M machines"> if you have that much memory,
|
||||
or if you're using a Compaq or other BIOS that lies about
|
||||
the available memory.
|
||||
|
||||
<sect1>
|
||||
<heading>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
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?config"
|
||||
name="config">. 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.)
|
||||
|
||||
<p>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.
|
||||
|
||||
<p>To actually select a subset of the sources, use the Custom
|
||||
menu item when you are in the Distributions menu of the
|
||||
system installation tool. The <tt>src/install.sh</tt> script
|
||||
will also install partial pieces of the source distribution,
|
||||
depending on the arguments you pass it.
|
||||
|
||||
<sect1>
|
||||
<heading>Do I need to build a kernel?</heading>
|
||||
|
||||
<p>Building a new kernel was originally pretty much a required
|
||||
step in a FreeBSD installation, but more recent releases have
|
||||
benefited from the introduction of a much friendlier kernel
|
||||
configuration tool. When at the FreeBSD boot prompt (boot:),
|
||||
use the "-c" flag and you will be dropped into a visual
|
||||
configuration screen which allows you to configure the kernel's
|
||||
settings for most common ISA cards.
|
||||
|
||||
<p>It's still recommended that you eventually build a new
|
||||
kernel containing just the drivers that you need, just to save a
|
||||
bit of RAM, but it's no longer a strict requirement for most
|
||||
systems.
|
||||
|
||||
<sect1>
|
||||
<heading>I live outside the US. Can I use DES encryption?</heading>
|
||||
|
||||
<p>If it is not absolutely imperative that you use DES style
|
||||
encryption, you can use FreeBSD's default encryption for even
|
||||
<bf/better/ security, and with no export restrictions. FreeBSD
|
||||
2.0's password default scrambler is now <bf/MD5/-based, and is
|
||||
more CPU-intensive to crack with an automated password cracker
|
||||
than DES, and allows longer passwords as well. The only reason
|
||||
for not using the <bf/MD5/-based crypt today would be to use the
|
||||
the same password entries on FreeBSD and non-FreeBSD systems.
|
||||
|
||||
<p>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.
|
||||
|
||||
<p>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>
|
||||
|
||||
<p>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.
|
||||
|
||||
<p>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.
|
||||
|
||||
<p>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>.
|
||||
|
||||
<p>There is also a <ref id="mailing" name="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>.
|
||||
|
||||
</sect>
|
||||
|
157
FAQ/kernelconfig.sgml
Normal file
157
FAQ/kernelconfig.sgml
Normal file
|
@ -0,0 +1,157 @@
|
|||
<!-- $Id: kernelconfig.sgml,v 1.1 1997-11-03 08:53:48 max Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect>
|
||||
<heading>Kernel Configuration<label id="kernelconfig"></heading>
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
I'd like to customize my kernel. Is it difficult?
|
||||
<label id="make-kernel">
|
||||
</heading>
|
||||
|
||||
<p>Not at all! First, you need either the complete <tt/srcdist/ or, at
|
||||
the minimum, the <tt/kerndist/ loaded on your system. This provides the
|
||||
necessary sources for building the kernel, as, unlike most commercial
|
||||
UNIX vendors, we have a policy of <bf/NOT/ shipping our kernel code in
|
||||
binary object form.
|
||||
|
||||
<p>Shipping the source takes a bit more space, but it also means
|
||||
that you can refer to the actual kernel sources in case of
|
||||
difficulty or to further your understanding of what's
|
||||
<bf/really/ happening.
|
||||
|
||||
<p>Once you have the <tt/kerndist/ or <tt/srcdist/ loaded, do the
|
||||
following as root:
|
||||
|
||||
<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>
|
||||
|
||||
<p>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.
|
||||
|
||||
<p>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.
|
||||
|
||||
<p>If you don't need to make any changes to <tt/GENERIC/, you can
|
||||
also skip step 3, where you customize the kernel for your
|
||||
configuration. Step 8 should only be undertaken if steps 6 and 7
|
||||
succeed. This will copy the new kernel image to
|
||||
<tt>/kernel</tt> and <bf/BACK UP YOUR OLD ONE IN/
|
||||
<tt>/kernel.old</tt>! It's very important to remember this in
|
||||
case the new kernel fails to work for some reason - you can still
|
||||
select <tt>/kernel.old</tt> at the boot prompt to boot the old
|
||||
one. When you reboot, the new kernel will boot by default.
|
||||
|
||||
<p>If the compile in step 7 falls over for some reason, then it's
|
||||
recommended that you start from step 4 but substitute
|
||||
<tt/GENERIC/ for <tt/MYKERNEL/. If you can generate a
|
||||
<tt/GENERIC/ kernel, then it's likely something in your special
|
||||
configuration file that's bad (or you've uncovered a bug!). If
|
||||
the build of the <tt/GENERIC/ kernel does <bf/NOT/ succeed, then
|
||||
it's very likely that your sources are somehow corrupted.
|
||||
|
||||
<p>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 <htmlurl url="http://www.freebsd.org/cgi/man.cgi?dmesg"
|
||||
name="dmesg"> 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.
|
||||
|
||||
<p><bf/NOTE:/ I recommend making a dated snapshot of your kernel
|
||||
in <tt/kernel.YYMMDD/ after you get it all working, that way if
|
||||
you do something dire the next time you play with your configuration
|
||||
you can boot that kernel instead of having to go all the way back
|
||||
to <tt/kernel.GENERIC/. This is particularly important if you're
|
||||
now booting off a controller that isn't supported in the GENERIC
|
||||
kernel (yes, personal experience).
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
My kernel compiles fail because <tt/_hw_float/ is missing.
|
||||
</heading>
|
||||
|
||||
<p>Let me guess. You removed <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?npx(4)" name="npx0"> from your
|
||||
kernel configuration file because you don't have a math co-processor,
|
||||
right? Wrong! :-) The <tt/npx0/ is <bf/MANDATORY/. Even if you don't
|
||||
have a mathematic co-processor, you <bf/must/ include the <tt/npx0/
|
||||
device.
|
||||
|
||||
<sect1>
|
||||
<heading>Interrupt conflicts with multi-port serial code.</heading>
|
||||
|
||||
<p><bf/Q./ When I compile a kernel with multi-port serial code, it
|
||||
tells me that only the first port is probed and the rest skipped due to
|
||||
interrupt conflicts. How do I fix this?
|
||||
|
||||
<p><bf/A./ The problem here is that FreeBSD has code built-in to keep
|
||||
the kernel from getting trashed due to hardware or software
|
||||
conflicts. The way to fix this is to leave out the IRQ settings
|
||||
on all but one port. Here is a example:
|
||||
|
||||
<verb>
|
||||
#
|
||||
# Multiport high-speed serial line - 16550 UARTS
|
||||
#
|
||||
device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
|
||||
device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
|
||||
device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
|
||||
device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>How do I enable support for QIC-40/80 drives?</heading>
|
||||
|
||||
<p>You need to uncomment the following line in the generic config
|
||||
file (or add it to your config file), add a ``<tt/flags 0x1/''
|
||||
on the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fdc(4)"
|
||||
name="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>
|
||||
|
||||
<p>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>
|
||||
|
||||
<p>for the first device. <tt/ft1/ for a second one and so on.
|
||||
|
||||
<p>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 <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?ft" name="ft">
|
||||
for further details.
|
||||
|
||||
<p>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.
|
||||
|
||||
</sect>
|
||||
|
214
FAQ/misc.sgml
Normal file
214
FAQ/misc.sgml
Normal file
|
@ -0,0 +1,214 @@
|
|||
<!-- $Id: misc.sgml,v 1.1 1997-11-03 08:53:49 max Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect>
|
||||
<heading>Miscellaneous Questions<label id="misc"></heading>
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
FreeBSD uses far more swap space than Linux. Why?
|
||||
</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.
|
||||
|
||||
<p>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>
|
||||
Why use (what are) a.out and ELF executable formats?
|
||||
</heading>
|
||||
|
||||
<p>To understand why FreeBSD uses the <tt>a.out</tt> format, you must
|
||||
first know a little about the 3 currently "dominant" executable
|
||||
formats for UNIX:
|
||||
|
||||
<itemize>
|
||||
<item><htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)"
|
||||
name="a.out">
|
||||
|
||||
<p>The oldest and `classic' unix object format. It uses a
|
||||
short and compact header with a magic number at the beginning
|
||||
that's often used to characterize the format (see
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)"
|
||||
name="a.out(5)"> for more details). It contains three loaded
|
||||
segments: .text, .data, and .bss plus a symbol table and a
|
||||
string table.
|
||||
|
||||
<item><bf>COFF</bf>
|
||||
<p>The SVR3 object format. The header now comprises a section
|
||||
table, so you can have more than just .text, .data, and .bss
|
||||
sections.</item>
|
||||
|
||||
<item><bf>ELF</bf>
|
||||
<p>The successor to <tt/COFF/, featuring Multiple sections
|
||||
and 32-bit or 64-bit possible values. One major drawback:
|
||||
<tt/ELF/ was also designed with the assumption that there
|
||||
would be only one ABI per system architecture. That
|
||||
assumption is actually quite incorrect, and not even in the
|
||||
commercial SYSV world (which has at least three ABIs: SVR4,
|
||||
Solaris, SCO) does it hold true.
|
||||
|
||||
<p>FreeBSD tries to work around this problem somewhat by
|
||||
providing a utility for <em>branding</em> a known <tt/ELF/
|
||||
executable with information about the ABI it's compliant with.
|
||||
See the man page for
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?brandelf"
|
||||
name="brandelf"> for more information.
|
||||
</itemize>
|
||||
|
||||
<p>FreeBSD comes from the "classic" camp and uses the
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)"
|
||||
name="a.out"> format, a technology tried and proven through
|
||||
many generations of BSD releases. Though it has also been possible
|
||||
for some time to build and run native <tt/ELF/ binaries (and
|
||||
kernels) on a FreeBSD system, no official "push" to switch to
|
||||
ELF as the default format has, as yet, been made. Why? Well,
|
||||
when the Linux camp made their painful transition to <tt/ELF/, it
|
||||
was not so much to flee the <tt/a.out/ executable format
|
||||
as it was their inflexible jump-table based shared library
|
||||
mechanism, which made the construction of shared libraries
|
||||
very difficult for vendors and developers alike. Since the <tt/ELF/
|
||||
tools available offered a solution to the shared library
|
||||
problem and were generally seen as "the way forward" anyway, the
|
||||
migration cost was accepted as necessary and the transition
|
||||
made.
|
||||
|
||||
<p>In FreeBSD's case, it's not quite so simple since our shared
|
||||
library mechanism is based more closely on Sun's
|
||||
<tt>SunOS</tt>-style shared library mechanism and, as such, is very
|
||||
easy to use. The only thing we actually lack with <tt/a.out/
|
||||
which <tt/ELF/ would give us is cleaner support for C++ constructors
|
||||
and destructors, among other similarly esoteric things, and it
|
||||
simply hasn't become much of a problem yet (and there is quite
|
||||
a bit of C++ code in FreeBSD's source tree). Should that change,
|
||||
a migration may, at some point, be more seriously contemplated.
|
||||
|
||||
<sect1>
|
||||
<heading>Why won't chmod change the permissions on symlinks?</heading>
|
||||
|
||||
<p>You have to use either ``<tt/-H/'' or ``<tt/-L/'' together with
|
||||
the ``<tt/-R/'' option to make this work. See the <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?chmod" name="chmod"> and
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?symlink" name="symlink">
|
||||
man pages for more info.
|
||||
|
||||
<p><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
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?chmod" name="chmod">
|
||||
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>
|
||||
|
||||
<p>With the trailing slash, <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?chmod" name="chmod"> will
|
||||
follow the symlink, ``<tt/foo/'', to change the permissions of the
|
||||
directory, ``<tt/bar/''.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
Why are login names <bf/still/ resticted to 8 characters
|
||||
</heading>
|
||||
|
||||
<p>You'd think it'd be easy enough to change <bf/UT_NAMESIZE/ and rebuild
|
||||
the whole world, and everything would just work. Unfortunately there's
|
||||
scads of applications and utilities (including system tools) that have
|
||||
hard-coded small numbers (not always "8" or "9", but oddball ones
|
||||
like "15" and "20") in structures and buffers... and it would break
|
||||
Sun's NIS clients and no doubt cause other problems in interacting
|
||||
with other UNIX systems.
|
||||
|
||||
<sect1>
|
||||
<heading>Can I run DOS binaries under FreeBSD?</heading>
|
||||
|
||||
<p>Not yet, though BSDI has just donated their <tt/rundos/ DOS emulation
|
||||
subsystem which we're now working on integrating and enhancing. Send
|
||||
mail to <url url="mailto:emulation@freebsd.org"
|
||||
name="The FreeBSD emulation discussion list"> if you're interested in
|
||||
joining this effort!
|
||||
|
||||
<p>For now, there is a neat utility called
|
||||
<htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^pcemu" name="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).
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
What is ``<tt/sup/'', and how do I use it?
|
||||
</heading>
|
||||
|
||||
<p><htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^sup" name="SUP">
|
||||
stands for Software Update Protocol, and was developed by CMU
|
||||
for keeping their development trees in sync. We used it to keep
|
||||
remote sites in sync with our central development sources.
|
||||
|
||||
<p>SUP is not bandwidth friendly, and has been retired. The current
|
||||
recommended method to keep your sources up to date is
|
||||
<url url="../handbook/cvsup.html" name="Handbook entry on CVSup">
|
||||
|
||||
<sect1>
|
||||
<heading>How cool is FreeBSD?</heading>
|
||||
|
||||
<p>Q. Has anyone done any temperature testing while running FreeBSD?
|
||||
I know Linux runs cooler than dos, but have never seen a mention of
|
||||
FreeBSD. It seems to run really hot.
|
||||
|
||||
<p>A. No, but we have done numerous taste tests on blindfolded
|
||||
volunteers who have also had 250 micrograms of LSD-25
|
||||
administered beforehand. 35% of the volunteers said that FreeBSD
|
||||
tasted sort of orange, whereas Linux tasted like purple haze.
|
||||
Neither group mentioned any particular variances in temperature
|
||||
that I can remember. We eventually had to throw the results of
|
||||
this survey out entirely anyway when we found that too many
|
||||
volunteers were wandering out of the room during the tests, thus
|
||||
skewing the results. I think most of the volunteers are at Apple
|
||||
now, working on their new ``scratch and sniff'' GUI. It's a
|
||||
funny old business we're in!
|
||||
|
||||
<p>Seriously, both FreeBSD and Linux uses the ``<tt/HLT/'' (halt)
|
||||
instruction when the system is idle thus lowering its energy
|
||||
consumption and therefore the heat it generates. Also if you
|
||||
have APM (automatic power management) configured, then FreeBSD
|
||||
can also put the CPU into a low power mode.
|
||||
|
||||
<sect1>
|
||||
<heading>Who's scratching in my memory banks??</heading>
|
||||
|
||||
<p>Q. Is there anything "odd" that FreeBSD does when compiling the
|
||||
kernel which would cause the memory to make a scratchy sound? When
|
||||
compiling (and for a brief moment after recognizing the floppy drive
|
||||
upon startup, as well), a strange scratchy sound emanates from what
|
||||
appears to be the memory banks.
|
||||
|
||||
<p>A. Yes! You'll see frequent references to ``daemons'' in the BSD
|
||||
documentation, and what most people don't know is that this
|
||||
refers to genuine, non-corporeal entities that now possess your
|
||||
computer. The scratchy sound coming from your memory is actually
|
||||
high-pitched whispering exchanged among the daemons as they best
|
||||
decide how to deal with various system administration tasks.
|
||||
|
||||
<p>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!
|
||||
|
||||
</sect>
|
||||
|
723
FAQ/network.sgml
Normal file
723
FAQ/network.sgml
Normal file
|
@ -0,0 +1,723 @@
|
|||
<!-- $Id: network.sgml,v 1.1 1997-11-03 08:53:51 max Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect>
|
||||
<heading>Networking<label id="networking"></heading>
|
||||
|
||||
<sect1>
|
||||
<heading>Where can I get information on ``diskless booting''?</heading>
|
||||
|
||||
<p>``Diskless booting'' means that the FreeBSD box is booted over a
|
||||
network, and reads the necessary files from a server instead of
|
||||
its hard disk. For full details, please read
|
||||
<url url="../handbook/diskless.html"
|
||||
name="the Handbook entry on diskless booting">
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
Can a FreeBSD box be used as a dedicated network router?
|
||||
</heading>
|
||||
|
||||
<p>Internet standards and good engineering practice prohibit us from
|
||||
providing packet forwarding by default in FreeBSD. You can
|
||||
however enable this feature by changing the following variable to
|
||||
<tt/YES/ in <htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc.conf"
|
||||
name="rc.conf">:
|
||||
|
||||
<verb>
|
||||
gateway_enable=YES # Set to YES if this host will be a gateway
|
||||
</verb>
|
||||
|
||||
<p>This option will put the <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?sysctl" name="sysctl"> variable
|
||||
<tt/net.inet.ip.forwarding/ to <tt/1/.
|
||||
|
||||
<p>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
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?routed"
|
||||
name="routed">, 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.
|
||||
|
||||
<p>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>Can I connect my Win95 box to the Internet via FreeBSD?</heading>
|
||||
|
||||
<p>Typically, people who ask this question have two PC's at home, one
|
||||
with FreeBSD and one with Win95; the idea is to use the FreeBSD
|
||||
box to connect to the Internet and then be able to access the
|
||||
Internet from the Windows95 box through the FreeBSD box. This
|
||||
is really just a special case of the previous question.
|
||||
|
||||
<p>There's a useful document available which explains how to set
|
||||
FreeBSD up as a <url url="http://www.ssimicro.com/~jeremyc/ppp.html"
|
||||
name="PPP Dialup Router">
|
||||
|
||||
<p><bf/NOTE:/ This requires having at least two fixed IP addresses
|
||||
available, and possibly three or more, depending on how much
|
||||
work you want to go through to set up the Windows box. As an
|
||||
alternative, if you don't have a fixed IP, you can use one of
|
||||
the private IP subnets and install <bf/proxies/ such as
|
||||
<url url="http://squid.nlanr.net/Squid/" name="SQUID"> and
|
||||
<url url="http://www.tis.com/" name="the TIS firewall toolkit">
|
||||
on your FreeBSD box.
|
||||
|
||||
<p>See also the section on <ref id="direct-at" name="natd">.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
Why does recompiling the latest BIND from ISC fail?
|
||||
</heading>
|
||||
|
||||
<p>There is a conflict between the ``<tt/cdefs.h/'' file in the
|
||||
distribution and the one shipped with FreeBSD. Just remove
|
||||
<tt>compat/include/sys/cdefs.h</tt>.
|
||||
|
||||
<sect1>
|
||||
<heading>Does FreeBSD support SLIP and PPP?</heading>
|
||||
|
||||
<p>Yes. See the man pages for
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?slattach"
|
||||
name="slattach">, <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?sliplogin" name="sliplogin">,
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?pppd" name="pppd"> and
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" name="ppp">.
|
||||
<tt/pppd/ and <tt/ppp/ provide support for both incoming and outgoing
|
||||
connections. <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sliplogin"
|
||||
name="Sliplogin"> deals exclusively with incoming connections and
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?slattach"
|
||||
name="slattach"> deals exclusively with outgoing connections.
|
||||
|
||||
<p>These programs are described in the following sections of the
|
||||
<url url="../handbook/handbook.html" name="handbook">:
|
||||
|
||||
<itemize>
|
||||
<item><url url="../handbook/slips.html"
|
||||
name="Handbook entry on SLIP (server side)">
|
||||
|
||||
<item><url url="../handbook/slipc.html"
|
||||
name="Handbook entry on SLIP (client side)">
|
||||
|
||||
<item><url url="../handbook/ppp.html"
|
||||
name="Handbook entry on PPP (kernel version)">
|
||||
|
||||
<item><url url="../handbook/userppp.html"
|
||||
name="Handbook entry on PPP (user-mode version)">
|
||||
</itemize>
|
||||
|
||||
<p>If you only have access to the Internet through a "shell
|
||||
account", you may want to have a look at the <htmlurl
|
||||
url="http://www.freebsd.org/cgi/ports.cgi?^slirp" name="slirp">
|
||||
package. It can provide you with (limited) access to services
|
||||
such as ftp and http direct from your local machine.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
Does FreeBSD support NAT or Masquerading<label id="natd">
|
||||
</heading>
|
||||
|
||||
<p>If you have a local subnet (one or more local machines), but have
|
||||
been allocated only a single IP number from your Internet provider
|
||||
(or even if you receive a dynamic IP number), you may want to look at
|
||||
the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?natd" name="natd">
|
||||
program. <tt/Natd/ allows you to connect an entire subnet to the
|
||||
internet using only a single IP number.
|
||||
|
||||
<p>The <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp"
|
||||
name="ppp"> program has similar functionality built in via
|
||||
the <tt/-alias/ switch. The <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?libalias" name="alias library">
|
||||
is used in both cases.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
I can't make ppp work. What am I doing wrong ?<label id="userppp">
|
||||
</heading>
|
||||
|
||||
<p>You should first read the <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?ppp" name="ppp man page"> and
|
||||
the <url url="../handbook/userppp.html"
|
||||
name="ppp section of the handbook">. Enable logging with the command
|
||||
|
||||
<verb>
|
||||
set log Phase Chat Connect Carrier lcp ipcp ccp command
|
||||
</verb>
|
||||
|
||||
<p>This command may be typed at the <tt/ppp/ command prompt or
|
||||
it may be entered in the <tt>/etc/ppp/ppp.conf</tt> configuration file
|
||||
(the start of the <bf>default</bf> section is the best place to put it).
|
||||
Make sure that <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?syslog.conf"
|
||||
name="/etc/syslog.conf"> contains the lines
|
||||
|
||||
<verb>
|
||||
!ppp
|
||||
*.* /var/log/ppp.log
|
||||
</verb>
|
||||
|
||||
<p>and that the file <tt>/var/log/ppp.log</tt> exists. You can
|
||||
now find out a lot about what's going on from the log file.
|
||||
Don't worry if it doesn't all make sense. If you need to
|
||||
get help from someone, it may make sense to them.
|
||||
|
||||
<p>If your version of ppp doesn't understand the "set log"
|
||||
command, you should download the
|
||||
<url url="http://www.freebsd.org/~brian" name="latest version">.
|
||||
It will build on FreeBSD version 2.1.5 and higher.
|
||||
|
||||
<sect2>
|
||||
<heading>Ppp won't dial in -auto mode</heading>
|
||||
|
||||
<p>First, check that you've got a default route. By running <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?netstat">
|
||||
name="netstat -rn">, you should see two entries like this:
|
||||
|
||||
<verb>
|
||||
Destination Gateway Flags Refs Use Netif Expire
|
||||
default 10.0.0.2 UGSc 0 0 tun0
|
||||
10.0.0.2 10.0.0.1 UH 0 0 tun0
|
||||
</verb>
|
||||
|
||||
<p>This is assuming that you've used the addresses from the
|
||||
handbook, the man page or from the ppp.conf.sample file.
|
||||
If you haven't got a default route, it may be because you're
|
||||
running an old version of <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?ppp"
|
||||
name="ppp"> that doesn't understand the
|
||||
word <tt/HISADDR/ in the ppp.conf file. If your version of
|
||||
<tt/ppp/ is from before FreeBSD 2.2.5, change the
|
||||
|
||||
<verb>
|
||||
add 0 0 HISADDR
|
||||
</verb>
|
||||
|
||||
<p>line to one saying
|
||||
|
||||
<verb>
|
||||
add 0 0 10.0.0.2
|
||||
</verb>
|
||||
|
||||
<p>Another reason for the default route line being missing is that
|
||||
you have mistakenly set up a default router in your
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc.conf"
|
||||
name="/etc/rc.conf"> file (this file was called
|
||||
<tt>/etc/sysconfig</tt> prior to release 2.2.2), and you have
|
||||
omitted the line saying
|
||||
|
||||
<verb>
|
||||
delete ALL
|
||||
</verb>
|
||||
|
||||
<p>from <tt>ppp.conf</tt>. If this is the case, go back to the
|
||||
<url url="../handbook/userppp:final.html"
|
||||
name="Final system configuration"> section of the handbook.
|
||||
|
||||
<sect2>
|
||||
<heading>What does "No route to host" mean</heading>
|
||||
|
||||
<p>This error is usually due to a missing
|
||||
|
||||
<verb>
|
||||
MYADDR:
|
||||
delete ALL
|
||||
add 0 0 HISADDR
|
||||
</verb>
|
||||
|
||||
<p>section in your <tt>/etc/ppp/ppp.linkup</tt> file. This is
|
||||
only necessary if you have a dynamic IP address or don't know the
|
||||
address of your gateway. If you're using interactive mode, you can
|
||||
type the following after entering <tt/packet mode/ (packet mode is
|
||||
indicated by the capitalized <bf/PPP/ in the prompt):
|
||||
|
||||
<verb>
|
||||
delete ALL
|
||||
add 0 0 HISADDR
|
||||
</verb>
|
||||
|
||||
<p>Refer to the <url url="../handbook/userppp:dynamicIP.html"
|
||||
name="PPP and Dynamic IP addresses"> section of the handbook
|
||||
for further details.
|
||||
|
||||
<sect2>
|
||||
<heading>My connection drops after about 3 minutes</heading>
|
||||
|
||||
<p>The default ppp timeout is 3 minutes. This can be adjusted
|
||||
with the line
|
||||
|
||||
<verb>
|
||||
set timeout NNN
|
||||
</verb>
|
||||
|
||||
<p>where <bf/NNN/ is the number of seconds of inactivity before the
|
||||
connection is closed. If <bf/NNN/ is zero, the connection is
|
||||
never closed due to a timeout. It is possible to put this command in
|
||||
the <tt>ppp.conf</tt> file, or to type it at the prompt in
|
||||
interactive mode. It is also possible to adjust it on the fly while
|
||||
the line is active by connecting to <tt/ppp/s server socket using
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?telnet" name="telnet">
|
||||
or <htmlurl url="http://www.freebsd.org/cgi/man.cgi?pppctl"
|
||||
name="pppctl">. Refer to the
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" name="ppp"> man
|
||||
page for further details.
|
||||
|
||||
<sect2>
|
||||
<heading>My connection drops under heavy load</heading>
|
||||
|
||||
<p>If you have Link Quality Reporting (LQR) configured, it is
|
||||
possible that too many LQR packets are lost between your
|
||||
machine and the peer. Ppp deduces that the line must therefore
|
||||
be bad, and disconnects. Prior to FreeBSD version 2.2.5,
|
||||
LQR was enabled by default. It is now disabled by default.
|
||||
LQR can be disabled with the line
|
||||
|
||||
<verb>
|
||||
disable lqr
|
||||
</verb>
|
||||
|
||||
<sect2>
|
||||
<heading>My connection drops after a random amount of time</heading>
|
||||
|
||||
<p>Sometimes, on a noisy phone line or even on a line with
|
||||
call waiting enabled, your modem may hang up because it
|
||||
thinks (incorrectly) that it lost carrier.
|
||||
|
||||
<p>There's a setting on most modems for determining how tolerant
|
||||
it should be to temporary losses of carrier. On a USR
|
||||
Sportster for example, this is measured by the S10 register in
|
||||
tenths of a second. To make your modem more forgiving, you could
|
||||
add the following send-expect sequence to your dial string:
|
||||
|
||||
<verb>
|
||||
set dial "...... ATS10=10 OK ......"
|
||||
</verb>
|
||||
|
||||
<p>Refer to your modem manual for details.
|
||||
|
||||
<sect2>
|
||||
<heading>Nothing happens after the Login OK! message</heading>
|
||||
|
||||
<p>Prior to FreeBSD version 2.2.5, once the link was established,
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp"
|
||||
name="ppp"> would wait for the peer to initiate the Line Control
|
||||
Protocol (LCP). Many ISPs will not initiate negotiations and
|
||||
expect the client to do so. To force <tt/ppp/ to initiate
|
||||
the LCP, use the following line:
|
||||
|
||||
<verb>
|
||||
set openmode active
|
||||
</verb>
|
||||
|
||||
<p><bf/Note/: It usually does no harm if both sides initiate
|
||||
negotiation, so openmode is now active by default. However,
|
||||
the next section explains when it <bf/does/ do some harm.
|
||||
|
||||
<sect2>
|
||||
<heading>I keep seeing errors about magic being the same</heading>
|
||||
|
||||
<p>Occasionally, just after connecting, you may see messages in
|
||||
the log that say "magic is the same". Sometimes, these
|
||||
messages are harmless, and sometimes one side or the other
|
||||
exits.
|
||||
|
||||
<p>This normally happens on server machines with slow disks that
|
||||
are spawning a getty on the port, and executing ppp from a
|
||||
login script or program after login. The reason is that in
|
||||
the time taken between getty exiting and ppp starting, the
|
||||
client-side ppp starts sending Line Control Protocol (LCP)
|
||||
packets. Because ECHO is still switched on for the port on
|
||||
the server, the client ppp sees these packets "reflect" back.
|
||||
|
||||
<p>One part of the LCP negotiation is to establish a magic number
|
||||
for each side of the link so that "reflections" can be detected.
|
||||
The protocol says that when the peer tries to negotiate
|
||||
the same magic number, a NAK should be sent and a new magic
|
||||
number should be chosen. During the period that the server
|
||||
port has ECHO turned on, the client ppp sends LCP packets,
|
||||
sees the same magic in the reflected packet and NAKs it. It
|
||||
also sees the NAK reflect (which also means ppp must change
|
||||
its magic). This produces a potentially enormous number of
|
||||
magic number changes, all of which are happily piling into
|
||||
the server's tty buffer. As soon as ppp starts on the server,
|
||||
it's flooded with magic number changes and almost immediately
|
||||
decides it's tried enough to negotiate LCP and gives up.
|
||||
Meanwhile, the client, who no longer sees the reflections,
|
||||
becomes happy just in time to see a hangup from the server.
|
||||
|
||||
<p>The only way to circumvent this is to put the following line
|
||||
in your ppp.conf file:
|
||||
|
||||
<verb>
|
||||
set openmode passive
|
||||
</verb>
|
||||
|
||||
<p>This tells ppp to wait for the server to initiate LCP negotiations.
|
||||
Some servers may never initiate negotiations. If this is the case,
|
||||
please report it as a bug (using send-pr). Ppp will need to be
|
||||
adjusted so that the user can configure a variable delay before
|
||||
initiating LCP negotiations.
|
||||
|
||||
<sect2>
|
||||
<heading>Ppp locks up shortly after connecting</heading>
|
||||
|
||||
<p>Prior to version 2.2.5 of FreeBSD, it was possible that your
|
||||
link was disabled shortly after connection due to <tt/ppp/
|
||||
mis-handling Predictor1 compression negotiation. This would
|
||||
only happen if both sides tried to negotiate different
|
||||
Compression Control Protocols (CCP). This problem is now
|
||||
corrected, but if you're still running an old version of
|
||||
<tt/ppp/, the problem can be circumvented with the line
|
||||
|
||||
<verb>
|
||||
disable pred1
|
||||
</verb>
|
||||
|
||||
<sect2>
|
||||
<heading>Ppp locks up when I shell out to test it</heading>
|
||||
|
||||
<p>When you execute the <tt/shell/ or <tt/!/ command, <tt/ppp/
|
||||
executes a shell (or if you've passed any arguements, <tt/ppp/
|
||||
will execute those arguements). Ppp will wait for the command
|
||||
to complete before continuing. If you attempt to use the
|
||||
ppp link while running the command, the link will appear to have
|
||||
frozen. This is because <tt/ppp/ is waiting for the command
|
||||
to complete.
|
||||
|
||||
<p>If you wish to execute commands like this, use the
|
||||
<tt/!bg/ command instead. This will execute the given command
|
||||
in the background, and ppp can continue to service the link.
|
||||
|
||||
<sect2>
|
||||
<heading>Ppp over a null-modem cable never exits</heading>
|
||||
|
||||
<p>There is no way for <tt/ppp/ to automatically determine that
|
||||
a direct connection has been dropped. This is due to the
|
||||
lines that are used in a null-modem serial cable. When using
|
||||
this sort of connection, LQR should always be enabled with
|
||||
the line
|
||||
|
||||
<verb>
|
||||
enable lqr
|
||||
</verb>
|
||||
|
||||
<p>LQR is accepted by default if negotiated by the peer.
|
||||
|
||||
<sect2>
|
||||
<heading>Why does ppp dial for no reason in -auto mode</heading>
|
||||
|
||||
<p>If <tt/ppp/ is dialing unexpectedly, you must determine the
|
||||
cause, and set up Dial filters (dfilters) to prevent such dialing.
|
||||
|
||||
<p>To determine the cause, use the following line:
|
||||
|
||||
<verb>
|
||||
set log +tcp/ip
|
||||
</verb>
|
||||
|
||||
<p>This will log all traffic through the connection. The next
|
||||
time the line comes up unexpectedly, you will see the reason
|
||||
logged with a convenient timestamp next to it.
|
||||
|
||||
<p>You can now disable dialing under these circumstances. Usually,
|
||||
this sort of problem arises due to DNS lookups. To prevent
|
||||
DNS lookups from establishing a connection (this will <bf/not/
|
||||
prevent <tt/ppp/ from passing the packets through an established
|
||||
connection), use the following:
|
||||
|
||||
<verb>
|
||||
set dfilter 1 deny udp src eq 53
|
||||
set dfilter 2 deny udp dst eq 53
|
||||
set dfilter 3 permit 0/0 0/0
|
||||
</verb>
|
||||
|
||||
<p>This is not always suitable, as it will effectively break your
|
||||
demand-dial capabilities - most programs will need a DNS lookup
|
||||
before doing any other network related things.
|
||||
|
||||
<p>In the DNS case, you should try to determine what is actually
|
||||
trying to resolve a host name. A lot of the time,
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?sendmail"
|
||||
name="sendmail"> is the culprit. You should make sure that you tell
|
||||
sendmail not to do any DNS lookups in its configuration file. See
|
||||
the section on <ref id="ispmail" name="Mail Configuration"> for
|
||||
further details.
|
||||
|
||||
<sect2>
|
||||
<heading>What do these CCP errors mean</heading>
|
||||
|
||||
<p>I keep seeing the following errors in my log file:
|
||||
|
||||
<verb>
|
||||
CCP: CcpSendConfigReq
|
||||
CCP: Received Terminate Ack (1) state = Req-Sent (6)
|
||||
</verb>
|
||||
|
||||
<p>This is because ppp is trying to negotiate Predictor1
|
||||
compression, and the peer does not want to negotiate any
|
||||
compression at all. The messages are harmless, but if you
|
||||
wish to remove them, you can disable Predictor1 compression
|
||||
locally too:
|
||||
|
||||
<verb>
|
||||
disable pred1
|
||||
</verb>
|
||||
|
||||
<sect2>
|
||||
<heading>Ppp locks up during file transfers with IO errors</heading>
|
||||
|
||||
<p>Under FreeBSD 2.2.2 and before, there was a bug in the tun
|
||||
driver that prevents incoming packets of a size larger than
|
||||
the tun interface's MTU size. Receipt of a packet greater than
|
||||
the MTU size results in an IO error being logged via syslogd.
|
||||
|
||||
<p>The ppp specification says that an MRU of 1500 should
|
||||
<bf>always</bf> be accepted as a minimum, despite any LCP
|
||||
negotiations, therefore it is possible that should you decrease
|
||||
the MTU to less than 1500, your ISP will transmit packets of
|
||||
1500 regardless, and you will tickle this non-feature - locking
|
||||
up your link.
|
||||
|
||||
<p>The problem can be circumvented by never setting an MTU of
|
||||
less than 1500 under FreeBSD 2.2.2 or before.
|
||||
|
||||
<sect2>
|
||||
<heading>Why doesn't ppp log my connection speed?</heading>
|
||||
|
||||
<p>In order to log all lines of your modem ``conversation'',
|
||||
you must enable the following:
|
||||
|
||||
<verb>
|
||||
set log +connect
|
||||
</verb>
|
||||
|
||||
<p>This will make
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" name="ppp">
|
||||
log everything up until the last requested "expect" string.
|
||||
|
||||
<p>If you wish to see your connect speed and are using PAP or CHAP
|
||||
(and therefore don't have anything to "chat" after the CONNECT
|
||||
in the dial script - no "set login" script), you must make sure that
|
||||
you instruct ppp to "expect" the whole CONNECT line, something like
|
||||
this:
|
||||
|
||||
<verb>
|
||||
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"
|
||||
</verb>
|
||||
|
||||
<p>Here, we get our CONNECT, send nothing, then expect a line-feed,
|
||||
forcing <bf/ppp/ to read the whole CONNECT response.
|
||||
|
||||
<sect2>
|
||||
<heading>None of this helps - I'm desperate !</heading>
|
||||
|
||||
<p>If all else fails, send as much information as you can,
|
||||
including your config files, how you're starting <tt/ppp/,
|
||||
the relevent parts of your log file and the output of the
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?netstat"
|
||||
name="netstat -rn"> command (before and after connecting) to the
|
||||
<url url="mailto:freebsd-questions@FreeBSD.org"
|
||||
name="freebsd-questions@FreeBSD.org"> mailing list or the
|
||||
<url url="news:comp.unix.bsd.freebsd.misc"
|
||||
name="comp.unix.bsd.freebsd.misc"> news group, and someone
|
||||
should point you in the right direction.
|
||||
|
||||
<sect1>
|
||||
<heading>I can't create a <tt>/dev/ed0</tt> device!</heading>
|
||||
|
||||
<p>In the Berkeley networking framework, network interfaces are only
|
||||
directly accessible by kernel code. Please see the
|
||||
<tt>/etc/rc.network</tt> file and the manual pages for the various
|
||||
network programs mentioned there for more information. If this
|
||||
leaves you totally confused, then you should pick up a book
|
||||
describing network administration on another BSD-related
|
||||
operating system; with few significant exceptions, administering
|
||||
networking on FreeBSD is basically the same as on SunOS 4.0 or
|
||||
Ultrix.
|
||||
|
||||
<sect1>
|
||||
<heading>How can I setup Ethernet aliases?</heading>
|
||||
|
||||
<p>Add ``<tt/netmask 0xffffffff/'' to your <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?ifconfig" name="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
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ifconfig"
|
||||
name="ifconfig"> command line. The
|
||||
default port is ``<tt/link0/''. To use the AUI port instead of
|
||||
the BNC one, use ``<tt/link2/''. These flags should be specified
|
||||
using the ifconfig_* variables in <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?rc.conf" name="/etc/rc.conf">.
|
||||
|
||||
<sect1>
|
||||
<heading>I'm having problems with NFS to/from FreeBSD.</heading>
|
||||
|
||||
<p>Certain PC network cards are better than others (to put it
|
||||
mildly) and can sometimes cause problems with network intensive
|
||||
applications like NFS.
|
||||
|
||||
<p>See <url url="../handbook/nfs.html" name="the Handbook entry on NFS">
|
||||
for more information on this topic.
|
||||
|
||||
<sect1>
|
||||
<heading>Why can't I NFS-mount from a Linux box?</heading>
|
||||
|
||||
<p>Some versions of the Linux NFS code only accept mount requests
|
||||
from a privileged port; try
|
||||
|
||||
<verb>
|
||||
mount -o -P linuxbox:/blah /mnt
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>Why can't I NFS-mount from a Sun box?</heading>
|
||||
|
||||
<p>Sun workstations running SunOS 4.X only accept mount requests
|
||||
from a privileged port; try
|
||||
|
||||
<verb>
|
||||
mount -o -P sunbox:/blah /mnt
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>I'm having problems talking PPP to NeXTStep machines.</heading>
|
||||
|
||||
<p>Try disabling the TCP extensions in <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?rc.conf" name="/etc/rc.conf"> by
|
||||
changing the following variable to NO:
|
||||
|
||||
<verb>
|
||||
tcp_extensions=NO
|
||||
</verb>
|
||||
|
||||
<p>Xylogic's Annex boxes are also broken in this regard and you must
|
||||
use the above change to connect thru them.
|
||||
|
||||
<sect1>
|
||||
<heading>How do I enable IP multicast support?</heading>
|
||||
|
||||
<p>Multicast host operations are fully supported in FreeBSD 2.0 and
|
||||
above 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/.
|
||||
|
||||
<p>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>
|
||||
<heading>Which network cards are based on the DEC PCI chipset?</heading>
|
||||
|
||||
<p>Here is a list compiled by <url url="mailto:gfoster@driver.nsta.org"
|
||||
name="Glen Foster">:
|
||||
|
||||
<verb>
|
||||
Vendor Model
|
||||
----------------------------------------------
|
||||
ASUS PCI-L101-TB
|
||||
Accton ENI1203
|
||||
Cogent EM960PCI
|
||||
Compex ENET32-PCI
|
||||
D-Link DE-530
|
||||
DEC DE435
|
||||
Danpex EN-9400P3
|
||||
JCIS Condor JC1260
|
||||
Linksys EtherPCI
|
||||
Mylex LNP101
|
||||
SMC EtherPower 10/100 (Model 9332)
|
||||
SMC EtherPower (Model 8432)
|
||||
TopWare TE-3500P
|
||||
Zynx ZX342
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>Why do I have to use the FQDN for hosts on my site?</heading>
|
||||
|
||||
<p>You will probably find that the host is actually in a different
|
||||
domain; for example, if you are in foo.bar.edu and you wish to reach
|
||||
a host called ``mumble'' in the bar.edu domain, you will have to
|
||||
refer to it by the fully-qualified domain name, ``mumble.bar.edu'',
|
||||
instead of just ``mumble''.
|
||||
|
||||
<p>Traditionally, this was allowed by BSD BIND resolvers. However
|
||||
the current version of <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?named" name="bind"> that ships
|
||||
with FreeBSD no longer provides default abbreviations for non-fully
|
||||
qualified domain names other than the domain you are in.
|
||||
So an unqualified host <tt>mumble</tt> must either be found
|
||||
as <tt>mumble.foo.bar.edu</tt>, or it will be searched for
|
||||
in the root domain.
|
||||
|
||||
<p>This is different from the previous behavior, where the
|
||||
search continued across <tt>mumble.bar.edu</tt>, and
|
||||
<tt>mumble.edu</tt>. Have a look at RFC 1535 for why this
|
||||
was considered bad practice, or even a security hole.
|
||||
|
||||
<p>As a good workaround, you can place the line
|
||||
|
||||
<verb>
|
||||
search foo.bar.edu bar.edu
|
||||
</verb>
|
||||
|
||||
<p>instead of the previous
|
||||
|
||||
<verb>
|
||||
domain foo.bar.edu
|
||||
</verb>
|
||||
|
||||
<p>into your <htmlurl url="http://www.freebsd.org/cgi/man.cgi?resolv.conf"
|
||||
name="/etc/resolv.conf"> file. However, make sure that the search order
|
||||
does not go beyond the ``boundary between local and public
|
||||
administration'', as RFC 1535 calls it.
|
||||
|
||||
<sect1>
|
||||
<heading>``Permission denied'' for all networking operations.</heading>
|
||||
|
||||
<p>If you have compiled your kernel with the <tt/IPFIREWALL/
|
||||
option, you need to be aware that the default policy as of
|
||||
2.1.7R (this actually changed during 2.1-STABLE development)
|
||||
is to deny all packets that are not explicitly allowed.
|
||||
|
||||
<p>If you had unintentionally misconfigured your system for
|
||||
firewalling, you can restore network operability by typing
|
||||
the following while logged in as root:
|
||||
|
||||
<verb>
|
||||
ipfw add 65534 allow all from any to any
|
||||
</verb>
|
||||
|
||||
<p>For further information on configuring a FreeBSD firewall,
|
||||
see the <url url="../handbook/firewalls.html" name="Handbook section">.
|
||||
|
||||
</sect>
|
||||
|
497
FAQ/preface.sgml
Normal file
497
FAQ/preface.sgml
Normal file
|
@ -0,0 +1,497 @@
|
|||
<!-- $Id: preface.sgml,v 1.1 1997-11-03 08:53:54 max Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect>
|
||||
<heading>Preface<label id="preface"></heading>
|
||||
|
||||
<p>Welcome to the FreeBSD 2.X FAQ!
|
||||
|
||||
<sect1>
|
||||
<heading>What is the purpose of this FAQ?</heading>
|
||||
|
||||
<p>As is usual with Usenet FAQs, this document aims to cover the most
|
||||
frequently asked questions concerning the FreeBSD operating system
|
||||
(and of course answer them!). Although originally intended to reduce
|
||||
bandwidth and avoid the same old questions being asked over and over
|
||||
again, FAQs have become recognized as valuable information resources.
|
||||
|
||||
<p>Every effort has been made to make this FAQ as informative as
|
||||
possible; if you have any suggestions as to how it may be improved,
|
||||
please feel free to mail them to the <url url="mailto:pds@FreeBSD.ORG"
|
||||
name="FAQ maintainer">.
|
||||
|
||||
<sect1>
|
||||
<heading>What is FreeBSD?</heading>
|
||||
|
||||
<p>Briefly, FreeBSD 2.X is a UN*X-like operating system based on
|
||||
U.C. Berkeley's 4.4BSD-lite release for the i386 platform. It is
|
||||
also based indirectly on William Jolitz's port of U.C. Berkeley's
|
||||
Net/2 to the i386, known as 386BSD, though very little of the 386BSD
|
||||
code remains. A fuller description of what FreeBSD is and how
|
||||
it can work for you may be found on the <url url="http://www.freebsd.org"
|
||||
name="FreeBSD home page">.
|
||||
|
||||
<p>FreeBSD is used by companies, Internet Service Providers, researchers,
|
||||
computer professionals, students and home users all over the world
|
||||
in their work, education and recreation. See some of them in the
|
||||
<url url="http://www.freebsd.org/gallery.html" name="FreeBSD Gallery.">
|
||||
|
||||
<p>For more detailed information on FreeBSD, please see the
|
||||
<url url="../handbook/handbook.html" name="FreeBSD Handbook.">
|
||||
|
||||
<sect1>
|
||||
<heading>What are the goals of FreeBSD?</heading>
|
||||
|
||||
<p>The goals of the FreeBSD Project are to provide software that may
|
||||
be used for any purpose and without strings attached. Many of us
|
||||
have a significant investment in the code (and project) and would
|
||||
certainly not mind a little financial renumeration now and then,
|
||||
but we're definitely not prepared to insist on it. We believe
|
||||
that our first and foremost "mission" is to provide code to any
|
||||
and all comers, and for whatever purpose, so that the code gets
|
||||
the widest possible use and provides the widest possible benefit.
|
||||
This is, we believe, one of the most fundamental goals of Free
|
||||
Software and one that we enthusiastically support.
|
||||
|
||||
<p>That code in our source tree which falls under the GNU Public License
|
||||
(GPL) or GNU Library Public License (GLPL) comes with slightly more
|
||||
strings attached, though at least on the side of enforced
|
||||
access rather than the usual opposite. Due to the additional
|
||||
complexities that can evolve in the commercial use of GPL software,
|
||||
we do, however, endeavor to replace such software with submissions
|
||||
under the more relaxed BSD copyright whenever possible.
|
||||
|
||||
<sect1>
|
||||
<heading>Why is it called FreeBSD?</heading>
|
||||
|
||||
<p>
|
||||
<itemize>
|
||||
<item>It may be used free of charge, even by commercial users.
|
||||
|
||||
<item>Full source for the operating system is freely available, and
|
||||
the minimum possible restrictions have been placed upon its
|
||||
use, distribution and incorporation into other work (commercial
|
||||
or non-commercial).
|
||||
|
||||
<item>Anyone who has an improvement and/or bug fix is free to submit
|
||||
their code and have it added to the source tree (subject to
|
||||
one or two obvious provisos).
|
||||
</itemize>
|
||||
|
||||
<p>For those of our readers whose first language is not English, it
|
||||
may be worth pointing out that the word ``free'' is being used in two
|
||||
ways here, one meaning ``at no cost'', the other meaning ``you can do
|
||||
whatever you like''. Apart from one or two things you <tt /cannot/
|
||||
do with the FreeBSD code, for example pretending you wrote it, you
|
||||
really can do whatever you like with it.
|
||||
|
||||
<sect1>
|
||||
<heading>What is the latest version of FreeBSD?</heading>
|
||||
|
||||
<p>Version <url url="ftp://ftp.freebsd.org/pub/FreeBSD/2.2.5-RELEASE"
|
||||
name="2.2.5"> is the latest <em>stable</em> version; it was released
|
||||
in October, 1997. This is also the latest <em>release</em> version.
|
||||
|
||||
<p>Briefly explained, <bf>-stable</bf> is aimed at the ISP or other
|
||||
corporate user who wants stability and a low change count over
|
||||
the wizzy new features of the latest release. At the moment, these
|
||||
versions are one and the same, but it shouldn't be long before the
|
||||
<bf>-current</bf> branch is polished enough for general release.
|
||||
|
||||
<p>This is not to say that a 3.0-current snapshot is unusable for
|
||||
business services, and many people who need some 3.0 specific feature
|
||||
(newer compiler technology, faster networking code, etc) have decided
|
||||
to take a chance with it with very good results. We simply do not
|
||||
wish to "certify" 3.0 as mission-worthy until it's been better
|
||||
shaken-out.
|
||||
|
||||
<sect1>
|
||||
<heading>What is FreeBSD-current?<label id="current"></heading>
|
||||
|
||||
<p><url url="../handbook/current.html" name="FreeBSD-current"> is the
|
||||
development version of the operating system, which will in due
|
||||
course become 3.0-RELEASE. As such, it is really only of interest
|
||||
to developers working on the system and die-hard hobbyists.
|
||||
See the <url url="../handbook/current.html" name="relevant section">
|
||||
in the <url url="../handbook/handbook.html" name="handbook"> for
|
||||
details on running -current.
|
||||
|
||||
<p>If you are not familiar with the operating system or are not
|
||||
capable of identifying the difference between a real problem and
|
||||
a temporary problem, you should not use FreeBSD-current. This
|
||||
branch sometimes evolves quite quickly and can be un-buildable
|
||||
for a number of days at a time. People that use FreeBSD-current
|
||||
are expected to be able to analyze any problems and only report them
|
||||
if they are deemed to be mistakes rather than ``glitches''. Questions
|
||||
such as ``make world produces some error about groups'' on the
|
||||
-current mailing list are sometimes treated with contempt.
|
||||
|
||||
<p>Every now and again, a <url url="../releases/snapshots.html"
|
||||
name="snapshot"> release is also made of this -current development
|
||||
code, CDROM distributions of the occasional snapshot even now being
|
||||
made available. The goals behind each snapshot release are:
|
||||
|
||||
<itemize>
|
||||
<item>To test the latest version of the installation software.
|
||||
|
||||
<item>To give people who would like to run -current but who don't
|
||||
have the time and/or bandwidth to follow it on a day-to-day
|
||||
basis an easy way of bootstrapping it onto their systems.
|
||||
|
||||
<item>To preserve a fixed reference point for the code in question,
|
||||
just in case we break something really badly later. (Although
|
||||
CVS normally prevents anything horrible like this happening :)
|
||||
|
||||
<item>To ensure that any new features in need of testing have the
|
||||
greatest possible number of potential testers.
|
||||
</itemize>
|
||||
|
||||
<p>No claims are made that any snapshot can be considered
|
||||
``production quality'' for any purpose. For stability
|
||||
and tested mettle, you will have to stick to full releases.
|
||||
|
||||
<p>Snapshot releases are directly available from <url
|
||||
url="ftp://current.freebsd.org/pub/FreeBSD/"> and are generated,
|
||||
on the average, once a day for both the 3.0-current and 2.2-stable
|
||||
branches.
|
||||
|
||||
<sect1>
|
||||
<heading>What is the FreeBSD-stable concept?</heading>
|
||||
|
||||
<p>Back when FreeBSD 2.0.5 was released, we decided to branch FreeBSD
|
||||
development into two parts. One branch was named <url
|
||||
url="../handbook/stable.html" name="-stable">, with the
|
||||
intention that only well-tested bug fixes and small incremental
|
||||
enhancements would be made to it (for Internet Service Providers
|
||||
and other commercial enterprises for whom sudden shifts or
|
||||
experimental features are quite undesirable). The other branch was
|
||||
<url url="../handbook/current.html" name="-current">, which
|
||||
essentially has been one unbroken line leading towards 3.0-RELEASE
|
||||
(and beyond) since 2.0 was released. If a little ASCII art would
|
||||
help, this is how it looks:
|
||||
|
||||
<verb>
|
||||
2.0
|
||||
|
|
||||
|
|
||||
| [2.1-stable]
|
||||
*BRANCH* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [2.1-stable ends]
|
||||
| (Mar 1997)
|
||||
|
|
||||
|
|
||||
| [2.2-stable]
|
||||
*BRANCH* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5-RELEASE -> ...
|
||||
| (Mar 1997) (Oct 1997)
|
||||
|
|
||||
|
|
||||
3.0-SNAPs (started Q1 1997)
|
||||
|
|
||||
|
|
||||
3.0.0-RELEASE (Q1 1998)
|
||||
|
|
||||
\|/
|
||||
+
|
||||
[future 3.x releases]
|
||||
</verb>
|
||||
|
||||
<p>The -current branch is slowly progressing towards 3.0 and beyond,
|
||||
whereas the previous 2.1-stable branch was superceded by the
|
||||
release of 2.2.0, the new "stability branch" aka 2.2-stable.
|
||||
3.0-current will continue to be where the active development takes
|
||||
place, up until the actual release of 3.0. At that point, 3.0 will
|
||||
become yet another branch and 3.1-current will become the next
|
||||
"current branch".
|
||||
|
||||
<sect1>
|
||||
<heading>Why did the 2.1-stable branch end with 2.1.7.1?</heading>
|
||||
|
||||
<p>While we'd certainly like to be able to continue 3 branches of
|
||||
development, we've found that the version control tools available to
|
||||
us are not particularly well-suited for this; in fact, they quickly
|
||||
result in a maintenance nightmare for any branch which lives much
|
||||
beyond 2-3 months. The 2.1-stable branch has, by contrast, lasted for
|
||||
well over a year and what little sanity the FreeBSD developers have
|
||||
left would be in serious jeopardy if we continued in this way.
|
||||
Perhaps in the future we'll figure out another model which gives
|
||||
everyone what they want, and we are working on such a model, but in
|
||||
the meantime it's probably best to think of the old -stable coming
|
||||
to an end with <url
|
||||
url="ftp://ftp.freebsd.org/pub/FreeBSD/pub/2.1.7.1-RELEASE"
|
||||
name="2.1.7.1-RELEASE"> (the final point release after 2.1.7), and
|
||||
the new -stable beginning with 2.2.2.
|
||||
|
||||
<sect1>
|
||||
<heading>When are FreeBSD releases made?</heading>
|
||||
|
||||
<p>As a general principle, the FreeBSD core team only release a new
|
||||
version of FreeBSD when they believe that there are sufficient new
|
||||
features and/or bug fixes to justify one, and are satisfied that the
|
||||
changes made have settled down sufficiently to avoid compromising the
|
||||
stability of the release. Many users regard this caution as one of
|
||||
the best things about FreeBSD, although it can be a little
|
||||
frustrating when waiting for all the latest goodies to become
|
||||
available...
|
||||
|
||||
<p>Releases are made about every 6 months on average.
|
||||
|
||||
<p>For people needing (or wanting) a little more excitement, there are
|
||||
SNAPs released more frequently, particularly during the month or so
|
||||
leading up to a release.
|
||||
|
||||
<sect1>
|
||||
<heading>Is FreeBSD only available for PCs ?</heading>
|
||||
|
||||
<p>At present, yes, though a port to the DEC Alpha architecture
|
||||
is under way. If your machine has a different architecture and
|
||||
you need something right now, we suggest you look at
|
||||
<url url="http://www.netbsd.org/" name="NetBSD"> or
|
||||
<url url="http://www.openbsd.org/" name="OpenBSD">.
|
||||
|
||||
<sect1>
|
||||
<heading> Who is responsible for FreeBSD?</heading>
|
||||
|
||||
<p>The key decisions concerning the FreeBSD project, such as the
|
||||
overall direction of the project and who is allowed to add code to
|
||||
the source tree, are made by a <url url="../handbook/staff:core.html"
|
||||
name="core team"> of some 17 people. There is a much larger team of
|
||||
around 80+ <url url="../handbook/staff:committers.html"
|
||||
name="committers"> who are authorized to make changes directly to the
|
||||
FreeBSD source tree.
|
||||
|
||||
<p>However, most non-trivial changes are discussed in advance in the
|
||||
<ref id="mailing" name="mailing lists">, and there are no restrictions
|
||||
on who may take part in the discussion.
|
||||
|
||||
<sect1>
|
||||
<heading>Where can I get FreeBSD?<label id="where-get"></heading>
|
||||
|
||||
<p>Every significant release of FreeBSD is available via anonymous ftp
|
||||
from the <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/"
|
||||
name="FreeBSD FTP site">:
|
||||
|
||||
<itemize>
|
||||
<item>For the current 2.2-stable release, 2.2.5R see the
|
||||
<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.2.5-RELEASE/"
|
||||
name="2.2.5-RELEASE"> directory.
|
||||
|
||||
<item>For the current 3.0-current release, 3.0-SNAP, see the
|
||||
<url url="ftp://current.freebsd.org/pub/FreeBSD/" name="3.0"> directory.
|
||||
|
||||
<item><url url="ftp://releng22.freebsd.org/pub/FreeBSD/"
|
||||
name="2.2 Snapshot"> releases are made once a day along the
|
||||
RELENG_2_2 branch (2.2.5 -> 2.2.x) as it winds its way towards the
|
||||
next point release on the 2.2 branch. With the occasional
|
||||
exception of accidental breakage, the RELENG_2_2 branch is
|
||||
being carefully maintained (no experimental changes, fixes made
|
||||
only after testing in -current).
|
||||
|
||||
<item><url url="ftp://current.freebsd.org/pub/FreeBSD/"
|
||||
name="3.0 Snapshot">releases are also made once a day for the
|
||||
<ref id="current" name="-current"> branch, these being of service
|
||||
purely to bleeding-edge testers and developers.
|
||||
</itemize>
|
||||
|
||||
<p>FreeBSD is also available via CDROM, from the following place(s):
|
||||
|
||||
<p>Walnut Creek CDROM<newline>
|
||||
4041 Pike Lane, Suite D-386<newline>
|
||||
Concord, CA 94520 USA<newline>
|
||||
Orders: +1 800 786-9907<newline>
|
||||
Questions: +1 510 674-0783<newline>
|
||||
FAX: +1 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>
|
||||
|
||||
<p>In Australia, you may find it at:
|
||||
|
||||
<p>Advanced Multimedia Distributors<newline>
|
||||
Factory 1/1 Ovata Drive<newline>
|
||||
Tullamarine, Melbourne<newline>
|
||||
Victoria<newline>
|
||||
Australia<newline>
|
||||
Voice: +61 3 9338 6777<newline>
|
||||
|
||||
CDROM Support BBS<newline>
|
||||
17 Irvine St<newline>
|
||||
Peppermint Grove WA 6011<newline>
|
||||
Voice: +61 9 385-3793<newline>
|
||||
Fax: +61 9 385-2360<newline>
|
||||
|
||||
And in the UK:
|
||||
|
||||
The Public Domain & Shareware Library<newline>
|
||||
Winscombe House, Beacon Rd<newline>
|
||||
Crowborough<newline>
|
||||
Sussex. TN6 1UL<newline>
|
||||
Voice: +44 1892 663-298<newline>
|
||||
Fax: +44 1892 667-473<newline>
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
Where do I find info on the FreeBSD mailing lists?<label id="mailing">
|
||||
</heading>
|
||||
|
||||
<p>You can find full information in the <url
|
||||
url="../handbook/eresources:mail.html"
|
||||
name="Handbook entry on mailing-lists.">
|
||||
|
||||
<sect1>
|
||||
<heading>What FreeBSD news groups are available?</heading>
|
||||
|
||||
<p>You can find full information in the<url
|
||||
url="../handbook/eresources:news.html"
|
||||
name="Handbook entry on newsgroups.">
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
Are there FreeBSD IRC (Internet Relay Chat) channels?
|
||||
</heading>
|
||||
|
||||
<p>There are two channels about FreeBSD on IRC:
|
||||
|
||||
<enum>
|
||||
<item>The main channel is #FreeBSD on the EFNET. You can
|
||||
use your regular IRC server for it.
|
||||
|
||||
<item>You can point your IRC client to <tt/irc.FreeBSD.org/
|
||||
This server is on BSDnet and hosts #FreeBSD. This
|
||||
is not the same channel.
|
||||
</enum>
|
||||
|
||||
<sect1>
|
||||
<heading>Books on FreeBSD</heading>
|
||||
|
||||
<p>Greg Lehey's book ``Installing and Running FreeBSD'' is available
|
||||
from Walnut Creek and ships with the 2.2.5 CDROM. There is also
|
||||
a larger book entitled ``The Complete FreeBSD'', which comes with
|
||||
additional printed manpages and includes the 2.2.5 CDROM set. It
|
||||
should be available in most good book shops now.
|
||||
|
||||
<p>There is a FreeBSD Documentation Project which you may contact (or
|
||||
even better, join) on the <tt>doc</tt> mailing list:
|
||||
<url url="mailto:doc@FreeBSD.ORG" name="<doc@FreeBSD.ORG>">.
|
||||
|
||||
<p>A FreeBSD ``handbook'' is available, and can be found as:
|
||||
<url url="../handbook/handbook.html" name="the FreeBSD Handbook">.
|
||||
Note that this is a work in progress, and so parts may be incomplete.
|
||||
|
||||
<p>However, as FreeBSD 2.2.X is based upon Berkeley 4.4BSD-Lite2, most
|
||||
of the 4.4BSD manuals are applicable to FreeBSD 2.2.X. O'Reilly
|
||||
and Associates publishes these manuals:
|
||||
|
||||
<itemize>
|
||||
<item>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>
|
||||
|
||||
<item>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>
|
||||
|
||||
<item>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>
|
||||
|
||||
<item>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>
|
||||
|
||||
<item>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>
|
||||
</itemize>
|
||||
|
||||
<p>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">
|
||||
|
||||
<p>For a more in-depth look at the 4.4BSD kernel organization,
|
||||
you can't go wrong with:
|
||||
|
||||
<p>McKusick, Marshall Kirk, Keith Bostic, Michael J Karels,
|
||||
and John Quarterman.<newline>
|
||||
|
||||
<p><em>The Design and Implementation of the 4.4BSD Operating
|
||||
System</em>. Reading, Mass. : Addison-Wesley, 1996.<newline>
|
||||
ISBN 0-201-54979-4<newline>
|
||||
|
||||
<p>A good book on system administration is:
|
||||
|
||||
<p>Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein,<newline>
|
||||
``Unix System Administration Handbook'', Prentice-Hall, 1995<newline>
|
||||
ISBN: 0-13-151051-7<newline>
|
||||
|
||||
<p><bf/NOTE/ make sure you get the second edition, with a red cover,
|
||||
instead of the first edition.
|
||||
|
||||
<p>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.2.5R CDROM (and the
|
||||
FreeBSD CDROM often has newer versions).
|
||||
|
||||
<sect1>
|
||||
<heading>How do I access your Problem Report database?</heading>
|
||||
|
||||
<p>The Problem Report database of all open user change requests
|
||||
may be queried (or submitted to) by using our web-based PR
|
||||
<url url="http://www.freebsd.org/send-pr.html" name="submission">
|
||||
and <url url="http://www.freebsd.org/cgi-bin/query-pr-summary.cgi"
|
||||
name="query"> interfaces. The <em>send-pr(1)</em> command
|
||||
can also be used to submit problem reports and change requests via
|
||||
electronic mail.
|
||||
|
||||
<sect1>
|
||||
<heading>Other sources of information.</heading>
|
||||
|
||||
<p>The following newsgroups contain pertinent discussion for FreeBSD
|
||||
users:
|
||||
|
||||
<itemize>
|
||||
<item><url url="news:comp.unix.bsd.freebsd.announce"
|
||||
name="comp.unix.bsd.freebsd.announce"> (moderated)
|
||||
|
||||
<item><url url="news:comp.unix.bsd.freebsd.misc"
|
||||
name="comp.unix.bsd.freebsd.misc">
|
||||
|
||||
<item><url url="comp.unix.bsd.misc" name="comp.unix.bsd.misc">
|
||||
</itemize>
|
||||
|
||||
<p>Web resources:
|
||||
|
||||
<itemize>
|
||||
<item>The <url url="http://www.freebsd.org/" name="FreeBSD Home Page">.
|
||||
|
||||
<item><label id="pao">If you have a laptop, be sure and see
|
||||
<url url="http://www.jp.FreeBSD.org/PAO/"
|
||||
name="Tatsumi Hosokawa's Mobile Computing page"> in Japan.
|
||||
|
||||
<item><label id="smp">For information on SMP (Symmetric
|
||||
MultiProcessing), please see the <url
|
||||
url="http://www.freebsd.org/~fsmp/SMP/SMP.html"
|
||||
name="SMP support page">.
|
||||
|
||||
<item><label id="multimedia">For information on FreeBSD multimedia
|
||||
applications, please see the <url
|
||||
url="http://www.freebsd.org/~faulkner/multimedia/mm.html"
|
||||
name="multimedia">page. If you're interested specifically in
|
||||
the <url url="http://www.freebsd.org/~ahasty/Bt848.html"
|
||||
name="Bt848"> video capture chip, then follow that link.
|
||||
</itemize>
|
||||
|
||||
<p>The FreeBSD handbook also has a fairly complete
|
||||
<url url="../handbook/bibliography.html" name="bibliography">
|
||||
section which is worth reading if you're looking for actual
|
||||
books to buy.
|
||||
|
||||
</sect>
|
||||
|
526
FAQ/serial.sgml
Normal file
526
FAQ/serial.sgml
Normal file
|
@ -0,0 +1,526 @@
|
|||
<!-- $Id: serial.sgml,v 1.1 1997-11-03 08:53:57 max Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect>
|
||||
<heading>Serial Communications<label id="serial"></heading>
|
||||
|
||||
<p>This section answers common questions about serial communications
|
||||
with FreeBSD. PPP and SLIP are covered in the <ref id="networking"
|
||||
name="Networking"> section.
|
||||
|
||||
<sect1>
|
||||
<heading>How do I tell if FreeBSD found my serial ports?</heading>
|
||||
|
||||
<p>As the FreeBSD kernel boots, it will probe for the serial ports
|
||||
in your system for which the kernel was configured. You can
|
||||
either watch your system closely for the messages it prints or
|
||||
run the command
|
||||
|
||||
<verb>
|
||||
dmesg | grep sio
|
||||
</verb>
|
||||
|
||||
<p>after your system's up and running.
|
||||
|
||||
<p>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>
|
||||
|
||||
<p>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.
|
||||
|
||||
<p>The <tt/GENERIC/ kernel includes support for two serial ports
|
||||
using the same irq and port address settings in the above
|
||||
example. If these settings aren't right for your system, or if
|
||||
you've added modem cards or have more serial ports than your
|
||||
kernel is configured for, just reconfigure your kernel. See
|
||||
section <ref id="make-kernel" name="about building a kernel"> for
|
||||
more details.
|
||||
|
||||
<sect1>
|
||||
<heading>How do I tell if FreeBSD found my modem cards?</heading>
|
||||
|
||||
<p>Refer to the answer to the previous question.
|
||||
|
||||
<sect1>
|
||||
<heading>I just upgraded to 2.0.5 and my <tt/tty0X/ are missing!</heading>
|
||||
|
||||
<p>Don't worry, they have been merged with the <tt/ttydX/ devices.
|
||||
You'll have to change any old configuration files you have, though.
|
||||
|
||||
<sect1>
|
||||
<heading>How do I access the serial ports on FreeBSD?</heading>
|
||||
|
||||
<p>The third serial port, <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?sio" name="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?
|
||||
|
||||
<p>You use <tt/ttydX/ for dial-ins. When opening <tt>/dev/ttydX</tt>
|
||||
in blocking mode, a process will wait for the corresponding
|
||||
<tt/cuaaX/ device to become inactive, and then wait
|
||||
for the carrier detect line to go active. When you open the
|
||||
<tt/cuaaX/ device, it makes sure the serial port isn't already in
|
||||
use by the <tt/ttydX/ device. If the port's available, it
|
||||
``steals'' it from the <tt/ttydX/ device. Also, the <tt/cuaXX/
|
||||
device doesn't care about carrier detect. With this scheme and
|
||||
an auto-answer modem, you can have remote users log in and you
|
||||
can still dialout with the same modem and the system will take
|
||||
care of all the conflicts.
|
||||
|
||||
<sect1>
|
||||
<heading>How do I enable support for a multiport serial card?</heading>
|
||||
|
||||
<p>Again, the section on kernel configuration provides information
|
||||
about configuring your kernel. For a multiport serial card,
|
||||
place an <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sio"
|
||||
name="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.
|
||||
|
||||
<p>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>
|
||||
|
||||
<p>The flags indicate that the master port has minor number 7
|
||||
(<tt/0x700/), diagnostics enabled during probe (<tt/0x080/), and
|
||||
all the ports share an irq (<tt/0x001/).
|
||||
|
||||
<sect1>
|
||||
<heading>Can FreeBSD handle multiport serial cards sharing irqs?</heading>
|
||||
|
||||
<p>Not yet. You'll have to use a different irq for each card.
|
||||
|
||||
<sect1>
|
||||
<heading>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>
|
||||
|
||||
<p>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>
|
||||
|
||||
<p>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.
|
||||
|
||||
<p>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>
|
||||
|
||||
<p>Now, an application that opens <tt/ttyd5/ and tries to change the
|
||||
speed of the port will be stuck with 57600 bps.
|
||||
|
||||
<p>Naturally, you should make the initial state and lock state
|
||||
devices writable only by <tt/root/. The <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?MAKEDEV"
|
||||
name="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.
|
||||
|
||||
<p>For many Hayes command-set--compatible modems, this command will
|
||||
make these settings and store them in nonvolatile memory:
|
||||
|
||||
<verb>
|
||||
AT &C1 &D3 &K3 &Q6 S0=1 &W
|
||||
</verb>
|
||||
|
||||
<p>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.
|
||||
|
||||
<p>Next, make an entry in <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys"> 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>
|
||||
|
||||
<p>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
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?gettytab"
|
||||
name="/etc/gettytab">). 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.
|
||||
|
||||
<p>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 <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?su" name="su">'' to
|
||||
<tt/root/. If you use ``secure'' then <tt/root/ can login in
|
||||
directly.
|
||||
|
||||
<p>After making modifications to <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys">, you
|
||||
need to send a hangup or <tt/HUP/ signal to the <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?init" name="init"> process:
|
||||
|
||||
<verb>
|
||||
kill -HUP 1
|
||||
</verb>
|
||||
|
||||
<p>This forces the init process to reread <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys">. 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>
|
||||
|
||||
<p>You should see something like:
|
||||
|
||||
<verb>
|
||||
747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>How can I connect a dumb terminal to my FreeBSD box?</heading>
|
||||
|
||||
<p>If you're using another computer as a terminal into your FreeBSD
|
||||
system, get a null modem cable to go between the two serial
|
||||
ports. If you're using an actual terminal, see its accompanying
|
||||
instructions.
|
||||
|
||||
<p>Then, modify <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ttys"
|
||||
name="/etc/ttys">, 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>
|
||||
|
||||
<p>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 <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?gettytab"
|
||||
name="/etc/gettytab">) 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 <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> and <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?cu" name="cu"> are probably
|
||||
executable only by <htmlurl url="http://www.freebsd.org/cgi/man.cgi?uucp"
|
||||
name="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.
|
||||
|
||||
<p>Alternatively, you can let everyone on your system run <tt/tip/
|
||||
and <tt/cu/ by typing:
|
||||
|
||||
<verb>
|
||||
# chmod 4511 /usr/bin/cu
|
||||
# chmod 4511 /usr/bin/tip
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>My stock Hayes modem isn't supported---what can I do?</heading>
|
||||
|
||||
<p>Actually, the man page for <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> is out of
|
||||
date. There is a generic Hayes dialer already built in. Just use
|
||||
``<tt/at=hayes/'' in your <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?remote" name="/etc/remote"> file.
|
||||
|
||||
<p>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 <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> (using
|
||||
<tt/ATX0&W/).
|
||||
|
||||
<p>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/.
|
||||
|
||||
<p>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.
|
||||
|
||||
<p>Edit the line ``<tt/#define HAYES 0/'' to ``<tt/#define HAYES
|
||||
1/''. Then ``<tt/make/'' and ``<tt/make install/''. Everything
|
||||
works nicely after that.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
How am I expected to enter these AT commands?<label id="direct-at">
|
||||
</heading>
|
||||
|
||||
<p>Make what's called a ``<tt/direct/'' entry in your
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?remote"
|
||||
name="/etc/remote"> 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>
|
||||
|
||||
<p>Use the highest bps rate your modem supports in the br
|
||||
capability. Then, type <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip cuaa0"> and
|
||||
you'll be connected to your modem.
|
||||
|
||||
<p>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>
|
||||
|
||||
<p>with line being the serial port (e.g.<tt>/dev/cuaa0</tt>)
|
||||
and speed being the speed (e.g.<tt>57600</tt>). When you are done
|
||||
entering the AT commands hit <tt>~.</tt> to exit.
|
||||
|
||||
<sect1>
|
||||
<heading>The <tt/@/ sign for the pn capability doesn't work!</heading>
|
||||
|
||||
<p>The <tt/@/ sign in the phone number capability tells tip to look in
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?phones(5)"
|
||||
name="/etc/phones"> for a phone number. But the <tt/@/ sign is
|
||||
also a special character in capability files like
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?remote"
|
||||
name="/etc/remote">. 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
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?remote"
|
||||
name="/etc/remote"> 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>
|
||||
|
||||
<p>Then you can things like ``<tt/tip -115200 5551234/''. If you
|
||||
prefer <htmlurl url="http://www.freebsd.org/cgi/man.cgi?cu"
|
||||
name="cu"> over <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?tip" name="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>
|
||||
|
||||
<p>and type ``<tt/cu 5551234 -s 115200/''.
|
||||
|
||||
<sect1>
|
||||
<heading>Do I have to type in the bps rate every time I do that?</heading>
|
||||
|
||||
<p>Put in an entry for <tt/tip1200/ or <tt/cu1200/, but go ahead and
|
||||
use whatever bps rate is appropriate with the br capability. <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> thinks a good
|
||||
default is 1200 bps which is why it looks for a ``<tt/tip1200/'' entry.
|
||||
You don't have to use 1200 bps, though.
|
||||
|
||||
<sect1>
|
||||
<heading>I access a number of hosts through a terminal server.</heading>
|
||||
|
||||
<p>Rather than waiting until you're connected and typing
|
||||
``<tt/CONNECT <host>/'' each time, use tip's <tt/cm/
|
||||
capability. For example, these entries in
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?remote"
|
||||
name="/etc/remote">:
|
||||
|
||||
<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>
|
||||
|
||||
<p>will let you type ``<tt/tip pain/'' or ``<tt/tip muffin/'' to
|
||||
connect to the hosts pain or muffin; and ``<tt/tip deep13/'' to
|
||||
get to the terminal server.
|
||||
|
||||
<sect1>
|
||||
<heading>Can tip try more than one line for each site?</heading>
|
||||
|
||||
<p>This is often a problem where a university has several modem lines
|
||||
and several thousand students trying to use them...
|
||||
|
||||
<p>Make an entry for your university in <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?remote" name="/etc/remote">
|
||||
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>
|
||||
|
||||
<p>Then, list the phone numbers for the university in
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?phones"
|
||||
name="/etc/phones">:
|
||||
|
||||
<verb>
|
||||
big-university 5551111
|
||||
big-university 5551112
|
||||
big-university 5551113
|
||||
big-university 5551114
|
||||
</verb>
|
||||
|
||||
<p><htmlurl url="http://www.freebsd.org/cgi/man.cgi?tip"
|
||||
name="tip"> will try each one in the listed order, then give up. If
|
||||
you want to keep retrying, run <tt/tip/ in a while loop.
|
||||
|
||||
<sect1>
|
||||
<heading>Why do I have to hit CTRL+P twice to send CTRL+P once?</heading>
|
||||
|
||||
<p>CTRL+P is the default ``force'' character, used to tell
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?tip" name="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.''
|
||||
|
||||
<p>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.
|
||||
|
||||
<p>You can have the force character be whatever you want by
|
||||
specifying the following in your <tt>$HOME/.tiprc</tt>
|
||||
file:
|
||||
|
||||
<verb>
|
||||
force=<single-char>
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>Suddenly everything I type is in UPPER CASE??</heading>
|
||||
|
||||
<p>You must've pressed CTRL+A, <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> ``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.
|
||||
|
||||
<p>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>
|
||||
|
||||
<p>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 <htmlurl url="http://www.freebsd.org/cgi/man.cgi?cat"
|
||||
name="cat"> and <htmlurl url="http://www.freebsd.org/cgi/man.cgi?echo"
|
||||
name="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>
|
||||
|
||||
<p>There's no error checking, so you probably should use another
|
||||
protocol, like zmodem.
|
||||
|
||||
<sect1>
|
||||
<heading>How can I run zmodem with <tt/tip/?</heading>
|
||||
|
||||
<p>First, install one of the zmodem programs from the ports
|
||||
collection (such as one of the two from the comms category,
|
||||
<htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^lrzsz" name="lrzsz">
|
||||
and <htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^rzsz"
|
||||
name="rzsz">).
|
||||
|
||||
<p>To receive files, start the sending program on the remote end.
|
||||
Then, press enter and type ``<tt/~C rz/'' (or ``<tt/~C lrz/'' if
|
||||
you installed lrzsz) to begin receiving them locally.
|
||||
|
||||
<p>To send files, start the receiving program on the remote end.
|
||||
Then, press enter and type ``<tt/~C sz <files>/'' (or
|
||||
``<tt/~C lsz <files>/'') to send them to the
|
||||
remote system.
|
||||
|
||||
</sect>
|
||||
|
398
FAQ/troubleshoot.sgml
Normal file
398
FAQ/troubleshoot.sgml
Normal file
|
@ -0,0 +1,398 @@
|
|||
<!-- $Id: troubleshoot.sgml,v 1.1 1997-11-03 08:53:59 max Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect>
|
||||
<heading>Troubleshooting<label id="troubleshoot"></heading>
|
||||
|
||||
<sect1>
|
||||
<heading>I have bad blocks on my hard drive!<label id="awre"></heading>
|
||||
|
||||
<p>With SCSI drives, the drive should be capable of re-mapping
|
||||
these automatically. However, many drives are shipped with
|
||||
this feature disabled, for some mysterious reason...
|
||||
|
||||
<p>To enable this, you'll need to edit the first device page mode,
|
||||
which can be done on FreeBSD by giving the command (as root)
|
||||
|
||||
<verb>
|
||||
scsi -f /dev/rsd0c -m 1 -e -P 3
|
||||
</verb>
|
||||
|
||||
<p>and changing the values of AWRE and ARRE from 0 to 1:-
|
||||
|
||||
<verb>
|
||||
AWRE (Auto Write Reallocation Enbld): 1
|
||||
ARRE (Auto Read Reallocation Enbld): 1
|
||||
</verb>
|
||||
|
||||
<p>For other drive types, you are dependent on support from the
|
||||
operating system. Unfortunately, the ``bad144'' command that
|
||||
FreeBSD supplies for this purpose needs a considerable amount
|
||||
of work done on it. In other words, it doesn't work. If you're
|
||||
lucky, you can create a file that contains the bad blocks and
|
||||
stuff it away with a name like ".BADBLOCKS". This is how I got
|
||||
386BSD Patchkit 24 completed. <tt/NOTE/: don't do this unless
|
||||
your time is effectively free.
|
||||
|
||||
<p>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>FreeBSD does not recognize my Bustek 742a EISA SCSI!</heading>
|
||||
|
||||
<p>This info is specific to the 742a but may also cover other
|
||||
Buslogic cards. (Bustek = Buslogic)
|
||||
|
||||
<p>There are 2 general ``versions'' of the 742a card. They are
|
||||
hardware revisions A-G, and revisions H - onwards. The revision
|
||||
letter is located after the Assembly number on the edge of the
|
||||
card. The 742a has 2 ROM chips on it, one is the BIOS chip and
|
||||
the other is the Firmware chip. FreeBSD doesn't care what
|
||||
version of BIOS chip you have but it does care about what version
|
||||
of firmware chip. Buslogic will send upgrade ROMS out if you
|
||||
call their tech support dept. The BIOS and Firmware chips are
|
||||
shipped as a matched pair. You must have the most current
|
||||
Firmware ROM in your adapter card for your hardware revision.
|
||||
|
||||
<p>The REV A-G cards can only accept BIOS/Firmware sets up to
|
||||
2.41/2.21. The REV H- up cards can accept the most current
|
||||
BIOS/Firmware sets of 4.70/3.37. The difference between the
|
||||
firmware sets is that the 3.37 firmware supports ``round robin''
|
||||
|
||||
<p>The Buslogic cards also have a serial number on them. If you
|
||||
have a old hardware revision card you can call the Buslogic RMA
|
||||
department and give them the serial number and attempt to
|
||||
exchange the card for a newer hardware revision. If the card is
|
||||
young enough they will do so.
|
||||
|
||||
<p>FreeBSD 2.1 only supports Firmware revisions 2.21 onward. If you
|
||||
have a Firmware revision older than this your card will not be
|
||||
recognized as a Buslogic card. It may be recognized as an
|
||||
Adaptec 1540, however. The early Buslogic firmware contains an
|
||||
AHA1540 ``emulation'' mode. This is not a good thing for an EISA
|
||||
card, however.
|
||||
|
||||
<p>If you have an old hardware revision card and you obtain the 2.21
|
||||
firmware for it, you will need to check the position of jumper W1
|
||||
to B-C, the default is A-B.
|
||||
|
||||
<p>The 742a EISA cards never had the ``>16MB'' problem mentioned in
|
||||
the section <ref id="bigram" name="on >16 MB machines">. This is a
|
||||
problem that occurs with the Vesa-Local Buslogic SCSI cards.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
My HP Netserver's SCSI controller is not detected!
|
||||
</heading>
|
||||
|
||||
<p>This is basically a known problem. The EISA on-board SCSI controller
|
||||
in the HP Netserver machines occupies EISA slot number 11, so all
|
||||
the ``true'' EISA slots are in front of it. Alas, the address space
|
||||
for EISA slots >= 10 collides with the address space assigned to PCI,
|
||||
and FreeBSD's auto-configuration currently cannot handle this
|
||||
situation very well.
|
||||
|
||||
<p>So now, the best you can do is to pretend there is no address
|
||||
range clash :), by bumping the kernel option <tt/EISA_SLOTS/
|
||||
to a value of 12.
|
||||
Configure and compile a kernel, as described in the
|
||||
<url url="http://www.freebsd.org/handbook/kernelconfig.html"
|
||||
name="Handbook entry on configuring the kernel">.
|
||||
|
||||
<p>Of course, this does present you with a chicken-and-egg problem when
|
||||
installing on such a machine. In order to work around this
|
||||
problem, a special hack is available inside <em>UserConfig</em>.
|
||||
Do not use the ``visual'' interface, but the plain command-line
|
||||
interface there. Simply type
|
||||
|
||||
<verb>
|
||||
eisa 12
|
||||
quit
|
||||
</verb>
|
||||
|
||||
<p>at the prompt, and install your system as usual. While it's
|
||||
recommended you compile and install a custom kernel anyway,
|
||||
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?dset" name="dset">
|
||||
now also understands to save this value.
|
||||
|
||||
<p>Hopefully, future versions will have a proper fix for this problem.
|
||||
|
||||
<p><tt/NOTE:/ You can not use a <bf/dangerously dedicated/ disk with
|
||||
an HP Netserver. See <ref id="dedicate" name="this note"> for
|
||||
more info.
|
||||
|
||||
<sect1>
|
||||
<heading>What's up with this CMD640 IDE controller?</heading>
|
||||
|
||||
<p>It's broken. It cannot handle commands on both channels
|
||||
simultaneously.
|
||||
|
||||
<p>There's a workaround available now and it is enabled automatically
|
||||
if your system uses this chip. For the details refer to the
|
||||
manual page of the disk driver (man 4 wd).
|
||||
|
||||
<p>If you're already running FreeBSD 2.2.1 or 2.2.2 with a
|
||||
CMD640 IDE controller and you want to use the second channel,
|
||||
build a new kernel with <tt/options "CMD640"/ enabled. This
|
||||
is the default for 2.2.5 and later.
|
||||
|
||||
<sect1>
|
||||
<heading>I keep seeing messages like ``<tt/ed1: timeout/''.</heading>
|
||||
|
||||
<p>This is usually caused by an interrupt conflict (e.g., two boards
|
||||
using the same IRQ). FreeBSD prior to 2.0.5R used to be tolerant
|
||||
of this, and the network driver would still function in the
|
||||
presence of IRQ conflicts. However, with 2.0.5R and later, IRQ
|
||||
conflicts are no longer tolerated. Boot with the -c option and
|
||||
change the ed0/de0/... entry to match your board.
|
||||
|
||||
<p>If you're using the BNC connector on your network card, you may
|
||||
also see device timeouts because of bad termination. To check this,
|
||||
attach a terminator directly to the NIC (with no cabel) and see if
|
||||
the error messages go away.
|
||||
|
||||
<sect1>
|
||||
<heading>When I mount a CDROM, I get ``Incorrect super block''.</heading>
|
||||
|
||||
<p>You have to tell
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount" name="mount">
|
||||
the type of the device that you want to mount. By default,
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount" name="mount">
|
||||
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 <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount"
|
||||
name="mount">. This does, of course, assume that the
|
||||
CDROM contains an ISO 9660 filesystem, which is what most CDROMs
|
||||
have. As of 1.1R, FreeBSD automatically understands the Rock Ridge
|
||||
(long filename) extensions as well.
|
||||
|
||||
<p>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>
|
||||
|
||||
<p>Note that your device name (``<tt>/dev/cd0c</tt>'' in this
|
||||
example) could be different, depending on the CDROM interface.
|
||||
Note that the ``<tt/-t cd9660/'' option just causes the
|
||||
``<tt/mount_cd9660/'' command to be executed, and so the
|
||||
above example could be shortened to:
|
||||
|
||||
<verb>
|
||||
mount_cd9660 /dev/cd0c /mnt
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>When I mount a CDROM, I get ``Device not configured''.</heading>
|
||||
|
||||
<p>This generally means that there is no CDROM in the CDROM drive,
|
||||
or the drive is not visible on the bus. Feed the drive
|
||||
something, and/or check its master/slave status if it is
|
||||
IDE (ATAPI). It can take a couple of seconds for a CDROM drive
|
||||
to notice that it's been fed, so be patient.
|
||||
|
||||
<p>Sometimes a SCSI CD-ROM may be missed because it hadn't enough time
|
||||
to answer the bus reset. In you have a SCSI CD-ROM please try to
|
||||
add the following symbol into your kernel configuration file
|
||||
and recompile.
|
||||
|
||||
<verb>
|
||||
options "SCSI_DELAY=15"
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>My printer is ridiculously slow. What can I do ?</heading>
|
||||
|
||||
<p>If it's parallel, and the only problem is that it's terribly
|
||||
slow, try setting your printer port into ``polled'' mode:
|
||||
|
||||
<verb>
|
||||
lptcontrol -p
|
||||
</verb>
|
||||
|
||||
<p>Some newer HP printers are claimed not to work correctly in
|
||||
interrupt mode, apparently due to some (not yet exactly
|
||||
understood) timing problem.
|
||||
|
||||
<sect1>
|
||||
<heading>My programs occasionally die with ``Signal 11'' errors.</heading>
|
||||
|
||||
<p>This can be caused by bad hardware (memory, motherboard, etc.).
|
||||
Try running a memory-testing program on your PC. Note that, even
|
||||
though every memory testing program you try will report your
|
||||
memory as being fine, it's possible for slightly marginal memory
|
||||
to pass all memory tests, yet fail under operating conditions
|
||||
(such as during bus mastering DMA from a SCSI controller like the
|
||||
Adaptec 1542, when you're beating on memory by compiling a kernel,
|
||||
or just when the system's running particularly hot).
|
||||
|
||||
<p>The SIG11 FAQ (listed below) points up slow memory as being the
|
||||
most common problem. Increase the number of wait states in your
|
||||
BIOS setup, or get faster memory.
|
||||
|
||||
<p>For me the guilty party has been bad cache RAM or a bad on-board
|
||||
cache controller. Try disabling the on-board (secondary) cache in
|
||||
the BIOS setup and see if that solves the problem.
|
||||
|
||||
<p>There's an extensive FAQ on this at
|
||||
<url url="http://www.bitwizard.nl/sig11/" name="the SIG11 problem FAQ">
|
||||
|
||||
<sect1>
|
||||
<heading>When I boot, the screen goes black and loses sync!</heading>
|
||||
|
||||
<p>This is a known problem with the ATI Mach 64 video card.
|
||||
The problem is that this card uses address <tt/2e8/, and
|
||||
the fourth serial port does too. Due to a bug (feature?) in the
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?sio" name="sio.c">
|
||||
driver it will touch this port even if you don't have the
|
||||
fourth serial port, and <bf/even/ if you disable sio3 (the fourth
|
||||
port) which normally uses this address.
|
||||
|
||||
<p>Until the bug has been fixed, you can use this workaround:
|
||||
|
||||
<enum>
|
||||
<item>Enter <tt/-c/ at the bootprompt. (This will put the kernel
|
||||
into configuration mode).
|
||||
|
||||
<item>Disable <tt/sio0/, <tt/sio1/, <tt/sio2/ and <tt/sio3/
|
||||
(all of them). This way the sio driver doesn't get activated
|
||||
-> no problems.
|
||||
|
||||
<item>Type exit to continue booting.
|
||||
</enum>
|
||||
|
||||
<p>If you want to be able to use your serial ports,
|
||||
you'll have to build a new kernel with the following
|
||||
modification: in <tt>/usr/src/sys/i386/isa/sio.c</tt> find the
|
||||
one occurrence of the string <tt/0x2e8/ and remove that string
|
||||
and the preceding comma (keep the trailing comma). Now follow
|
||||
the normal procedure of building a new kernel.
|
||||
|
||||
<p>Even after applying these workarounds, you may still find that
|
||||
X Window does not work properly. Some newer ATI Mach 64 video
|
||||
cards (notably ATI Mach Xpression) do not run with the current
|
||||
version of <tt/XFree86/; the screen goes black when you start
|
||||
X Window, or it works with strange problems. You can get
|
||||
a beta-version of a new X-server that works better, by looking at
|
||||
<url url="http://www.xfree86.org" name="the XFree86 site">
|
||||
and following the links to the new beta release. Get the
|
||||
following files:
|
||||
|
||||
<p><tt>AccelCards, BetaReport, Cards, Devices, FILES, README.ati,
|
||||
README.FreeBSD, README.Mach64, RELNOTES, VGADriver.Doc,
|
||||
X312BMa64.tgz</tt>
|
||||
|
||||
<p>Replace the older files with the new versions and make sure you
|
||||
run <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=xf86config"
|
||||
name="xf86config"> again.
|
||||
|
||||
<sect1>
|
||||
<heading>
|
||||
I have 128 MB of RAM but the system only uses 64 MB.
|
||||
<label id="reallybigram">
|
||||
</heading>
|
||||
|
||||
<p>Due to the manner in which FreeBSD gets the memory size from the
|
||||
BIOS, it can only detect 16 bits worth of Kbytes in size (65535
|
||||
Kbytes = 64MB). If you have more than 64MB, FreeBSD will only see
|
||||
the first 64MB (or less... some BIOSes peg the memory size to 16M).
|
||||
|
||||
<p>To work around this problem, you need to use the
|
||||
kernel option specified below. There is a way to get complete
|
||||
memory information from the BIOS, but we don't have room in the
|
||||
bootblocks to do it. Someday when lack of room in the bootblocks
|
||||
is fixed, we'll use the extended BIOS functions to get the full
|
||||
memory information...but for now we're stuck with the kernel
|
||||
option.
|
||||
|
||||
<tt>
|
||||
options "MAXMEM=<n>"
|
||||
</tt>
|
||||
|
||||
<p>Where <tt/n/ is your memory in Kilobytes. For a 128 MB machine,
|
||||
you'd want to use <tt/131072/.
|
||||
|
||||
<sect1>
|
||||
<heading>FreeBSD 2.0 panics with ``kmem_map too small!''</heading>
|
||||
|
||||
<p><tt /Note/ The message may also be ``mb_map too small!''
|
||||
|
||||
<p>The panic indicates that the system ran out of virtual memory for
|
||||
network buffers (specifically, mbuf clusters). You can increase
|
||||
the amount of VM available for mbuf clusters by adding:
|
||||
|
||||
<p><tt>options "NMBCLUSTERS=<n>"</tt>
|
||||
|
||||
<p>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
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?netstat"
|
||||
name="netstat -m">.
|
||||
|
||||
<sect1>
|
||||
<heading>``CMAP busy panic'' when rebooting with a new kernel.</heading>
|
||||
|
||||
<p>The logic that attempts to detect an out of data
|
||||
<tt>/var/db/kvm_*.db</tt> files sometimes fails and using a
|
||||
mismatched file can sometimes lead to panics.
|
||||
|
||||
<p>If this happens, reboot single-user and do:
|
||||
|
||||
<verb>
|
||||
rm /var/db/kvm_*.db
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>ahc0: brkadrint, Illegal Host Access at seqaddr 0x0</heading>
|
||||
|
||||
<p>This is a conflict with an Ultrastor SCSI Host Adapter.
|
||||
|
||||
<p>During the boot process enter the kernel configuration menu and
|
||||
disable <htmlurl url="http://www.freebsd.org/cgi/man.cgi?uha(4)"
|
||||
name="uha0">, which is causing the problem.
|
||||
|
||||
<sect1>
|
||||
<heading>Sendmail says ``mail loops back to myself''</heading>
|
||||
|
||||
<p>This is answered in the sendmail FAQ as follows:-
|
||||
|
||||
<verb>
|
||||
* I'm getting "Local configuration error" messages, such as:
|
||||
|
||||
553 relay.domain.net config error: mail loops back to myself
|
||||
554 <user@domain.net>... Local configuration error
|
||||
|
||||
How can I solve this problem?
|
||||
|
||||
You have asked mail to the domain (e.g., domain.net) to be
|
||||
forwarded to a specific host (in this case, relay.domain.net)
|
||||
by using an MX record, but the relay machine doesn't recognize
|
||||
itself as domain.net. Add domain.net to /etc/sendmail.cw
|
||||
(if you are using FEATURE(use_cw_file)) or add "Cw domain.net"
|
||||
to /etc/sendmail.cf.
|
||||
</verb>
|
||||
|
||||
<p>The current version of the <url
|
||||
url="ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq"
|
||||
name="sendmail FAQ"> is no longer maintained with the sendmail
|
||||
release. It is however regularly posted to
|
||||
<url url="news:comp.mail.sendmail" name="comp.mail.sendmail">,
|
||||
<url url="news:comp.mail.misc" name="comp.mail.misc">,
|
||||
<url url="news:comp.mail.smail" name="comp.mail.smail">,
|
||||
<url url="news:comp.answers" name="comp.answers">, and
|
||||
<url url="news:news.answers" name="news.answers">.
|
||||
You can also receive a copy via email by sending a message to
|
||||
<url url="mailto:mail-server@rtfm.mit.edu"
|
||||
name="mail-server@rtfm.mit.edu"> with the command "send
|
||||
usenet/news.answers/mail/sendmail-faq" as the body of the
|
||||
message.
|
||||
|
||||
</sect>
|
||||
|
270
FAQ/x.sgml
Normal file
270
FAQ/x.sgml
Normal file
|
@ -0,0 +1,270 @@
|
|||
<!-- $Id: x.sgml,v 1.1 1997-11-03 08:54:00 max Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect>
|
||||
<heading>The X Window System and Virtual Consoles<label id="x"></heading>
|
||||
|
||||
<sect1>
|
||||
<heading>I want to run X, how do I go about it?</heading>
|
||||
|
||||
<p>The easiest way is to simply specify that you want to run X
|
||||
during the installation process.
|
||||
|
||||
<p>Then read and follow the documentation on the <htmlurl url=
|
||||
"http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=xf86config"
|
||||
name="xf86config"> tool, which assists you in configuring XFree86(tm)
|
||||
for your particular graphics card/mouse/etc.
|
||||
|
||||
<p>You may also wish to investigate the Xaccel server, which is
|
||||
available at a very reasonable price. See the section on
|
||||
<ref id="xig" name="Xi Graphics"> for more details.
|
||||
|
||||
<sect1>
|
||||
<heading>Why doesn't my mouse work with X</heading>
|
||||
|
||||
<p>If you are using syscons (the default console driver), you can
|
||||
configure FreeBSD to support a mouse pointer on each virtual
|
||||
screen. In order to avoid conflicting with X, syscons supports
|
||||
a virtual device called ``<tt>/dev/sysmouse</tt>''. All mouse events
|
||||
received from the real mouse device are written to the sysmouse
|
||||
device, using the MouseSystems protocol. If you wish to use your
|
||||
mouse on one or more virtual consoles, <bf/and/ use X, the
|
||||
following configuration is recommended:
|
||||
|
||||
<verb>
|
||||
/etc/rc.conf:
|
||||
moused_type=ps/2 # or whatever your actual type is
|
||||
moused_port=/dev/psm0 # or whatever your real port is
|
||||
moused_flags=
|
||||
|
||||
/etc/XF86Config
|
||||
Section Pointer
|
||||
Protocol "MouseSystems"
|
||||
Device "/dev/sysmouse"
|
||||
.....
|
||||
</verb>
|
||||
|
||||
<p>Some people prefer to use ``<tt>/dev/mouse</tt>'' under X. To
|
||||
make this work, ``<tt>/dev/mouse</tt>'' should be linked to
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?sysmouse"
|
||||
name="/dev/sysmouse">:
|
||||
|
||||
<verb>
|
||||
# cd /dev
|
||||
# rm -f mouse
|
||||
# ln -s sysmouse mouse
|
||||
</verb>
|
||||
|
||||
<sect1>
|
||||
<heading>X Window menus and dialog boxes don't work right!</heading>
|
||||
|
||||
<p>Try turning off the Num Lock key.
|
||||
|
||||
<p>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>What is a virtual console and how do I make more?</heading>
|
||||
|
||||
<p>Virtual consoles, put simply, enable you to have several
|
||||
simultaneous sessions on the same machine without doing anything
|
||||
complicated like setting up a network or running X.
|
||||
|
||||
<p>When the system starts, it will display a login prompt on
|
||||
the monitor after displaying all the boot messages. You can
|
||||
then type in your login name and password and start working (or
|
||||
playing!) on the first virtual console.
|
||||
|
||||
<p>At some point, you will probably wish to start another
|
||||
session, perhaps to look at documentation for a program
|
||||
you are running or to read your mail while waiting for an
|
||||
FTP transfer to finish. Just do Alt-F2 (hold down the Alt
|
||||
key and press the F2 key), and you will find a login prompt
|
||||
waiting for you on the second ``virtual console''! When you
|
||||
want to go back to the original session, do Alt-F1.
|
||||
|
||||
<p>The default FreeBSD installation has three virtual consoles
|
||||
enabled, and Alt-F1, Alt-F2, and Alt-F3 will switch between
|
||||
these virtual consoles.
|
||||
|
||||
To enable more of them, edit <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys">
|
||||
and add entries for ``<tt/ttyv4/'' to ``<tt/ttyvc/'' after the
|
||||
comment on ``Virtual terminals'':
|
||||
|
||||
<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>
|
||||
|
||||
<p>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/''.
|
||||
|
||||
<p><bf/IMPORTANT NOTE/ if you want to run an X server you <bf/MUST/
|
||||
leave at least one virtual terminal unused (or turned off) for it
|
||||
to use. That is to say that if you want to have a login
|
||||
prompt pop up for all twelve of your Alt-function keys,
|
||||
you're out of luck - you can only do this for eleven of them
|
||||
if you also want to run an X server on the same machine.
|
||||
|
||||
<p>The easiest way to disable a console is by turning it off. For
|
||||
example, if you had the full 12 terminal allocation mentioned
|
||||
above and you wanted to run X, you would change settings for
|
||||
virtual terminal 12 from:
|
||||
|
||||
<verb>
|
||||
ttyvb "/usr/libexec/getty Pc" cons25 on secure
|
||||
</verb>
|
||||
|
||||
<p>to:
|
||||
|
||||
<verb>
|
||||
ttyvb "/usr/libexec/getty Pc" cons25 off secure
|
||||
</verb>
|
||||
|
||||
<p>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>
|
||||
|
||||
<p>(You could also just delete these lines.)
|
||||
|
||||
<p>Once you have edited <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys">,
|
||||
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>
|
||||
|
||||
<p>Next, the easiest (and cleanest) way to activate the virtual
|
||||
consoles is to reboot. However, if you really don't want to
|
||||
reboot, you can just shut down the X Window system and execute (as
|
||||
<tt/root/):
|
||||
|
||||
<verb>
|
||||
kill -HUP 1
|
||||
</verb>
|
||||
|
||||
<p>It's imperative that you completely shut down X Window if it is
|
||||
running, before running this command. If you don't, your system
|
||||
will probably appear to hang/lock up after executing the kill
|
||||
command.
|
||||
|
||||
<sect1>
|
||||
<heading>How do I access the virtual consoles from X?</heading>
|
||||
|
||||
<p>If the console is currently displaying X Window, you can use
|
||||
Ctrl-Alt-F1, etc. to switch to a virtual console. Note, however,
|
||||
that once you've switched away from X Window to a virtual
|
||||
terminal, you may use only the Alt- function key to switch to another
|
||||
virtual terminal or back to X Window. You do not need to also press the
|
||||
Ctrl key. If you use the control key to switch back to X on some
|
||||
older releases, you can find your text console stuck in ``control-lock''
|
||||
mode. Tap the control key to wake it up again.
|
||||
|
||||
<sect1>
|
||||
<heading>How do I start XDM from the <tt>/etc/ttys</tt> file ?</heading>
|
||||
|
||||
<p>Starting <htmlurl url=
|
||||
"http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=xdm"
|
||||
name="xdm"> via <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ttys"
|
||||
name="/etc/ttys"> is a <bf/Bad Thing/. I don't know why this
|
||||
crept into some README file.
|
||||
|
||||
<p>Start it from your <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?rc" name="rc.local"> (or even
|
||||
from a <tt/X.sh/ script in <tt>/usr/local/etc/rc.d</tt>), and be
|
||||
explicit about how it has to start. If this is your last action in
|
||||
<tt/rc.local/, put a ``<tt/sleep 1/'' behind, to allow <tt/xdm/ to
|
||||
properly daemonize before the <tt/rc/ shell exits.
|
||||
|
||||
<p><tt/xdm/ should be started without any arguments (i.e., as a
|
||||
daemon).
|
||||
|
||||
<p><bf/NOTE:/ A previous version of this FAQ told you to add the
|
||||
<tt/vt/ you want X to use to the
|
||||
<tt>/usr/X11R6/lib/X11/xdm/Xservers</tt> file. This is not necessary:
|
||||
X will use the first free <tt/vt/ it finds.
|
||||
|
||||
<sect1>
|
||||
<heading>When I run xconsole, I get ``Couldn't open console''.</heading>
|
||||
|
||||
<p>If you start <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=X"
|
||||
name="X"> with <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=startx"
|
||||
name="startx">, the permissions on /dev/console will <tt /not/ get
|
||||
changed, resulting in things like <htmlurl
|
||||
url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=xterm"
|
||||
name="xterm -C"> and <htmlurl url=
|
||||
"http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=xconsole"
|
||||
name="xconsole"> not working.
|
||||
|
||||
<p>This is because of the way console permissions are set by default.
|
||||
On a multi-user system, one doesn't necessarily want just any user
|
||||
to be able to write on the system console. For users who are logging
|
||||
directly onto a machine with a VTY, the
|
||||
<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fbtab" name="fbtab">
|
||||
file exists to solve such problems.
|
||||
|
||||
<p>In a nutshell, make sure an uncommented line of the form
|
||||
|
||||
<verb>
|
||||
/dev/ttyv0 0600 /dev/console
|
||||
</verb>
|
||||
|
||||
<p>is in <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fbtab(5)"
|
||||
name="/etc/fbtab"> and it will ensure that whomever logs in on
|
||||
<tt>/dev/ttyv0</tt> will own the console.
|
||||
|
||||
<sect1>
|
||||
<heading>My PS/2 mouse doesn't behave properly under X.</heading>
|
||||
|
||||
<p>Your mouse and the mouse driver have somewhat become out of
|
||||
synchronization. Switching away from X to a virtual terminal
|
||||
and getting back to X again may make them re-synchronized.
|
||||
If the problem occurs often, you may add the following option
|
||||
in your kernel configuration file and recompile it.
|
||||
|
||||
<verb>
|
||||
options PSM_CHECKSYNC
|
||||
</verb>
|
||||
|
||||
<p>See the section on <ref id="make-kernel" name="building a kernel">
|
||||
if you've no experience with building kernels.
|
||||
|
||||
<p>With this option, there should be less chance of synchronization
|
||||
problem between the mouse and the driver. If, however, you
|
||||
still see the problem, click any mouse button while holding
|
||||
the mouse still to re-synchronize the mouse and the driver.
|
||||
|
||||
<p>Note that unfortunately this option may not work with all the
|
||||
systems and voids the ``tap'' feature of the ALPS GlidePoint
|
||||
device attached to the PS/2 mouse port.
|
||||
|
||||
</sect>
|
||||
|
Loading…
Reference in a new issue