aboutsummaryrefslogtreecommitdiff
path: root/FAQ
diff options
context:
space:
mode:
Diffstat (limited to 'FAQ')
-rw-r--r--FAQ/FAQ.sgml67
-rw-r--r--FAQ/Makefile12
-rw-r--r--FAQ/acknowledgments.sgml41
-rw-r--r--FAQ/admin.sgml866
-rw-r--r--FAQ/applications.sgml138
-rw-r--r--FAQ/commercial.sgml97
-rw-r--r--FAQ/hackers.sgml469
-rw-r--r--FAQ/hardware.sgml408
-rw-r--r--FAQ/includes.sgml6
-rw-r--r--FAQ/install.sgml700
-rw-r--r--FAQ/kernelconfig.sgml96
-rw-r--r--FAQ/misc.sgml314
-rw-r--r--FAQ/network.sgml1149
-rw-r--r--FAQ/preface.sgml618
-rw-r--r--FAQ/serial.sgml535
-rw-r--r--FAQ/troubleshoot.sgml427
-rw-r--r--FAQ/x.sgml369
17 files changed, 0 insertions, 6312 deletions
diff --git a/FAQ/FAQ.sgml b/FAQ/FAQ.sgml
deleted file mode 100644
index 637a2b15b0..0000000000
--- a/FAQ/FAQ.sgml
+++ /dev/null
@@ -1,67 +0,0 @@
-<!-- $Id: FAQ.sgml,v 1.101 1998-10-15 20:24:22 wosch Exp $ -->
-<!-- The FreeBSD Documentation Project -->
-
-<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
-<!ENTITY % includes SYSTEM "includes.sgml"> %includes;
-<!ENTITY preface SYSTEM "preface.sgml">
-<!ENTITY install SYSTEM "install.sgml">
-<!ENTITY hardware SYSTEM "hardware.sgml">
-<!ENTITY troubleshoot SYSTEM "troubleshoot.sgml">
-<!ENTITY commercial SYSTEM "commercial.sgml">
-<!ENTITY applications SYSTEM "applications.sgml">
-<!ENTITY kernelconfig SYSTEM "kernelconfig.sgml">
-<!ENTITY admin SYSTEM "admin.sgml">
-<!ENTITY x SYSTEM "x.sgml">
-<!ENTITY network SYSTEM "network.sgml">
-<!ENTITY serial SYSTEM "serial.sgml">
-<!ENTITY misc SYSTEM "misc.sgml">
-<!ENTITY hackers SYSTEM "hackers.sgml">
-<!ENTITY acknowledgments SYSTEM "acknowledgments.sgml">
-]>
-
-<article>
-
- <title>Frequently Asked Questions for FreeBSD 2.X</title>
- <author>
- <name>The FreeBSD Documentation Project</name>
- </author>
-
- <date>$Date: 1998-10-15 20:24:22 $</date>
-
- <abstract>
- This is the FAQ for FreeBSD systems version 2.X All entries are
- assumed to be relevant to FreeBSD 2.0.5 and later, unless otherwise noted.
- Any entries with a &lt;XXX&gt; are under construction.
- If you are interested in helping with this project, send
- email to the the FreeBSD documentation project mailing list <htmlurl
- url="mailto:freebsd-doc@freebsd.org" name="<freebsd-doc@FreeBSD.ORG>">.
- The latest version of this document is always available from the <url
- url="http://www.FreeBSD.ORG/" name="FreeBSD World Wide Web server">.
- It may also be downloaded in <url url="FAQ.latin1" name="plain text">,
- <url url="FAQ.ps" name="postscript">,
- <url url="ftp://ftp.freebsd.org/pub/FreeBSD/docs/FAQ.pdf" name="PDF">
- or <url url="FAQ-html.tar.gz"
- name="HTML"> with HTTP or gzip'd from the <url
- url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/docs" name="FreeBSD FTP server">.
- You may also want to <url url="http://www.freebsd.org/search/search.html" name="Search the FAQ">.
-
- </abstract>
-
- <toc>
-
-&preface;
-&install;
-&hardware;
-&troubleshoot;
-&commercial;
-&applications;
-&kernelconfig;
-&admin;
-&x;
-&network;
-&serial;
-&misc;
-&hackers;
-&acknowledgments;
-
-</article>
diff --git a/FAQ/Makefile b/FAQ/Makefile
deleted file mode 100644
index 5d89074a36..0000000000
--- a/FAQ/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-# $Id: Makefile,v 1.7 1998-07-23 10:25:12 wosch Exp $
-
-.NOTPARALLEL:
-
-SGMLOPTS=-links
-DOC= FAQ
-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>
diff --git a/FAQ/acknowledgments.sgml b/FAQ/acknowledgments.sgml
deleted file mode 100644
index bac0704bfe..0000000000
--- a/FAQ/acknowledgments.sgml
+++ /dev/null
@@ -1,41 +0,0 @@
-<!-- $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>
diff --git a/FAQ/admin.sgml b/FAQ/admin.sgml
deleted file mode 100644
index d83a0f0d6d..0000000000
--- a/FAQ/admin.sgml
+++ /dev/null
@@ -1,866 +0,0 @@
-<!-- $Id: admin.sgml,v 1.11 1998-08-27 05:57:20 motoyuki 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>&lt;roberto@FreeBSD.ORG&gt;</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>See the Disk Formatting Tutorial at
- <url url="../tutorials/diskformat/"
- name="www.freebsd.org">.
-
- <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://www.vmunix.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 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:&bsol;bootsect.bsd</tt> (inspired by <tt>c:&bsol;bootsect.dos</tt>),
- you can then edit the <tt>c:&bsol;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 &amp; 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:&bsol;/. 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>If you have FreeBSD and Linux on the same disk, just follow
- LILO's installation instructions for booting a non-Linux operating
- system. Very briefly, these are:
-
- <p>Boot Linux, and add the following lines to
- <tt>/etc/lilo.conf</tt>:
- <verb>
- other=/dev/hda2
- table=/dev/hda
- label=FreeBSD
- </verb>
- (the above assumes that your FreeBSD slice is known to Linux as
- <tt>/dev/hda2</tt>; tailor to suit your setup). Then,
- run <tt>lilo</tt> as root and you should be done.
-
- <p>If FreeBSD resides on another disk, you need to add
- ``<tt>loader=/boot/chain.b</tt>'' to the LILO entry.
- For example:
- <verb>
- other=/dev/sdb4
- table=/dev/sdb
- loader=/boot/chain.b
- label=FreeBSD
- </verb>
-
- <p>In some cases you may need to specify the BIOS drive number
- to the FreeBSD boot loader to successfully boot off the second disk.
- For example, if your FreeBSD SCSI disk is probed by BIOS as BIOS
- disk 1, at the FreeBSD boot loader prompt you need to specify:
- <verb>
- Boot: 1:sd(0,a)/kernel
- </verb>
-
- <p>On FreeBSD 2.2.5 and later, you can configure <htmlurl
- url="http://www.freebsd.org/cgi/man.cgi?boot(8)" name="boot(8)">
- to automatically do this for you at boot time.
-
- <p>The <htmlurl
- url="http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+FreeBSD.html"
- name="Linux+FreeBSD mini-HOWTO"> is a good reference for
- FreeBSD and Linux interoperability issues.
-
- <sect1>
- <heading>
- How do I boot FreeBSD and Linux using BootEasy?
- </heading>
-
- <p>Install LILO at the start of your Linux boot partition instead of
- in the Master Boot Record. You can then boot LILO from BootEasy.
-
- <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.
-
- <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
- Cwlocalhost
- Cwbsd.home
- MASQUERADE_AS(`myISP.com')dnl
- FEATURE(allmasquerade)dnl
- FEATURE(masquerade_envelope)dnl
- FEATURE(nocanonify)dnl
- FEATURE(nodns)dnl
- define(SMART_HOST, `relay.myISP.com')
- Dmbsd.home
- define(`confDOMAIN_NAME',`bsd.home')dnl
- define(`confDELIVERY_MODE',`deferred')dnl
- </verb>
-
- <p>Refer to the previous section for details of how to turn this
- <tt/.mc/ file into a <tt/sendmail.cf/ file. Also, don't forget to
- restart sendmail after updating sendmail.cf.
-
- <sect1>
- <heading>Eek! I forgot the root password!</heading>
-
- <p>Don't Panic! Simply restart the system, type -s at the Boot: prompt
- to enter Single User mode. At the question about the shell to use,
- hit ENTER. You'll be dropped to a # prompt. Enter <tt>mount -u /</tt> to
- remount your root filesystem read/write, then run <tt/mount -a/ to
- remount all the filesystems. Run <tt/passwd root/ to
- change the root password then run <tt/exit/
- to continue booting.
-
- <sect1>
- <heading>How do I keep Control-Alt-Delete from rebooting the system?
- </heading>
-
- <p>Edit the keymap you are using for the console and replace the
- <tt/boot/ keywords with <tt/nop/. The default keymap is
- <tt>/usr/share/syscons/keymaps/us.iso.kbd</tt>. You may have to instruct
- <tt>/etc/rc.conf</tt> to load this keymap explicitly for the change to
- take effect. Of course if you are using an alternate keymap for your
- country, you should edit that one instead.
-
- <sect1>
- <heading>How do I reformat DOS text files to UNIX ones?</heading>
-
- <p>Simply use this perl command:
-
-<verb>
-perl -i.bak -pe 's/\r\n/\n/g' file ...
-</verb>
-
- <p>file is the file(s) to process. The modification is done in-place,
- with the original file stored with a .bak extension.
-
- <sect1>
- <heading>How do I kill processes by name?</heading>
-
- <p>Use <url url="/cgi/cvsweb.cgi/man.cgi?killall" name="killall(1)">.
-
- <sect1>
- <heading>Why is su bugging me about not being in root's ACL?
- </heading>
-
- <p>The error comes from the Kerberos distributed authentication system.
- The problem isn't fatal but annoying. You can either run su with the -K
- option, or uninstall Kerberos as described in the next question.
-
- <sect1>
- <heading>How do I uninstall Kerberos?</heading>
-
- <p>To remove Kerberos from the system, reinstall the bin distribution
- for the release you are running. If you have the CDROM, you can
- mount the cd (we'll assume on /cdrom) and run
-
-<verb>
-cd /cdrom/bin
-./install.sh
-</verb>
-
-
-
- </sect>
-
diff --git a/FAQ/applications.sgml b/FAQ/applications.sgml
deleted file mode 100644
index 742c0032ee..0000000000
--- a/FAQ/applications.sgml
+++ /dev/null
@@ -1,138 +0,0 @@
-<!-- $Id: applications.sgml,v 1.7 1998-09-07 09:19:29 wosch 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="../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 be 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.2.7-release/2.2-stable</tag>
- <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2.7/"
- name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2.7/">
-
- <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&lowbar;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 &amp; 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&lowbar;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 excellent place to
- start is <url url="http://www.cis.ohio-state.edu/~barr/INN.html"
- name="Dave Barr's INN Page"> where you'll find the INN FAQ.
-
- </sect1>
- <sect1>
-
- <heading>What version of Microsoft FrontPage should I get?
- </heading>
-
- <p>Use the Port, Luke! A pre-patched version of Apache is available in the ports tree.
- </p>
-
- </sect1>
-
- </sect>
-
diff --git a/FAQ/commercial.sgml b/FAQ/commercial.sgml
deleted file mode 100644
index f5d73a514d..0000000000
--- a/FAQ/commercial.sgml
+++ /dev/null
@@ -1,97 +0,0 @@
-<!-- $Id: commercial.sgml,v 1.3 1998-08-03 15:37:47 wosch 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. See
- <url url="../commercial/commercial.html" name="the Vendors page">
- for a longer list.
-
- <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>
-
diff --git a/FAQ/hackers.sgml b/FAQ/hackers.sgml
deleted file mode 100644
index fa677c93a8..0000000000
--- a/FAQ/hackers.sgml
+++ /dev/null
@@ -1,469 +0,0 @@
-<!-- $Id: hackers.sgml,v 1.6 1998-09-22 22:09:54 des 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 in your supfile set the release name to cvs and remove any tag or
- date fields:
-
- <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-STABLE 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>&dollar;&lcub;DESTDIR&rcub;</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&lowbar;1542/'' kernel
- configuration option in order to have this take place. Using it
- on those systems where it works may make your disks run faster,
- but on those systems where it doesn't, your data could be
- corrupted.
-
- <sect1>
- <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 $&lcub;DISTDIR&rcub;; \
- tar cf - . \
- gzip --no-name -9 -c | \
- split -b 240640 - \
- $&lcub;RELEASEDIR&rcub;/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 &num; 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&circ;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 &num;, 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>&lt;freebsd-platforms@FreeBSD.ORG&gt;</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>&lt;freebsd-hackers@FreeBSD.ORG&gt;</tt>.
-
-
- <sect1>
- <heading>Alternative layout policies for directories</heading>
-
- <p>
- In answer to the question of alternative layout policies for
- directories, the scheme that is currently in use is unchanged
- from what I wrote in 1983. I wrote that policy for the original
- fast filesystem, and never revisited it. It works well at keeping
- cylinder groups from filling up. As several of you have noted,
- it works poorly for find. Most filesystems are created from
- archives that were created by a depth first search (aka ftw).
- These directories end up being striped across the cylinder groups
- thus creating a worst possible senario for future depth first
- searches. If one knew the total number of directories to be
- created, the solution would be to create (total / fs_ncg) per
- cylinder group before moving on. Obviously, one would have to
- create some heuristic to guess at this number. Even using a
- small fixed number like say 10 would make an order of magnitude
- improvement. To differentiate restores from normal operation
- (when the current algorithm is probably more sensible), you
- could use the clustering of up to 10 if they were all done
- within a ten second window. Anyway, my conclusion is that this
- is an area ripe for experimentation.</p>
-
- <p>Kirk McKusick, September 1998</p>
-
- <sect1>
- <heading>Making the most of a kernel panic</heading>
-
- <p>
- <em>[This section was extracted from a mail written by <url
- url="mailto:<wpaul@FreeBSD.ORG" name="Bill Paul"> on the
- freebsd-current <ref id="mailing" name="mailing list"> by <url
- url="mailto:des@FreeBSD.ORG" name="Dag-Erling Co&iuml;dan
- Sm&oslash;rgrav">, who fixed a few typos and added the bracketed
- comments]</em>
-
- <p>
- <verb>
-From: Bill Paul <wpaul@skynet.ctr.columbia.edu>
-Subject: Re: the fs fun never stops
-To: ben@rosengart.com
-Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT)
-Cc: current@FreeBSD.ORG
- </verb>
-
- <p>
- <em>[&lt;ben@rosengart.com&gt; posted the following panic
- message]</em>
- <verb>
-> Fatal trap 12: page fault while in kernel mode
-> fault virtual address = 0x40
-> fault code = supervisor read, page not present
-> instruction pointer = 0x8:0xf014a7e5
- ^^^^^^^^^^
-> stack pointer = 0x10:0xf4ed6f24
-> frame pointer = 0x10:0xf4ed6f28
-> code segment = base 0x0, limit 0xfffff, type 0x1b
-> = DPL 0, pres 1, def32 1, gran 1
-> processor eflags = interrupt enabled, resume, IOPL = 0
-> current process = 80 (mount)
-> interrupt mask =
-> trap number = 12
-> panic: page fault
- </verb>
-
- <p> [When] you see a message like this, it's not enough to just
- reproduce it and send it in. The instruction pointer value that
- I highlighted up there is important; unfortunately, it's also
- configuration dependent. In other words, the value varies
- depending on the exact kernel image that you're using. If you're
- using a GENERIC kernel image from one of the snapshots, then
- it's possible for somebody else to track down the offending
- function, but if you're running a custom kernel then only
- <em/you/ can tell us where the fault occured.
-
- <p> What you should do is this:
-
- <itemize>
- <item>Write down the instruction pointer value. Note that the
- <tt/0x8:/ part at the begining is not significant in this case:
- it's the <tt/0xf0xxxxxx/ part that we want.
- <item>When the system reboots, do the following:
- <verb>
-% nm /kernel.that.caused.the.panic | grep f0xxxxxx
- </verb>
- where <tt/f0xxxxxx/ is the instruction pointer value. The
- odds are you will not get an exact match since the symbols
- in the kernel symbol table are for the entry points of
- functions and the instruction pointer address will be
- somewhere inside a function, not at the start. If you don't
- get an exact match, omit the last digit from the instruction
- pointer value and try again, i.e.:
- <verb>
-% nm /kernel.that.caused.the.panic | grep f0xxxxx
- </verb>
- If that doesn't yield any results, chop off another digit.
- Repeat until you get some sort of output. The result will be
- a possible list of functions which caused the panic. This is
- a less than exact mechanism for tracking down the point of
- failure, but it's better than nothing.
- </itemize>
-
- <p> I see people constantly show panic messages like this but
- rarely do I see someone take the time to match up the
- instruction pointer with a function in the kernel symbol table.
-
- <p> The best way to track down the cause of a panic is by
- capturing a crash dump, then using <tt/gdb(1)/ to to a stack
- trace on the crash dump. Of course, this depends on <tt/gdb(1)/
- in -current working correctly, which I can't guarantee (I recall
- somebody saying that the new ELF-ized <tt/gdb(1)/ didn't handle
- kernel crash dumps correctly: somebody should check this before
- 3.0 goes out of beta or there'll be a lot of red faces after the
- CDs ship).
-
- <p>
- In any case, the method I nornally use is this:
-
- <itemize>
- <item>Set up a kernel config file, optionally adding 'options DDB' if you
- think you need the kernel debugger for something. (I use this mainly
- for setting beakpoints if I suspect an infinite loop condition of
- some kind.)
- <item>Use <tt/config -g KERNELCONFIG/ to set up the build directory.
- <item><tt>cd /sys/compile/KERNELCONFIG; make</tt>
- <item>Wait for kernel to finish compiling.
- <item><tt/cp kernel kernel.debug/
- <item><tt/strip -d kernel/
- <item><tt/mv /kernel /kernel.orig/
- <item><tt>cp kernel /</tt>
- <item>reboot
- </itemize>
-
- <p> <em>[Note: currently, on 3.0-BETA, you must use <tt/strip
- -aout -d/ instead of <tt/strip -d/]</em>
-
- <p> Note that YOU DO <em/NOT/ WANT TO ACTUALLY BOOT THE KERNEL
- WITH ALL THE DEBUG SYMBOLS IN IT. A kernel compiled with <tt/-g/
- can easily be close to 10MB in size. You don't have to actually
- boot this massive image: you only need it later for <tt/gdb(1)/
- (<tt/gdb(1)/ wants the symbol table). Instead, you want to keep
- a copy of the full image and create a second image with the
- debug symbols stripped out using <tt/strip -d/. It is this
- second stripped image that you want to boot.
-
- <p> To make sure you capture a crash dump, you need edit
- <tt>/etc/rc.conf</tt> and set <tt/dumpdev/ to point to your swap
- partition. This will cause the <tt/rc(8)/ scripts to use the
- <tt/dumpon(8)/ command to enable crash dumps. You can also run
- <tt/dumpon(8)/ manually. After a panic, the crash dump can be
- recovered using <tt/savecore(8)/; if <tt/dumpdev/ is set in
- <tt>/etc/rc.conf</tt>, the <tt/rc(8)/ scripts will run
- <tt/savecore(8)/ automatically and put the crash dump in
- <tt>/var/crash</tt>.
-
- <p> NOTE: FreeBSD crash dumps are usually the same size as the
- physical RAM size of your machine. That is, if you have 64MB of
- RAM, you will geta 64MB crash dump. Therefore you must make sure
- there's enough space in <tt>/var/crash</tt> to hold the dump.
- Alternatively, you run <tt/savecore(8)/ manually and have it
- recover the crash dump to another directory where you have more
- room. It's possible to limit the size of the crash dump by using
- <tt/options MAXMEM=(foo)/ to set the amount of memory the kernel
- will use to something a little more sensible. For example, if
- you have 128MB of RAM, you can limit the kernel's memory usage
- to 16MB so that your crash dump size will be 16MB instead of
- 128MB.
-
- <p> Once you have recovered the crash dump, you can get a stack
- trace with <tt/gdb(1)/ as follows:
-
- <p>
- <verb>
-% gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0
-(gdb) where
- </verb>
-
- <p> Note that there may be several screens worth of information;
- ideally you should use <tt/script(1)/ to capture all of them.
- Using the unstripped kernel image with all the debug symbols
- should show the exact line of kernel source code where the panic
- occured. Usually you have to read the stack trace from the
- bottom up in order to trace the exact sequence of events that
- lead to the crash. You can also use <tt/gdb(1)/ to print out the
- contents of various variables or structures in order to examine
- the system state at the time of the crash.
-
- <p> Now, if you're really insane and have a second computer, you
- can also configure <tt/gdb(1)/ to do remote debugging such that
- you can use <tt/gdb(1)/ on one system to debug the kernel on
- another system, including setting breakpoints, single-stepping
- through the kernel code, just like you can do with a normal
- user-mode program. I haven't played with this yet as I don't
- often have the chance to set up two machines side by side for
- debugging purposes.
-
- <p> <em>[Bill adds: "I forgot to mention one thing: if you have
- DDB enabled and the kernel drops into the debugger, you can
- force a panic (and a crash dump) just by typing 'panic' at the
- ddb prompt. It may stop in the debugger again during the panic
- phase. If it does, type 'continue' and it will finish the crash
- dump." -ed]</em>
-
- </sect>
diff --git a/FAQ/hardware.sgml b/FAQ/hardware.sgml
deleted file mode 100644
index a24c570a15..0000000000
--- a/FAQ/hardware.sgml
+++ /dev/null
@@ -1,408 +0,0 @@
-<!-- $Id: hardware.sgml,v 1.13 1998-09-29 11:48:19 wosch 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>See the complete list in the
- <htmlurl url="../handbook/install:hw.html"
- name="Handbook">.
-
- <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 proprietary 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>ATAPI (IDE) Zip drives are supported in FreeBSD 2.2.6 and
- later releases.
-
- <p>FreeBSD 3.0-CURRENT contains support for the parallel Zip
- However, you will need to build a new kernel with
- support for ppbus (Parallel Port Bus) in order to use the Zip. See
- the LINT configuration file for examples.
-
- <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?<label id="busmouse"></heading>
-
- <p>FreeBSD supports the bus mouse and the InPort bus mouse from such
- manufactures as Microsoft, Logitech and ATI. The bus device driver
- is compiled in the GENERIC kernel by default. If you are building
- a custom kernel with the bus mouse driver, make sure to add the
- following line to the kernel config file:
-
- <verb>
- device mse0 at isa? port 0x23c tty irq5 vector mseintr
- </verb>
-
- <p>The bus mouse usually comes with an dedicatd interface card.
- It may allow you to set the port address and the IRQ number other
- than shown above. Refer to the manual of your mouse and the
- <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mse" name="mse">
- man page for more information.
-
- <sect1>
- <heading>
- How do I use my PS/2 (``mouse port'' or ``keyboard'') mouse?<label id="ps2mouse"></heading>
-
- <p>If you're running a very recent version of FreeBSD, the necessary
- driver, psm, is included and enabled in the kernel. The kernel
- should detect your PS/2 mouse at boot time.
-
- <p>If you're running a previous but 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
- </verb>
-
- <p>See the <htmlurl 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>Is it possible to make use of a mouse in any way outside the X Window?<label id="moused"></heading>
-
- <p>If you are using the default console driver, syscons, you can
- use a mouse pointer in text consoles to cut & paste text.
- Run the mouse daemon, moused, and turn on the mouse pointer
- in the virtual console:
-
- <verb>
- moused -p /dev/xxxx -t yyyy
- vidcontrol -m on
- </verb>
-
- <p>Where <tt>xxxx</tt> is the mouse device name and <tt>yyyy</tt>
- is a protocol type for the mouse. See the
- <htmlurl url="http://www.freebsd.org/cgi/man.cgi?moused" name="moused">
- man page for supported protocol types.
-
- <p>You may wish to run the mouse daemon automatically when the
- system starts. In version 2.2.1, set the following variables in
- <tt>/etc/sysconfig</tt>.
-
- <verb>
- mousedtype="yyyy"
- mousedport="xxxx"
- mousedflags=""
- </verb>
-
- In versions 2.2.2 or later, set the following variables in
- <tt>/etc/rc.conf</tt>.
-
- <verb>
- moused_type="yyyy"
- moused_port="xxxx"
- moused_flags=""
- </verb>
-
- <p>Staring from FreeBSD 2.2.6, the mouse daemon is capable of
- determining the correct protocol type automatically unless the mouse
- is a relatively old serial mouse model. Specify ``<tt>auto</tt>'' as
- the protocol to invoke automatic detection.
-
- <p>When the mouse daemon is running, access to the mouse needs to be
- coordinated between the mouse daemon and other programs such as the
- X Window. Refer to <ref id="x-and-moused" name="another section">
- on this issue".
-
- <sect1>
- <heading>How do I cut and paste text with mouse in the text console?</heading>
-
- <p>Once you get the mouse daemon running (see <ref id="moused"
- name="previous section">), hold down the button 1 (left button)
- and move the mouse to select a region of
- text. Then, press the button 2 (middle button) or the button 3 (right
- button) to paste it at the text cursor.
-
- <p>In versions 2.2.6 and later, pressing the button 2 will paste
- the text. Pressing the button 3 will ``extend'' the selected region
- of text. If your mouse does not have the middle button, you may wish
- to emulate it or remap buttons using moused options. See the
- <htmlurl url="http://www.freebsd.org/cgi/man.cgi?moused" name="moused">
- man page for details.
-
- <sect1>
- <heading>My mouse has a fancy wheel and buttons. Can I use them in FreeBSD?</heading>
-
- <p>The answer is, unfortunately, ``It depends.'' These mice with
- additional features require specialized driver in most cases.
- Unless the mouse device driver or the user program has specific
- support for the mouse, it will act just like a standard two, or
- three button mouse.
-
- <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.
- Cards conforming to the Microsoft Sound System specification are also
- supported through the pcm driver.
-
- <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.
-
- <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>See the <htmlurl url="../handbook/install:misc.html" name="Handbook">
- for the list of other devices supported.
-
-<!--
- <sect1>
- <heading>I am about to buy a new machine. What do you recommend?</heading>
-
- <p>See the <htmlurl 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 <htmlurl url="../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.
-
- <sect1>
- <heading>Workarounds for specific hardware problems</heading>
- <p>This section contains workarounds for specific hardware
- problems encountered by our users.
- <sect2>
- <heading>Micron systems hang at boot time</heading>
- <p>Certain Micron motherboards have a non-conforming PCI BIOS
- implementation that causes grief when FreeBSD boots because
- PCI devices don't get configured at their reported addresses.
- <p>Disable the "Plug and Play Operating System" flag in the BIOS
- to work around this problem. More information can be found at
- <htmlurl
- url="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron"
- name="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron">
- </sect2>
- </sect1>
-
- <sect1>
- <heading>I have a newer Adaptec controller and FreeBSD can't find it.
- </heading>
-
- <p>The newer AIC789x series Adaptec chips are supported under the CAM SCSI
- framework making it's debut in 3.0. Patches against 3.0-CURRENT and 2.2-STABLE
- are in <url url="ftp://ftp.freebsd.org/pub/FreeBSD/development/cam/" name="ftp://ftp.freebsd.org/pub/FreeBSD/development/cam/">.
- A CAM-enhanced boot floppy is available at <url url="http://www.freebsd.org/~abial/cam-boot/"
- name="http://www.freebsd.org/~abial/cam-boot/">. In both cases read the README before
- beginning. </p>
-
- </sect1>
-
- <sect1>
- <heading>I have an internal Plug & Play modem and FreeBSD can't find it.
- </heading>
-
- <p>You will need to add the modem's PnP ID to the PnP ID list in the serial driver.
- To enable Plug & Play support, compile a new kernel with <tt/controller pnp0/ in
- the configuration file, then reboot the system. The kernel will print the PnP IDs
- of all the devices it finds. Copy the PnP ID from the modem to the table in
- <tt>/sys/i386/isa/sio.c</tt>, at about line 1200. Look for the string "SUP1310"
- in the structure "siopnp_ids[]" to
- find the table. Build the kernel again, install, reboot, and your modem should be found.</p>
-
- <p>You may have to manually configure the PnP devices using the `pnp' command in the
- boot-time configuration with a command like
- <verb>
- pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8
- </verb>
- to make the modem show.</p>
-
- </sect1>
-
- <sect1>
- <heading>How do I get the boot: prompt to show on the serial console?
- </heading>
-
- <p><enum>
- <item>Build a kernel with <tt/options COMCONSOLE/.
- <item>Create /boot.config and place <tt/-P/ as the only text in the file.
- <item>Unplug the keyboard from the system.
- </enum></p>
-
- <p>See <tt>/usr/src/sys/i386/boot/biosboot/README.serial</tt> for information.</p>
-
- </sect1>
-
- <sect1>
-
-
- <heading>Why doesn't my 3Com PCI network card work with my Micron
- computer?</heading>
- <p>Certain Micron motherboards have a non-conforming PCI BIOS
- implementation that does not configure PCI devices at
- the addresses reported. This causes grief when FreeBSD boots.
- <p>To work around this problem, disable the "Plug and Play Operating
- System" flag in the BIOS.
- <p>More information on this problem is available at URL:
- <htmlurl
- url="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron"
- name="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron">
-
- <sect1>
- <heading>Does FreeBSD support Symmetric Multiproccessing (SMP)?
- </heading>
-
- <p>SMP is supported in 3.0-CURRENT only.
-
- </sect>
-
diff --git a/FAQ/includes.sgml b/FAQ/includes.sgml
deleted file mode 100644
index 4531dcf12d..0000000000
--- a/FAQ/includes.sgml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!-- $Id: includes.sgml,v 1.1 1998-05-08 09:19:07 wosch Exp $ -->
-
-<!-- book stores -->
-<!ENTITY isbn.amazon 'http://www.amazon.com/exec/obidos/ASIN'>
-
-
diff --git a/FAQ/install.sgml b/FAQ/install.sgml
deleted file mode 100644
index 0c3e043c0f..0000000000
--- a/FAQ/install.sgml
+++ /dev/null
@@ -1,700 +0,0 @@
-<!-- $Id: install.sgml,v 1.12 1998-10-30 23:15:03 wosch 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 from
- in order to download the rest (and the installation will manage your
- TCP/IP connection, deal with tapes, CDROMs, floppies, DOS
- partitions, whatever's necessary to get the rest of the bits
- installed).
-
- <p>If you need to download the distributions yourself (for a DOS
- filesystem install, for instance), below are some recommendations
- for distributions to grab:
-
- <itemize>
- <item> bin/<newline>
- <item> manpages/<newline>
- <item> compat*/<newline>
- <item> doc/ <newline>
- <item> src/ssys.* <newline>
- </itemize>
-
- <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>Help! The boot floppy image will not fit on a single floppy!
- </heading>
- <p>A 3.5 inch (1.44MB) floppy can accomodate 1474560 bytes of data.
- The boot image is exactly 1474560 bytes in size.
- <p>Common mistakes when preparing the boot floppy are:
- <itemize>
- <item>Not downloading the floppy image in <tt>binary</tt> mode when
- using <tt>FTP</tt>.
- <p>Some FTP clients default their transfer mode to <tt>ascii</tt>
- and attempt to change any end-of-line characters received to match
- the conventions used by the client's system.
- This will almost invariably corrupt the boot image. Check the
- size of the downloaded boot image: if it is not <em>exactly</em>
- that on the server, then the download process is suspect.
- <p>To workaround: type <tt>binary</tt> at the FTP command prompt
- after getting connected to the server and before starting the
- download of the image.
- <item>Using the DOS <tt>copy</tt> command (or equivalent GUI tool) to
- transfer the boot image to floppy.
- <p>Programs like <tt>copy</tt> will not work as the boot
- image has been created to be booted into directly. The image has
- the complete content of the floppy, track for track, and is not
- meant to be placed on the floppy as a regular file.
- You have to transfer it to the floppy ``raw'', using the
- low-level tools (e.g. <tt>fdimage</tt> or <tt>rawrite</tt>)
- described in the <url url="../handbook/install.html"
- name="installation guide to FreeBSD">.
- </itemize>
-
- <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&percnt; (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>Connect 2 FreeBSD boxes over a parallel line (PLIP)
- </heading>
-
- <p>Get a laplink cable. Make sure both computer have a kernel
- with lpt driver support.
-
- <verb>
- $ dmesg | grep lp
- lpt0 at 0x378-0x37f irq 7 on isa
- lpt0: Interrupt-driven port
- lp0: TCP/IP capable interface
- </verb>
-
- <p>Plug in the laplink cable into the parallel interface.
-
- <p>Configure the network interface parameters for lp0 on both
- sites as root. For example, if you want connect the host max
- with moritz
-
- <verb>
- max <-----> moritz
-IP Address 10.0.0.1 10.0.0.2
- </verb>
-
- on max start
- <verb>
- # ifconfig lp0 10.0.0.1 10.0.0.2
- </verb>
-
-on moritz start
-
- <verb>
- # ifconfig lp0 10.0.0.2 10.0.0.1
- </verb>
-
- <P>Thats all! Please read also the manpages lp(4) and
- lpt(4).
-
- <P>You should also add the hosts to /etc/hosts
-
- <verb>
- 127.0.0.1 localhost.my.domain localhost
- 10.0.0.1 max.my.domain max
- 10.0.0.2 moritz.my.domain moritz
- </verb>
-
- <P>To check if it works do:
-
- on max:
-
-<verb>
-$ ifconfig lp0
-lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
- inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000
-</verb>
-
-<verb>
-$ netstat -r
-Routing tables
-
-Internet:
-Destination Gateway Flags Refs Use Netif Expire
-moritz max UH 4 127592 lp0
-</verb>
-
-<verb>
-$ ping -c 4 moritz
-PING moritz (10.0.0.2): 56 data bytes
-64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
-64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
-64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
-64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms
-
---- moritz ping statistics ---
-4 packets transmitted, 4 packets received, 0% packet loss
-round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
-</verb>
-
- <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 &gt;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 ``&gt;1GB drive support''), try
- toggling its setting and reinstalling FreeBSD.
-
- <sect1>
- <heading>
- I have &gt;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="&gt;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>&lt;majordomo@braae.ru.ac.za&gt;</tt>.
-
- <sect1>
- <heading>The boot floppy starts but hangs at the ``Probing Devices...''
- screen.</heading>
-
- <p>If you have a IDE Zip or Jaz drive installed, remove it and try again.
- The boot floppy can get confused by the drives.
- After the system is installed you can reconnect the drive. Hopefully
- this will be fixed in a later release.
-
- <sect1>
- <heading>I get a ``panic: cant mount root'' error when rebooting the system after installation.</heading>
-
- <p>This error comes from confusion between the boot block's and the
- kernel's understanding of the disk devices. The error usually
- manifests on two-disk IDE systems, with the hard disks arranged as the
- master or single device on separate IDE controllers, with FreeBSD
- installed on the secondary IDE controller. The boot blocks think
- the system is installed on wd1 (the second BIOS disk) while the kernel
- assigns the first disk on the secondary controller device wd2. After
- the device probing, the kernel tries to mount what the boot blocks
- think is the boot disk, wd1, while it is really wd2, and fails.
-
- <p>To fix the problem, do one of the following:
-
- <enum>
- <item>At the Boot: prompt, enter
- <tt>1:wd(2,a)kernel</tt> and press Enter. If the system starts, then
- run the command
-<verb>
-echo "1:wd(2,a)kernel" > /boot.config
-</verb>
- to make it the default boot string.
- <item>Move the FreeBSD disk onto the primary IDE controller, so the
- hard disks are consecutive.
- <item><url url="../handbook/kernelconfig.html" name="Rebuild your kernel,">
- modify the wd configuration lines to read:
-
-<verb>
-controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
-disk wd0 at wdc0 drive 0
-# disk wd1 at wdc0 drive 1 # comment out this line
-
-controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
-disk wd1 at wdc1 drive 0 # change from wd2 to wd1
-disk wd2 at wdc1 drive 1 # change from wd3 to wd2
-</verb>
-
- Install the new kernel.
- If you moved your disks and wish to restore the previous
- configuration, replace the disks in the desired configuration and reboot.
- Your system should boot successfully.
-
- </enum>
-
- <sect1>
- <heading>What are the limits for memory?</heading>
-
- <p>For memory, the (theoretical) limit is 4 gigabytes. One gigabyte
- has been tested; you generally can't buy i386 PCs that can support
- much more than that.
-
- <sect1>
- <heading>What are the limits for ffs filesystems?</heading>
-
- <p>For ffs filesystems, the maximum theoretical limit is 8 terabytes
- (2G blocks), or 16TB for the default block size of 8K.
- In practice, there is a soft limit of 1 terabyte, but with modifications
- filesystems with 4 terabytes are possible (and exist).
-
- <p>The maximum size of a single ffs file is approximately 1G blocks
- (4TB) if the block size is 4K.
-
- <verb>
- maxfilesize
- ----------------------------------
- 2.2.7 3.0
-fs block size -stable -current works should-work
-------------- ------- -------- ----- -----------
-4K 4T-1 4T-1 4T-1 4+T
-8K 32+G 8T-1 32+G 16T-1
-16K 128+G 16T-1 128+G 32T-1
-32K 512+G 32T-1 512+G 64T-1
-64K 2048+G 64T-1 2048+G 128T-1
- </verb>
-
- <p>When the fs block size is 4K, triple indirect blocks work and
- everything should be limited by the maximum fs block number that can
- be represented using triple indirect blocks (approx. 1K^3 + 1K^2 +
- 1K), but everything is limited by a (wrong) limit of 1G-1 on fs block
- numbers. The limit on fs block numbers should be 2G-1. There are
- some bugs for fs block numbers near 2G-1, but such block numbers are
- unreachable when the fs block size is 4K.
-
- <p>For block sizes of 8K and larger, everything should be limited
- by the 2G-1 limit on fs block numbers, but is actually limited by the
- 1G-1 limit on fs block numbers, except under -stable triple indirect
- blocks are unreachable, so the limit is the maxiumum fs block number
- that can be represented using double indirect blocks
- (approx. (blocksize/4)^2 + (blocksize/4)), and under -current
- exceeding this limit may cause problems. Using the correct limit of
- 2G-1 blocks does cause problems.
-
- <sect1>
- <heading>How can I put 1TB files on my floppy?</heading>
-
- <p>I keep several virtual ones on floppies :-). The maxiumum
- file size is not closely related to the maximum disk size. The
- maximum disk size is 1TB. It is a feature that the file size can be
- larger than the disk size.
-
- <p>The following example creates a file of size 8T-1 using a
- whole 32K of disk space (3 indirect blocks and 1 data block) on a
- small root partition. The dd command requires a dd that works with
- large files.
-
-<verb>
-ttyv0:bde@alphplex:/tmp/q> cat foo
-df .
-dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1
-ls -l z
-du z
-df .
-ttyv0:bde@alphplex:/tmp/q> sh foo
-Filesystem 1024-blocks Used Avail Capacity Mounted on
-/dev/sd0a 64479 27702 31619 47% /
-1+0 records in
-1+0 records out
-1 bytes transferred in 0.000187 secs (5346 bytes/sec)
--rw-r--r-- 1 bde bin 8796093022207 Sep 7 16:04 z
-32 z
-Filesystem 1024-blocks Used Avail Capacity Mounted on
-/dev/sd0a 64479 27734 31587 47% /
-ttyv0:bde@alphplex:/tmp/q> exit
-</verb>
-
-<p>Bruce Evans, September 1998
- </sect>
-
diff --git a/FAQ/kernelconfig.sgml b/FAQ/kernelconfig.sgml
deleted file mode 100644
index 41055f5c42..0000000000
--- a/FAQ/kernelconfig.sgml
+++ /dev/null
@@ -1,96 +0,0 @@
-<!-- $Id: kernelconfig.sgml,v 1.2 1998-05-19 01:46:05 jkh 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! Check out the <url url="../handbook/kernelconfig.html"
- name="kernel config section of the Handbook">.
-
- <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/&lowbar;hw&lowbar;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>
-
diff --git a/FAQ/misc.sgml b/FAQ/misc.sgml
deleted file mode 100644
index 0a92dbbcb8..0000000000
--- a/FAQ/misc.sgml
+++ /dev/null
@@ -1,314 +0,0 @@
-<!-- $Id: misc.sgml,v 1.8 1998-11-02 03:20:46 jkoshy 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 has traditionally used
- 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, FreeBSD initially resisted the "push"
- to switch to <tt/ELF/ as the default format. 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, 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.
- However, starting with 3.0, FreeBSD officially supports <tt/ELF/
- binaries as the default format. Even though the <tt/a.out/
- executable format has served us well, the GNU people, who author the
- compiler tools we use, have dropped support for the <tt/a.out/
- format. This has forced us to maintain a divergent version of
- the compler and linker, and has kept us from reaping the benefits
- of the latest GNU development efforts. Also the demands of
- ISO-C++, notably contstructors and destructors, has also led to
- native <tt/ELF/ support in future FreeBSD releases.
-
- <sect1>
- <heading>Yes, but why are there so many different
- formats?</heading>
-
- <p>Back in the dim, dark past, there was simple hardware. This
- simple hardware supported a simple, small system. a.out was
- completely adequate for the job of representing binaries on this
- simple system (a PDP-11). As people ported unix from this
- simple system, they retained the a.out format because it was
- sufficient for the early ports of unix to architectures like the
- Motorola 68k, VAXen, etc.
-
- <p>Then some bright hardware engineer decided that if he could
- force software to do some sleazy tricks, then he'd be able to
- shave a few gates off the design and allow his CPU core to run
- faster. While it was made to work with this new kind of
- hardware (known these days as RISC), <tt/a.out/ was ill-suited
- for this hardware, so many formats were developed to get to a
- better performance from this hardware than the limited, simple
- <tt/a.out/ format could offer. Things like <tt/COFF/,
- <tt/ECOFF/, and a few obscure others were invented and their
- limitations explored before things seemed to settle on <tt/ELF/.
-
- <p>In addition, program sizes were getting huge and disks (and
- physical memory) were still relatively small so the concept of a
- shared library was born. The VM system also became more
- sophisticated. While each one of these advancements was done
- using the <tt/a.out/ format, its usefulness was stretched more
- and more with each new feature. In addition, people wanted to
- dynamically load things at run time, or to junk parts of their
- program after the init code had run to save in core memory
- and/or swap space. Languages became more sophistocated and
- people wanted code called before main automatically. Lots of
- hacks were done to the <tt/a.out/ format to allow all of these
- things to happen, and they basically worked for a time. In
- time, <tt/a.out/ wasn't up to handling all these problems
- without an ever increasing overhead in code and complexity.
- While <tt/ELF/ solved many of these problems, it would be
- painful to switch from the system that basically worked. So
- <tt/ELF/ had to wait until it was more painful to remain with
- <tt/a.out/ than it was to migrate to <tt/ELF/.
-
- <p>However, as time passed, the build tools that FreeBSD derived
- their build tools from (the assembler and loader especially)
- evolved in two parallel trees. The FreeBSD tree added shared
- libraries and fixed some bugs. The GNU folks that originally
- write these programs rewrote them and added simpler support for
- building cross compilers, plugging in different formats at will,
- etc. Since many people wanted to build cross compilers
- targeting FreeBSD, they were out of luck since the older sources
- that FreeBSD had for as and ld weren't up to the task. The new
- gnu tools chain (binutils) does support cross compiling,
- <tt/ELF/, shared libraries, C++ extnensions, etc. In addition,
- many vendors are releasing <tt/ELF/ binaries, and it is a good
- thing for FreeBSD to run them. And if it is running <tt/ELF/
- binaries, why bother having <tt/a.out/ any more? It is a tired
- old horse that has proven useful for a long time, but it is time
- to turn him out to pasture for his long, faithful years of
- service.
-
- <p><tt/ELF/ is more expressive than a.out and will allow more
- extensibility in the base system. The <tt/ELF/ tools are better
- maintained, and offer cross compilation support, which is
- important to many people. <tt/ELF/ may be a little slower than
- a.out, but trying to measure it can be difficult. There are
- also numerous details that are different between the two in how
- they map pages, handle init code, etc. None of these are very
- important, but they are differences. In time support for
- <tt/a.out/ will be moved out of the GENERIC kernel, and
- eventually removed from the kernel once the need to run legacy
- <tt/a.out/ programs is past.
-
- <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/ restricted 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
- are often 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. Not only will
- this get you log files which are trashed (due to variable-length
- records getting written when fixed records were expected), but it can
- break Sun's NIS clients and potentially cause other problems in
- interacting with other UNIX systems.
-
- <p>In FreeBSD 3.0 and later, the maximum name length has been
- increased to 16 characters and those various utilities with
- hard-coded name sizes have been found and fixed. The fact that this
- touched so many areas of the system is why, in fact, the change was
- not made until 3.0.</p>
-
- <p>If you're absolutely confident in your ability to find and fix
- these sorts of problems for yourself when and if they pop up, you
- can increase the login name length in earlier releases by editing
- /usr/include/utmp.h and changing UT_NAMESIZE accordingly. You must
- also update MAXLOGNAME in /usr/include/sys/param.h to match
- the UT_NAMESIZE change. Finally, if you build from sources, don't
- forget that /usr/include is updated each time! Change the appropriate
- files in /usr/src/.. instead.</p>
-
- <sect1>
- <heading>Can I run DOS binaries under FreeBSD?</heading>
-
- <p>Yes, starting with version 3.0 you can using BSDI's <tt/rundos/
- DOS emulation which has been integrated and enhanced.
- Send mail to <url url="mailto:freebsd-emulation@freebsd.org"
- name="The FreeBSD emulation discussion list"> if you're interested in
- joining this ongoing effort!
-
- <p>For pre-3.0 systems, 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!
-
- <sect1>
- <heading>What does 'MFC' mean?</heading>
-
- <p>MFC is an acronym for 'Merged From -CURRENT.' It's used in the CVS
- logs to denote when a change was migrated from the CURRENT to the STABLE
- branches.
-
- </sect>
-
diff --git a/FAQ/network.sgml b/FAQ/network.sgml
deleted file mode 100644
index 35c6398041..0000000000
--- a/FAQ/network.sgml
+++ /dev/null
@@ -1,1149 +0,0 @@
-<!-- $Id: network.sgml,v 1.16 1998-10-22 18:14:54 brian 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="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 <bf/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 just hangs when I run it</heading>
-
- <p>This is usually because your hostname won't resolve. The best
- way to fix this is to make sure that <tt>/etc/hosts</tt> is
- consoluted by your resolver first by editing <tt>/etc/host.conf</tt>
- and putting the <tt>hosts</tt> line first. Then, simply put an
- entry in <tt>/etc/hosts</tt> for your local machine. If you have
- no local network, change your <tt>localhost</tt> line:
-
- <verb>
-127.0.0.1 foo.bar.com foo localhost
- </verb>
-
- Otherwise, simply add another entry for your host. Consult the
- relevant man pages for more details.
- <p>You should be able to successfully <tt>ping -c1 `hostname`</tt>
- when you're done.
-
- <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
- <bf/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 <bf/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 <bf/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. Most ppp implementations cannot survive this problem, and
- even if the link seems to come up, you'll see repeated configure
- requests and configure acknowledgements in the log file until
- ppp eventually gives up and closes the connection.
-
- <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. I've also heard reports
- of it happening consistently when using slirp. 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>This can be avoided by allowing the peer to start negotiating
- with 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 however may never initiate negotiations.
- If this is the case, you can do something like:
-
- <verb>
- set openmode active 3
- </verb>
-
- <p>This tells ppp to be passive for 3 seconds, and then to start
- sending LCP requests. If the peer starts sending requests during
- this period, ppp will immediately respond rather than waiting for
- the full 3 second period.
-
- <sect2>
- <heading>
- LCP negotiations continue 'till the connection is closed
- </heading>
-
- <p>There is currently an implementation mis-feature in <bf/ppp/
- where it doesn't associate LCP, CCP &amp; IPCP responses with
- their original requests. As a result, if one <bf/ppp/
- implementation is more than 6 seconds slower than the other side,
- the other side will send two additional LCP configuration requests.
- This is fatal.
-
- Consider two implementations, <bf/A/ and <bf/B/. <bf/A/ starts
- sending LCP requests immediately after connecting and <bf/B/ takes
- 7 seconds to start. When <bf/B/ starts, <bf/A/ has sent 3 LCP
- REQs. We're assuming the line has ECHO switched off, otherwise
- we'd see magic number problems as described in the previous section.
- <bf/B/ sends a REQ, then an ACK to the first of <bf/A/'s REQs.
- This results in <bf/A/ entering the <bf/OPENED/ state and sending
- and ACK (the first) back to <bf/B/. In the meantime, <bf/B/ sends
- back two more ACKs in response to the two additional REQs sent by
- <bf/A/ before <bf/B/ started up. <bf/B/ then receives the first
- ACK from <bf/A/ and enters the <bf/OPENED/ state. <bf/A/ receives
- the second ACK from <bf/B/ and goes back to the <bf/REQ-SENT/ state,
- sending another (forth) REQ as per the RFC. It then receives the
- third ACK and enters the <bf/OPENED/ state. In the meantime,
- <bf/B/ receives the forth REQ from <bf/A/, resulting in it reverting
- to the <bf/ACK-SENT/ state and sending another (second) REQ and
- (forth) ACK as per the RFC. <bf/A/ gets the REQ, goes into
- <bf/REQ-SENT/ and sends another REQ. It immediately receives the
- following ACK and enters <bf/OPENED/.
-
- <p>This goes on 'till one side figures out that they're getting
- nowhere and gives up.
-
- <p>The best way to avoid this is to configure one side to be
- <bf/passive/ - that is, make one side wait for the other to start
- negotiating. This can be done with the
-
- <verb>
- set openmode passive
- </verb>
-
- command. Care should be taken with this option. You should also
- use the
-
- <verb>
- set stopped N
- </verb>
-
- command to limit the amount of time that <bf/ppp/ waits for the peer
- to begin negotiations. Alternatively, the
-
- <verb>
- set openmode active N
- </verb>
-
- command (where <bf/N/ is the number of seconds to wait before
- starting negotiations) can be used. Check the manual page for
- details.
-
- <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 <bf/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
- <bf/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, <bf/ppp/
- executes a shell (or if you've passed any arguements, <bf/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 <bf/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 <bf/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 <bf/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 <bf/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
- details on how to create your own configuration file and what should
- go into it. You may also want to add the following line to your
- <bf/.mc/ file:
-
- <verb>
- define(`confDELIVERY_MODE', `d')dnl
- </verb>
-
- <p>This will make sendmail queue everything until the queue is
- run (usually, sendmail is invoked with ``-bd -q30m'', telling it
- to run the queue every 30 minutes) or until a ``sendmail -q''
- is done (perhaps from your ppp.linkup file).
-
- <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>Ppp ignores the `\' character in my chat script</heading>
-
- <p>Ppp parses each line in your config files so that it can
- interpret strings such as <tt/set phone "123 456 789"/ correctly
- (and realize that the number is actually only <bf/one/ argument.
- In order to specify a ``"'' character, you must escape it using
- a backslash (``\'').
-
- <p>When the chat interpreter parses each argument, it re-interprets
- the argument in order to find any special escape sequences such
- as ``\P'' or ``\T'' (see the man page). As a result of this
- double-parsing, you must remember to use the correct number of
- escapes.
-
- <p>If you wish to actually send a ``\'' character to (say) your
- modem, you'd need something like:
-
- <verb>
- set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"
- </verb>
-
- <p>resulting in the following sequence:
-
- <verb>
- ATZ
- OK
- AT\X
- OK
- </verb>
-
- <p>or
-
- <verb>
- set phone 1234567
- set dial "\"\" ATZ OK ATDT\\T"
- </verb>
-
- <p>resulting in the following sequence:
-
- <verb>
- ATZ
- OK
- ATDT1234567
- </verb>
-
- <sect2>
- <heading>Ppp gets a seg-fault, but I see no <tt/ppp.core/ file</heading>
-
- <p>Ppp (or any other program for that matter) should never
- dump core. Because ppp runs with an effective user id of 0,
- the operating system will not write ppps core image to disk
- before terminating it. If, however ppp <bf/is/ actually
- termating due to a segmentation violation or some other
- signal that normally causes core to be dumped, <bf/and/ you're
- sure you're using the latest version (see the start of this
- section), then you should do the following:
-
- <verb>
- $ tar xfz ppp-*.src.tar.gz
- $ cd ppp*/ppp
- $ echo STRIP= >>Makefile
- $ echo CFLAGS+=-g >>Makefile
- $ make clean all
- $ su
- # make install
- # chmod 555 /usr/sbin/ppp
- </verb>
-
- <p>You will now have a debuggable version of ppp installed. You
- will have to be root to run ppp as all of its privileges have
- been revoked. When you start ppp, take a careful note of what
- your current directory was at the time.
-
- <p>Now, if and when ppp receives the segmentation violation, it
- will dump a core file called ppp.core. You should then do the
- following:
-
- <verb>
- $ su
- # gdb /usr/sbin/ppp ppp.core
- (gdb) bt
- .....
- (gdb) f 0
- .....
- (gdb) i args
- .....
- (gdb) l
- .....
- </verb>
-
- <p>All of this information should be given alongside your
- question, making it possible to diagnose the problem.
- <p>If you're familiar with gdb, you may wish to find out some
- other bits and pieces such as what actually caused the dump and
- the addresses & values of the relevant variables.
-
- <sect2>
- <heading>
- The process that forces a dial in auto mode never connects
- </heading>
-
- <p>This was a known problem with <bf/ppp/ set up to negotiate
- a dynamic local IP number with the peer in auto mode. It is
- fixed in the latest version - search the man page for <bf/iface/.
-
- <p>The problem was that when that initial program calls
- <htmlurl url="http://www.freebsd.org/cgi/man.cgi?connect"
- name="connect(2)">, the IP number of the tun interface is
- assigned to the socket endpoint. The kernel creates the first
- outgoing packet and writes it to the tun device. <bf/Ppp/ then
- reads the packet and establishes a connection. If, as a result
- of <bf/ppp/s dynamic IP assignment, the interface address is changed,
- the original socket endpoint will be invalid. Any subsequent
- packets sent to the peer will usually be dropped. Even if
- they aren't, any responses will not route back to the originating
- machine as the IP number is no longer owned by that machine.
-
- <p>There are several theoretical ways to approach this problem.
- It would be nicest if the peer would re-assign the same IP number
- if possible <tt/:-)/ The current version of <bf/ppp/ does this,
- but most other implementations don't.
-
- <p>The easiest method from our side would be to never change the
- tun interface IP number, but instead to change all outgoing packets
- so that the source IP number is changed from the interface IP to
- the negotiated IP on the fly. This is essentially what the
- <tt/iface-alias/ option in the latest version of <bf/ppp/ is
- doing (with the help of <htmlurl
- url="http://www.freebsd.org/cgi/man.cgi?libalias" name="libalias(3)">
- and ppp's <bf/-alias/ switch) - it's maintaining all previous
- interface addresses and aliasing them to the last negotiated address.
-
- <p>Another alternative (and probably the most reliable) would be
- to implement a system call that changes all bound sockets from one
- IP to another. <bf/Ppp/ would use this call to modify the
- sockets of all existing programs when a new IP number is
- negotiated. The same system call could be used by dhcp clients
- when they are forced to re-bind() their sockets.
-
- <p>Yet another possibility is to allow an interface to be brought
- up without an IP number. Outgoing packets would be given
- an IP number of 255.255.255.255 up until the first SIOCAIFADDR
- ioctl is done. This would result in fully binding the socket. It
- would be up to <bf/ppp/ to change the source IP number, but only if
- it's set to 255.255.255.255, and only the IP number and IP checksum
- would need to change. This, however is a bit of a hack as
- the kernel would be sending bad packets to an improperly
- configured interface, on the assumption that some other mechanism
- is capable of fixing things retrospectively.
-
- <sect2>
- <heading>Why don't most games work with the -alias switch</heading>
-
- <p>The reason games and the like don't work when libalias is
- in use is that the machine on the outside will try to open a
- connection or send (unsolicited) UDP packets to the machine
- on the inside. The packet alias software doesn't know that
- it should send these packets to the interior machine.
-
- <p>To make things work, make sure that the only thing running
- is the software that you're having problems with, then either
- run tcpdump on the tun interface of the gateway or enable ppp
- tcp/ip logging (``set log +tcp/ip'') on the gateway.
-
- <p>When you start the offending software, you should see packets
- passing through the gateway machine. When something comes back
- from the outside, it'll be dropped (that's the problem). Note
- the port number of these packets then shut down the offending
- software. Do this a few times to see if the port numbers are
- consistent. If they are, then the following line in the relevant
- section of /etc/ppp/ppp.conf will make the software functional:
-
- <verb>
- alias port proto internalmachine:port port
- </verb>
-
- <p>where ``proto'' is either ``tcp'' or ``udp'',
- ``internalmachine'' is the machine that you want the packets
- to be sent to and ``port'' is the destination port number of
- the packets.
-
- <p>You won't be able to use the software on other machines
- without changing the above command, and running the software
- on two internal machines at the same time is out of the question
- - after all, the outside world is seeing your entire internal
- network as being just a single machine.
-
- <p>If the port numbers aren't consistent, there are three more
- options:
-
- <p><bf>1)</bf> Submit support in libalias. Examples of ``special
- cases'' can be found in /usr/src/lib/libalias/alias_*.c (alias_ftp.c
- is a good prototype). This usually involves reading certain
- recognised outgoing packets, identifying the instruction that
- tells the outside machine to initiate a connection back to the
- internal machine on a specific (random) port and setting up a
- ``route'' in the alias table so that the subsequent packets
- know where to go.
-
- <p>This is the most difficult solution, but it is the best and
- will make the software work with multiple machines.
-
- <p><bf>2)</bf> Use a proxy. The application may support socks5
- for example, or (as in the ``cvsup'' case) may have a ``passive''
- option that avoids ever requesting that the peer open connections
- back to the local machine.
-
- <p><bf>3)</bf> Redirect everything to the internal machine using
- ``alias addr''. This is the sledge-hammer approach.
-
- <sect2>
- <heading>What are FCS errors ?</heading>
-
- <p>FCS stands for <bf/F/rame <bf/C/heck <bf/S/equence. Each
- ppp packet has a checksum attached to ensure that the data
- being received is the data being sent. If the FCS of an
- incoming packet is incorrect, the packet is dropped and the
- HDLC FCS count is increased. The HDLC error values can be
- displayed using the <tt>show hdlc</tt> command.
-
- <p>If your link is bad (or if your serial driver is dropping
- packets), you will see the occasional FCS error. This is not
- usually worth worrying about although it does slow down the
- compression protocols substantially. If you have an external
- modem, make sure your cable is properly shielded from
- interference - this may erradicate the problem.
-
- <p>If your link freezes as soon as you've connected and you see
- a large number of FCS errors, this may be because your link is
- not 8 bit clean. Make sure your modem is not using software
- flow control (XON/XOFF). If your datalink <bf>must</bf> use
- software flow control, use the command
- <tt>set accmap 0x000a0000</tt> to tell <bf>ppp</bf> to escape
- the ^Q and ^S characters.
-
- <p>Another reason for seeing too many FCS errors may be that
- the remote end has stopped talking <bf/PPP/. You may want to
- enable <tt/async/ logging at this point to determine if the
- incoming data is actually a login or shell prompt. If you
- have a shell prompt at the remote end, it's possible to
- terminate ppp without dropping the line by using the
- <tt>close lcp</tt> command (a following <tt>term</tt> command
- will reconnect you to the shell on the remote machine.
-
- <p>If nothing in your log file indicates why the link might
- have been terminated, you should ask the remote administrator
- (your ISP?) why the session was terminated.
-
- <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 <bf/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
- later by default. If you want your box to run as a multicast router,
- you will need to recompile your kernel with the <tt>MROUTING</tt>
- option and run <tt/mrouted/. FreeBSD 2.2 and later will start
- <tt/mrouted/ at boot time if the flag <tt/mrouted_enable/ is set
- to "YES" in <tt>/etc/rc.conf</tt>.
-
- <p>MBONE tools are available in their own ports category, mbone. If
- you are looking for the conference tools <tt/vic/ and <tt/vat/,
- look there!
-
- <p>For more information, see the
- <url url="http://www.mbone.com/" name="Mbone Information Web">.
-
- <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">, with some more modern additions:
-
- <verb>
- Vendor Model
- ----------------------------------------------
- ASUS PCI-L101-TB
- Accton ENI1203
- Cogent EM960PCI
- Compex ENET32-PCI
- D-Link DE-530
- Dayna DP1203, DP2100
- 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>You can also set "firewall_type='open'" in <tt>/etc/rc.conf</tt>.
-
- <p>For further information on configuring a FreeBSD firewall,
- see the <url url="../handbook/firewalls.html" name="Handbook section">.
-
- <sect1>
- <heading>How much overhead does IPFW incur?</heading>
-
- <p>The answer to this depends mostly on your rule set and processor
- speed. For most applications dealing with ethernet and small
- rule sets, the answer is, negligible. For those of you that need
- actual measurements to satisfy your curiosity, read on.
-
- <p>The following measurements were made using 2.2.5-STABLE on
- a 486-66. IPFW was modified to measure the time spent within
- the <tt/ip_fw_chk/ routine, displaying the results to the console
- every 1000 packets.
-
- <p>Two rule sets, each with 1000 rules were tested. The first set
- was designed to demonstrate a worst case scenario by repeating the
- rule:
-
- <verb>
- ipfw add deny tcp from any to any 55555
- </verb>
-
- <p>This demonstrates worst case by causing most of IPFW's packet
- check routine to be executed before finally deciding that the
- packet does not match the rule (by virtue of the port number).
- Following the 999th iteration of this rule was an <tt>allow ip
- from any to any</tt>.
-
- <p>The second set of rules were designed to abort the rule
- check quickly:
-
- <verb>
- ipfw add deny ip from 1.2.3.4 to 1.2.3.4
- </verb>
-
- <p>The nonmatching source IP address for the above rule causes
- these rules to be skipped very quickly. As before, the 1000th
- rule was an <tt>allow ip from any to any</tt>.
-
- <p>The per-packet processing overhead in the former case was
- approximately 2.703ms/packet, or roughly 2.7 microseconds per
- rule. Thus the theoretical packet processing limit with these
- rules is around 370 packets per second. Assuming 10Mbps ethernet
- and a ~1500 byte packet size, we would only be able to achieve a
- 55.5% bandwidth utilization.
-
- <p>For the latter case each packet was processed in
- approximately 1.172ms, or roughly 1.2 microseconds per rule.
- The theoretical packet processing limit here would be about
- 853 packets per second, which could consume 10Mbps ethernet
- bandwidth.
-
- <p>The excessive number of rules tested and the nature of those
- rules do not provide a real-world scenario -- they were used only
- to generate the timing information presented here. Here are a
- few things to keep in mind when building an efficient rule set:
-
- <itemize>
-
- <item>Place an `established' rule early on to handle the
- majority of TCP traffic. Don't put any <tt>allow tcp</tt>
- statements before this rule.
-
- <item>Place heavily triggered rules earlier in the rule
- set than those rarely used (<bf>without changing the
- permissiveness of the firewall</bf>, of course). You can see
- which rules are used most often by examining the packet counting
- statistics with <tt>ipfw -a l</tt>.
-
- </itemize>
-
- <sect1>
- <heading>How can I redirect service requests from one machine to another?
- </heading>
-
- <p>You can redirect FTP (and other service) request with the 'socket'
- package, available in the ports tree in category 'sysutils'.
- Simply replace the service's commandline to call socket instead, like so:
-
-<verb>
-ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp
-</verb>
-
- <p>where 'ftp.foo.com' and 'ftp' are the host and port to redirect to,
- respectively.
-
- </sect>
-
diff --git a/FAQ/preface.sgml b/FAQ/preface.sgml
deleted file mode 100644
index c3294fa176..0000000000
--- a/FAQ/preface.sgml
+++ /dev/null
@@ -1,618 +0,0 @@
-<!-- $Id: preface.sgml,v 1.19 1998-08-30 05:36:38 motoyuki 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:FAQ@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="../gallery/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 compensation 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.7-RELEASE"
- name="2.2.7"> is the latest <em>stable</em> version; it was released
- in July, 1998. 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 -> 2.2.6 -> 2.2.7
- | (Mar 1997) (Oct 97) (Apr 98) (Jul 98)
- |
- |
- 3.0-SNAPs (started Q1 1997)
- |
- |
- 3.0.0-RELEASE (Oct 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 <url
- url="../alpha/alpha.html" name="DEC Alpha">
- and <url url="http://www.freebsd.org/~jseger/freebsd-sparc/"
- name="UltraSPARC"> 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.7R see the
- <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.2.7-RELEASE/"
- name="2.2.7-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.7 -> 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 F<newline>
- Concord, CA 94520 USA<newline>
- Orders: +1 800 786-9907<newline>
- Questions: +1 925 674-0783<newline>
- FAX: +1 925 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 &amp; 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>Yes, most major IRC networks host a FreeBSD chat
- channel:
-
- <itemize>
- <item>Channel <tt>&num;FreeBSD</tt> on EFNET is perhaps the most
- popular. Available at server <tt>irc.chat.org</tt>.
-
- <item>Channel <tt>&num;FreeBSD</tt> on DALNET
- is available at <tt>irc.dal.net</tt> in the US and
- <tt>irc.eu.dal.net</tt> in Europe.
-
- <item>Channel <tt>&num;FreeBSD</tt> on UNDERNET is
- available at <tt>us.undernet.org</tt> in the US and
- <tt>eu.undernet.org</tt> in Europe.
-
- <item>Finally, you can also join <tt>&num;FreeBSD</tt> on BSDNET,
- a smaller BSD only chat network, at <tt>irc.FreeBSD.org</tt>.
-
- </itemize>
-
- <p>Each of these channels are distinct and are not connected to
- each other. Their chat styles also differ, so you may need to try
- each to find one suited to your chat style.
-
- <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.7 CDROM. There is also
- a larger book entitled ``The Complete FreeBSD'', which comes with
- additional printed manpages and includes the 2.2.7 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:freebsd-doc@FreeBSD.ORG"
- name="&lt;freebsd-doc@FreeBSD.ORG&gt;">.
- This list is for discussion of the FreeBSD documentation. For
- actual questions about FreeBSD, there is the <tt>questions</tt>
- mailing list:
- <url url="mailto:freebsd-questions@FreeBSD.ORG"
- name="&lt;freebsd-questions@FreeBSD.ORG&gt;">.
-
- <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>The definitive printed guide on FreeBSD is ``The Complete FreeBSD'',
- written by Greg Lehey and published by Walnut Creek CDROM Books. Now
- in its second edition, the book contains 1,750 pages of install &
- system administration guidance, program setup help, and manual pages.
- The book (and current FreeBSD release) can be ordered from
- <url url="http://www.cdrom.com" name="Walnut Creek">,
- <url url="http://www.cheapbytes.com" name="CheapBytes">, or at your
- favorite bookstore. The ISBN is 1-57176-227-2.
-
- <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>
- <url url="&isbn.amazon/1-56592-080-5" name="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>
- <url url="&isbn.amazon/1-56592-075-9" name="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>
- <url url="&isbn.amazon/1-56592-076-7" name="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>
- <url url="&isbn.amazon/1-56592-078-3" name="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>
- <url url="&isbn.amazon/1-56592-079-1" name="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">. Due to poor sales, however, these
- manuals may be hard to get a hold of.
-
- <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>
- <url url="&isbn.amazon/0-201-54979-4" name="ISBN"> 0-201-54979-4<newline>
-
- <p>A good book on system administration is:
-
- <p>Evi Nemeth, Garth Snyder, Scott Seebass &amp; Trent R. Hein,<newline>
- ``Unix System Administration Handbook'', Prentice-Hall, 1995<newline>
- <url url="&isbn.amazon/0-13-151051-7" name="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&dollar;45-&dollar;55), but worth it. It also
- includes a CDROM with the sources for various tools; most of
- these, however, are also on the FreeBSD 2.2.6R 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/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>Where can I get ASCII/PostScript versions of the FAQ?</heading>
-
- <p>The up-to-date FAQ is available from the FreeBSD Web Server or any
- mirror as PostScript and plain text (7 bit ASCII and 8-bit Latin1).
-
- <p>As PostScript (about 370KB):
- <itemize>
- <item><url url="http://www.freebsd.org/FAQ/FAQ.ps"
- name="http://www.freebsd.org/FAQ/FAQ.ps">
- </itemize>
-
- <p>As ASCII text (about 220KB):
- <itemize>
- <item><url url="http://www.freebsd.org/FAQ/FAQ.ascii"
- name="http://www.freebsd.org/FAQ/FAQ.ascii">
- </itemize>
-
- <p>As ISO 8859-1 text (about 220KB):
- <itemize>
- <item><url url="http://www.freebsd.org/FAQ/FAQ.latin1"
- name="http://www.freebsd.org/FAQ/FAQ.latin1">
- </itemize>
-
- <sect1>
- <heading>Where can I get ASCII/PostScript versions of the Handbook?</heading>
-
- <p>The up-to-date Handbook is available from the FreeBSD Web Server or any
- mirror as PostScript and plain text (7 bit ASCII and 8-bit Latin1).
-
- <p>As PostScript (about 1.7MB):
- <itemize>
- <item><url url="http://www.freebsd.org/handbook/handbook.ps"
- name="http://www.freebsd.org/handbook/handbook.ps">
- </itemize>
-
- <p>As ASCII text (about 1080KB):
- <itemize>
- <item><url url="http://www.freebsd.org/handbook/handbook.ascii"
- name="http://www.freebsd.org/handbook/handbook.ascii">
- </itemize>
-
- <p>As ISO 8859-1 text (about 1080KB):
- <itemize>
- <item><url url="http://www.freebsd.org/handbook/handbook.latin1"
- name="http://www.freebsd.org/handbook/handbook.latin1">
- </itemize>
-
- <sect1>
- <heading>The ASCII handbook isn't plain text!</heading>
-
- <p>True, the ASCII and Latin1 versions of the FAQ and Handbook aren't
- strictly plaintext; they contain underlines and overprints that
- assume the output is going directly to a dot matrix printer. If you
- need to reformat them to be human-readable, run the file through col:
-
- <verb>
- $ col -b < inputfile > outputfile
- </verb>
-
- <sect1>
- <heading>I'd like to become a FreeBSD Web mirror!</heading>
-
- <p>Certainly! There are multiple ways to mirror the Web pages.
-
- <itemize>
- <item>Using CVSUP: You can retrieve the formatted files using CVSUP
- from cvsup.freebsd.org. Add this line to your cvsup file:
-
-<verb>
-www release=current hostname=/home base=/usr/local/etc/cvsup
-prefix=/usr/local/www/data/www.freebsd.org delete old use-rel-suffix
-
-</verb>
-
- <item>Using rsync: See <url url="http://www.freebsd.org/internal/mirror.html"
- name="the mirroring page"> for information.
- <item>Using ftp mirror: You can download the FTP server's copy of
- the web site using your favorite ftp mirror tool. Simply start at
- ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/www.
- </itemize>
-
- <sect1>
- <heading>I'd like to translate the documentation into Friesian.</heading>
-
- <p>Well, we can't pay, but we might arrange a free CD or T-shirt and a
- Contributor's Handbook entry if you submit a translation of the
- documentation.
-
- <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="news: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>
-
diff --git a/FAQ/serial.sgml b/FAQ/serial.sgml
deleted file mode 100644
index b432d9abec..0000000000
--- a/FAQ/serial.sgml
+++ /dev/null
@@ -1,535 +0,0 @@
-<!-- $Id: serial.sgml,v 1.2 1998-05-19 01:47:43 jkh 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&lowbar;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 &amp;C1 &amp;D3 &amp;K3 &amp;Q6 S0=1 &amp;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&amp;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&amp;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 &lt;host&gt;/'' 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=&lt;single-char&gt;/'' followed by a newline.
- <tt/&lt;single-char&gt;/ is any single character. If you leave
- out <tt/&lt;single-char&gt;/, 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/&lt;single-char&gt;/ 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>&dollar;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 &lt;files&gt;/'' (or
- ``<tt/~C lsz &lt;files&gt;/'') to send them to the
- remote system.
-
- <sect1>
- <heading>FreeBSD can't seem to find my serial ports, even when the
- settings are correct.</heading>
-
- <p>Motherboards and cards with Acer UARTs do not probe properly under
- the FreeBSD sio probe. Obtain a patch from
- <url url="http://www.lemis.com/serial-port-patch.html"
- name="www.lemis.com"> to fix your problem.
-
- </sect>
-
diff --git a/FAQ/troubleshoot.sgml b/FAQ/troubleshoot.sgml
deleted file mode 100644
index 71c455151e..0000000000
--- a/FAQ/troubleshoot.sgml
+++ /dev/null
@@ -1,427 +0,0 @@
-<!-- $Id: troubleshoot.sgml,v 1.5 1998-06-27 01:13:49 hoek 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.
-
- <p>If remapping is enabled and you are seeing bad blocks, consider
- replacing the drive. The bad blocks will only get worse as time
- goes on.
-
- <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 ``&gt;16MB'' problem mentioned in
- the section <ref id="bigram" name="on &gt;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="../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.
-
- <p>Some NE2000 compatible cards will give this error if there is
- no link on the UTP port or if the cable is disconnected.
-
- <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&lowbar;cd9660/'' command to be executed, and so the
- above example could be shortened to:
-
- <verb>
- mount_cd9660 /dev/cd0c /mnt
- </verb>
-
- <sect1>
- <heading>When I 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&amp;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) (or less... some BIOSes peg the memory size to 16M).
- If you have more than 64MB, FreeBSD will attempt to detect it;
- however, the attempt may fail.
-
- <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=&lt;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=&lt;n>"</tt>
-
- <p>to your kernel config file, where &lt;n&gt; 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">. The default value for NMBCLUSTERS is
- <tt/512 + MAXUSERS * 16/.
-
- <sect1>
- <heading>``CMAP busy panic'' when rebooting with a new kernel.</heading>
-
- <p>The logic that attempts to detect an out of date
- <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.
-
- <sect1>
- <heading>Full screen applications on remote machines misbehave!
- </heading>
- <p>The remote machine may be setting your terminal type
- to something other than the <tt>cons25</tt> terminal type used
- by the FreeBSD console.
- <p>There are a number of work-arounds for this problem:
- <itemize>
- <item>After logging on to the remote machine, set your TERM shell
- variable to either <tt>ansi</tt> or <tt>sco</tt>.
- <item>Use a VT100 emulator like <htmlurl
- url="http://www.freebsd.org/cgi/ports.cgi?screen-" name="screen">
- locally. <tt>screen</tt> offers you the ability to run
- multiple concurrent sessions from one terminal, and is a neat
- program in its own right.
- <item>Install the <tt>cons25</tt> terminal database entry on
- the remote machine.
- <item>Fire up X and login to the remote machine from an
- <tt>xterm</tt>.
- </itemize>
- </sect>
-
diff --git a/FAQ/x.sgml b/FAQ/x.sgml
deleted file mode 100644
index 48c25fc6c5..0000000000
--- a/FAQ/x.sgml
+++ /dev/null
@@ -1,369 +0,0 @@
-<!-- $Id: x.sgml,v 1.5 1998-09-07 21:33:23 steve 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&amp;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<label id="x-and-moused"></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 on boot?</heading>
-
- <p>There are two schools of thought on how to start <htmlurl url=
- "http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;query=xdm"
- name="xdm">. One school starts xdm from
- <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ttys"
- name="/etc/ttys"> using the supplied example, while the other
- simply runs xdm from <htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc"
- name="rc.local"> or
- from a <tt/X.sh/ script in <tt>/usr/local/etc/rc.d</tt>.
- Both are equally valid, and one may work in
- situations where the other doesn't. In both cases the result is the
- same: X will popup a graphical login: prompt.
-
- <p>The ttys method has the advantage
- of documenting which vty X will start on and passing the responsibiilty
- of restarting the X server on logout to init. The rc.local method
- makes it easy to kill xdm if there is a problem starting the X server.
-
- <p>If loaded from rc.local, <tt/xdm/ should be started without any
- arguments (i.e., as a daemon).
-
- <p>A previous version of the FAQ said 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&amp;query=X"
- name="X"> with <htmlurl
- url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;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&amp;query=xterm"
- name="xterm -C"> and <htmlurl url=
- "http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&amp;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 may have somewhat become out of
- synchronization.
-
- <p>In versions 2.2.5 and earlier, 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.
-
- <p>In versions 2.2.6 and later, synchronization check is done
- in a slightly better way and is standard in the PS/2 mouse driver.
- It should even work with GlidePoint. (As the check code has become
- a standard feature, PSM_CHECKSYNC option is not available in these
- versions.) However, in rare case the driver may erroneously report
- synchronization problem and you may see the kernel message:
-
- <verb>
- psmintr: out of sync (xxxx != yyyy)
- </verb>
-
- and find your mouse doesn't seem to work properly.
-
- <p>If this happens, disable the synchronization check code by
- setting the driver flags for the PS/2 mouse driver to 0x100.
- Enter <em>UserConfig</em> by giving the ``<tt>-c</tt>'' option
- at the boot prompt:
-
- <verb>
- boot: -c
- </verb>
-
- Then, in the <em>UserConfig</em> command line, type:
-
- <verb>
- UserConfig> flags psm0 0x100
- UserConfig> quit
- </verb>
-
- <sect1>
- <heading>My PS/2 mouse from MouseSystems doesn't seem to work.</heading>
-
- <p>There have been some reports that certain model of PS/2 mouse
- from MouseSystems works only if it is put into the ``high resolution''
- mode. Otherwise, the mouse cursor may jump to the upper-left
- corner of the screen every so often.
-
- <p>Unfortunately there is no workaround for versions 2.0.X and
- 2.1.X. In versions 2.2 through 2.2.5, apply the following patch
- to <tt>/sys/i386/isa/psm.c</tt> and rebuild the kernel. See the
- section on <ref id="make-kernel" name="building a kernel">
- if you've no experience with building kernels.
-
- <verb>
-diff -u psm.c.orig psm.c
-@@ -766,6 +766,8 @@
- if (verbose >= 2)
- log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n",
- unit, i);
-+ set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH);
-+
- #if 0
- set_mouse_scaling(sc->kbdc); /* 1:1 scaling */
- set_mouse_mode(sc->kbdc); /* stream mode */
- </verb>
-
- <p>In versions 2.2.6 or later, specify the flags 0x04 to the PS/2
- mouse driver to put the mouse into the high resolution mode.
- Enter <em>UserConfig</em> by giving the ``<tt>-c</tt>'' option
- at the boot prompt:
-
- <verb>
- boot: -c
- </verb>
-
- Then, in the <em>UserConfig</em> command line, type:
-
- <verb>
- UserConfig> flags psm0 0x04
- UserConfig> quit
- </verb>
-
- <p>See the previous section for another possible cause of mouse
- problems.
-
- <sect1>
- <heading>When building an X app, <tt/imake/ can't find <tt/Imake.tmpl/. Where is it?
- </heading>
-
- <p>Imake.tmpl is part of the Imake package, a standard X application building tool.
- Imake.tmpl, as well as several header files that are required to build X apps,
- is contained in the X prog distribution. You can install this from sysinstall or
- manually from the X distribution files. </p>
-
- </sect1>
-
- <sect1>
- <heading>How do I reverse the mouse buttons?
- </heading>
-
- <p>Run the command <tt/ xmodmap -e "pointer = 3 2 1"/ from your .xinitrc or .xsession.
- </p>
- </sect1>
- </sect>
-