diff options
| -rw-r--r-- | FAQ/FAQ.sgml | 5094 | ||||
| -rw-r--r-- | FAQ/Makefile | 7 | ||||
| -rw-r--r-- | FAQ/acknowledgments.sgml | 41 | ||||
| -rw-r--r-- | FAQ/admin.sgml | 945 | ||||
| -rw-r--r-- | FAQ/applications.sgml | 131 | ||||
| -rw-r--r-- | FAQ/commercial.sgml | 95 | ||||
| -rw-r--r-- | FAQ/hackers.sgml | 265 | ||||
| -rw-r--r-- | FAQ/hardware.sgml | 422 | ||||
| -rw-r--r-- | FAQ/install.sgml | 443 | ||||
| -rw-r--r-- | FAQ/kernelconfig.sgml | 157 | ||||
| -rw-r--r-- | FAQ/misc.sgml | 214 | ||||
| -rw-r--r-- | FAQ/network.sgml | 723 | ||||
| -rw-r--r-- | FAQ/preface.sgml | 497 | ||||
| -rw-r--r-- | FAQ/serial.sgml | 526 | ||||
| -rw-r--r-- | FAQ/troubleshoot.sgml | 398 | ||||
| -rw-r--r-- | FAQ/x.sgml | 270 |
16 files changed, 5166 insertions, 5062 deletions
diff --git a/FAQ/FAQ.sgml b/FAQ/FAQ.sgml index 66c42e9509..881b993a75 100644 --- a/FAQ/FAQ.sgml +++ b/FAQ/FAQ.sgml @@ -1,11 +1,28 @@ -<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN"> -<!-- $Id: FAQ.sgml,v 1.92 1997-10-29 12:27:53 jkh Exp $ --> +<!-- $Id: FAQ.sgml,v 1.93 1997-11-03 08:53:31 max Exp $ --> +<!-- The FreeBSD Documentation Project --> + +<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [ +<!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 - <date>$Date: 1997-10-29 12:27:53 $</date> + <date>$Date: 1997-11-03 08:53:31 $</date> <abstract> This is the FAQ for FreeBSD systems version 2.X All entries are @@ -15,5062 +32,19 @@ <toc> - <sect> - <heading>Preface</heading> - - <p>Welcome to the FreeBSD 2.X FAQ! - - <sect1> - <heading>What is the purpose of this FAQ?</heading> - - <p>As is usual with Usenet FAQs, this document aims to cover the most - frequently asked questions concerning the FreeBSD operating system - (and of course answer them!). Although originally intended to reduce - bandwidth and avoid the same old questions being asked over and over - again, FAQs have become recognized as valuable information resources. - - <p>Every effort has been made to make this FAQ as informative as - possible; if you have any suggestions as to how it may be improved, - please feel free to mail them to the <url url="mailto:pds@FreeBSD.ORG" - name="FAQ maintainer">. - - <sect1> - <heading>What is FreeBSD?</heading> - - <p>Briefly, FreeBSD 2.X is a UN*X-like operating system based on - U.C. Berkeley's 4.4BSD-lite release for the i386 platform. It is - also based indirectly on William Jolitz's port of U.C. Berkeley's - Net/2 to the i386, known as 386BSD, though very little of the 386BSD - code remains. A fuller description of what FreeBSD is and how - it can work for you may be found on the <url url="http://www.freebsd.org" - name="FreeBSD home page">. - - <p>FreeBSD is used by companies, Internet Service Providers, researchers, - computer professionals, students and home users all over the world - in their work, education and recreation. See some of them in the - <url url="http://www.freebsd.org/gallery.html" name="FreeBSD Gallery."> - - <p>For more detailed information on FreeBSD, please see the - <url url="../handbook/handbook.html" name="FreeBSD Handbook."> - - <sect1> - <heading>What are the goals of FreeBSD?</heading> - - <p>The goals of the FreeBSD Project are to provide software that may - be used for any purpose and without strings attached. Many of us - have a significant investment in the code (and project) and would - certainly not mind a little financial renumeration now and then, - but we're definitely not prepared to insist on it. We believe - that our first and foremost "mission" is to provide code to any - and all comers, and for whatever purpose, so that the code gets - the widest possible use and provides the widest possible benefit. - This is, we believe, one of the most fundamental goals of Free - Software and one that we enthusiastically support. - - <p>That code in our source tree which falls under the GNU Public License - (GPL) or GNU Library Public License (GLPL) comes with slightly more - strings attached, though at least on the side of enforced - access rather than the usual opposite. Due to the additional - complexities that can evolve in the commercial use of GPL software, - we do, however, endeavor to replace such software with submissions - under the more relaxed BSD copyright whenever possible. - - <sect1> - <heading>Why is it called FreeBSD?</heading> - - <p> - <itemize> - <item>It may be used free of charge, even by commercial users. - - <item>Full source for the operating system is freely available, and - the minimum possible restrictions have been placed upon its - use, distribution and incorporation into other work (commercial - or non-commercial). - - <item>Anyone who has an improvement and/or bug fix is free to submit - their code and have it added to the source tree (subject to - one or two obvious provisos). - </itemize> - - <p>For those of our readers whose first language is not English, it - may be worth pointing out that the word ``free'' is being used in two - ways here, one meaning ``at no cost'', the other meaning ``you can do - whatever you like''. Apart from one or two things you <tt /cannot/ - do with the FreeBSD code, for example pretending you wrote it, you - really can do whatever you like with it. - - <sect1> - <heading>What is the latest version of FreeBSD?</heading> - - <p>Version <url url="ftp://ftp.freebsd.org/pub/FreeBSD/2.2.5-RELEASE" - name="2.2.5"> is the latest <em>stable</em> version; it was released - in October, 1997. This is also the latest <em>release</em> version. - - <p>Briefly explained, <bf>-stable</bf> is aimed at the ISP or other - corporate user who wants stability and a low change count over - the wizzy new features of the latest release. At the moment, these - versions are one and the same, but it shouldn't be long before the - <bf>-current</bf> branch is polished enough for general release. - - <p>This is not to say that a 3.0-current snapshot is unusable for - business services, and many people who need some 3.0 specific feature - (newer compiler technology, faster networking code, etc) have decided - to take a chance with it with very good results. We simply do not - wish to "certify" 3.0 as mission-worthy until it's been better - shaken-out. - - <sect1> - <heading>What is FreeBSD-current?<label id="current"></heading> - - <p><url url="../handbook/current.html" name="FreeBSD-current"> is the - development version of the operating system, which will in due - course become 3.0-RELEASE. As such, it is really only of interest - to developers working on the system and die-hard hobbyists. - See the <url url="../handbook/current.html" name="relevant section"> - in the <url url="../handbook/handbook.html" name="handbook"> for - details on running -current. - - <p>If you are not familiar with the operating system or are not - capable of identifying the difference between a real problem and - a temporary problem, you should not use FreeBSD-current. This - branch sometimes evolves quite quickly and can be un-buildable - for a number of days at a time. People that use FreeBSD-current - are expected to be able to analyze any problems and only report them - if they are deemed to be mistakes rather than ``glitches''. Questions - such as ``make world produces some error about groups'' on the - -current mailing list are sometimes treated with contempt. - - <p>Every now and again, a <url url="../releases/snapshots.html" - name="snapshot"> release is also made of this -current development - code, CDROM distributions of the occasional snapshot even now being - made available. The goals behind each snapshot release are: - - <itemize> - <item>To test the latest version of the installation software. - - <item>To give people who would like to run -current but who don't - have the time and/or bandwidth to follow it on a day-to-day - basis an easy way of bootstrapping it onto their systems. - - <item>To preserve a fixed reference point for the code in question, - just in case we break something really badly later. (Although - CVS normally prevents anything horrible like this happening :) - - <item>To ensure that any new features in need of testing have the - greatest possible number of potential testers. - </itemize> - - <p>No claims are made that any snapshot can be considered - ``production quality'' for any purpose. For stability - and tested mettle, you will have to stick to full releases. - - <p>Snapshot releases are directly available from <url - url="ftp://current.freebsd.org/pub/FreeBSD/"> and are generated, - on the average, once a day for both the 3.0-current and 2.2-stable - branches. - - <sect1> - <heading>What is the FreeBSD-stable concept?</heading> - - <p>Back when FreeBSD 2.0.5 was released, we decided to branch FreeBSD - development into two parts. One branch was named <url - url="../handbook/stable.html" name="-stable">, with the - intention that only well-tested bug fixes and small incremental - enhancements would be made to it (for Internet Service Providers - and other commercial enterprises for whom sudden shifts or - experimental features are quite undesirable). The other branch was - <url url="../handbook/current.html" name="-current">, which - essentially has been one unbroken line leading towards 3.0-RELEASE - (and beyond) since 2.0 was released. If a little ASCII art would - help, this is how it looks: - -<verb> - 2.0 - | - | - | [2.1-stable] - *BRANCH* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [2.1-stable ends] - | (Mar 1997) - | - | - | [2.2-stable] - *BRANCH* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5-RELEASE -> ... - | (Mar 1997) (Oct 1997) - | - | - 3.0-SNAPs (started Q1 1997) - | - | - 3.0.0-RELEASE (Q1 1998) - | - \|/ - + - [future 3.x releases] -</verb> - - <p>The -current branch is slowly progressing towards 3.0 and beyond, - whereas the previous 2.1-stable branch was superceded by the - release of 2.2.0, the new "stability branch" aka 2.2-stable. - 3.0-current will continue to be where the active development takes - place, up until the actual release of 3.0. At that point, 3.0 will - become yet another branch and 3.1-current will become the next - "current branch". - - <sect1> - <heading>Why did the 2.1-stable branch end with 2.1.7.1?</heading> - - <p>While we'd certainly like to be able to continue 3 branches of - development, we've found that the version control tools available to - us are not particularly well-suited for this; in fact, they quickly - result in a maintenance nightmare for any branch which lives much - beyond 2-3 months. The 2.1-stable branch has, by contrast, lasted for - well over a year and what little sanity the FreeBSD developers have - left would be in serious jeopardy if we continued in this way. - Perhaps in the future we'll figure out another model which gives - everyone what they want, and we are working on such a model, but in - the meantime it's probably best to think of the old -stable coming - to an end with <url - url="ftp://ftp.freebsd.org/pub/FreeBSD/pub/2.1.7.1-RELEASE" - name="2.1.7.1-RELEASE"> (the final point release after 2.1.7), and - the new -stable beginning with 2.2.2. - - <sect1> - <heading>When are FreeBSD releases made?</heading> - - <p>As a general principle, the FreeBSD core team only release a new - version of FreeBSD when they believe that there are sufficient new - features and/or bug fixes to justify one, and are satisfied that the - changes made have settled down sufficiently to avoid compromising the - stability of the release. Many users regard this caution as one of - the best things about FreeBSD, although it can be a little - frustrating when waiting for all the latest goodies to become - available... - - <p>Releases are made about every 6 months on average. - - <p>For people needing (or wanting) a little more excitement, there are - SNAPs released more frequently, particularly during the month or so - leading up to a release. - - <sect1> - <heading>Is FreeBSD only available for PCs ?</heading> - - <p>At present, yes, though a port to the DEC Alpha architecture - is under way. If your machine has a different architecture and - you need something right now, we suggest you look at - <url url="http://www.netbsd.org/" name="NetBSD"> or - <url url="http://www.openbsd.org/" name="OpenBSD">. - - <sect1> - <heading> Who is responsible for FreeBSD?</heading> - - <p>The key decisions concerning the FreeBSD project, such as the - overall direction of the project and who is allowed to add code to - the source tree, are made by a <url url="../handbook/staff:core.html" - name="core team"> of some 17 people. There is a much larger team of - around 80+ <url url="../handbook/staff:committers.html" - name="committers"> who are authorized to make changes directly to the - FreeBSD source tree. - - <p>However, most non-trivial changes are discussed in advance in the - <ref id="mailing" name="mailing lists">, and there are no restrictions - on who may take part in the discussion. - - <sect1> - <heading>Where can I get FreeBSD?<label id="where-get"></heading> - - <p>Every significant release of FreeBSD is available via anonymous ftp - from the <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/" - name="FreeBSD FTP site">: - - <itemize> - <item>For the current 2.2-stable release, 2.2.5R see the - <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.2.5-RELEASE/" - name="2.2.5-RELEASE"> directory. - - <item>For the current 3.0-current release, 3.0-SNAP, see the - <url url="ftp://current.freebsd.org/pub/FreeBSD/" name="3.0"> directory. - - <item><url url="ftp://releng22.freebsd.org/pub/FreeBSD/" - name="2.2 Snapshot"> releases are made once a day along the - RELENG_2_2 branch (2.2.5 -> 2.2.x) as it winds its way towards the - next point release on the 2.2 branch. With the occasional - exception of accidental breakage, the RELENG_2_2 branch is - being carefully maintained (no experimental changes, fixes made - only after testing in -current). - - <item><url url="ftp://current.freebsd.org/pub/FreeBSD/" - name="3.0 Snapshot">releases are also made once a day for the - <ref id="current" name="-current"> branch, these being of service - purely to bleeding-edge testers and developers. - </itemize> - - <p>FreeBSD is also available via CDROM, from the following place(s): - - <p>Walnut Creek CDROM<newline> - 4041 Pike Lane, Suite D-386<newline> - Concord, CA 94520 USA<newline> - Orders: +1 800 786-9907<newline> - Questions: +1 510 674-0783<newline> - FAX: +1 510 674-0821<newline> - email: <url url="mailto:orders@cdrom.com" name="WC Orders address"> - <newline> - WWW: <url url="http://www.cdrom.com/" name="WC Home page"> - <newline> - - <p>In Australia, you may find it at: - - <p>Advanced Multimedia Distributors<newline> - Factory 1/1 Ovata Drive<newline> - Tullamarine, Melbourne<newline> - Victoria<newline> - Australia<newline> - Voice: +61 3 9338 6777<newline> - - CDROM Support BBS<newline> - 17 Irvine St<newline> - Peppermint Grove WA 6011<newline> - Voice: +61 9 385-3793<newline> - Fax: +61 9 385-2360<newline> - - And in the UK: - - The Public Domain & Shareware Library<newline> - Winscombe House, Beacon Rd<newline> - Crowborough<newline> - Sussex. TN6 1UL<newline> - Voice: +44 1892 663-298<newline> - Fax: +44 1892 667-473<newline> - - <sect1> - <heading> - Where do I find info on the FreeBSD mailing lists?<label id="mailing"> - </heading> - - <p>You can find full information in the <url - url="../handbook/eresources:mail.html" - name="Handbook entry on mailing-lists."> - - <sect1> - <heading>What FreeBSD news groups are available?</heading> - - <p>You can find full information in the<url - url="../handbook/eresources:news.html" - name="Handbook entry on newsgroups."> - - <sect1> - <heading> - Are there FreeBSD IRC (Internet Relay Chat) channels? - </heading> - - <p>There are two channels about FreeBSD on IRC: - - <enum> - <item>The main channel is #FreeBSD on the EFNET. You can - use your regular IRC server for it. - - <item>You can point your IRC client to <tt/irc.FreeBSD.org/ - This server is on BSDnet and hosts #FreeBSD. This - is not the same channel. - </enum> - - <sect1> - <heading>Books on FreeBSD</heading> - - <p>Greg Lehey's book ``Installing and Running FreeBSD'' is available - from Walnut Creek and ships with the 2.2.5 CDROM. There is also - a larger book entitled ``The Complete FreeBSD'', which comes with - additional printed manpages and includes the 2.2.5 CDROM set. It - should be available in most good book shops now. - - <p>There is a FreeBSD Documentation Project which you may contact (or - even better, join) on the <tt>doc</tt> mailing list: - <url url="mailto:doc@FreeBSD.ORG" name="<doc@FreeBSD.ORG>">. - - <p>A FreeBSD ``handbook'' is available, and can be found as: - <url url="../handbook/handbook.html" name="the FreeBSD Handbook">. - Note that this is a work in progress, and so parts may be incomplete. - - <p>However, as FreeBSD 2.2.X is based upon Berkeley 4.4BSD-Lite2, most - of the 4.4BSD manuals are applicable to FreeBSD 2.2.X. O'Reilly - and Associates publishes these manuals: - - <itemize> - <item>4.4BSD System Manager's Manual <newline> - By Computer Systems Research Group, UC Berkeley <newline> - 1st Edition June 1994, 804 pages <newline> - ISBN: 1-56592-080-5 <newline> - - <item>4.4BSD User's Reference Manual <newline> - By Computer Systems Research Group, UC Berkeley <newline> - 1st Edition June 1994, 905 pages <newline> - ISBN: 1-56592-075-9 <newline> - - <item>4.4BSD User's Supplementary Documents <newline> - By Computer Systems Research Group, UC Berkeley <newline> - 1st Edition July 1994, 712 pages <newline> - ISBN: 1-56592-076-7 <newline> - - <item>4.4BSD Programmer's Reference Manual <newline> - By Computer Systems Research Group, UC Berkeley <newline> - 1st Edition June 1994, 886 pages <newline> - ISBN: 1-56592-078-3 <newline> - - <item>4.4BSD Programmer's Supplementary Documents <newline> - By Computer Systems Research Group, UC Berkeley <newline> - 1st Edition July 1994, 596 pages <newline> - ISBN: 1-56592-079-1 <newline> - </itemize> - - <p>A description of these can be found via WWW as: - - <url url="http://gnn.com/gnn/bus/ora/category/bsd.html" - name="4.4BSD books description"> - - <p>For a more in-depth look at the 4.4BSD kernel organization, - you can't go wrong with: - - <p>McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, - and John Quarterman.<newline> - - <p><em>The Design and Implementation of the 4.4BSD Operating - System</em>. Reading, Mass. : Addison-Wesley, 1996.<newline> - ISBN 0-201-54979-4<newline> - - <p>A good book on system administration is: - - <p>Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein,<newline> - ``Unix System Administration Handbook'', Prentice-Hall, 1995<newline> - ISBN: 0-13-151051-7<newline> - - <p><bf/NOTE/ make sure you get the second edition, with a red cover, - instead of the first edition. - - <p>This book covers the basics, as well as TCP/IP, DNS, NFS, - SLIP/PPP, sendmail, INN/NNTP, printing, etc.. It's expensive - (approx. US$45-$55), but worth it. It also - includes a CDROM with the sources for various tools; most of - these, however, are also on the FreeBSD 2.2.5R CDROM (and the - FreeBSD CDROM often has newer versions). - - <sect1> - <heading>How do I access your Problem Report database?</heading> - - <p>The Problem Report database of all open user change requests - may be queried (or submitted to) by using our web-based PR - <url url="http://www.freebsd.org/send-pr.html" name="submission"> - and <url url="http://www.freebsd.org/cgi-bin/query-pr-summary.cgi" - name="query"> interfaces. The <em>send-pr(1)</em> command - can also be used to submit problem reports and change requests via - electronic mail. - - <sect1> - <heading>Other sources of information.</heading> - - <p>The following newsgroups contain pertinent discussion for FreeBSD - users: - - <itemize> - <item><url url="news:comp.unix.bsd.freebsd.announce" - name="comp.unix.bsd.freebsd.announce"> (moderated) - - <item><url url="news:comp.unix.bsd.freebsd.misc" - name="comp.unix.bsd.freebsd.misc"> - - <item><url url="comp.unix.bsd.misc" name="comp.unix.bsd.misc"> - </itemize> - - <p>Web resources: - - <itemize> - <item>The <url url="http://www.freebsd.org/" name="FreeBSD Home Page">. - - <item><label id="pao">If you have a laptop, be sure and see - <url url="http://www.jp.FreeBSD.org/PAO/" - name="Tatsumi Hosokawa's Mobile Computing page"> in Japan. - - <item><label id="smp">For information on SMP (Symmetric - MultiProcessing), please see the <url - url="http://www.freebsd.org/~fsmp/SMP/SMP.html" - name="SMP support page">. - - <item><label id="multimedia">For information on FreeBSD multimedia - applications, please see the <url - url="http://www.freebsd.org/~faulkner/multimedia/mm.html" - name="multimedia">page. If you're interested specifically in - the <url url="http://www.freebsd.org/~ahasty/Bt848.html" - name="Bt848"> video capture chip, then follow that link. - </itemize> - - <p>The FreeBSD handbook also has a fairly complete - <url url="../handbook/bibliography.html" name="bibliography"> - section which is worth reading if you're looking for actual - books to buy. - - <sect> - <heading>Installation</heading> - - <sect1> - <heading>Which file do I download to get FreeBSD?</heading> - - <p>You generally need just one floppy image, the <em>floppies/boot.flp - </em> file, which you image-copy onto a 1.44MB floppy and then boot it - in order to download the rest (and the installation will manage your - TCP/IP collection, deal with tapes, CDROMs, floppies, DOS. - partitions, whatever's necessary to get the reset of the bits - installed). - - <p>Full instructions on this procedure and a little bit more about - installation issues in general can be found in the <url - url="../handbook/install.html" - name="Handbook entry on installing FreeBSD."> - - <sect1> - <heading>Where are the instructions for installing FreeBSD?</heading> - - <p>Installation instructions can be found in the - <url url="../handbook/install.html" - name="Handbook entry on installing FreeBSD."> - - <sect1> - <heading>What do I need in order to run FreeBSD?</heading> - - <p>You'll need a 386 or better PC, with 5 MB or more of RAM and at - least 60 MB of hard disk space. It can run with a low end MDA - graphics card but to run X11R6, a VGA or better video card is needed. - - <p>See also the section on <ref id="hardware" - name="Hardware compatibility"> - - <sect1> - <heading>I have only 4 MB of RAM. Can I install FreeBSD?</heading> - - <p>FreeBSD 2.1.7 was the last version of FreeBSD that could be installed - on a 4MB system. Newer versions of FreeBSD, like 2.2, need at least 5MB - to install on a new system. - - <p>All versions of FreeBSD, including 3.0, will RUN in 4MB of ram, they - just can't run the installation program in 4MB. You can add - extra memory for the install process, if you like, and then - after the system is up and running, go back to 4MB. Or you could - always just swap your disk into a system which has >4MB, install onto - it and then swap it back. - - <p>There are also situations in which FreeBSD 2.1.7 will not install - in 4 MB. To be exact: it does not install with 640 kB base + 3 MB - extended memory. If your motherboard can remap some of the ``lost'' - memory out of the 640kB to 1MB region, then you may still be able - to get FreeBSD 2.1.7 up. - - <p>Try to go into your BIOS setup and look for a ``remap'' option. - Enable it. You may also have to disable ROM shadowing. - - <p>It may be easier to get 4 more MB just for the install. Build a - custom kernel with only the options you need and then get the 4 - MB out again. - - <p>You may also install 2.0.5 and then upgrade your system to 2.1.7 - with the ``upgrade'' option of the 2.1.7 installation program. - - <p>After the installation, if you build a custom kernel, it will run - in 4 MB. Someone has even succeeded in booting with 2 MB (the - system was almost unusable though :-)) - - <sect1> - <heading> - How can I make my own custom install floppy? - </heading> - - <p>Currently there's no way to *just* make a custom install floppy. - You have to cut a whole new release, which will include your install - floppy. There's some code in <tt>/usr/src/release/floppies/Makefile</tt> - that's supposed to let you *just* make those floppies, but it's not - really gelled yet. - - <p>To make a custom release, follow the instructions <ref id="custrel" - name="here">. - - <sect1> - <heading>Can I have more than one operating system on my PC?</heading> - - <p>Have a look at <url url="../tutorials/multios/multios.html" - name="The multi-OS page."> - - <sect1> - <heading>Can Windows 95 co-exist with FreeBSD?</heading> - - <p>Install Windows 95 first, after that FreeBSD. FreeBSD's boot - manager will then manage to boot Win95 and FreeBSD. If you - install Windows 95 second, it will boorishly overwrite your - boot manager without even asking. If that happens, see - the next section. - - <sect1> - <heading> - Windows 95 killed my boot manager! How do I get it back? - </heading> - - <p>You can reinstall the boot manager FreeBSD comes with in one of - two ways: - - <itemize> - <item>Running DOS, go into the tools/ directory of your FreeBSD - distribution and look for <bf>bootinst.exe</bf>. You run it like so: - - <p><bf>bootinst.exe boot.bin</bf> - - <p>and the boot manager will be reinstalled. - - <item>Boot the FreeBSD boot floppy again and go to the Custom - installation menu item. Choose Partition. Select the drive which - used to contain your boot manager (likely the first one) and when you - come to the partition editor for it, as the very first thing (e.g. - do not make any changes) select (W)rite. This will ask for - confirmation, say yes, and when you get the Boot Manager selection - prompt, be sure to select "Boot Manager." - This will re-write the boot manager to disk. Now quit out of the - installation menu and reboot off the hard disk as normal. - </itemize> - - <sect1> - <heading>Can I install on a disk with bad blocks?</heading> - - <p>FreeBSD's bad block (the <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?bad144" name="bad144"> - command) handling is still not 100% (to put it charitably) and - it must unfortunately be said that if you've got an IDE or ESDI drive - with lots of bad blocks, then FreeBSD is probably not for you! - That said, it does work on thousands of IDE based systems, so - you'd do well to try it first before simply giving up. - - <p>If you have a SCSI drive with bad blocks, see <ref id="awre" - name="this answer">. - - <sect1> - <heading>Strange things happen when I boot the install floppy!</heading> - - <p>If you're seeing things like the machine grinding to a halt or - spontaneously rebooting when you try to boot the install floppy, - here are three questions to ask yourself:- - - <enum> - <item>Did you use a new, freshly-formatted, error-free floppy - (preferably a brand-new one straight out of the box, as - opposed to the magazine coverdisk that's been lying under - the bed for the last three years)? - - <item>Did you download the floppy image in binary (or image) mode? - (don't be embarrassed, even the best of us have accidentally - downloaded a binary file in ASCII mode at least once!) - - <item>If you're using one of these new-fangled operating systems - like Windows95 or Windows NT, did you shut it down and restart - the system in plain, honest DOS? It seems these OS's can - interfere with programs that write directly to hardware, which - the disk creation program does; even running it inside a DOS - shell in the GUI can cause this problem. - </enum> - - <p>There have also been reports of Netscape causing problems when - downloading the boot floppy, so it's probably best to use a different - FTP client if you can. - - <sect1> - <heading>Help! I can't install from tape!</heading> - - <p>If you are installing 2.1.7R from tape, you must create the tape - using a tar blocksize of 10 (5120 bytes). The default tar - blocksize is 20 (10240 bytes), and tapes created using this - default size cannot be used to install 2.1.7R; with these tapes, - you will get an error that complains about the record size being - too big. - - <sect1> - <heading> - Can I install on my laptop over PLIP (Parallel Line IP)? - </heading> - - <p>Connect the two computers using a Laplink parallel cable to use - this feature: - - <verb> - +----------------------------------------+ - |A-name A-End B-End Descr. Port/Bit | - +----------------------------------------+ - |DATA0 2 15 Data 0/0x01 | - |-ERROR 15 2 1/0x08 | - +----------------------------------------+ - |DATA1 3 13 Data 0/0x02 | - |+SLCT 13 3 1/0x10 | - +----------------------------------------+ - |DATA2 4 12 Data 0/0x04 | - |+PE 12 4 1/0x20 | - +----------------------------------------+ - |DATA3 5 10 Strobe 0/0x08 | - |-ACK 10 5 1/0x40 | - +----------------------------------------+ - |DATA4 6 11 Data 0/0x10 | - |BUSY 11 6 1/0x80 | - +----------------------------------------+ - |GND 18-25 18-25 GND - | - +----------------------------------------+ - </verb> - - <p>See also <ref id="pao" name="this note"> on the Mobile Computing page. - - <sect1> - <heading> - Which geometry should I use for a disk drive?<label id="geometry"> - </heading> - - <p>(By the "geometry" of a disk, we mean the number of cylinders, - heads and sectors/track on a disk - I'll refer to this as - C/H/S for convenience. This is how the PC's BIOS works out - which area on a disk to read/write from). - - <p>This seems to cause a lot of confusion for some reason. First - of all, the <tt /physical/ geometry of a SCSI drive is totally - irrelevant, as FreeBSD works in term of disk blocks. In fact, there - is no such thing as "the" physical geometry, as the sector density - varies across the disk - what manufacturers claim is the "true" - physical geometry is usually the geometry that they've worked out - results in the least wasted space. For IDE disks, FreeBSD does - work in terms of C/H/S, but all modern drives will convert this - into block references internally as well. - - <p>All that matters is the <tt /logical/ geometry - the answer that the - BIOS gets when it asks "what is your geometry?" and then uses to access - the disk. As FreeBSD uses the BIOS when booting, it's very important - to get this right. In particular, if you have more than one operating - system on a disk, they must all agree on the geometry, otherwise you - will have serious problems booting! - - <p>For SCSI disks, the geometry to use depends on whether extended - translation support is turned on in your controller (this is - often referred to as "support for DOS disks >1GB" or something - similar). If it's turned off, then use N cylinders, 64 heads - and 32 sectors/track, where 'N' is the capacity of the disk in - MB. For example, a 2GB disk should pretend to have 2048 cylinders, - 64 heads and 32 sectors/track. - - <p>If it <tt /is/ turned on (it's often supplied this way to get around - certain limitations in MSDOS) and the disk capacity is more than 1GB, - use M cylinders, 63 heads (*not* 64), and 255 sectors per track, where - 'M' is the disk capacity in MB divided by 7.844238 (!). So our - example 2GB drive would have 261 cylinders, 63 heads and 255 sectors - per track. - - <p>If you are not sure about this, or FreeBSD fails to detect the - geometry correctly during installation, the simplest way around - this is usually to create a small DOS partition on the disk. The - correct geometry should then be detected (and you can always remove - the DOS partition in the partition editor if you don't want to keep - it, or leave it around for programming network cards and the like). - - <p>Alternatively, there is a freely available utility distributed with - FreeBSD called ``<tt/pfdisk.exe/'' (located in the <tt>tools</tt> - subdirectory on the FreeBSD CDROM or on the various FreeBSD - ftp sites) which can be used to work out what geometry the other - operating systems on the disk are using. You can then enter this - geometry in the partition editor. - - <sect1> - <heading>Any restrictions on how I divide the disk up?</heading> - - <p>Yes. You must make sure that your root partition is below 1024 - cylinders so the BIOS can boot the kernel from it. (Note that this - is a limitation in the PC's BIOS, not FreeBSD). - - <p>For a SCSI drive, this will normally imply that the root partition - will be in the first 1024MB (or in the first 4096MB if extended - translation is turned on - see previous question). For IDE, the - corresponding figure is 504MB. - - <sect1> - <heading> - What about disk managers? Or, I have a large drive! - </heading> - - <p>FreeBSD recognizes the Ontrack Disk Manager and makes allowances - for it. Other disk managers are not supported. - - <p>If you just want to use the disk with FreeBSD you don't need a - disk manager. Just configure the disk for as much space as the - BIOS can deal with (usually 504 megabytes), and FreeBSD - should figure out how much space you really have. If you're using - an old disk with an MFM controller, you may need to explicitly - tell FreeBSD how many cylinders to use. - - <p>If you want to use the disk with FreeBSD and another operating - system, you may be able to do without a disk manager: just make sure - the the FreeBSD boot partition and the slice for the other - operating system are in the first 1024 cylinders. If you're - reasonably careful, a 20 megabyte boot partition should be plenty. - - <sect1> - <heading> - When I boot FreeBSD I get ``Missing Operating System'' - <label id="missing_os"> - </heading> - - <p>This is classically a case of FreeBSD and DOS or some other OS - conflicting over their ideas of disk <ref id="geometry" - name="geometry."> You will have to reinstall FreeBSD, but obeying the - instructions given above will almost always get you going. - - <sect1> - <heading>I can't get past the boot manager's `F?' prompt.</heading> - - <p>This is another symptom of the problem described in the preceding - question. Your BIOS geometry and FreeBSD geometry settings do - not agree! If your controller or BIOS supports cylinder - translation (often marked as ``>1GB drive support''), try - toggling its setting and reinstalling FreeBSD. - - <sect1> - <heading> - I have >16MB of RAM. Will this cause any problems?<label id="bigram"> - </heading> - - <p>Apart from performance issues, no. FreeBSD 2.X comes with bounce - buffers which allow your bus mastering controller access to greater - than 16MB. (Note that this should only be required if you are using - ISA devices, although one or two broken EISA and VLB devices may - need it as well). - - <p>Also look at the section on <ref id="reallybigram" - name=">64M machines"> if you have that much memory, - or if you're using a Compaq or other BIOS that lies about - the available memory. - - <sect1> - <heading>Do I need to install the complete sources?</heading> - - <p>In general, no. However, we would strongly recommend that you - install, at a minimum, the ``<tt/base/'' source kit, which - includes several of the files mentioned here, and the - ``<tt/sys/'' (kernel) source kit, which includes sources for the - kernel. There is nothing in the system which requires the - presence of the sources to operate, however, except for the - kernel-configuration program - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?config" - name="config">. With the exception - of the kernel sources, our build structure is set up so that you - can read-only mount the sources from elsewhere via NFS and still - be able to make new binaries. (Because of the kernel-source - restriction, we recommend that you not mount this on - <tt>/usr/src</tt> directly, but rather in some other location - with appropriate symbolic links to duplicate the top-level - structure of the source tree.) - - <p>Having the sources on-line and knowing how to build a system with - them will make it much easier for you to upgrade to future - releases of FreeBSD. - - <p>To actually select a subset of the sources, use the Custom - menu item when you are in the Distributions menu of the - system installation tool. The <tt>src/install.sh</tt> script - will also install partial pieces of the source distribution, - depending on the arguments you pass it. - - <sect1> - <heading>Do I need to build a kernel?</heading> - - <p>Building a new kernel was originally pretty much a required - step in a FreeBSD installation, but more recent releases have - benefited from the introduction of a much friendlier kernel - configuration tool. When at the FreeBSD boot prompt (boot:), - use the "-c" flag and you will be dropped into a visual - configuration screen which allows you to configure the kernel's - settings for most common ISA cards. - - <p>It's still recommended that you eventually build a new - kernel containing just the drivers that you need, just to save a - bit of RAM, but it's no longer a strict requirement for most - systems. - - <sect1> - <heading>I live outside the US. Can I use DES encryption?</heading> - - <p>If it is not absolutely imperative that you use DES style - encryption, you can use FreeBSD's default encryption for even - <bf/better/ security, and with no export restrictions. FreeBSD - 2.0's password default scrambler is now <bf/MD5/-based, and is - more CPU-intensive to crack with an automated password cracker - than DES, and allows longer passwords as well. The only reason - for not using the <bf/MD5/-based crypt today would be to use the - the same password entries on FreeBSD and non-FreeBSD systems. - - <p>Since the DES encryption algorithm cannot legally be exported - from the US, non-US users should not download this software (as - part of the <tt/secrdist/ from US FTP sites. - - <p>There is however a replacement libcrypt available, based on - sources written in Australia by David Burren. This code is now - available on some non-US FreeBSD mirror sites. Sources for the - unencumbered libcrypt, and binaries of the programs which use it, - can be obtained from the following FTP sites: - - <descrip> - <tag/South Africa/ - <tt>ftp://ftp.internat.freebsd.org/pub/FreeBSD</tt><newline> - <tt>ftp://storm.sea.uct.ac.za/pub/FreeBSD</tt> - - <tag/Brazil/ - <tt>ftp://ftp.iqm.unicamp.br/pub/FreeBSD</tt> - - <tag/Finland/ - <tt>ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt</tt> - </descrip> - - <p>The non-US <tt/securedist/ can be used as a direct replacement - for the encumbered US <tt/securedist/. This <tt/securedist/ - package is installed the same way as the US package (see - installation notes for details). If you are going to install DES - encryption, you should do so as soon as possible, before - installing other software. - - <p>Non-US users should please not download any encryption software - from the USA. This can get the maintainers of the sites from - which the software is downloaded into severe legal difficulties. - - <p>A non-US distribution of Kerberos is also being developed, and - current versions can generally be obtained by anonymous FTP from - <tt>braae.ru.ac.za</tt>. - - <p>There is also a <ref id="mailing" name="mailing list"> for the - discussion of non-US encryption software. For more information, send - an email message with a single line saying ``<tt/help/'' in the body - of your message to - - <tt><majordomo@braae.ru.ac.za></tt>. - - <sect> - <heading>Hardware compatibility <label id="hardware"></heading> - - <sect1> - <heading>What kind of hard drives does FreeBSD support?</heading> - - <p>FreeBSD supports EIDE and SCSI drives (with a compatible - controller; see the next section), and all drives using the - original "Western Digital" interface (MFM, RLL, ESDI, and - of course IDE). A few ESDI controllers that use proprietary - interfaces may not work: stick to WD1002/3/6/7 interfaces - and clones. - - <sect1> - <heading>Which SCSI controllers are supported?</heading> - - <p>FreeBSD supports the following SCSI controllers: - - <descrip> - <tag/Adaptec/ - AH-1505 <ISA> <newline> - AH-152x Series <ISA> <newline> - AH-154x Series <ISA> <newline> - AH-174x Series <EISA> <newline> - Sound Blaster SCSI (AH-152x compat) <ISA> <newline> - AH-2742/2842 Series <ISA/EISA> <newline> - AH-2820/2822/2825 Series (Narrow/Twin/Wide) <VLB> <newline> - AH-294x and aic7870 MB controllers (Narrow/Twin/Wide) <PCI> - <newline> - AH-394x (Narrow/Twin/Wide) - - <tag/Buslogic/ - BT-445 Series <VLB> (this is one of the cards referred to - in the section <ref id="bigram" name="on >16 MB machines">) - <newline> - BT-545 Series <ISA> <newline> - BT-742 Series <EISA><newline> - BT-747 Series <EISA><newline> - BT-946 Series <PCI> <newline> - BT-956 Series <PCI> <newline> - - <tag/Future Domain/ - TMC-950 Series <ISA> <newline> - - <tag/PCI Generic/ - NCR 53C81x based controllers <PCI> <newline> - NCR 53C82x based controllers <PCI> <newline> - NCR 53C860/75 based controllers <PCI> <newline> - - <tag/ProAudioSpectrum/ - Zilog 5380 based controllers <ISA> <newline> - Trantor 130 based controllers <ISA> <newline> - - <tag/DTC/ - DTC 3290 EISA SCSI in AHA-154x emulation.<newline> - - <tag/Seagate/ - ST-01/02 Series <ISA><newline> - - <tag/UltraStor/ - UH-14f Series <ISA><newline> - UH-24f Series <EISA> <newline> - UH-34f Series <VLB><newline> - - <tag/Western Digital/ - WD7000 <ISA> <No scatter/gather> - </descrip> - - <sect1> - <heading>Which CD-ROM drives are supported by FreeBSD?</heading> - - <p>Any SCSI drive connected to a supported controller is supported. - - <p>The following proprietry CD-ROM interfaces are also supported: - - <itemize> - <item>Mitsumi LU002 (8bit), LU005 (16bit) and FX001D (16bit 2x Speed). - <item>Sony CDU 31/33A<newline> - <item>Sound Blaster Non-SCSI CD-ROM<newline> - <item>Matsushita/Panasonic CD-ROM<newline> - <item>ATAPI compatible IDE CD-ROMs<newline> - </itemize> - - <p>All non-SCSI cards are known to be extremely slow compared to - SCSI drives, and some ATAPI CDROMs may not work. - - <p>As of 2.2 the FreeBSD CDROM from Walnut Creek supports booting - directly from the CD. - - <sect1> - <heading>Does FreeBSD support ZIP drives?</heading> - - <p>FreeBSD supports the SCSI ZIP drive out of the box, of course. The - ZIP drive can only be set to run at SCSI target IDs 5 or 6, but if - your SCSI host adapter's BIOS supports it you can even boot from - it. I don't know which host adapters let you boot from targets - other than 0 or 1... look at your docs (and let me know if it works - out for you). - - <p>There is no built in support for the parallel ZIP drive, and if you - haven't bought your ZIP drive already I recommend you get the SCSI - one... the price is the same, and the performance is much better, - and you're unlikely to ever be able to boot from the parallel port. - - <p>If you already have a parallel ZIP, there is a port of the Linux - driver available at - - <url url="http://www.prism.uvsq.fr/~son/ppa3.html" - name="Nicolas Souchu's home page"> in France. - - <p>Also check out <ref id="jaz" name="this note on removable drives">, - and <ref id="disklabel" name="this note on 'formatting'">. - - <sect1> - <heading> - Does FreeBSD support JAZ, EZ and other removable drives? - </heading> - - <p>Apart from the IDE version of the EZ drive, these are all SCSI - devices, so the should all look like SCSI disks to FreeBSD, and - the IDE EZ should look like an IDE drive. - - <p><label id="jaz">I'm not sure how well FreeBSD supports changing - the media out while running. You will of course need to dismount the - drive before swapping media, and make sure that any external units are - powered on when you boot the system so FreeBSD can see them. - - <p>See <ref id="disklabel" name="this note on 'formatting'">. - - <sect1> - <heading>Which multi-port serial cards are supported by FreeBSD?</heading> - - <p>There is a list of these in the <htmlurl - url="../handbook/install:misc.html" name="Miscellaneous devices"> - section of the handbook. - - <p>Some unnamed clone cards have also been known to work, especially - those that claim to be AST compatible. - - <p>Check the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sio" - name="sio"> man page to get more information on configuring such cards. - - <sect1> - <heading>I have an unusual bus mouse. How do I set it up?</heading> - - <p>FreeBSD supports the Logitech and ATI Inport bus mice. You need - to add the following line to the kernel config file and recompile - for the Logitech and ATI mice: - - <verb> - device mse0 at isa? port 0x23c tty irq5 vector mseintr - </verb> - - <sect1> - <heading> - How do I use my PS/2 (``keyboard'') mouse? - <label id="ps2mouse"> - </heading> - - <p>If you're running a relatively recent version of FreeBSD then you - can simply enable it in the kernel configuration menu - at installation time, otherwise later with -c at the boot: - prompt. It is disabled by default, so you will need to enable - it explicitly. - - <p>If you're running an older version of FreeBSD then you'll have to - add the following lines to your kernel configuration file and compile - a new kernel: - - <verb> - device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr - # Options for psm: - options PSM_CHECKSYNC #checks the header byte for sync. - </verb> - - <p>See the <url url="../handbook/kernelconfig.html" - name="Handbook entry on configuring the kernel"> if you've no - experience with building kernels. - - <p>Once you have a kernel detecting psm0 correctly at boot time, - make sure that an entry for psm0 exists in /dev. You can do this - by typing: - - <verb> - cd /dev; sh MAKEDEV psm0 - </verb> - - <p>when logged in as root. - - <sect1> - <heading> - How do I use the mouse/trackball/touchpad on my laptop? - </heading> - - <p>Please refer to <ref id="ps2mouse" name="the answer to the previous - question">. And check out <ref id="pao" name="this note"> on the Mobile - Computing page. - - <sect1> - <heading>What types of tape drives are supported?</heading> - - <p>FreeBSD supports SCSI, QIC-36 (with a QIC-02 interface) and - QIC-40/80 (Floppy based) tape drives. This includes 8-mm (aka Exabyte) - and DAT drives. The QIC-40/80 drives are known to be slow. - - <p>Some of the early 8-mm drives are not quite compatible with SCSI-2, - and may not work well with FreeBSD. - - <sect1> - <heading>Does FreeBSD support tape changers?</heading> - - <p>FreeBSD 2.2 supports SCSI changers using the <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?ch(4)" name="ch"> device and - the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?chio" name="chio"> - command. The details of how you actually control the changer can be - found in the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?chio" - name="chio"> man page. - - <p>If you're not using <htmlurl - url="http://www.freebsd.org/cgi/ports.cgi?amanda" name="AMANDA"> or - some other product that already understands changers, remember that - they're only know how to move a tape from one point to another, so - you need to keep track of which slot a tape is in, and which slot the - tape currently in the drive needs to go back to. - - <sect1> - <heading>Which sound cards are supported by FreeBSD?</heading> - - <p>FreeBSD supports the SoundBlaster, SoundBlaster Pro, SoundBlaster - 16, Pro Audio Spectrum 16, AdLib and Gravis UltraSound sound cards. - There is also limited support for MPU-401 and compatible MIDI cards. - The SoundBlaster 16 ASP cards are not yet supported. The Microsoft - Sound System is also supported. - - <p><bf/NOTE/ This is only for sound! This driver does not support - CD-ROMs, SCSI or joysticks on these cards, except for the - SoundBlaster. The SoundBlaster SCSI interface and some non-SCSI - CDROMS are supported, but you can't boot off this device. - - <sect1> - <heading>Which network cards does FreeBSD support?</heading> - - <p>See the <htmlurl url="../handbook/install:nics.html" - name="Ethernet cards"> section of the handbook for a more - complete list. Since it doesn't list the drivers - you need to use for each of the cards, this incomplete - list will have to do. - - <descrip> - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?de(4)" - name="de"> driver/ - DEC DC21x40 and compatible PCI controllers<newline> - (including 21140 100bT cards) <newline> - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ed(4)" - name="ed"> driver/ NE2000 and 1000<newline> - WD/SMC 8003, 8013 and Elite Ultra (8216)<newline> - 3Com 3c503 <newline> - HP 27247B and 27252A <newline> - And clones of the above <newline> - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?le(4)" - name="le"> driver/ - DEC EtherWORKS II and EtherWORKS III controllers. <newline> - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ie(4)" - name="ie"> driver/ - AT&T EN100/StarLAN 10 <newline> - 3COM 3c507 Etherlink 16/TP<newline> - NI5210 <newline> - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?is(4)" - name="is"> driver/ - Isolan AT 4141-0 <newline> - Isolink 4110 <newline> - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?el(4)" - name="el"> driver/ - 3com 3c501 (does not support Multicast or DMA) - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?eg(4)" - name="eg"> driver/ - 3com 3c505 Etherlink/+ - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ze(4)" - name="ze"> driver/ - IBM PCMCIA credit card adapter - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?lnc(4)" - name="lnc"> drive/ - Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL)(*) - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ep(4)" - name="ep"> driver/ - 3com 3c509 (Must disable PNP support on card) - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ix(4)" - name="ix"> driver/ - Intel InterExpress - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?cx(4)" - name="cx"> driver/ - Cronyx/Sigma multiport Sync/Async (Cisco and PPP framing) - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?zp(4)" - name="zp"> driver/ - 3Com PCMCIA Etherlink III (aka 3c589)(A-C only) - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fea(4)" - name="fea"> driver/ - DEC DEFEA EISA FDDI controller - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fpa(4)" - name="fpa"> driver/ - DEC DEFPA PCI FDDI controller - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fe(4)" - name="fe"> driver/ - Fujitsu MB86960A/MB86965A Ethernet cards - </descrip> - - <p><bf/NOTE/ Drivers marked with (*) are known to have problems. - - <p><bf/NOTE/ 3C598D is NOT supported yet. - - <p><bf/NOTE/ We also support TCP/IP over parallel lines. At this point - we are incompatible with other versions, but we hope to correct - this in the near future. Refer to the description in the lp(4) - man page. - - <p><bf/NOTE/ Some of these cards require a DOS partition on your hard - drive to run the configuration software. Software configured cards - may also need to be hard-reset after running another operating - system that uses manufacturer-supplied drivers. This may even - require a full power cycle. - - <sect1> - <heading>I don't have a math co-processor - is that bad?</heading> - - <p><tt /Note/ This will only affect 386/486SX/486SLC owners - other - machines will have one built into the CPU. - - <p>In general this will not cause any problems, but there are - circumstances where you will take a hit, either in performance or - accuracy of the math emulation code (see the section <ref id="emul" - name="on FP emulation">). In particular, drawing arcs in X will be - VERY slow. It is highly recommended that you buy a math - co-processor; it's well worth it. - - <p><bf/NOTE/ Some math co-processors are better than others. It pains - us to say it, but nobody ever got fired for buying Intel. Unless - you're sure it works with FreeBSD, beware of clones. - - <sect1> - <heading>What other devices does 2.X support?</heading> - - <p>Here is a listing of drivers which do not fit into any of the - earlier categories. - - <descrip> - <tag><tt/b004.c/</tag> - Driver for B004 compatible Transputer boards <newline> - - <tag>``ctx'' driver</tag> - Driver for CORTEX-I Frame grabber <newline> - - <tag>``gp'' driver</tag> - Driver for National Instruments AT-GPIB and<newline> - AT-GPIB/TNT boards - - <tag>``pca'' driver</tag> - Driver for PC speakers to allow the playing of audio files - - <tag>``spigot'' driver</tag> - Driver for the Creative Labs Video Spigot - - <tag><htmlurl url="http://www.freebsd.org/cgi/man.cgi?gsc(4)" - name="gsc"> driver</tag> - Driver for the Genuis GS-4500 Hand scanner - - <tag><htmlurl url="http://www.freebsd.org/cgi/man.cgi?joy(4)" - name="joy"> driver</tag> - Driver for a joystick - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?labpc(4)" - name="labpc"> driver/ - Driver for National Instrument's Lab-PC and Lab-PC+ - - <tag/``uart'' driver/ - Stand-alone 6850 UART for MIDI - - <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?psm(4)" - name="psm"> driver/ PS/2 mouse port - - <tag><tt/tw.c/</tag> - Driver for the X-10 POWERHOUSE <newline> - </descrip> - -<!-- - <sect1> - <heading>I am about to buy a new machine. What do you recommend?</heading> - - <p>See the <url url="../handbook/hw.html" name="hardware section"> - of the handbook for general tips if you're going to build it - yourself, otherwise see the - FreeBSD <url url="http://www.freebsd.org/commercial/hardware.html" - name="Hardware vendors"> page for various companies who offer - FreeBSD compatible systems. ---> - - <sect1> - <heading>Does FreeBSD support power management on my laptop?</heading> - - <p>FreeBSD supports APM on certain machines. Please look in the - <tt/LINT/ kernel config file, searching for the <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?apm" name="APM"> keyword. - - <sect> - <heading>Troubleshooting</heading> - - <sect1> - <heading>I have bad blocks on my hard drive!<label id="awre"></heading> - - <p>With SCSI drives, the drive should be capable of re-mapping - these automatically. However, many drives are shipped with - this feature disabled, for some mysterious reason... - - <p>To enable this, you'll need to edit the first device page mode, - which can be done on FreeBSD by giving the command (as root) - - <verb> - scsi -f /dev/rsd0c -m 1 -e -P 3 - </verb> - - <p>and changing the values of AWRE and ARRE from 0 to 1:- - - <verb> - AWRE (Auto Write Reallocation Enbld): 1 - ARRE (Auto Read Reallocation Enbld): 1 - </verb> - - <p>For other drive types, you are dependent on support from the - operating system. Unfortunately, the ``bad144'' command that - FreeBSD supplies for this purpose needs a considerable amount - of work done on it. In other words, it doesn't work. If you're - lucky, you can create a file that contains the bad blocks and - stuff it away with a name like ".BADBLOCKS". This is how I got - 386BSD Patchkit 24 completed. <tt/NOTE/: don't do this unless - your time is effectively free. - - <p>IDE drives are <em/supposed/ to come with built-in bad-block - remapping; if you have documentation for your drive, you may want - to see if this feature has been disabled on your drive. However, - ESDI, RLL, and ST-506 drives normally do not do this. - - <sect1> - <heading>FreeBSD does not recognize my Bustek 742a EISA SCSI!</heading> - - <p>This info is specific to the 742a but may also cover other - Buslogic cards. (Bustek = Buslogic) - - <p>There are 2 general ``versions'' of the 742a card. They are - hardware revisions A-G, and revisions H - onwards. The revision - letter is located after the Assembly number on the edge of the - card. The 742a has 2 ROM chips on it, one is the BIOS chip and - the other is the Firmware chip. FreeBSD doesn't care what - version of BIOS chip you have but it does care about what version - of firmware chip. Buslogic will send upgrade ROMS out if you - call their tech support dept. The BIOS and Firmware chips are - shipped as a matched pair. You must have the most current - Firmware ROM in your adapter card for your hardware revision. - - <p>The REV A-G cards can only accept BIOS/Firmware sets up to - 2.41/2.21. The REV H- up cards can accept the most current - BIOS/Firmware sets of 4.70/3.37. The difference between the - firmware sets is that the 3.37 firmware supports ``round robin'' - - <p>The Buslogic cards also have a serial number on them. If you - have a old hardware revision card you can call the Buslogic RMA - department and give them the serial number and attempt to - exchange the card for a newer hardware revision. If the card is - young enough they will do so. - - <p>FreeBSD 2.1 only supports Firmware revisions 2.21 onward. If you - have a Firmware revision older than this your card will not be - recognized as a Buslogic card. It may be recognized as an - Adaptec 1540, however. The early Buslogic firmware contains an - AHA1540 ``emulation'' mode. This is not a good thing for an EISA - card, however. - - <p>If you have an old hardware revision card and you obtain the 2.21 - firmware for it, you will need to check the position of jumper W1 - to B-C, the default is A-B. - - <p>The 742a EISA cards never had the ``>16MB'' problem mentioned in - the section <ref id="bigram" name="on >16 MB machines">. This is a - problem that occurs with the Vesa-Local Buslogic SCSI cards. - - <sect1> - <heading> - My HP Netserver's SCSI controller is not detected! - </heading> - - <p>This is basically a known problem. The EISA on-board SCSI controller - in the HP Netserver machines occupies EISA slot number 11, so all - the ``true'' EISA slots are in front of it. Alas, the address space - for EISA slots >= 10 collides with the address space assigned to PCI, - and FreeBSD's auto-configuration currently cannot handle this - situation very well. - - <p>So now, the best you can do is to pretend there is no address - range clash :), by bumping the kernel option <tt/EISA_SLOTS/ - to a value of 12. - Configure and compile a kernel, as described in the - <url url="http://www.freebsd.org/handbook/kernelconfig.html" - name="Handbook entry on configuring the kernel">. - - <p>Of course, this does present you with a chicken-and-egg problem when - installing on such a machine. In order to work around this - problem, a special hack is available inside <em>UserConfig</em>. - Do not use the ``visual'' interface, but the plain command-line - interface there. Simply type - - <verb> - eisa 12 - quit - </verb> - - <p>at the prompt, and install your system as usual. While it's - recommended you compile and install a custom kernel anyway, - - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?dset" name="dset"> - now also understands to save this value. - - <p>Hopefully, future versions will have a proper fix for this problem. - - <p><tt/NOTE:/ You can not use a <bf/dangerously dedicated/ disk with - an HP Netserver. See <ref id="dedicate" name="this note"> for - more info. - - <sect1> - <heading>What's up with this CMD640 IDE controller?</heading> - - <p>It's broken. It cannot handle commands on both channels - simultaneously. - - <p>There's a workaround available now and it is enabled automatically - if your system uses this chip. For the details refer to the - manual page of the disk driver (man 4 wd). - - <p>If you're already running FreeBSD 2.2.1 or 2.2.2 with a - CMD640 IDE controller and you want to use the second channel, - build a new kernel with <tt/options "CMD640"/ enabled. This - is the default for 2.2.5 and later. - - <sect1> - <heading>I keep seeing messages like ``<tt/ed1: timeout/''.</heading> - - <p>This is usually caused by an interrupt conflict (e.g., two boards - using the same IRQ). FreeBSD prior to 2.0.5R used to be tolerant - of this, and the network driver would still function in the - presence of IRQ conflicts. However, with 2.0.5R and later, IRQ - conflicts are no longer tolerated. Boot with the -c option and - change the ed0/de0/... entry to match your board. - - <p>If you're using the BNC connector on your network card, you may - also see device timeouts because of bad termination. To check this, - attach a terminator directly to the NIC (with no cabel) and see if - the error messages go away. - - <sect1> - <heading>When I mount a CDROM, I get ``Incorrect super block''.</heading> - - <p>You have to tell - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount" name="mount"> - the type of the device that you want to mount. By default, - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount" name="mount"> - will assume the filesystem is of type ``<tt/ufs/''. You want to mount - a CDROM filesystem, and you do this by specifying the ``<tt/-t cd9660/'' - option to <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount" - name="mount">. This does, of course, assume that the - CDROM contains an ISO 9660 filesystem, which is what most CDROMs - have. As of 1.1R, FreeBSD automatically understands the Rock Ridge - (long filename) extensions as well. - - <p>As an example, if you want to mount the CDROM device, - ``<tt>/dev/cd0c</tt>'', under <tt>/mnt</tt>, you would execute: - - <verb> - mount -t cd9660 /dev/cd0c /mnt - </verb> - - <p>Note that your device name (``<tt>/dev/cd0c</tt>'' in this - example) could be different, depending on the CDROM interface. - Note that the ``<tt/-t cd9660/'' option just causes the - ``<tt/mount_cd9660/'' command to be executed, and so the - above example could be shortened to: - - <verb> - mount_cd9660 /dev/cd0c /mnt - </verb> - - <sect1> - <heading>When I mount a CDROM, I get ``Device not configured''.</heading> - - <p>This generally means that there is no CDROM in the CDROM drive, - or the drive is not visible on the bus. Feed the drive - something, and/or check its master/slave status if it is - IDE (ATAPI). It can take a couple of seconds for a CDROM drive - to notice that it's been fed, so be patient. - - <p>Sometimes a SCSI CD-ROM may be missed because it hadn't enough time - to answer the bus reset. In you have a SCSI CD-ROM please try to - add the following symbol into your kernel configuration file - and recompile. - - <verb> - options "SCSI_DELAY=15" - </verb> - - <sect1> - <heading>My printer is ridiculously slow. What can I do ?</heading> - - <p>If it's parallel, and the only problem is that it's terribly - slow, try setting your printer port into ``polled'' mode: - - <verb> - lptcontrol -p - </verb> - - <p>Some newer HP printers are claimed not to work correctly in - interrupt mode, apparently due to some (not yet exactly - understood) timing problem. - - <sect1> - <heading>My programs occasionally die with ``Signal 11'' errors.</heading> - - <p>This can be caused by bad hardware (memory, motherboard, etc.). - Try running a memory-testing program on your PC. Note that, even - though every memory testing program you try will report your - memory as being fine, it's possible for slightly marginal memory - to pass all memory tests, yet fail under operating conditions - (such as during bus mastering DMA from a SCSI controller like the - Adaptec 1542, when you're beating on memory by compiling a kernel, - or just when the system's running particularly hot). - - <p>The SIG11 FAQ (listed below) points up slow memory as being the - most common problem. Increase the number of wait states in your - BIOS setup, or get faster memory. - - <p>For me the guilty party has been bad cache RAM or a bad on-board - cache controller. Try disabling the on-board (secondary) cache in - the BIOS setup and see if that solves the problem. - - <p>There's an extensive FAQ on this at - <url url="http://www.bitwizard.nl/sig11/" name="the SIG11 problem FAQ"> - - <sect1> - <heading>When I boot, the screen goes black and loses sync!</heading> - - <p>This is a known problem with the ATI Mach 64 video card. - The problem is that this card uses address <tt/2e8/, and - the fourth serial port does too. Due to a bug (feature?) in the - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sio" name="sio.c"> - driver it will touch this port even if you don't have the - fourth serial port, and <bf/even/ if you disable sio3 (the fourth - port) which normally uses this address. - - <p>Until the bug has been fixed, you can use this workaround: - - <enum> - <item>Enter <tt/-c/ at the bootprompt. (This will put the kernel - into configuration mode). - - <item>Disable <tt/sio0/, <tt/sio1/, <tt/sio2/ and <tt/sio3/ - (all of them). This way the sio driver doesn't get activated - -> no problems. - - <item>Type exit to continue booting. - </enum> - - <p>If you want to be able to use your serial ports, - you'll have to build a new kernel with the following - modification: in <tt>/usr/src/sys/i386/isa/sio.c</tt> find the - one occurrence of the string <tt/0x2e8/ and remove that string - and the preceding comma (keep the trailing comma). Now follow - the normal procedure of building a new kernel. - - <p>Even after applying these workarounds, you may still find that - X Window does not work properly. Some newer ATI Mach 64 video - cards (notably ATI Mach Xpression) do not run with the current - version of <tt/XFree86/; the screen goes black when you start - X Window, or it works with strange problems. You can get - a beta-version of a new X-server that works better, by looking at - <url url="http://www.xfree86.org" name="the XFree86 site"> - and following the links to the new beta release. Get the - following files: - - <p><tt>AccelCards, BetaReport, Cards, Devices, FILES, README.ati, - README.FreeBSD, README.Mach64, RELNOTES, VGADriver.Doc, - X312BMa64.tgz</tt> - - <p>Replace the older files with the new versions and make sure you - run <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=xf86config" - name="xf86config"> again. - - <sect1> - <heading> - I have 128 MB of RAM but the system only uses 64 MB. - <label id="reallybigram"> - </heading> - - <p>Due to the manner in which FreeBSD gets the memory size from the - BIOS, it can only detect 16 bits worth of Kbytes in size (65535 - Kbytes = 64MB). If you have more than 64MB, FreeBSD will only see - the first 64MB (or less... some BIOSes peg the memory size to 16M). - - <p>To work around this problem, you need to use the - kernel option specified below. There is a way to get complete - memory information from the BIOS, but we don't have room in the - bootblocks to do it. Someday when lack of room in the bootblocks - is fixed, we'll use the extended BIOS functions to get the full - memory information...but for now we're stuck with the kernel - option. - - <tt> - options "MAXMEM=<n>" - </tt> - - <p>Where <tt/n/ is your memory in Kilobytes. For a 128 MB machine, - you'd want to use <tt/131072/. - - <sect1> - <heading>FreeBSD 2.0 panics with ``kmem_map too small!''</heading> - - <p><tt /Note/ The message may also be ``mb_map too small!'' - - <p>The panic indicates that the system ran out of virtual memory for - network buffers (specifically, mbuf clusters). You can increase - the amount of VM available for mbuf clusters by adding: - - <p><tt>options "NMBCLUSTERS=<n>"</tt> - - <p>to your kernel config file, where <n> is a number in the - range 512-4096, depending on the number of concurrent TCP - connections you need to support. I'd recommend trying 2048 - this - should get rid of the panic completely. You can monitor the - number of mbuf clusters allocated/in use on the system with - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?netstat" - name="netstat -m">. - - <sect1> - <heading>``CMAP busy panic'' when rebooting with a new kernel.</heading> - - <p>The logic that attempts to detect an out of data - <tt>/var/db/kvm_*.db</tt> files sometimes fails and using a - mismatched file can sometimes lead to panics. - - <p>If this happens, reboot single-user and do: - - <verb> - rm /var/db/kvm_*.db - </verb> - - <sect1> - <heading>ahc0: brkadrint, Illegal Host Access at seqaddr 0x0</heading> - - <p>This is a conflict with an Ultrastor SCSI Host Adapter. - - <p>During the boot process enter the kernel configuration menu and - disable <htmlurl url="http://www.freebsd.org/cgi/man.cgi?uha(4)" - name="uha0">, which is causing the problem. - - <sect1> - <heading>Sendmail says ``mail loops back to myself''</heading> - - <p>This is answered in the sendmail FAQ as follows:- - - <verb> - * I'm getting "Local configuration error" messages, such as: - - 553 relay.domain.net config error: mail loops back to myself - 554 <user@domain.net>... Local configuration error - - How can I solve this problem? - - You have asked mail to the domain (e.g., domain.net) to be - forwarded to a specific host (in this case, relay.domain.net) - by using an MX record, but the relay machine doesn't recognize - itself as domain.net. Add domain.net to /etc/sendmail.cw - (if you are using FEATURE(use_cw_file)) or add "Cw domain.net" - to /etc/sendmail.cf. - </verb> - - <p>The current version of the <url - url="ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq" - name="sendmail FAQ"> is no longer maintained with the sendmail - release. It is however regularly posted to - <url url="news:comp.mail.sendmail" name="comp.mail.sendmail">, - <url url="news:comp.mail.misc" name="comp.mail.misc">, - <url url="news:comp.mail.smail" name="comp.mail.smail">, - <url url="news:comp.answers" name="comp.answers">, and - <url url="news:news.answers" name="news.answers">. - You can also receive a copy via email by sending a message to - <url url="mailto:mail-server@rtfm.mit.edu" - name="mail-server@rtfm.mit.edu"> with the command "send - usenet/news.answers/mail/sendmail-faq" as the body of the - message. - - <sect> - <heading>Commercial Applications</heading> - - <p><bf/NOTE/ This section is still very sparse, though we're hoping, of - course, that companies will add to it! :) The FreeBSD group has no - financial interest in any of the companies listed here but simply - lists them as a public service (and feels that commercial interest - in FreeBSD can have very positive effects on FreeBSD's long-term - viability). We encourage commercial software vendors to send their - entries here for inclusion. - - <sect1> - <heading>Where can I get Motif for FreeBSD?</heading> - - <p>Contact <ref id="xig" name="Xi Graphics"> for a Motif 2.0 - distribution for FreeBSD. - - <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> - <heading>User Applications</heading> - - <sect1> - <heading>So, where are all the user applications?</heading> - - <p>Please take a look at <url url="http://www.FreeBSD.ORG/ports/" - name="the ports page"> for info on software packages ported to - FreeBSD. The list currently tops 1000 and is growing daily, so come - back to check often or subscribe to the <tt/freebsd-announce/ - <ref id="mailing" name="mailing list"> for periodic updates on new - entries. - - <p>Most ports should be available for both the 2.2 and 3.0 - branches, and many of them should work on 2.1.x systems as - well. Each time a FreeBSD release is made, a snapshot of the - ports tree at the time of release in also included in the - <tt>ports/</tt> directory. - - <p>We also support the concept of a ``package'', essentially no - more than a gzipped binary distribution with a little extra - intelligence embedded in it for doing whatever custom installation - work is required. A package can installed and uninstalled - again easily without having to know the gory details of which - files it includes. - - <p>Use the package installation menu in <tt>/stand/sysinstall</tt> - (under the post-configuration menu item) or invoke the - <em>pkg_add(1)</em> command on the specific package files you're - interested in installing. Package files can usually be identified by - their <em>.tgz</em> suffix and CDROM distribution people will have - a <tt>packages/All</tt> directory on their CD which contains such - files. They can also be downloaded over the net for various versions - of FreeBSD at the following locations: - - <descrip> - <tag>for 2.1.x-release</tag> - <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.1.7/" - name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.1.7/"> - - <tag>for 2.2.5-release/2.2-stable</tag> - <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2.5/" - name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2.5/"> - - <tag>for 3.0-current</tag> - <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-3.0/" - name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-3.0/"> - </descrip> - - <p>or your nearest local mirror site. - - <p>Note that all ports may not be available as packages since - new ones are constantly being added. It is always a good - idea to check back periodically to see which packages are available - at the <url url="ftp://ftp.freebsd.org/pub/FreeBSD/" - name="ftp.freebsd.org"> master site. - - <sect1> - <heading>Where do I find libc.so.3.0?</heading> - - <p>You are trying to run a package for 2.2/3.0 on a 2.1.x - system. Please take a look at the previous section and get - the correct port/package for your system. - - <sect1> - <heading> - ghostscript gives lots of errors with my 386/486SX.<label id="emul"> - </heading> - - <p>You don't have a math co-processor, right? - You will need to add the alternative math emulator to your kernel; - you do this by adding the following to your kernel config file - and it will be compiled in. - - <verb> - options GPL_MATH_EMULATE - </verb> - - <p><bf/NOTE/ You will need to remove the <tt/MATH_EMULATE/ - option when you do this. - - <sect1> - <heading> - When I run a SCO/iBCS2 application, it bombs on <tt/socksys/. - </heading> - - <p>You first need to edit the <tt>/etc/sysconfig</tt> - (or <htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)" - name="/etc/rc.conf">) file in the last section to change the - following variable to <tt/YES/: - - <verb> - # Set to YES if you want ibcs2 (SCO) emulation loaded at startup - ibcs2=NO - </verb> - - <p>It will load the <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?ibcs2" name="ibcs2"> - kernel module at startup. - - <p>You'll then need to set up /compat/ibcs2/dev to look like: - - <verb> -lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null -lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys --rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null -lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null -crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx - </verb> - - <p>You just need socksys to go to <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?null(4)" name="/dev/null"> - to fake the open & close. The code in -current will handle the - rest. This is much cleaner than the way it was done before. If you - want the <tt/spx/ driver for a local socket X connection, define - <tt/SPX_HACK/ when you compile the system. - - <sect1> - <heading> - How do I configure INN (Internet News) for my machine? - </heading> - - <p>After installing the inn package or port, an excelent place to - start is <url url="http://www.math.psu.edu/barr/INN.html" - name="Dave Barr's INN Page"> where you'll find the INN FAQ. - - <sect> - <heading>Kernel Configuration</heading> - - <sect1> - <heading> - I'd like to customize my kernel. Is it difficult? - <label id="make-kernel"> - </heading> - - <p>Not at all! First, you need either the complete <tt/srcdist/ or, at - the minimum, the <tt/kerndist/ loaded on your system. This provides the - necessary sources for building the kernel, as, unlike most commercial - UNIX vendors, we have a policy of <bf/NOT/ shipping our kernel code in - binary object form. - - <p>Shipping the source takes a bit more space, but it also means - that you can refer to the actual kernel sources in case of - difficulty or to further your understanding of what's - <bf/really/ happening. - - <p>Once you have the <tt/kerndist/ or <tt/srcdist/ loaded, do the - following as root: - - <enum> - <item> <tt>cd /usr/src/sys/i386/conf</tt> - <item> <tt/cp GENERIC MYKERNEL/ - <item> <tt/vi MYKERNEL/ - <item> <tt/config MYKERNEL/ - <item> <tt>cd ../../compile/MYKERNEL</tt> - <item> <tt/make depend/ - <item> <tt/make all/ - <item> <tt/make install/ - <item> <tt/reboot/ - </enum> - - <p>Step 2 may not be necessary if you already have a kernel - configuration file from a previous release of FreeBSD 2.X. - - simply bring your old one over and check it carefully for any - drivers that may have changed boot syntax or been rendered - obsolete. - - <p>A good kernel config file to look into is <tt/LINT/, which - contains entries for <bf/all/ possible kernel options and - documents them fairly well. The <tt/GENERIC/ kernel config file - is used to build the initial release you probably loaded (unless - you upgraded in-place) and contains entries for the most common - configurations. It's a pretty good place to start from. - - <p>If you don't need to make any changes to <tt/GENERIC/, you can - also skip step 3, where you customize the kernel for your - configuration. Step 8 should only be undertaken if steps 6 and 7 - succeed. This will copy the new kernel image to - <tt>/kernel</tt> and <bf/BACK UP YOUR OLD ONE IN/ - <tt>/kernel.old</tt>! It's very important to remember this in - case the new kernel fails to work for some reason - you can still - select <tt>/kernel.old</tt> at the boot prompt to boot the old - one. When you reboot, the new kernel will boot by default. - - <p>If the compile in step 7 falls over for some reason, then it's - recommended that you start from step 4 but substitute - <tt/GENERIC/ for <tt/MYKERNEL/. If you can generate a - <tt/GENERIC/ kernel, then it's likely something in your special - configuration file that's bad (or you've uncovered a bug!). If - the build of the <tt/GENERIC/ kernel does <bf/NOT/ succeed, then - it's very likely that your sources are somehow corrupted. - - <p>Finally, if you need to see your original boot messages again to - compile a new kernel that's better tailored to your hardware, try - the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?dmesg" - name="dmesg"> command. It should print out all the boot-time - messages printed by your old kernel, some of which may be quite - helpful in configuring the new one. - - <p><bf/NOTE:/ I recommend making a dated snapshot of your kernel - in <tt/kernel.YYMMDD/ after you get it all working, that way if - you do something dire the next time you play with your configuration - you can boot that kernel instead of having to go all the way back - to <tt/kernel.GENERIC/. This is particularly important if you're - now booting off a controller that isn't supported in the GENERIC - kernel (yes, personal experience). - - <sect1> - <heading> - My kernel compiles fail because <tt/_hw_float/ is missing. - </heading> - - <p>Let me guess. You removed <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?npx(4)" name="npx0"> from your - kernel configuration file because you don't have a math co-processor, - right? Wrong! :-) The <tt/npx0/ is <bf/MANDATORY/. Even if you don't - have a mathematic co-processor, you <bf/must/ include the <tt/npx0/ - device. - - <sect1> - <heading>Interrupt conflicts with multi-port serial code.</heading> - - <p><bf/Q./ When I compile a kernel with multi-port serial code, it - tells me that only the first port is probed and the rest skipped due to - interrupt conflicts. How do I fix this? - - <p><bf/A./ The problem here is that FreeBSD has code built-in to keep - the kernel from getting trashed due to hardware or software - conflicts. The way to fix this is to leave out the IRQ settings - on all but one port. Here is a example: - - <verb> - # - # Multiport high-speed serial line - 16550 UARTS - # - device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr - device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr - device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr - device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr - </verb> - - <sect1> - <heading>How do I enable support for QIC-40/80 drives?</heading> - - <p>You need to uncomment the following line in the generic config - file (or add it to your config file), add a ``<tt/flags 0x1/'' - on the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fdc(4)" - name="fdc"> line and recompile. - - <verb> -controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr -disk fd0 at fdc0 drive 0 ^^^^^^^^^ -disk fd1 at fdc0 drive 1 -#tape ft0 at fdc0 drive 2 -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - </verb> - - <p>Next, you create a device called <tt>/dev/ft0</tt> by going into - <tt>/dev</tt> and run the following command: - - <verb> - sh ./MAKEDEV ft0 - </verb> - - <p>for the first device. <tt/ft1/ for a second one and so on. - - <p>You will have a device called <tt>/dev/ft0</tt>, which you can - write to through a special program to manage it called - ``<tt/ft/'' - see the man page on <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?ft" name="ft"> - for further details. - - <p>Versions previous to <tt/-current/ also had some trouble dealing - with bad tape media; if you have trouble where <tt/ft/ seems to - go back and forth over the same spot, try grabbing the latest - version of <tt/ft/ from <tt>/usr/src/sbin/ft</tt> in - <tt/-current/ and try that. - - <sect> - <heading>System Administration</heading> - - <sect1> - <heading>Where are the system start-up configuration files?</heading> - - <p>From 2.0.5R to 2.2.1R, the primary configuration file is - <tt>/etc/sysconfig</tt>. All the options are to be specified in - this file and other files such as <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?rc" name="/etc/rc"> and - <tt>/etc/netstart</tt> just include it. - - <p>Look in the <tt>/etc/sysconfig</tt> file and change the value to - match your system. This file is filled with comments to show what - to put in there. - - <p>In post-2.2.1 and 3.0, <tt>/etc/sysconfig</tt> was renamed - to a more self-describing <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)" name="rc.conf"> - file and the syntax cleaned up a bit in the process. - <tt>/etc/netstart</tt> was also renamed to <tt>/etc/rc.network</tt> - so that all files could be copied with a <tt><htmlurl - url="http://www.freebsd.org/cgi/man.cgi?cp" name="cp"> /usr/src/etc/rc* - /etc</tt> command. - - <p><tt>/etc/rc.local</tt> is here as always and may be used to - start up additional local services like <htmlurl - url="http://www.freebsd.org/cgi/ports.cgi?^inn" name="INN"> - or set custom options. - - <p>The <tt>/etc/rc.serial</tt> is for serial port initialization - (e.g. locking the port characteristics, and so on.). - - <p>The <tt>/etc/rc.i386</tt> is for Intel-specifics settings, such - as iBCS2 emulation or the PC system console configuration. - - <p>Starting with 2.1.0R, you can also have "local" startup files in a - directory specified in <tt>/etc/sysconfig</tt> (or - <tt>/etc/rc.conf</tt>): - - <verb> - # Location of local startup files. - local_startup=/usr/local/etc/rc.local.d - </verb> - - <p>Each file ending in <tt/.sh/ will be executed in alphabetical order. - - <p>If you want to ensure a certain execution order without changing all - the file names, you can use a scheme similar to the following with - digits prepended to each file name to insure the ordering: - - <verb> - 10news.sh - 15httpd.sh - 20ssh.sh - </verb> - - <p>It can be seen as ugly (or SysV :-)) but it provides a simple and - regular scheme for locally-added packages without resorting to - magical editing of <tt>/etc/rc.local</tt>. Many of the ports/packages - assume that <tt>/usr/local/etc/rc.d</tt> is a local startup directory. - - <sect1> - <heading>How do I add a user easily?</heading> - - <p>Use the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?adduser" - name="adduser"> command. - - <p>There is another package called ``<tt/new-account/'' also written - in Perl by Ollivier Robert. Ask <tt><roberto@FreeBSD.ORG></tt> - about it. It is currently undergoing further development. - - <p>To remove the user again, use the <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?rmuser" name="rmuser"> command. - - <sect1> - <heading>How can I add my new hard disk to my FreeBSD system?</heading> - - <p>The easiest way to do this is from the installation program. You - can start the installation program by running - <tt>/stand/sysinstall</tt> as root. - - <p>Alternatively, if you still have the install floppy, you can just - reboot from that and use the partition & label editors while - the system is totally quiescent. - - <p><label id="2_1-disklabel-fix">If the above does not work for you, - or if you're a total masochist who likes arcane interfaces, this is how - to use <htmlurl url="http://www.freebsd.org/cgi/man.cgi?disklabel" - name="disklabel"> manually: - - <p><em>WARNING: There is no substitute for reading carefully - & understanding what you are doing! Things described here may - DESTROY your system. Proceed with caution! Remember, a BACKUP is your - friend!</em> - - <p><tt /sysinstall/ used to be broken up to 2.1.5-RELEASE and will - insist on mounting something at / in the disklabel editor. You will - have to manually run - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?disklabel" - name="disklabel"> before you can run - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?newfs" name="newfs">/. - This means doing the math for partitions yourself. This is rumored to - be easy :-) See if you can obtain a skeletal label with - ''<tt>disklabel -r <diskname></tt>'' <em>(e.g. - </em>''<tt>disklabel -r /dev/rwd0s2</tt>''<em>, assuming that your new - disk is wd0, the first IDE drive, and the FreeBSD slice is the second - one, s2)</em>. You should see something like:- - - <verb> - # /dev/rwd0s2: - type: ESDI - disk: wd0s2 - label: - flags: - bytes/sector: 512 - sectors/track: 63 - tracks/cylinder: 64 - sectors/cylinder: 4032 - cylinders: 610 - sectors/unit: 2459520 - rpm: 3600 - interleave: 1 - trackskew: 0 - cylinderskew: 0 - headswitch: 0 # milliseconds - track-to-track seek: 0 # milliseconds - drivedata: 0 - - 8 partitions: - # size offset fstype [fsize bsize bps/cpg] - c: 2459520 0 unused 0 0 # (Cyl. 0 - 609) - e: 2459520 0 4.2BSD 0 0 0 # (Cyl. 0 - 609) - </verb> - - <p>Make sure that the size is correct, in this case, 2459520 - sectors/unit x 512 bytes/sector / 2**20 (1 Megabyte) = 1200 - Megabytes. The rest of the stuff (b/s, t/c, s/c, interleave, etc.) - should get suitable defaults from <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?disklabel" - name="disklabel">, but see <ref id="ESDI" name="this note"> for older - disks. 'fsize' is the <ref id="fsize" name="Fragment size"> for the - filesystem, and 'bsize' is the <ref id="bsize" name="Block size">. 'c' - is the partition covering the entire slice (or entire disk for a - non-sliced disk), and must remain as it is. <em>It should not be - used for a filesystem</em>. The 'c' partition is magic in that it - is faked by the kernel even if no disklabel exists. - - <p>In the trivial case, where you want a single filesystem spanning - the whole slice, the entry for 'e' has to be corrected. Setting fsize - to 1024 and bsize to 8192 (8 fragments/block), which are reasonable - values for a filesystem, the correct entry for 'e' would be:- - - <verb> - e: 2459520 0 4.2BSD 1024 8192 - </verb> - - <p>Now, the (slightly) harder case, where we want 2 partitions for 2 - filesystems. Following the <ref id="fsname" name="BSD naming - conventions">, the partitions will be <tt /wd0s2e/ & - <tt /wd0s2f/. Suppose we split up the 1200 MB into 300 MB for - 'e' and the remaining 900 MB for 'f'. The partition entries would - be:- - - <verb> - 8 partitions: - # size offset fstype [fsize bsize bps/cpg] - c: 2459520 0 unused 0 0 # (Cyl. 0 - 609) - e: 614400 0 4.2BSD 1024 8192 - f: 1843200 614400 4.2BSD 1024 8192 - </verb> - - <p><bf /Note:/ You can directly edit the disklabel with - ''<tt>disklabel -e wd0s2</tt>''. See - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?disklabel" - name="disklabel">. - - <p>If you have at least FreeBSD 2.1.5, and you want to dedicate - an entire disk to FreeBSD without any care for other - systems, you might shorten the steps above to something like: - - <verb> - # dd if=/dev/zero of=/dev/rwd0 count=100 - # disklabel -Brw wd0 auto - # disklabel -e wd0 - </verb> - - <p>The first <htmlurl url="http://www.freebsd.org/cgi/man.cgi?dd" - name="dd"> command ensures there is no old junk at - the beginning of the disk that might confuse the disk code - in the kernel. Following is an automatic skeleton label - generation using the defaults that have been probed from the - disk at boot time. Editing this label continues as described - above. - - <p>You're done! Time to initialize the filesystems with something - like:- - - <verb> - newfs -d0 /dev/rwd0s2e - newfs -d0 /dev/rwd0s2f - </verb> - - <p>Depending on the disk name and slice number, it might be - required that you run the script <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?MAKEDEV" name="/dev/MAKEDEV"> - before in order to create the desired device nodes. - - <p>And mount your new filesystems (See - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount" name="mount">):- - - <verb> - mount /dev/wd0s2e /mnt/foo - mount /dev/wd0s2f /mnt/bar - </verb> - - <p>You may wish to edit <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?fstab(5)" name="/etc/fstab"> to - automatically mount the filesystems at boot time. - - <p><bf /Glossary:/ - - <descrip> - <tag><label id="fsize"><bf>Fragment Size (fsize)</bf></tag> - The basic unit of storage for <tt /ffs/. See - M. McKusick, W. Joy, S. Leffler, and R. Fabry, - "A Fast File System for UNIX", - ACM Transactions on Computer Systems 2, 3, pp 181-197, August - 1984, (reprinted in the BSD System Manager's Manual, SMM:5) or - <url url="file:/usr/share/doc/smm/05.fastfs/paper.ascii.gz" - name="/usr/share/doc/smm/05.fastfs/paper.ascii.gz"> on your system. - - <tag><label id="bsize"><bf>Block Size (bsize)</bf></tag> - A block comprises one or more fragments. See the - reference above and - <url url="file:/usr/include/sys/disklabel.h" - name="<sys/disklabel.h>"> - - <tag><label id="ESDI"> - <bf>Disklabel Characteristics for Older Disks (ESDI)</bf></tag> - You may need to provide more information to <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?disklabel" - name="disklabel"> if you happen to own a ``true disk'', i.e. one with a - uniform geometry, real heads, sectors, and cylinders, - such as an old ESDI drive. All of this should be easily - obtainable from the drive case, owner's manual, fellow - sufferers, etc. :-) - - <tag><label id="fsname"> - <bf>BSD Filesystem Naming Conventions</bf></tag> - Partition 'a' is by convention reserved for a bootable - partition, and partition 'b' for swap space. Regular - partition names should start with 'd'. ('d' used to be - magic in 386BSD 0.1 through FreeBSD 2.0, thus partition - 'e' is often used for the first non-bootable partition - containing a filesystem.) - - <tag><label id="swap"> - <bf>Warning about swap space</bf></tag> - The space required by the BSD partition table is allowed - for in the file system. It's not allowed for by the swap - partition. So don't start swap at cylinder 0, either offset - it or put a file system in partition 'a'. - </descrip> - - <sect1> - <heading>I have a new removable drive, how do I use it?</heading> - - <p>Whether it's a removable drive like a ZIP or an EZ drive (or - even a floppy, if you want to use it that way), or a new hard - disk, once it's installed and recognized by the system, and - you have your cartridge/floppy/whatever slotted in, things are - pretty much the same for all devices. - - <p><label id="disklabel">(this section is based on <url - url="http://vinyl.quickweb.com/mark/FreeBSD/ZIP-FAQ.html" - name="Mark Mayo's ZIP FAQ">) - - <p>If it's a ZIP drive or a floppy , you've already got a DOS - filesystem on it, you can use a command like this: - - <verb> - mount -t msdos /dev/fd0c /floppy - </verb> - - <p>if it's a floppy, or this: - - <verb> - mount -t msdos /dev/sd2s4 /zip - </verb> - - <p>for a ZIP disk with the factory configuration. - - <p>For other disks, see how they're laid out using <tt/fdisk/ or - <tt>/stand/sysinstall</tt>. - - <p>The rest of the examples will be for a ZIP drive on sd2, the third - SCSI disk. - - <p>Unless it's a floppy, or a removable you plan on sharing with - other people, it's probably a better idea to stick a BSD file - system on it. You'll get long filename support, at least a 2X - improvement in performance, and a lot more stability. First, you - need to redo the DOS-level partitions/filesystems. You can either - use <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fdisk" - name="fdisk"> or <tt>/stand/sysinstall</tt>, or for a small - drive that you don't want to bother with multiple operating system - support on, just blow away the whole FAT partition table (slices) - and just use the BSD partitioning: - - <verb> - dd if=/dev/zero of=/dev/rsd2 count=2 - disklabel -Brw sd2 auto - </verb> - - <p>You can use disklabel (more info in <ref id="2_1-disklabel-fix" - name="this note">) or <tt>/stand/sysinstall</tt> to create multiple - BSD partitions. You'll certainly want to do this if you're adding - swap space on a fixed disk, but it's probably irrelevant on a - removable drive like a ZIP. - - <p>Finally, create a new file system, this one's on our ZIP drive - using the whole disk: - - <verb> - newfs /dev/rsd2c - </verb> - - <p>and mount it: - - <verb> - mount /dev/sd2c /zip - </verb> - - <p>and it's probably a good idea to add a line like this to - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fstab" - name="/etc/fstab"> so you can just type "mount /zip" in the - future: - - <verb> - /dev/sd2c /zip ffs rw,noauto 0 0 - </verb> - - <sect1> - <heading>How do I mount a secondary DOS partition?</heading> - - <p>The secondary DOS partitions are found after ALL the primary - partitions. For example, if you have an "E" partition as the - second DOS partition on the second SCSI drive, you need to create - the special files for "slice 5" in /dev, then mount /dev/sd1s5: - - <verb> - # cd /dev - # ./MAKEDEV sd1s5 - # mount -t msdos /dev/sd1s5 /dos/e - </verb> - - <sect1> - <heading>Can I mount other foreign filesystems under FreeBSD?</heading> - - <p><bf/ Digital UNIX/ UFS CDROMs can be mounted directly on FreeBSD. - Mounting disk partitions from Digital UNIX and other systems - that support UFS may be more complex, depending on the details - of the disk partitioning for the operating system in question. - - <p><bf/ Linux/: 2.2 and later have support for <bf/ext2fs/ partitions. - See <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount_ext2fs" - name="mount_ext2fs"> for more information. - - <p>Any other information on this subject would be appreciated. - - <sect1> - <heading>How can I use the NT loader to boot FreeBSD?</heading> - - <p>The general idea is that you copy the first sector of your - native root FreeBSD partition into a file in the DOS/NT - partition. Assuming you name that file something like - <tt>c:\bootsect.bsd</tt> (inspired by <tt>c:\bootsect.dos</tt>), - you can then edit the <tt>c:\boot.ini</tt> file to come up with - something like this: - - <verb> - [boot loader] - timeout=30 - default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS - [operating systems] - multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" - C:\BOOTSECT.BSD="FreeBSD" - C:\="DOS" - </verb> - - <p>This procedure assumes that DOS, NT, FreeBSD, or whatever - have been installed into their respective fdisk partitions on the - <bf/same/ disk. In my case DOS & NT are in the first fdisk - partition and FreeBSD is in the second. I also installed FreeBSD - to boot from its native partition, <bf/not/ the disk MBR. - - <p>Mount a DOS-formatted floppy (if you've converted to NTFS) or the - FAT partition, under, say, <tt>/mnt</tt>. - - <verb> - dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1 - </verb> - - <p>Reboot into DOS or NT. NTFS users copy the <tt/bootsect.bsd/ - and/or the <tt/bootsect.lnx/ file from the floppy to - <tt/C:\/. Modify the attributes (permissions) on - <tt/boot.ini/ with: - - <verb> - attrib -s -r c:\boot.ini - </verb> - - <p>Edit to add the appropriate entries from the example - <tt/boot.ini/ above, and restore the attributes: - - <verb> - attrib -r -s c:\boot.ini - </verb> - - <p>If FreeBSD is booting from the MBR, restore it with the DOS - ``<tt/fdisk/'' command after you reconfigure them to boot from their - native partitions. - - <sect1> - <heading> - How do I boot FreeBSD and Linux from LILO? - </heading> - - <p>Theoretically you should be able to boot FreeBSD from LILO by - treating it as a DOS-style operating system, but I haven't been - able to get it to work. If you put LILO at the start of your Linux - boot partition instead of in the MBR, you can boot LILO from the - FreeBSD boot manager. This is what I do. - - <p>If you're running Windows-95 and Linux this is recommended anyway, - to make it simpler to get Linux booting again if you should need - to reinstall Windows95 (which is a Jealous Operating System, and - will bear no other Operating Systems in the Master Boot Record). - - <sect1> - <heading> - Will a ``dangerously dedicated'' disk endanger my health? - </heading> - - <p><label id="dedicate">The installation procedure allows you to chose - two different methods in partitioning your harddisk(s). The default way - makes it compatible with other operating systems on the same machine, - by using fdisk table entries (called ``slices'' in FreeBSD), - with a FreeBSD slice that employs partitions of its own. - Optionally, one can chose to install a boot-selector to switch - between the possible operating systems on the disk(s). - - <p>Now, while this is certainly the common case for people - coming from a PC background, those people coming more from a - Unix background and who are going to setup a machine just to - run FreeBSD and only FreeBSD, are more used to the classic - Unix way where the operating system owns the entire disks, - from the very first sector through the end. A true fdisk - table isn't of any use in this case, the machine is running - FreeBSD 24 hours per day, 7 days per week, no other operating - system should ever be booted on it. So, if you select - ``A)ll FreeBSD'' in sysinstall's fdisk editor, and answer the - next question with ``No'', you'll get this mode. Note that - this means the BSD bootstrap also forms the MBR for this drive, - so there's no space left for anything like a boot manager. - Don't ever try to install one, or you'll damage the BSD - bootstrap. - - <p>So why it is called ``dangerous''? A disk in this mode - doesn't contain what normal PC utilities would consider a - valid fdisk table. Depending on how well they have been - designed, they might complain at you once they are getting - in contact with such a disk, or even worse, they might - damage the BSD bootstrap without even asking or notifying - you. Some kind of operating system that is in rather - widespread use on PCs is known for this kind of - user-unfriendliness (of course, it does this in the name of - ``user-friendliness''). At least one Award BIOS that is for - example used in HP Netservers (but not only there) is known - to ignore any harddisk that doesn't have what it believes to - be a valid fdisk table. When it comes to booting, it simply - ignores such a disk drive, advances to the floppy drive, and - barfs at you with just ``Read error''. Very impressive, eh? - They probably also call this ``user-friendly'', who knows? - - <p>The advantages of this mode are: FreeBSD owns the entire - disk, no need to waste several fictitious `tracks' for just - nothing but a 1980-aged simplistic partitioning model - enforcing some artificial and now rather nonsensical - constraints on how this partitioning needs to be done. - These constraints often lead to what might be the biggest - headaches for OS installations on PCs, geometry mismatch - hassles resulting out of two different, redundant ways how - to store the partitioning information in the fdisk table. - See the chapter about <ref id="missing_os" name="Missing - Operating System">. In ``dangerously dedicated'' mode, the - BSD bootstrap starts at sector 0, and this one is the only - sector that always translates into the same C/H/S values, - regardless of which `translation' your BIOS is using for - your disk. Thus, you can also swap disks between - systems/controllers that use a different translation scheme, - without risking that they won't boot anymore. - - <p>To return a ``dangerously dedicated'' disk for normal PC - use, there are basically two options. The first is, you - write enough NULL bytes over the MBR to make any subsequent - installation believe this to be a blank disk. You can do - this for example with - - <verb> - dd if=/dev/zero of=/dev/rsd0 count=15 - </verb> - - <p>Alternatively, the undocumented DOS ``feature'' - - <verb> - fdisk /mbr - </verb> - - <p>will to install a new master boot record as well, thus clobbering the - BSD bootstrap. - - <sect1> - <heading>How can I add more swap space?</heading> - - <p>The best way is to increase the size of your swap partition, or - take advantage of this convenient excuse to add another disk (and - see <ref id="swap" name="this note"> if you do). - - <p>Adding swap onto a separate disk makes things faster than - simply adding swap onto the same disk. As an example, if you - are compiling source located on one disk, and the swap is on - another disk, this is much faster than both swap and compile - on the same disk. This is true for SCSI disks specifically. - - <p> IDE drives are not able to allow access to both drives on - the same channel at the same time (FreeBSD doesn't support mode 4, so - all IDE disk I/O is ``programmed''). I would still suggest putting - your swap on a separate drive however. The drives are so cheap, - it is not worth worrying about. - - <p>It is a really bad idea to locate your swap file over NFS - unless you are running in a very fast networking environment, with - a good server. - - <p>Here is an example for 64Mb vn-swap (<tt>/usr/swap0</tt>, though - of course you can use any name that you want). - - <p>Make sure your kernel was built with the line - - <verb> - pseudo-device vn 1 #Vnode driver (turns a file into a device) - </verb> - - <p>in your config-file. The GENERIC kernel already contains this. - - <enum> - <item>create a vn-device - - <verb> - cd /dev - sh ./MAKEDEV vn0 - </verb> - - <item>create a swapfile (<tt>/usr/swap0</tt>) - - <verb> - dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 - </verb> - - <item>enable the swap file in <tt>/etc/rc.conf</tt> - - <verb> - swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. - </verb> - - <item>reboot the machine - </enum> - - <p>To enable the swap file immediately, type - - <verb> - vnconfig -ce /dev/vn0c /usr/swap0 swap - </verb> - - <sect1> - <heading>I'm having problems setting up my printer.</heading> - - <p>Please have a look at the Handbook entry on printing. It - should cover most of your problem. See the - <url url="../handbook/printing.html" name="Handbook entry on printing."> - - <sect1> - <heading>The keyboard mappings are wrong for my system.</heading> - - <p>The kbdcontrol program has an option to load a keyboard map file. - Under <tt>/usr/share/syscons/keymaps</tt> are a number of map - files. Choose the one relevant to your system and load it. - - <verb> - kbdcontrol -l uk.iso - </verb> - - <p>Both the <tt>/usr/share/syscons/keymaps</tt> and the <tt/.kbd/ - extension are assumed by - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?kbdcontrol" - name="kbdcontrol">. - - <p>This can be configured in <tt>/etc/sysconfig</tt> (or <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)" name="rc.conf">). - See the appropriate comments in this file. - - <p>In 2.0.5R and later, everything related to text fonts, keyboard - mapping is in <tt>/usr/share/examples/syscons</tt>. - - <p>The following mappings are currently supported: - - <itemize> - <!-- generate by `kbdmap -p' --> - <item>Belgian ISO-8859-1 - <item>Brazilian 275 keyboard Codepage 850 - <item>Brazilian 275 keyboard ISO-8859-1 - <item>Danish Codepage 865 - <item>Danish ISO-8859-1 - <item>French ISO-8859-1 - <item>German Codepage 850 - <item>German ISO-8859-1 - <item>Italian ISO-8859-1 - <item>Japanese 106 - <item>Japanese 106x - <item>Latin American - <item>Norwegian ISO-8859-1 - <item>Polish ISO-8859-2 (programmer's) - <item>Russian Codepage 866 (alternative) - <item>Russian koi8-r (shift) - <item>Russian koi8-r - <item>Spanish ISO-8859-1 - <item>Swedish Codepage 850 - <item>Swedish ISO-8859-1 - <item>Swiss-German ISO-8859-1 - <item>United Kingdom Codepage 850 - <item>United Kingdom ISO-8859-1 - <item>United States of America ISO-8859-1 - <item>United States of America dvorak - <item>United States of America dvorakx - </itemize> - - <sect1> - <heading>I can't get user quotas to work properly.</heading> - - <p> - <enum> - <item>Don't turn on quotas on '/', - - <item>Put the quota file on the file system that the quotas are - to be enforced on. ie: - - <verb> - FS QUOTA FILE - /usr /usr/admin/quotas - /home /home/admin/quotas - ... - </verb> - </enum> - - <sect1> - <heading>What's inappropriate about my ccd?</heading> - - <p>The symptom of this is: - - <verb> - # ccdconfig -C - ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format - # - </verb> - - <p>This usually happens when you are trying to concatenate the - `c' partitions, which default to type `unused'. The ccd - driver requires the underlying partition type to be - FS_BSDFFS. Edit the disklabel of the disks you are trying - to concatenate and change the types of partitions to - `4.2BSD'. - - <sect1> - <heading>Why can't I edit the disklabel on my ccd?</heading> - - <p>The symptom of this is: - - <verb> - # disklabel ccd0 - (it prints something sensible here, so let's try to edit it) - # disklabel -e ccd0 - (edit, save, quit) - disklabel: ioctl DIOCWDINFO: No disk label on disk; - use "disklabel -r" to install initial label - # - </verb> - - <p>This is because the disklabel returned by ccd is actually a - `fake' one that is not really on the disk. You can solve - this problem by writing it back explicitly, as in: - - <verb> - # disklabel ccd0 > /tmp/disklabel.tmp - # disklabel -Rr ccd0 /tmp/disklabel.tmp - # disklabel -e ccd0 - (this will work now) - </verb> - - <sect1> - <heading>Does FreeBSD support System V IPC primitives?</heading> - - <p>Yes, FreeBSD supports System V-style IPC. This includes shared - memory, messages and semaphores. You need to add the following - lines to your kernel config to enable them. - - <verb> - options SYSVSHM - options "SHMMAXPGS=64" # 256Kb of sharable memory - options SYSVSEM # enable for semaphores - options SYSVMSG # enable for messaging - </verb> - - <p>Recompile and install. - - <p><bf/NOTE:/ You may need to increase SHMMAXPGS to some - ridiculous number like 4096 (16M!) if you want to run - GIMP. 256Kb is plenty for X11R6 shared memory. - - <sect1> - <heading> - How do I use sendmail for mail delivery with UUCP?<label id="uucpmail"> - </heading> - - <p>The sendmail configuration that ships with FreeBSD is - suited for sites that connect directly to the Internet. - Sites that wish to exchange their mail via UUCP must install - another sendmail configuration file. - - <p>Tweaking <tt>/etc/sendmail.cf</tt> manually is considered - something for purists. Sendmail version 8 comes with a - new approach of generating config files via some - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?m4" - name="m4"> preprocessing, where the actual hand-crafted configuration - is on a higher abstraction level. You should use the - configuration files under - - <verb> - /usr/src/usr.sbin/sendmail/cf - </verb> - - <p>If you didn't install your system with full sources, the sendmail - config stuff has been broken out into a separate source distribution - tarball just for you. Assuming you've got your CD-ROM mounted, do: - - <verb> - cd /usr/src - tar -xvzf /cdrom/dists/src/ssmailcf.aa - </verb> - - <p>Don't panic, this is only a few hundred kilobytes in size. - The file <tt>README</tt> in the <tt>cf</tt> directory can - serve as a basic introduction to m4 configuration. - - <p>For UUCP delivery, you are best advised to use the - <em>mailertable</em> feature. This constitutes a database - that sendmail can use to base its routing decision upon. - - <p>First, you have to create your <tt>.mc</tt> file. The - directory <tt>/usr/src/usr.sbin/sendmail/cf/cf</tt> is the - home of these files. Look around, there are already a few - examples. Assuming you have named your file <tt>foo.mc</tt>, - all you need to do in order to convert it into a valid - <tt>sendmail.cf</tt> is: - - <verb> - cd /usr/src/usr.sbin/sendmail/cf/cf - make foo.cf - cp foo.cf /etc/sendmail.cf - </verb> - - <p>A typical <tt>.mc</tt> file might look like: - - <verb> - include(`../m4/cf.m4') - VERSIONID(`Your version number') - OSTYPE(bsd4.4) - - FEATURE(nodns) - FEATURE(nocanonify) - FEATURE(mailertable) - - define(`UUCP_RELAY', your.uucp.relay) - define(`UUCP_MAX_SIZE', 200000) - - MAILER(local) - MAILER(smtp) - MAILER(uucp) - - Cw your.alias.host.name - Cw youruucpnodename.UUCP - </verb> - - <p>The <em>nodns</em> and <em>nocanonify</em> features will - prevent any usage of the DNS during mail delivery. The - <em>UUCP_RELAY</em> clause is needed for bizarre reasons, - don't ask. Simply put an Internet hostname there that - is able to handle .UUCP pseudo-domain addresses; most likely, - you will enter the mail relay of your ISP there. - - <p>Once you've got this, you need this file called - <tt>/etc/mailertable</tt>. A typical example of this - gender again: - - <verb> - # - # makemap hash /etc/mailertable.db < /etc/mailertable - # - horus.interface-business.de uucp-dom:horus - .interface-business.de uucp-dom:if-bus - interface-business.de uucp-dom:if-bus - .heep.sax.de smtp8:%1 - horus.UUCP uucp-dom:horus - if-bus.UUCP uucp-dom:if-bus - . uucp-dom:sax - </verb> - - <p>As you can see, this is part of a real-life file. The first - three lines handle special cases where domain-addressed mail - should not be sent out to the default route, but instead to - some UUCP neighbor in order to ``shortcut'' the delivery - path. The next line handles mail to the local Ethernet - domain that can be delivered using SMTP. Finally, the UUCP - neighbors are mentioned in the .UUCP pseudo-domain notation, - to allow for a ``uucp-neighbor!recipient'' override of the - default rules. The last line is always a single dot, matching - everything else, with UUCP delivery to a UUCP neighbor that - serves as your universal mail gateway to the world. All of - the node names behind the <tt>uucp-dom:</tt> keyword must - be valid UUCP neighbors, as you can verify using the - command <tt>uuname</tt>. - - <p>As a reminder that this file needs to be converted into a - DBM database file before being usable, the command line to - accomplish this is best placed as a comment at the top of - the mailertable. You always have to execute this command - each time you change your mailertable. - - <p>Final hint: if you are uncertain whether some particular - mail routing would work, remember the <tt>-bt</tt> option to - sendmail. It starts sendmail in <em>address test mode</em>; - simply enter ``0 '', followed by the address you wish to - test for the mail routing. The last line tells you the used - internal mail agent, the destination host this agent will be - called with, and the (possibly translated) address. Leave - this mode by typing Control-D. - - <verb> - j@uriah 191% sendmail -bt - ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) - Enter <ruleset> <address> - > 0 foo@interface-business.de - rewrite: ruleset 0 input: foo @ interface-business . de - ... - rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ - < @ interface-business . de > - > ^D - j@uriah 192% - </verb> - - <sect1> - <heading> - How do I set up mail with a dialup connection to the 'net? - <label id="ispmail"> - </heading> - - <p>If you've got a statically assigned IP number, you should not - need to adjust anything from the default. Set your host name up - as your assigned internet name and sendmail will do the rest. - - <p>If you've got a dynamically assigned IP number and use a dialup - <bf/ppp/ connection to the internet, you will probably be given a - mailbox on your ISPs mail server. Lets assume your ISPs domain is - <tt/myISP.com/, and that your user name is <tt/user/. Lets also - assume you've called your machine <tt/bsd.home/ and that your ISP - has told you that you may use <tt/relay.myISP.com/ as a mail relay. - - <p>In order to retrieve mail from your mailbox, you'll need to - install a retrieval agent. <bf/Fetchmail/ is a good choice as it - supports many different protocols. Usually, POP3 will be provided - by your ISP. If you've chosen to use user-ppp, you can automatically - fetch your mail when a connection to the 'net is established with the - following entry in <tt>/etc/ppp/ppp.linkup</tt>: - - <verb> - MYADDR: - !bg su user -c fetchmail - </verb> - - <p>I'm assuming that you have an account for <tt/user/ on <tt/bsd.home/. - In the home directory of <tt/user/ on <tt/bsd.home/, create a - <tt/.fetchmailrc/ file: - - <verb> - poll myISP.com protocol pop3 fetchall pass MySecret; - </verb> - - <p>Needless to say, this file should not be readable by anyone except - <tt/user/ as it contains the password <tt/MySecret/. - - <p>In order to send mail with the correct <bf/from:/ header, you must - tell sendmail to use <tt/user@myISP.com/ rather than - <tt/user@bsd.home/. You may also wish to tell sendmail to send all - mail via <tt/relay.myISP.com/, allowing quicker mail transmission. - - <p>The following <tt/.mc/ file should suffice: - - <verb> - VERSIONID(`bsd.home.mc version 1.0') - OSTYPE(bsd4.4)dnl - FEATURE(nouucp)dnl - MAILER(local)dnl - MAILER(smtp)dnl - Cwbsd.home - CwmyISP.com - MASQUERADE_AS(`myISP.com')dnl - FEATURE(allmasquerade)dnl - FEATURE(masquerade_envelope)dnl - FEATURE(nocanonify)dnl - FEATURE(nodns)dnl - define(SMART_HOST, `relay.myISP.com') - DmmyISP.com - define(`confDOMAIN_NAME',`myISP.com')dnl - </verb> - - <p>Refer to the previous section for details of how to turn this - <tt/.mc/ file into a <tt/sendmail.rc/ file. Also, don't forget to - restart sendmail after updating sendmail.cf. - - <sect> - <heading>The X Window System and Virtual Consoles</heading> - - <sect1> - <heading>I want to run X, how do I go about it?</heading> - - <p>The easiest way is to simply specify that you want to run X - during the installation process. - - <p>Then read and follow the documentation on the <htmlurl url= - "http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=xf86config" - name="xf86config"> tool, which assists you in configuring XFree86(tm) - for your particular graphics card/mouse/etc. - - <p>You may also wish to investigate the Xaccel server, which is - available at a very reasonable price. See the section on - <ref id="xig" name="Xi Graphics"> for more details. - - <sect1> - <heading>Why doesn't my mouse work with X</heading> - - <p>If you are using syscons (the default console driver), you can - configure FreeBSD to support a mouse pointer on each virtual - screen. In order to avoid conflicting with X, syscons supports - a virtual device called ``<tt>/dev/sysmouse</tt>''. All mouse events - received from the real mouse device are written to the sysmouse - device, using the MouseSystems protocol. If you wish to use your - mouse on one or more virtual consoles, <bf/and/ use X, the - following configuration is recommended: - - <verb> - /etc/rc.conf: - moused_type=ps/2 # or whatever your actual type is - moused_port=/dev/psm0 # or whatever your real port is - moused_flags= - - /etc/XF86Config - Section Pointer - Protocol "MouseSystems" - Device "/dev/sysmouse" - ..... - </verb> - - <p>Some people prefer to use ``<tt>/dev/mouse</tt>'' under X. To - make this work, ``<tt>/dev/mouse</tt>'' should be linked to - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sysmouse" - name="/dev/sysmouse">: - - <verb> - # cd /dev - # rm -f mouse - # ln -s sysmouse mouse - </verb> - - <sect1> - <heading>X Window menus and dialog boxes don't work right!</heading> - - <p>Try turning off the Num Lock key. - - <p>If your Num Lock key is on by default at boot-time, you may add - the following line in the ``<tt/Keyboard/'' section of the - <tt/XF86config/ file. - - <verb> - # Let the server do the NumLock processing. This should only be - # required when using pre-R6 clients - ServerNumLock - </verb> - - <sect1> - <heading>What is a virtual console and how do I make more?</heading> - - <p>Virtual consoles, put simply, enable you to have several - simultaneous sessions on the same machine without doing anything - complicated like setting up a network or running X. - - <p>When the system starts, it will display a login prompt on - the monitor after displaying all the boot messages. You can - then type in your login name and password and start working (or - playing!) on the first virtual console. - - <p>At some point, you will probably wish to start another - session, perhaps to look at documentation for a program - you are running or to read your mail while waiting for an - FTP transfer to finish. Just do Alt-F2 (hold down the Alt - key and press the F2 key), and you will find a login prompt - waiting for you on the second ``virtual console''! When you - want to go back to the original session, do Alt-F1. - - <p>The default FreeBSD installation has three virtual consoles - enabled, and Alt-F1, Alt-F2, and Alt-F3 will switch between - these virtual consoles. - - To enable more of them, edit <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys"> - and add entries for ``<tt/ttyv4/'' to ``<tt/ttyvc/'' after the - comment on ``Virtual terminals'': - - <verb> - # Edit the existing entry for ttyv3 in /etc/ttys and change - # "off" to "on". - ttyv3 "/usr/libexec/getty Pc" cons25 on secure - ttyv4 "/usr/libexec/getty Pc" cons25 on secure - ttyv5 "/usr/libexec/getty Pc" cons25 on secure - ttyv6 "/usr/libexec/getty Pc" cons25 on secure - ttyv7 "/usr/libexec/getty Pc" cons25 on secure - ttyv8 "/usr/libexec/getty Pc" cons25 on secure - ttyv9 "/usr/libexec/getty Pc" cons25 on secure - ttyva "/usr/libexec/getty Pc" cons25 on secure - ttyvb "/usr/libexec/getty Pc" cons25 on secure - </verb> - - <p>Use as many or as few as you want. The more virtual terminals - you have, the more resources that are used; this can be important - if you have 8MB RAM or less. You may also want to change the - ``<tt/secure/'' to ``<tt/insecure/''. - - <p><bf/IMPORTANT NOTE/ if you want to run an X server you <bf/MUST/ - leave at least one virtual terminal unused (or turned off) for it - to use. That is to say that if you want to have a login - prompt pop up for all twelve of your Alt-function keys, - you're out of luck - you can only do this for eleven of them - if you also want to run an X server on the same machine. - - <p>The easiest way to disable a console is by turning it off. For - example, if you had the full 12 terminal allocation mentioned - above and you wanted to run X, you would change settings for - virtual terminal 12 from: - - <verb> - ttyvb "/usr/libexec/getty Pc" cons25 on secure - </verb> - - <p>to: - - <verb> - ttyvb "/usr/libexec/getty Pc" cons25 off secure - </verb> - - <p>If your keyboard has only ten function keys, you would end up with: - - <verb> - ttyv9 "/usr/libexec/getty Pc" cons25 off secure - ttyva "/usr/libexec/getty Pc" cons25 off secure - ttyvb "/usr/libexec/getty Pc" cons25 off secure - </verb> - - <p>(You could also just delete these lines.) - - <p>Once you have edited <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys">, - the next step is to make sure that you have enough virtual terminal - devices. The easiest way to do this is: - - <verb> - # cd /dev - # ./MAKEDEV vty12 # For 12 devices - </verb> - - <p>Next, the easiest (and cleanest) way to activate the virtual - consoles is to reboot. However, if you really don't want to - reboot, you can just shut down the X Window system and execute (as - <tt/root/): - - <verb> - kill -HUP 1 - </verb> - - <p>It's imperative that you completely shut down X Window if it is - running, before running this command. If you don't, your system - will probably appear to hang/lock up after executing the kill - command. - - <sect1> - <heading>How do I access the virtual consoles from X?</heading> - - <p>If the console is currently displaying X Window, you can use - Ctrl-Alt-F1, etc. to switch to a virtual console. Note, however, - that once you've switched away from X Window to a virtual - terminal, you may use only the Alt- function key to switch to another - virtual terminal or back to X Window. You do not need to also press the - Ctrl key. If you use the control key to switch back to X on some - older releases, you can find your text console stuck in ``control-lock'' - mode. Tap the control key to wake it up again. - - <sect1> - <heading>How do I start XDM from the <tt>/etc/ttys</tt> file ?</heading> - - <p>Starting <htmlurl url= - "http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=xdm" - name="xdm"> via <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ttys" - name="/etc/ttys"> is a <bf/Bad Thing/. I don't know why this - crept into some README file. - - <p>Start it from your <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?rc" name="rc.local"> (or even - from a <tt/X.sh/ script in <tt>/usr/local/etc/rc.d</tt>), and be - explicit about how it has to start. If this is your last action in - <tt/rc.local/, put a ``<tt/sleep 1/'' behind, to allow <tt/xdm/ to - properly daemonize before the <tt/rc/ shell exits. - - <p><tt/xdm/ should be started without any arguments (i.e., as a - daemon). - - <p><bf/NOTE:/ A previous version of this FAQ told you to add the - <tt/vt/ you want X to use to the - <tt>/usr/X11R6/lib/X11/xdm/Xservers</tt> file. This is not necessary: - X will use the first free <tt/vt/ it finds. - - <sect1> - <heading>When I run xconsole, I get ``Couldn't open console''.</heading> - - <p>If you start <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=X" - name="X"> with <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=startx" - name="startx">, the permissions on /dev/console will <tt /not/ get - changed, resulting in things like <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=xterm" - name="xterm -C"> and <htmlurl url= - "http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=xconsole" - name="xconsole"> not working. - - <p>This is because of the way console permissions are set by default. - On a multi-user system, one doesn't necessarily want just any user - to be able to write on the system console. For users who are logging - directly onto a machine with a VTY, the - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fbtab" name="fbtab"> - file exists to solve such problems. - - <p>In a nutshell, make sure an uncommented line of the form - - <verb> - /dev/ttyv0 0600 /dev/console - </verb> - - <p>is in <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fbtab(5)" - name="/etc/fbtab"> and it will ensure that whomever logs in on - <tt>/dev/ttyv0</tt> will own the console. - - <sect1> - <heading>My PS/2 mouse doesn't behave properly under X.</heading> - - <p>Your mouse and the mouse driver have somewhat become out of - synchronization. Switching away from X to a virtual terminal - and getting back to X again may make them re-synchronized. - If the problem occurs often, you may add the following option - in your kernel configuration file and recompile it. - - <verb> - options PSM_CHECKSYNC - </verb> - - <p>See the section on <ref id="make-kernel" name="building a kernel"> - if you've no experience with building kernels. - - <p>With this option, there should be less chance of synchronization - problem between the mouse and the driver. If, however, you - still see the problem, click any mouse button while holding - the mouse still to re-synchronize the mouse and the driver. - - <p>Note that unfortunately this option may not work with all the - systems and voids the ``tap'' feature of the ALPS GlidePoint - device attached to the PS/2 mouse port. - - <sect> - <heading>Networking<label id="networking"></heading> - - <sect1> - <heading>Where can I get information on ``diskless booting''?</heading> - - <p>``Diskless booting'' means that the FreeBSD box is booted over a - network, and reads the necessary files from a server instead of - its hard disk. For full details, please read - <url url="../handbook/diskless.html" - name="the Handbook entry on diskless booting"> - - <sect1> - <heading> - Can a FreeBSD box be used as a dedicated network router? - </heading> - - <p>Internet standards and good engineering practice prohibit us from - providing packet forwarding by default in FreeBSD. You can - however enable this feature by changing the following variable to - <tt/YES/ in <htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc.conf" - name="rc.conf">: - - <verb> - gateway_enable=YES # Set to YES if this host will be a gateway - </verb> - - <p>This option will put the <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?sysctl" name="sysctl"> variable - <tt/net.inet.ip.forwarding/ to <tt/1/. - - <p>In most cases, you will also need to run a routing process to - tell other systems on your network about your router; FreeBSD - comes with the standard BSD routing daemon - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?routed" - name="routed">, or for more complex situations you may want to try - <em/GaTeD/ (available by FTP from <tt/ftp.gated.Merit.EDU/) which - supports FreeBSD as of 3_5Alpha7. - - <p>It is our duty to warn you that, even when FreeBSD is configured - in this way, it does not completely comply with the Internet - standard requirements for routers; however, it comes close enough - for ordinary usage. - - <sect1> - <heading>Can I connect my Win95 box to the Internet via FreeBSD?</heading> - - <p>Typically, people who ask this question have two PC's at home, one - with FreeBSD and one with Win95; the idea is to use the FreeBSD - box to connect to the Internet and then be able to access the - Internet from the Windows95 box through the FreeBSD box. This - is really just a special case of the previous question. - - <p>There's a useful document available which explains how to set - FreeBSD up as a <url url="http://www.ssimicro.com/~jeremyc/ppp.html" - name="PPP Dialup Router"> - - <p><bf/NOTE:/ This requires having at least two fixed IP addresses - available, and possibly three or more, depending on how much - work you want to go through to set up the Windows box. As an - alternative, if you don't have a fixed IP, you can use one of - the private IP subnets and install <bf/proxies/ such as - <url url="http://squid.nlanr.net/Squid/" name="SQUID"> and - <url url="http://www.tis.com/" name="the TIS firewall toolkit"> - on your FreeBSD box. - - <p>See also the section on <ref id="direct-at" name="natd">. - - <sect1> - <heading> - Why does recompiling the latest BIND from ISC fail? - </heading> - - <p>There is a conflict between the ``<tt/cdefs.h/'' file in the - distribution and the one shipped with FreeBSD. Just remove - <tt>compat/include/sys/cdefs.h</tt>. - - <sect1> - <heading>Does FreeBSD support SLIP and PPP?</heading> - - <p>Yes. See the man pages for - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?slattach" - name="slattach">, <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?sliplogin" name="sliplogin">, - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?pppd" name="pppd"> and - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" name="ppp">. - <tt/pppd/ and <tt/ppp/ provide support for both incoming and outgoing - connections. <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sliplogin" - name="Sliplogin"> deals exclusively with incoming connections and - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?slattach" - name="slattach"> deals exclusively with outgoing connections. - - <p>These programs are described in the following sections of the - <url url="../handbook/handbook.html" name="handbook">: - - <itemize> - <item><url url="../handbook/slips.html" - name="Handbook entry on SLIP (server side)"> - - <item><url url="../handbook/slipc.html" - name="Handbook entry on SLIP (client side)"> - - <item><url url="../handbook/ppp.html" - name="Handbook entry on PPP (kernel version)"> - - <item><url url="../handbook/userppp.html" - name="Handbook entry on PPP (user-mode version)"> - </itemize> - - <p>If you only have access to the Internet through a "shell - account", you may want to have a look at the <htmlurl - url="http://www.freebsd.org/cgi/ports.cgi?^slirp" name="slirp"> - package. It can provide you with (limited) access to services - such as ftp and http direct from your local machine. - - <sect1> - <heading> - Does FreeBSD support NAT or Masquerading<label id="natd"> - </heading> - - <p>If you have a local subnet (one or more local machines), but have - been allocated only a single IP number from your Internet provider - (or even if you receive a dynamic IP number), you may want to look at - the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?natd" name="natd"> - program. <tt/Natd/ allows you to connect an entire subnet to the - internet using only a single IP number. - - <p>The <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" - name="ppp"> program has similar functionality built in via - the <tt/-alias/ switch. The <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?libalias" name="alias library"> - is used in both cases. - - <sect1> - <heading> - I can't make ppp work. What am I doing wrong ?<label id="userppp"> - </heading> - - <p>You should first read the <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?ppp" name="ppp man page"> and - the <url url="../handbook/userppp.html" - name="ppp section of the handbook">. Enable logging with the command - - <verb> - set log Phase Chat Connect Carrier lcp ipcp ccp command - </verb> - - <p>This command may be typed at the <tt/ppp/ command prompt or - it may be entered in the <tt>/etc/ppp/ppp.conf</tt> configuration file - (the start of the <bf>default</bf> section is the best place to put it). - Make sure that <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?syslog.conf" - name="/etc/syslog.conf"> contains the lines - - <verb> - !ppp - *.* /var/log/ppp.log - </verb> - - <p>and that the file <tt>/var/log/ppp.log</tt> exists. You can - now find out a lot about what's going on from the log file. - Don't worry if it doesn't all make sense. If you need to - get help from someone, it may make sense to them. - - <p>If your version of ppp doesn't understand the "set log" - command, you should download the - <url url="http://www.freebsd.org/~brian" name="latest version">. - It will build on FreeBSD version 2.1.5 and higher. - - <sect2> - <heading>Ppp won't dial in -auto mode</heading> - - <p>First, check that you've got a default route. By running <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?netstat"> - name="netstat -rn">, you should see two entries like this: - - <verb> -Destination Gateway Flags Refs Use Netif Expire -default 10.0.0.2 UGSc 0 0 tun0 -10.0.0.2 10.0.0.1 UH 0 0 tun0 - </verb> - - <p>This is assuming that you've used the addresses from the - handbook, the man page or from the ppp.conf.sample file. - If you haven't got a default route, it may be because you're - running an old version of <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?ppp" - name="ppp"> that doesn't understand the - word <tt/HISADDR/ in the ppp.conf file. If your version of - <tt/ppp/ is from before FreeBSD 2.2.5, change the - - <verb> - add 0 0 HISADDR - </verb> - - <p>line to one saying - - <verb> - add 0 0 10.0.0.2 - </verb> - - <p>Another reason for the default route line being missing is that - you have mistakenly set up a default router in your - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc.conf" - name="/etc/rc.conf"> file (this file was called - <tt>/etc/sysconfig</tt> prior to release 2.2.2), and you have - omitted the line saying - - <verb> - delete ALL - </verb> - - <p>from <tt>ppp.conf</tt>. If this is the case, go back to the - <url url="../handbook/userppp:final.html" - name="Final system configuration"> section of the handbook. - - <sect2> - <heading>What does "No route to host" mean</heading> - - <p>This error is usually due to a missing - - <verb> - MYADDR: - delete ALL - add 0 0 HISADDR - </verb> - - <p>section in your <tt>/etc/ppp/ppp.linkup</tt> file. This is - only necessary if you have a dynamic IP address or don't know the - address of your gateway. If you're using interactive mode, you can - type the following after entering <tt/packet mode/ (packet mode is - indicated by the capitalized <bf/PPP/ in the prompt): - - <verb> - delete ALL - add 0 0 HISADDR - </verb> - - <p>Refer to the <url url="../handbook/userppp:dynamicIP.html" - name="PPP and Dynamic IP addresses"> section of the handbook - for further details. - - <sect2> - <heading>My connection drops after about 3 minutes</heading> - - <p>The default ppp timeout is 3 minutes. This can be adjusted - with the line - - <verb> - set timeout NNN - </verb> - - <p>where <bf/NNN/ is the number of seconds of inactivity before the - connection is closed. If <bf/NNN/ is zero, the connection is - never closed due to a timeout. It is possible to put this command in - the <tt>ppp.conf</tt> file, or to type it at the prompt in - interactive mode. It is also possible to adjust it on the fly while - the line is active by connecting to <tt/ppp/s server socket using - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?telnet" name="telnet"> - or <htmlurl url="http://www.freebsd.org/cgi/man.cgi?pppctl" - name="pppctl">. Refer to the - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" name="ppp"> man - page for further details. - - <sect2> - <heading>My connection drops under heavy load</heading> - - <p>If you have Link Quality Reporting (LQR) configured, it is - possible that too many LQR packets are lost between your - machine and the peer. Ppp deduces that the line must therefore - be bad, and disconnects. Prior to FreeBSD version 2.2.5, - LQR was enabled by default. It is now disabled by default. - LQR can be disabled with the line - - <verb> - disable lqr - </verb> - - <sect2> - <heading>My connection drops after a random amount of time</heading> - - <p>Sometimes, on a noisy phone line or even on a line with - call waiting enabled, your modem may hang up because it - thinks (incorrectly) that it lost carrier. - - <p>There's a setting on most modems for determining how tolerant - it should be to temporary losses of carrier. On a USR - Sportster for example, this is measured by the S10 register in - tenths of a second. To make your modem more forgiving, you could - add the following send-expect sequence to your dial string: - - <verb> - set dial "...... ATS10=10 OK ......" - </verb> - - <p>Refer to your modem manual for details. - - <sect2> - <heading>Nothing happens after the Login OK! message</heading> - - <p>Prior to FreeBSD version 2.2.5, once the link was established, - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" - name="ppp"> would wait for the peer to initiate the Line Control - Protocol (LCP). Many ISPs will not initiate negotiations and - expect the client to do so. To force <tt/ppp/ to initiate - the LCP, use the following line: - - <verb> - set openmode active - </verb> - - <p><bf/Note/: It usually does no harm if both sides initiate - negotiation, so openmode is now active by default. However, - the next section explains when it <bf/does/ do some harm. - - <sect2> - <heading>I keep seeing errors about magic being the same</heading> - - <p>Occasionally, just after connecting, you may see messages in - the log that say "magic is the same". Sometimes, these - messages are harmless, and sometimes one side or the other - exits. - - <p>This normally happens on server machines with slow disks that - are spawning a getty on the port, and executing ppp from a - login script or program after login. The reason is that in - the time taken between getty exiting and ppp starting, the - client-side ppp starts sending Line Control Protocol (LCP) - packets. Because ECHO is still switched on for the port on - the server, the client ppp sees these packets "reflect" back. - - <p>One part of the LCP negotiation is to establish a magic number - for each side of the link so that "reflections" can be detected. - The protocol says that when the peer tries to negotiate - the same magic number, a NAK should be sent and a new magic - number should be chosen. During the period that the server - port has ECHO turned on, the client ppp sends LCP packets, - sees the same magic in the reflected packet and NAKs it. It - also sees the NAK reflect (which also means ppp must change - its magic). This produces a potentially enormous number of - magic number changes, all of which are happily piling into - the server's tty buffer. As soon as ppp starts on the server, - it's flooded with magic number changes and almost immediately - decides it's tried enough to negotiate LCP and gives up. - Meanwhile, the client, who no longer sees the reflections, - becomes happy just in time to see a hangup from the server. - - <p>The only way to circumvent this is to put the following line - in your ppp.conf file: - - <verb> - set openmode passive - </verb> - - <p>This tells ppp to wait for the server to initiate LCP negotiations. - Some servers may never initiate negotiations. If this is the case, - please report it as a bug (using send-pr). Ppp will need to be - adjusted so that the user can configure a variable delay before - initiating LCP negotiations. - - <sect2> - <heading>Ppp locks up shortly after connecting</heading> - - <p>Prior to version 2.2.5 of FreeBSD, it was possible that your - link was disabled shortly after connection due to <tt/ppp/ - mis-handling Predictor1 compression negotiation. This would - only happen if both sides tried to negotiate different - Compression Control Protocols (CCP). This problem is now - corrected, but if you're still running an old version of - <tt/ppp/, the problem can be circumvented with the line - - <verb> - disable pred1 - </verb> - - <sect2> - <heading>Ppp locks up when I shell out to test it</heading> - - <p>When you execute the <tt/shell/ or <tt/!/ command, <tt/ppp/ - executes a shell (or if you've passed any arguements, <tt/ppp/ - will execute those arguements). Ppp will wait for the command - to complete before continuing. If you attempt to use the - ppp link while running the command, the link will appear to have - frozen. This is because <tt/ppp/ is waiting for the command - to complete. - - <p>If you wish to execute commands like this, use the - <tt/!bg/ command instead. This will execute the given command - in the background, and ppp can continue to service the link. - - <sect2> - <heading>Ppp over a null-modem cable never exits</heading> - - <p>There is no way for <tt/ppp/ to automatically determine that - a direct connection has been dropped. This is due to the - lines that are used in a null-modem serial cable. When using - this sort of connection, LQR should always be enabled with - the line - - <verb> - enable lqr - </verb> - - <p>LQR is accepted by default if negotiated by the peer. - - <sect2> - <heading>Why does ppp dial for no reason in -auto mode</heading> - - <p>If <tt/ppp/ is dialing unexpectedly, you must determine the - cause, and set up Dial filters (dfilters) to prevent such dialing. - - <p>To determine the cause, use the following line: - - <verb> - set log +tcp/ip - </verb> - - <p>This will log all traffic through the connection. The next - time the line comes up unexpectedly, you will see the reason - logged with a convenient timestamp next to it. - - <p>You can now disable dialing under these circumstances. Usually, - this sort of problem arises due to DNS lookups. To prevent - DNS lookups from establishing a connection (this will <bf/not/ - prevent <tt/ppp/ from passing the packets through an established - connection), use the following: - - <verb> - set dfilter 1 deny udp src eq 53 - set dfilter 2 deny udp dst eq 53 - set dfilter 3 permit 0/0 0/0 - </verb> - - <p>This is not always suitable, as it will effectively break your - demand-dial capabilities - most programs will need a DNS lookup - before doing any other network related things. - - <p>In the DNS case, you should try to determine what is actually - trying to resolve a host name. A lot of the time, - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sendmail" - name="sendmail"> is the culprit. You should make sure that you tell - sendmail not to do any DNS lookups in its configuration file. See - the section on <ref id="ispmail" name="Mail Configuration"> for - further details. - - <sect2> - <heading>What do these CCP errors mean</heading> - - <p>I keep seeing the following errors in my log file: - - <verb> - CCP: CcpSendConfigReq - CCP: Received Terminate Ack (1) state = Req-Sent (6) - </verb> - - <p>This is because ppp is trying to negotiate Predictor1 - compression, and the peer does not want to negotiate any - compression at all. The messages are harmless, but if you - wish to remove them, you can disable Predictor1 compression - locally too: - - <verb> - disable pred1 - </verb> - - <sect2> - <heading>Ppp locks up during file transfers with IO errors</heading> - - <p>Under FreeBSD 2.2.2 and before, there was a bug in the tun - driver that prevents incoming packets of a size larger than - the tun interface's MTU size. Receipt of a packet greater than - the MTU size results in an IO error being logged via syslogd. - - <p>The ppp specification says that an MRU of 1500 should - <bf>always</bf> be accepted as a minimum, despite any LCP - negotiations, therefore it is possible that should you decrease - the MTU to less than 1500, your ISP will transmit packets of - 1500 regardless, and you will tickle this non-feature - locking - up your link. - - <p>The problem can be circumvented by never setting an MTU of - less than 1500 under FreeBSD 2.2.2 or before. - - <sect2> - <heading>Why doesn't ppp log my connection speed?</heading> - - <p>In order to log all lines of your modem ``conversation'', - you must enable the following: - - <verb> - set log +connect - </verb> - - <p>This will make - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" name="ppp"> - log everything up until the last requested "expect" string. - - <p>If you wish to see your connect speed and are using PAP or CHAP - (and therefore don't have anything to "chat" after the CONNECT - in the dial script - no "set login" script), you must make sure that - you instruct ppp to "expect" the whole CONNECT line, something like - this: - - <verb> - set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n" - </verb> - - <p>Here, we get our CONNECT, send nothing, then expect a line-feed, - forcing <bf/ppp/ to read the whole CONNECT response. - - <sect2> - <heading>None of this helps - I'm desperate !</heading> - - <p>If all else fails, send as much information as you can, - including your config files, how you're starting <tt/ppp/, - the relevent parts of your log file and the output of the - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?netstat" - name="netstat -rn"> command (before and after connecting) to the - <url url="mailto:freebsd-questions@FreeBSD.org" - name="freebsd-questions@FreeBSD.org"> mailing list or the - <url url="news:comp.unix.bsd.freebsd.misc" - name="comp.unix.bsd.freebsd.misc"> news group, and someone - should point you in the right direction. - - <sect1> - <heading>I can't create a <tt>/dev/ed0</tt> device!</heading> - - <p>In the Berkeley networking framework, network interfaces are only - directly accessible by kernel code. Please see the - <tt>/etc/rc.network</tt> file and the manual pages for the various - network programs mentioned there for more information. If this - leaves you totally confused, then you should pick up a book - describing network administration on another BSD-related - operating system; with few significant exceptions, administering - networking on FreeBSD is basically the same as on SunOS 4.0 or - Ultrix. - - <sect1> - <heading>How can I setup Ethernet aliases?</heading> - - <p>Add ``<tt/netmask 0xffffffff/'' to your <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?ifconfig" name="ifconfig"> - command-line like the following: - - <verb> - ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff - </verb> - - <sect1> - <heading>How do I get my 3C503 to use the other network port?</heading> - - <p>If you want to use the other ports, you'll have to specify an - additional parameter on the - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ifconfig" - name="ifconfig"> command line. The - default port is ``<tt/link0/''. To use the AUI port instead of - the BNC one, use ``<tt/link2/''. These flags should be specified - using the ifconfig_* variables in <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?rc.conf" name="/etc/rc.conf">. - - <sect1> - <heading>I'm having problems with NFS to/from FreeBSD.</heading> - - <p>Certain PC network cards are better than others (to put it - mildly) and can sometimes cause problems with network intensive - applications like NFS. - - <p>See <url url="../handbook/nfs.html" name="the Handbook entry on NFS"> - for more information on this topic. - - <sect1> - <heading>Why can't I NFS-mount from a Linux box?</heading> - - <p>Some versions of the Linux NFS code only accept mount requests - from a privileged port; try - - <verb> - mount -o -P linuxbox:/blah /mnt - </verb> - - <sect1> - <heading>Why can't I NFS-mount from a Sun box?</heading> - - <p>Sun workstations running SunOS 4.X only accept mount requests - from a privileged port; try - - <verb> - mount -o -P sunbox:/blah /mnt - </verb> - - <sect1> - <heading>I'm having problems talking PPP to NeXTStep machines.</heading> - - <p>Try disabling the TCP extensions in <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?rc.conf" name="/etc/rc.conf"> by - changing the following variable to NO: - - <verb> - tcp_extensions=NO - </verb> - - <p>Xylogic's Annex boxes are also broken in this regard and you must - use the above change to connect thru them. - - <sect1> - <heading>How do I enable IP multicast support?</heading> - - <p>Multicast host operations are fully supported in FreeBSD 2.0 and - above by default. If you want your box to run as a multicast router, you - will need to load the <tt/ip_mroute_mod/ loadable kernel module - and run <tt/mrouted/. - - <p>For more information: - - <verb> -Product Description Where ---------------- ----------------------- --------------------------------------- -faq.txt Mbone FAQ ftp.isi.edu:/mbone/faq.txt -imm/immserv IMage Multicast ftp.hawaii.edu:/paccom/imm.src.tar.Z - for jpg/gif images. -nv Network Video. ftp.parc.xerox.com: - /pub/net-reseach/exp/nv3.3alpha.tar.Z -vat LBL Visual Audio Tool. ftp.ee.lbl.gov: - /conferencing/vat/i386-vat.tar.Z -wb LBL White Board. ftp.ee.lbl.gov: - /conferencing/wb/i386-wb.tar.Z -mmcc MultiMedia Conference ftp.isi.edu: - Control program /confctrl/mmcc/mmcc-intel.tar.Z -rtpqual Tools for testing the ftp.psc.edu:/pub/net_tools/rtpqual.c - quality of RTP packets. -vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z - and nv. - </verb> - - <sect1> - <heading>Which network cards are based on the DEC PCI chipset?</heading> - - <p>Here is a list compiled by <url url="mailto:gfoster@driver.nsta.org" - name="Glen Foster">: - - <verb> - Vendor Model - ---------------------------------------------- - ASUS PCI-L101-TB - Accton ENI1203 - Cogent EM960PCI - Compex ENET32-PCI - D-Link DE-530 - DEC DE435 - Danpex EN-9400P3 - JCIS Condor JC1260 - Linksys EtherPCI - Mylex LNP101 - SMC EtherPower 10/100 (Model 9332) - SMC EtherPower (Model 8432) - TopWare TE-3500P - Zynx ZX342 - </verb> - - <sect1> - <heading>Why do I have to use the FQDN for hosts on my site?</heading> - - <p>You will probably find that the host is actually in a different - domain; for example, if you are in foo.bar.edu and you wish to reach - a host called ``mumble'' in the bar.edu domain, you will have to - refer to it by the fully-qualified domain name, ``mumble.bar.edu'', - instead of just ``mumble''. - - <p>Traditionally, this was allowed by BSD BIND resolvers. However - the current version of <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?named" name="bind"> that ships - with FreeBSD no longer provides default abbreviations for non-fully - qualified domain names other than the domain you are in. - So an unqualified host <tt>mumble</tt> must either be found - as <tt>mumble.foo.bar.edu</tt>, or it will be searched for - in the root domain. - - <p>This is different from the previous behavior, where the - search continued across <tt>mumble.bar.edu</tt>, and - <tt>mumble.edu</tt>. Have a look at RFC 1535 for why this - was considered bad practice, or even a security hole. - - <p>As a good workaround, you can place the line - - <verb> - search foo.bar.edu bar.edu - </verb> - - <p>instead of the previous - - <verb> - domain foo.bar.edu - </verb> - - <p>into your <htmlurl url="http://www.freebsd.org/cgi/man.cgi?resolv.conf" - name="/etc/resolv.conf"> file. However, make sure that the search order - does not go beyond the ``boundary between local and public - administration'', as RFC 1535 calls it. - - <sect1> - <heading>``Permission denied'' for all networking operations.</heading> - - <p>If you have compiled your kernel with the <tt/IPFIREWALL/ - option, you need to be aware that the default policy as of - 2.1.7R (this actually changed during 2.1-STABLE development) - is to deny all packets that are not explicitly allowed. - - <p>If you had unintentionally misconfigured your system for - firewalling, you can restore network operability by typing - the following while logged in as root: - - <verb> - ipfw add 65534 allow all from any to any - </verb> - - <p>For further information on configuring a FreeBSD firewall, - see the <url url="../handbook/firewalls.html" name="Handbook section">. - - <sect> - <heading>Serial Communications</heading> - - <p>This section answers common questions about serial communications - with FreeBSD. PPP and SLIP are covered in the <ref id="networking" - name="Networking"> section. - - <sect1> - <heading>How do I tell if FreeBSD found my serial ports?</heading> - - <p>As the FreeBSD kernel boots, it will probe for the serial ports - in your system for which the kernel was configured. You can - either watch your system closely for the messages it prints or - run the command - - <verb> - dmesg | grep sio - </verb> - - <p>after your system's up and running. - - <p>Here's some example output from the above command: - - <verb> - sio0 at 0x3f8-0x3ff irq 4 on isa - sio0: type 16550A - sio1 at 0x2f8-0x2ff irq 3 on isa - sio1: type 16550A - </verb> - - <p>This shows two serial ports. The first is on irq 4, is using - port address <tt/0x3f8/, and has a 16550A-type UART chip. The - second uses the same kind of chip but is on irq 3 and is at port - address <tt/0x2f8/. Internal modem cards are treated just like - serial ports---except that they always have a modem ``attached'' - to the port. - - <p>The <tt/GENERIC/ kernel includes support for two serial ports - using the same irq and port address settings in the above - example. If these settings aren't right for your system, or if - you've added modem cards or have more serial ports than your - kernel is configured for, just reconfigure your kernel. See - section <ref id="make-kernel" name="about building a kernel"> for - more details. - - <sect1> - <heading>How do I tell if FreeBSD found my modem cards?</heading> - - <p>Refer to the answer to the previous question. - - <sect1> - <heading>I just upgraded to 2.0.5 and my <tt/tty0X/ are missing!</heading> - - <p>Don't worry, they have been merged with the <tt/ttydX/ devices. - You'll have to change any old configuration files you have, though. - - <sect1> - <heading>How do I access the serial ports on FreeBSD?</heading> - - <p>The third serial port, <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?sio" name="sio2"> (known as - COM3 in DOS), is on <tt>/dev/cuaa2</tt> for dial-out devices, and on - <tt>/dev/ttyd2</tt> for dial-in devices. What's the difference - between these two classes of devices? - - <p>You use <tt/ttydX/ for dial-ins. When opening <tt>/dev/ttydX</tt> - in blocking mode, a process will wait for the corresponding - <tt/cuaaX/ device to become inactive, and then wait - for the carrier detect line to go active. When you open the - <tt/cuaaX/ device, it makes sure the serial port isn't already in - use by the <tt/ttydX/ device. If the port's available, it - ``steals'' it from the <tt/ttydX/ device. Also, the <tt/cuaXX/ - device doesn't care about carrier detect. With this scheme and - an auto-answer modem, you can have remote users log in and you - can still dialout with the same modem and the system will take - care of all the conflicts. - - <sect1> - <heading>How do I enable support for a multiport serial card?</heading> - - <p>Again, the section on kernel configuration provides information - about configuring your kernel. For a multiport serial card, - place an <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sio" - name="sio"> line for each serial port on the card in the - kernel configuration file. But place the irq and vector - specifiers on only one of the entries. All of the ports on the - card should share one irq. For consistency, use the last serial - port to specify the irq. Also, specify the <tt/COM_MULTIPORT/ - option. - - <p>The following example is for an AST 4-port serial card on irq 7: - - <verb> - options "COM_MULTIPORT" - device sio4 at isa? port 0x2a0 tty flags 0x781 - device sio5 at isa? port 0x2a8 tty flags 0x781 - device sio6 at isa? port 0x2b0 tty flags 0x781 - device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr - </verb> - - <p>The flags indicate that the master port has minor number 7 - (<tt/0x700/), diagnostics enabled during probe (<tt/0x080/), and - all the ports share an irq (<tt/0x001/). - - <sect1> - <heading>Can FreeBSD handle multiport serial cards sharing irqs?</heading> - - <p>Not yet. You'll have to use a different irq for each card. - - <sect1> - <heading>Can I set the default serial parameters for a port?</heading> - - <p>The <tt/ttydX/ (or <tt/cuaaX/) device is the regular device - you'll want to open for your applications. When a process opens - the device, it'll have a default set of terminal I/O settings. - You can see these settings with the command - - <verb> - stty -a -f /dev/ttyd1 - </verb> - - <p>When you change the settings to this device, the settings are in - effect until the device is closed. When it's reopened, it goes - back to the default set. To make changes to the default set, you - can open and adjust the settings of the ``initial state'' device. - For example, to turn on <tt/CLOCAL/ mode, 8 bits, and - <tt>XON/XOFF</tt> flow control by default for ttyd5, do: - - <verb> - stty -f /dev/ttyid5 clocal cs8 ixon ixoff - </verb> - - <p>A good place to do this is in <tt>/etc/rc.serial</tt>. Now, an - application will have these settings by default when it opens - <tt/ttyd5/. It can still change these settings to its liking, - though. - - <p>You can also prevent certain settings from being changed by an - application by making adjustments to the ``lock state'' device. - For example, to lock the speed of <tt/ttyd5/ to 57600 bps, do - - <verb> - stty -f /dev/ttyld5 57600 - </verb> - - <p>Now, an application that opens <tt/ttyd5/ and tries to change the - speed of the port will be stuck with 57600 bps. - - <p>Naturally, you should make the initial state and lock state - devices writable only by <tt/root/. The <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?MAKEDEV" - name="MAKEDEV"> script does <bf/NOT/ do this when it creates the - device entries. - - <sect1> - <heading>How can I enable dialup logins on my modem?</heading> - - <p>So you want to become an Internet service provider, eh? First, - you'll need one or more modems that can auto-answer. Your modem - will need to assert carrier-detect when it detects a carrier and - not assert it all the time. It will need to hang up the phone - and reset itself when the data terminal ready (<tt/DTR/) line - goes from on to off. It should probably use <tt>RTS/CTS</tt> - flow control or no local flow control at all. Finally, it must - use a constant speed between the computer and itself, but (to be - nice to your callers) it should negotiate a speed between itself - and the remote modem. - - <p>For many Hayes command-set--compatible modems, this command will - make these settings and store them in nonvolatile memory: - - <verb> - AT &C1 &D3 &K3 &Q6 S0=1 &W - </verb> - - <p>See the section <ref id="direct-at" name="on sending AT - commands"> below for information on how to make these settings - without resorting to an MS-DOS terminal program. - - <p>Next, make an entry in <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys"> for the - modem. This file lists all the ports on which the operating system will - await logins. Add a line that looks something like this: - - <verb> - ttyd1 "/usr/libexec/getty std.57600" dialup on insecure - </verb> - - <p>This line indicates that the second serial port - (<tt>/dev/ttyd1</tt>) has a modem connected running at 57600 bps - and no parity (<tt/std.57600/, which comes from the file - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?gettytab" - name="/etc/gettytab">). The terminal type for this port is - ``dialup.'' The port is ``on'' and is ``insecure''---meaning - root logins on the port aren't allowed. For dialin ports like - this one, use the <tt/ttydX/ entry. - - <p>It's common practice to use ``dialup'' as the terminal type. - Many users set up in their .profile or .login files a prompt for - the actual terminal type if the starting type is dialup. The - example shows the port as insecure. To become root on this port, - you have to login as a regular user, then <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?su" name="su">'' to - <tt/root/. If you use ``secure'' then <tt/root/ can login in - directly. - - <p>After making modifications to <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys">, you - need to send a hangup or <tt/HUP/ signal to the <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?init" name="init"> process: - - <verb> - kill -HUP 1 - </verb> - - <p>This forces the init process to reread <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys">. The - init process will then start getty processes on all ``on'' ports. - You can find out if logins are available for your port by typing - - <verb> - ps -ax | grep '[t]tyd1' - </verb> - - <p>You should see something like: - - <verb> - 747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 - </verb> - - <sect1> - <heading>How can I connect a dumb terminal to my FreeBSD box?</heading> - - <p>If you're using another computer as a terminal into your FreeBSD - system, get a null modem cable to go between the two serial - ports. If you're using an actual terminal, see its accompanying - instructions. - - <p>Then, modify <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ttys" - name="/etc/ttys">, like above. For example, if you're hooking up a - WYSE-50 terminal to the fifth serial port, use an entry like this: - - <verb> - ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure - </verb> - - <p>This example shows that the port on <tt>/dev/ttyd4</tt> has a - wyse50 terminal connected at 38400 bps with no parity - (<tt/std.38400/ from <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?gettytab" - name="/etc/gettytab">) and <tt/root/ logins are allowed (secure). - - <sect1> - <heading>Why can't I run <tt/tip/ or <tt/cu/?</heading> - - <p>On your system, the programs <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> and <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?cu" name="cu"> are probably - executable only by <htmlurl url="http://www.freebsd.org/cgi/man.cgi?uucp" - name="uucp"> and group <tt/dialer/. You can use the group <tt/dialer/ - to control who has access to your modem or remote systems. Just add - yourself to group dialer. - - <p>Alternatively, you can let everyone on your system run <tt/tip/ - and <tt/cu/ by typing: - - <verb> - # chmod 4511 /usr/bin/cu - # chmod 4511 /usr/bin/tip - </verb> - - <sect1> - <heading>My stock Hayes modem isn't supported---what can I do?</heading> - - <p>Actually, the man page for <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> is out of - date. There is a generic Hayes dialer already built in. Just use - ``<tt/at=hayes/'' in your <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?remote" name="/etc/remote"> file. - - <p>The Hayes driver isn't smart enough to recognize some of the - advanced features of newer modems---messages like <tt/BUSY/, - <tt/NO DIALTONE/, or <tt/CONNECT 115200/ will just confuse it. - You should turn those messages off when you use <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> (using - <tt/ATX0&W/). - - <p>Also, the dial timeout for <tt/tip/ is 60 seconds. Your modem - should use something less, or else tip will think there's a - communication problem. Try <tt/ATS7=45&W/. - - <p>Actually, as shipped <tt/tip/ doesn't yet support it fully. The - solution is to edit the file <tt/tipconf.h/ in the directory - <tt>/usr/src/usr.bin/tip/tip</tt> Obviously you need the source - distribution to do this. - - <p>Edit the line ``<tt/#define HAYES 0/'' to ``<tt/#define HAYES - 1/''. Then ``<tt/make/'' and ``<tt/make install/''. Everything - works nicely after that. - - <sect1> - <heading> - How am I expected to enter these AT commands?<label id="direct-at"> - </heading> - - <p>Make what's called a ``<tt/direct/'' entry in your - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?remote" - name="/etc/remote"> file. For example, if your modem's hooked - up to the first serial port, <tt>/dev/cuaa0</tt>, then put in the - following line: - - <verb> - cuaa0:dv=/dev/cuaa0:br#19200:pa=none - </verb> - - <p>Use the highest bps rate your modem supports in the br - capability. Then, type <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip cuaa0"> and - you'll be connected to your modem. - - <p>If there is no <tt>/dev/cuaa0</tt> on your system, do this: - - <verb> - # cd /dev - # ./MAKEDEV cuaa0 - </verb> - - <p>Or use cu as root with the following command: - - <verb> - # cu -l``line'' -s``speed'' - </verb> - - <p>with line being the serial port (e.g.<tt>/dev/cuaa0</tt>) - and speed being the speed (e.g.<tt>57600</tt>). When you are done - entering the AT commands hit <tt>~.</tt> to exit. - - <sect1> - <heading>The <tt/@/ sign for the pn capability doesn't work!</heading> - - <p>The <tt/@/ sign in the phone number capability tells tip to look in - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?phones(5)" - name="/etc/phones"> for a phone number. But the <tt/@/ sign is - also a special character in capability files like - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?remote" - name="/etc/remote">. Escape it with a backslash: - - <verb> - pn=\@ - </verb> - - <sect1> - <heading>How can I dial a phone number on the command line?</heading> - - <p>Put what's called a ``<tt/generic/'' entry in your - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?remote" - name="/etc/remote"> file. For example: - - <verb> - tip115200|Dial any phone number at 115200 bps:\ - :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: - tip57600|Dial any phone number at 57600 bps:\ - :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du: - </verb> - - <p>Then you can things like ``<tt/tip -115200 5551234/''. If you - prefer <htmlurl url="http://www.freebsd.org/cgi/man.cgi?cu" - name="cu"> over <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip">, use a - generic cu entry: - - <verb> - cu115200|Use cu to dial any number at 115200bps:\ - :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du: - </verb> - - <p>and type ``<tt/cu 5551234 -s 115200/''. - - <sect1> - <heading>Do I have to type in the bps rate every time I do that?</heading> - - <p>Put in an entry for <tt/tip1200/ or <tt/cu1200/, but go ahead and - use whatever bps rate is appropriate with the br capability. <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> thinks a good - default is 1200 bps which is why it looks for a ``<tt/tip1200/'' entry. - You don't have to use 1200 bps, though. - - <sect1> - <heading>I access a number of hosts through a terminal server.</heading> - - <p>Rather than waiting until you're connected and typing - ``<tt/CONNECT <host>/'' each time, use tip's <tt/cm/ - capability. For example, these entries in - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?remote" - name="/etc/remote">: - - <verb> - pain|pain.deep13.com|Forrester's machine:\ - :cm=CONNECT pain\n:tc=deep13: - muffin|muffin.deep13.com|Frank's machine:\ - :cm=CONNECT muffin\n:tc=deep13: - deep13:Gizmonics Institute terminal server:\ - :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234: - </verb> - - <p>will let you type ``<tt/tip pain/'' or ``<tt/tip muffin/'' to - connect to the hosts pain or muffin; and ``<tt/tip deep13/'' to - get to the terminal server. - - <sect1> - <heading>Can tip try more than one line for each site?</heading> - - <p>This is often a problem where a university has several modem lines - and several thousand students trying to use them... - - <p>Make an entry for your university in <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?remote" name="/etc/remote"> - and use <tt>\@</tt> for the <tt/pn/ capability: - - <verb> - big-university:\ - :pn=\@:tc=dialout - dialout:\ - :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none: - </verb> - - <p>Then, list the phone numbers for the university in - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?phones" - name="/etc/phones">: - - <verb> - big-university 5551111 - big-university 5551112 - big-university 5551113 - big-university 5551114 - </verb> - - <p><htmlurl url="http://www.freebsd.org/cgi/man.cgi?tip" - name="tip"> will try each one in the listed order, then give up. If - you want to keep retrying, run <tt/tip/ in a while loop. - - <sect1> - <heading>Why do I have to hit CTRL+P twice to send CTRL+P once?</heading> - - <p>CTRL+P is the default ``force'' character, used to tell - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> - that the next character is literal data. You can set the force - character to any other character with the <tt/~s/ escape, which - means ``set a variable.'' - - <p>Type ``<tt/~sforce=<single-char>/'' followed by a newline. - <tt/<single-char>/ is any single character. If you leave - out <tt/<single-char>/, then the force character is the nul - character, which you can get by typing CTRL+2 or CTRL+SPACE. A - pretty good value for <tt/<single-char>/ is SHIFT+CTRL+6, - which I've seen only used on some terminal servers. - - <p>You can have the force character be whatever you want by - specifying the following in your <tt>$HOME/.tiprc</tt> - file: - - <verb> - force=<single-char> - </verb> - - <sect1> - <heading>Suddenly everything I type is in UPPER CASE??</heading> - - <p>You must've pressed CTRL+A, <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> ``raise - character,'' specially designed for people with broken caps-lock keys. - Use <tt/~s/ as above and set the variable ``raisechar'' to something - reasonable. In fact, you can set it to the same as the force - character, if you never expect to use either of these features. - - <p>Here's a sample .tiprc file perfect for Emacs users who need to - type CTRL+2 and CTRL+A a lot: - - <verb> - force=^^ - raisechar=^^ - </verb> - - <p>The ^^ is SHIFT+CTRL+6. - - <sect1> - <heading>How can I do file transfers with <tt/tip/?</heading> - - <p>If you're talking to another UNIX system, you can send and - receive files with <tt/~p/ (put) and <tt/~t/ (take). These - commands run <htmlurl url="http://www.freebsd.org/cgi/man.cgi?cat" - name="cat"> and <htmlurl url="http://www.freebsd.org/cgi/man.cgi?echo" - name="echo"> on the remote system to accept and send files. The syntax - is: - - <verb> - ~p <local-file> [<remote-file>] - ~t <remote-file> [<local-file>] - </verb> - - <p>There's no error checking, so you probably should use another - protocol, like zmodem. - - <sect1> - <heading>How can I run zmodem with <tt/tip/?</heading> - - <p>First, install one of the zmodem programs from the ports - collection (such as one of the two from the comms category, - <htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^lrzsz" name="lrzsz"> - and <htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^rzsz" - name="rzsz">). - - <p>To receive files, start the sending program on the remote end. - Then, press enter and type ``<tt/~C rz/'' (or ``<tt/~C lrz/'' if - you installed lrzsz) to begin receiving them locally. - - <p>To send files, start the receiving program on the remote end. - Then, press enter and type ``<tt/~C sz <files>/'' (or - ``<tt/~C lsz <files>/'') to send them to the - remote system. - - <sect> - <heading>Miscellaneous Questions</heading> - - <sect1> - <heading> - FreeBSD uses far more swap space than Linux. Why? - </heading> - - <p>It doesn't. You might mean ``why does my swap seem full?''. If - that is what you really meant, it's because putting stuff in swap - rather than discarding it makes it faster to recover than if the - pager had to go through the file system to pull in clean - (unmodified) blocks from an executable. - - <p>The actual amount of dirty pages that you can have in core at - once is not reduced; the clean pages are displaced as necessary. - - <sect1> - <heading> - Why use (what are) a.out and ELF executable formats? - </heading> - - <p>To understand why FreeBSD uses the <tt>a.out</tt> format, you must - first know a little about the 3 currently "dominant" executable - formats for UNIX: - - <itemize> - <item><htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)" - name="a.out"> - - <p>The oldest and `classic' unix object format. It uses a - short and compact header with a magic number at the beginning - that's often used to characterize the format (see - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)" - name="a.out(5)"> for more details). It contains three loaded - segments: .text, .data, and .bss plus a symbol table and a - string table. - - <item><bf>COFF</bf> - <p>The SVR3 object format. The header now comprises a section - table, so you can have more than just .text, .data, and .bss - sections.</item> - - <item><bf>ELF</bf> - <p>The successor to <tt/COFF/, featuring Multiple sections - and 32-bit or 64-bit possible values. One major drawback: - <tt/ELF/ was also designed with the assumption that there - would be only one ABI per system architecture. That - assumption is actually quite incorrect, and not even in the - commercial SYSV world (which has at least three ABIs: SVR4, - Solaris, SCO) does it hold true. - - <p>FreeBSD tries to work around this problem somewhat by - providing a utility for <em>branding</em> a known <tt/ELF/ - executable with information about the ABI it's compliant with. - See the man page for - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?brandelf" - name="brandelf"> for more information. - </itemize> - - <p>FreeBSD comes from the "classic" camp and uses the - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)" - name="a.out"> format, a technology tried and proven through - many generations of BSD releases. Though it has also been possible - for some time to build and run native <tt/ELF/ binaries (and - kernels) on a FreeBSD system, no official "push" to switch to - ELF as the default format has, as yet, been made. Why? Well, - when the Linux camp made their painful transition to <tt/ELF/, it - was not so much to flee the <tt/a.out/ executable format - as it was their inflexible jump-table based shared library - mechanism, which made the construction of shared libraries - very difficult for vendors and developers alike. Since the <tt/ELF/ - tools available offered a solution to the shared library - problem and were generally seen as "the way forward" anyway, the - migration cost was accepted as necessary and the transition - made. - - <p>In FreeBSD's case, it's not quite so simple since our shared - library mechanism is based more closely on Sun's - <tt>SunOS</tt>-style shared library mechanism and, as such, is very - easy to use. The only thing we actually lack with <tt/a.out/ - which <tt/ELF/ would give us is cleaner support for C++ constructors - and destructors, among other similarly esoteric things, and it - simply hasn't become much of a problem yet (and there is quite - a bit of C++ code in FreeBSD's source tree). Should that change, - a migration may, at some point, be more seriously contemplated. - - <sect1> - <heading>Why won't chmod change the permissions on symlinks?</heading> - - <p>You have to use either ``<tt/-H/'' or ``<tt/-L/'' together with - the ``<tt/-R/'' option to make this work. See the <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?chmod" name="chmod"> and - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?symlink" name="symlink"> - man pages for more info. - - <p><bf/WARNING/ the ``<tt/-R/'' option does a <bf/RECURSIVE/ - <tt/chmod/. Be careful about specifying directories or symlinks - to directories to <tt/chmod/. If you want to change the - permissions of a directory referenced by a symlink, use - <htmlurl url="http://www.freebsd.org/cgi/man.cgi?chmod" name="chmod"> - without any options and follow the symlink with a trailing slash - (``<tt>/</tt>''). For example, if ``<tt/foo/'' is a symlink to - directory ``<tt/bar/'', and you want to change the permissions of - ``<tt/foo/'' (actually ``<tt/bar/''), you would do something like: - - <verb> - chmod 555 foo/ - </verb> - - <p>With the trailing slash, <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?chmod" name="chmod"> will - follow the symlink, ``<tt/foo/'', to change the permissions of the - directory, ``<tt/bar/''. - - <sect1> - <heading> - Why are login names <bf/still/ resticted to 8 characters - </heading> - - <p>You'd think it'd be easy enough to change <bf/UT_NAMESIZE/ and rebuild - the whole world, and everything would just work. Unfortunately there's - scads of applications and utilities (including system tools) that have - hard-coded small numbers (not always "8" or "9", but oddball ones - like "15" and "20") in structures and buffers... and it would break - Sun's NIS clients and no doubt cause other problems in interacting - with other UNIX systems. - - <sect1> - <heading>Can I run DOS binaries under FreeBSD?</heading> - - <p>Not yet, though BSDI has just donated their <tt/rundos/ DOS emulation - subsystem which we're now working on integrating and enhancing. Send - mail to <url url="mailto:emulation@freebsd.org" - name="The FreeBSD emulation discussion list"> if you're interested in - joining this effort! - - <p>For now, there is a neat utility called - <htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^pcemu" name="pcemu"> - in the ports collection which emulates an 8088 and enough BIOS services - to run DOS text mode applications. It requires the X Window - System (provided as XFree86). - - <sect1> - <heading> - What is ``<tt/sup/'', and how do I use it? - </heading> - - <p><htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^sup" name="SUP"> - stands for Software Update Protocol, and was developed by CMU - for keeping their development trees in sync. We used it to keep - remote sites in sync with our central development sources. - - <p>SUP is not bandwidth friendly, and has been retired. The current - recommended method to keep your sources up to date is - <url url="../handbook/cvsup.html" name="Handbook entry on CVSup"> - - <sect1> - <heading>How cool is FreeBSD?</heading> - - <p>Q. Has anyone done any temperature testing while running FreeBSD? - I know Linux runs cooler than dos, but have never seen a mention of - FreeBSD. It seems to run really hot. - - <p>A. No, but we have done numerous taste tests on blindfolded - volunteers who have also had 250 micrograms of LSD-25 - administered beforehand. 35% of the volunteers said that FreeBSD - tasted sort of orange, whereas Linux tasted like purple haze. - Neither group mentioned any particular variances in temperature - that I can remember. We eventually had to throw the results of - this survey out entirely anyway when we found that too many - volunteers were wandering out of the room during the tests, thus - skewing the results. I think most of the volunteers are at Apple - now, working on their new ``scratch and sniff'' GUI. It's a - funny old business we're in! - - <p>Seriously, both FreeBSD and Linux uses the ``<tt/HLT/'' (halt) - instruction when the system is idle thus lowering its energy - consumption and therefore the heat it generates. Also if you - have APM (automatic power management) configured, then FreeBSD - can also put the CPU into a low power mode. - - <sect1> - <heading>Who's scratching in my memory banks??</heading> - - <p>Q. Is there anything "odd" that FreeBSD does when compiling the - kernel which would cause the memory to make a scratchy sound? When - compiling (and for a brief moment after recognizing the floppy drive - upon startup, as well), a strange scratchy sound emanates from what - appears to be the memory banks. - - <p>A. Yes! You'll see frequent references to ``daemons'' in the BSD - documentation, and what most people don't know is that this - refers to genuine, non-corporeal entities that now possess your - computer. The scratchy sound coming from your memory is actually - high-pitched whispering exchanged among the daemons as they best - decide how to deal with various system administration tasks. - - <p>If the noise gets to you, a good ``<tt>fdisk /mbr</tt>'' from DOS - will get rid of them, but don't be surprised if they react - adversely and try to stop you. In fact, if at any point during - the exercise you hear the satanic voice of Bill Gates coming from - the built-in speaker, take off running and don't ever look back! - Freed from the counterbalancing influence of the BSD daemons, the - twin demons of DOS and Windows are often able to re-assert total - control over your machine to the eternal damnation of your soul. - Given a choice, I think I'd prefer to get used to the scratchy - noises, myself! - - <sect> - <heading>For serious FreeBSD hackers only</heading> - - <sect1> - <heading> - What are SNAPs and RELEASEs? - </heading> - - <p>There are currently three active/semi-active branches in the FreeBSD - <url url="http://www.freebsd.org/cgi/cvsweb.cgi" name="CVS Repository">: - - <itemize> - <item><bf/RELENG_2_1_0/ AKA <bf/2.1-stable/ AKA <bf/"2.1 branch"/ - <item><bf/RELENG_2_2/ AKA <bf/2.2-stable/ AKA <bf/"2.2 branch"/ - <item><bf/HEAD/ AKA <bf/-current/ AKA <bf/3.0-current/ - </itemize> - - <p><bf/HEAD/ is not an actual branch tag, like the other two, it's - simply a symbolic constant for - <em/"the current, non-branched development stream"/ which we simply - refer to as <bf/-current/. - - <p>Right now, <bf/-current/ is the 3.0 development stream and the - <bf/2.2-stable/ branch, <bf/RELENG_2_2/, forked off from - <bf/-current/ in November 1996. - - <p>The <bf/2.1-stable/ branch, <bf/RELENG_2_1_0/, departed -current in - September of 1994. - - <sect1> - <heading> - How do I make my own custom release?<label id="custrel"> - </heading> - - <p>To make a release you need to do three things: First, you need to - be running a kernel with the <htmlurl - url="http://www.freebsd.org/cgi/man.cgi?vn" name="vn"> driver configured - in. Add this to your kernel config file and build a new kernel: - - <verb> - pseudo-device vn #Vnode driver (turns a file into a device) - </verb> - - <p>Second, you have to have the whole CVS repository at hand. - To get this you can use <url url="../handbook/cvsup.html" name="CVSUP"> - but your tag value, if any, should be `.' and your release name - should be cvs: - - <verb> - *default prefix=/home/ncvs - *default base=/a - *default host=cvsup.FreeBSD.org - *default release=cvs - *default delete compress use-rel-suffix - - ## Main Source Tree - src-all - src-eBones - src-secure - - # Other stuff - ports-all - www - doc-all - </verb> - - <p>Then run <tt/cvsup -g supfile/ to suck all the good bits onto your - box... - - <p>Finally, you need a chunk of empty space to build into. Let's - say it's in <tt>/some/big/filesystem</tt>, and from the example - above you've got the CVS repository in <tt>/home/ncvs</tt>: - - <verb> - setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs - cd /usr/src/release - make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release - </verb> - - <p>An entire release will be built in - <tt>/some/big/filesystem/release</tt> and you will have a full FTP-type - installation in <tt>/some/big/filesystem/release/R/ftp</tt> when you're - done. If you want to build your SNAP along some other branch than - -current, you can also add <tt/RELEASETAG=SOMETAG/ to - the make release command line above, e.g. <tt/RELEASETAG=RELENG_2_2/ - would build an up-to-the- minute 2.2 GAMMA snapshot. - - <sect1> - <heading>How do I create customized installation disks?</heading> - - <p>The entire process of creating installation disks and source and - binary archives is automated by various targets in - <tt>/usr/src/release/Makefile</tt>. The information there should - be enough to get you started. However, it should be said that this - involves doing a ``make world'' and will therefore take up a lot of - time and disk space. - - <sect1> - <heading>``make world'' clobbers my existing installed binaries.</heading> - - <p>Yes, this is the general idea; as its name might suggest, - ``make world'' rebuilds every system binary from scratch, so you can be - certain of having a clean and consistent environment at the end (which - is why it takes so long). - - <p>If the environment variable <tt/DESTDIR/ is defined while running - ``<tt/make world/'' or ``<tt/make install/'', the newly-created - binaries will be deposited in a directory tree identical to the - installed one, rooted at <tt>${DESTDIR}</tt>. - Some random combination of shared libraries modifications and - program rebuilds can cause this to fail in ``<tt/make world/'', - however. - - <sect1> - <heading> - When my system boots, it says ``(bus speed defaulted)''. - </heading> - - <p>The Adaptec 1542 SCSI host adapters allow the user to configure - their bus access speed in software. Previous versions of the - 1542 driver tried to determine the fastest usable speed and set - the adapter to that. We found that this breaks some users' - systems, so you now have to define the ``<tt/TUNE_1542/'' kernel - configuration option in order to have this take place. Using it - on those systems where it works may make your disks run faster, - but on those systems where it doesn't, your data could be - corrupted. - - <sect1> - <heading> - Can I follow current with limited Internet access?<label id="ctm"> - </heading> - - <p>Yes, you can do this <tt /without/ downloading the whole source tree - by using the <url url="../handbook/ctm.html" name="CTM facility."> - - <sect1> - <heading>How did you split the distribution into 240k files?</heading> - - <p>Newer BSD based systems have a ``<tt/-b/'' option to split that - allows them to split files on arbitrary byte boundaries. - - <p>Here is an example from <tt>/usr/src/Makefile</tt>. - - <verb> - bin-tarball: - (cd ${DISTDIR}; \ - tar cf - . \ - gzip --no-name -9 -c | \ - split -b 240640 - \ - ${RELEASEDIR}/tarballs/bindist/bin_tgz.) - </verb> - - <sect1> - <heading>I've written a kernel extension, who do I send it to?</heading> - - <p>Please take a look at <url url="../handbook/contrib.html" - name="The Handbook entry on how to submit code."> - - <p>And thanks for the thought! - - <sect1> - <heading>How are Plug N Play ISA cards detected and initialized?</heading> - - <p>By: <url url="mailto:uhclem@nemesis.lonestar.org" - name="Frank Durda IV"> - - <p>In a nutshell, there a few I/O ports that all of the PnP boards - respond to when the host asks if anyone is out there. So when - the PnP probe routine starts, he asks if there are any PnP boards - present, and all the PnP boards respond with their model # to - a I/O read of the same port, so the probe routine gets a wired-OR - ``yes'' to that question. At least one bit will be on in that - reply. Then the probe code is able to cause boards with board - model IDs (assigned by Microsoft/Intel) lower than X to go - ``off-line''. It then looks to see if any boards are still - responding to the query. If the answer was ``<tt/0/'', then - there are no boards with IDs above X. Now probe asks if there - are any boards below ``X''. If so, probe knows there are boards - with a model numbers below X. Probe then asks for boards greater - than X-(limit/4) to go off-line. If repeats the query. By - repeating this semi-binary search of IDs-in-range enough times, - the probing code will eventually identify all PnP boards present - in a given machine with a number of iterations that is much lower - than what 2^64 would take. - - <p>The IDs are two 32-bit fields (hence 2ˆ64) + 8 bit checksum. - The first 32 bits are a vendor identifier. They never come out - and say it, but it appears to be assumed that different types of - boards from the same vendor could have different 32-bit vendor - ids. The idea of needing 32 bits just for unique manufacturers - is a bit excessive. - - <p>The lower 32 bits are a serial #, ethernet address, something - that makes this one board unique. The vendor must never produce - a second board that has the same lower 32 bits unless the upper - 32 bits are also different. So you can have multiple boards of - the same type in the machine and the full 64 bits will still be - unique. - - <p>The 32 bit groups can never be all zero. This allows the - wired-OR to show non-zero bits during the initial binary search. - - <p>Once the system has identified all the board IDs present, it will - reactivate each board, one at a time (via the same I/O ports), - and find out what resources the given board needs, what interrupt - choices are available, etc. A scan is made over all the boards - to collect this information. - - <p>This info is then combined with info from any ECU files on the - hard disk or wired into the MLB BIOS. The ECU and BIOS PnP - support for hardware on the MLB is usually synthetic, and the - peripherals don't really do genuine PnP. However by examining - the BIOS info plus the ECU info, the probe routines can cause the - devices that are PnP to avoid those devices the probe code cannot - relocate. - - <p>Then the PnP devices are visited once more and given their I/O, - DMA, IRQ and Memory-map address assignments. The devices will - then appear at those locations and remain there until the next - reboot, although there is nothing that says you can't move them - around whenever you want. - - <p>There is a lot of oversimplification above, but you should get - the general idea. - - <p>Microsoft took over some of the primary printer status ports to - do PnP, on the logic that no boards decoded those addresses for - the opposing I/O cycles. I found a genuine IBM printer board - that did decode writes of the status port during the early PnP - proposal review period, but MS said ``tough''. So they do a - write to the printer status port for setting addresses, plus that - use that address + <tt/0x800/, and a third I/O port for reading - that can be located anywhere between <tt/0x200/ and <tt/0x3ff/. - - <sect1> - <heading>Will FreeBSD ever support other architectures?</heading> - - <p>Several different groups have expressed interest in working on - multi-architecture support for FreeBSD and some people are - currently working on a port of FreeBSD to the ALPHA, with the - cooperation of DEC. For general discussion on new architectures, - use the <tt><platforms@FreeBSD.ORG></tt> - <ref id="mailing" name="mailing list">. - - <sect1> - <heading>I need a major number for a device driver I've written.</heading> - - <p>This depends on whether or not you plan on making the driver - publicly available. If you do, then please send us a copy of the - driver source code, plus the appropriate modifications to - <tt>files.i386</tt>, a sample configuration file entry, and the - appropriate <htmlurl url="http://www.freebsd.org/cgi/man.cgi?MAKEDEV" - name="MAKEDEV"> code to create any special files your device uses. If - you do not, or are unable to because of licensing restrictions, then - character major number 32 and block major number 8 have been reserved - specifically for this purpose; please use them. In any case, we'd - appreciate hearing about your driver on - <tt><hackers@FreeBSD.ORG></tt>. - - <sect> - <heading>ACKNOWLEDGMENTS</heading> - - <p> - <verb> - If you see a problem with this FAQ, or wish to submit an entry, - please mail us at <FAQ@FreeBSD.ORG>. We appreciate your - feedback, and cannot make this a better FAQ without your help! - - - FreeBSD Core Team - </verb> - - <descrip> - <tag/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> +&preface; +&install; +&hardware; +&troubleshoot; +&commercial; +&applications; +&kernelconfig; +&admin; +&x; +&network; +&serial; +&misc; +&hackers; +&acknowledgments; - <p>And to any others we've forgotten, apologies and heartfelt thanks! </article> diff --git a/FAQ/Makefile b/FAQ/Makefile index 7c2f9580db..866ba9bcc7 100644 --- a/FAQ/Makefile +++ b/FAQ/Makefile @@ -1,7 +1,10 @@ -# $Id: Makefile,v 1.5 1997-10-18 16:06:01 brian Exp $ +# $Id: Makefile,v 1.6 1997-11-03 08:53:35 max Exp $ SGMLOPTS=-links DOC= FAQ -SRCS= FAQ.sgml +SRCS= FAQ.sgml acknowledgments.sgml admin.sgml applications.sgml +SRCS+= commercial.sgml hackers.sgml hardware.sgml install.sgml +SRCS+= kernelconfig.sgml misc.sgml network.sgml preface.sgml +SRCS+= serial.sgml troubleshoot.sgml x.sgml .include <bsd.sgml.mk> diff --git a/FAQ/acknowledgments.sgml b/FAQ/acknowledgments.sgml new file mode 100644 index 0000000000..bac0704bfe --- /dev/null +++ b/FAQ/acknowledgments.sgml @@ -0,0 +1,41 @@ +<!-- $Id: acknowledgments.sgml,v 1.1 1997-11-03 08:53:36 max Exp $ --> +<!-- The FreeBSD Documentation Project --> + + <sect> + <heading>ACKNOWLEDGMENTS<label id="acknowledgments"></heading> + + <p> + <verb> + If you see a problem with this FAQ, or wish to submit an entry, + please mail us at <FAQ@FreeBSD.ORG>. We appreciate your + feedback, and cannot make this a better FAQ without your help! + + + FreeBSD Core Team + </verb> + + <descrip> + <tag/Jordan Hubbard/ + Occasional fits of FAQ-reshuffling and updating. + + <tag/Doug White/ + Services above and beyond the call of duty on freebsd-questions + + <tag/Joerg Wunsch/ + Services above and beyond the call of duty on Usenet + + <tag/Garrett Wollman/ + Networking and formatting + + <tag/Jim Lowe/ + Multicast information + + <tag/Peter da Silva/ + FreeBSD FAQ typing machine slavey + + <tag/The FreeBSD Team/ + Kvetching, moaning, submitting data + </descrip> + + <p>And to any others we've forgotten, apologies and heartfelt thanks! + </sect> diff --git a/FAQ/admin.sgml b/FAQ/admin.sgml new file mode 100644 index 0000000000..cb1e8e3770 --- /dev/null +++ b/FAQ/admin.sgml @@ -0,0 +1,945 @@ +<!-- $Id: admin.sgml,v 1.1 1997-11-03 08:53:38 max Exp $ --> +<!-- The FreeBSD Documentation Project --> + + <sect> + <heading>System Administration<label id="admin"></heading> + + <sect1> + <heading>Where are the system start-up configuration files?</heading> + + <p>From 2.0.5R to 2.2.1R, the primary configuration file is + <tt>/etc/sysconfig</tt>. All the options are to be specified in + this file and other files such as <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?rc" name="/etc/rc"> and + <tt>/etc/netstart</tt> just include it. + + <p>Look in the <tt>/etc/sysconfig</tt> file and change the value to + match your system. This file is filled with comments to show what + to put in there. + + <p>In post-2.2.1 and 3.0, <tt>/etc/sysconfig</tt> was renamed + to a more self-describing <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)" name="rc.conf"> + file and the syntax cleaned up a bit in the process. + <tt>/etc/netstart</tt> was also renamed to <tt>/etc/rc.network</tt> + so that all files could be copied with a <tt><htmlurl + url="http://www.freebsd.org/cgi/man.cgi?cp" name="cp"> /usr/src/etc/rc* + /etc</tt> command. + + <p><tt>/etc/rc.local</tt> is here as always and may be used to + start up additional local services like <htmlurl + url="http://www.freebsd.org/cgi/ports.cgi?^inn" name="INN"> + or set custom options. + + <p>The <tt>/etc/rc.serial</tt> is for serial port initialization + (e.g. locking the port characteristics, and so on.). + + <p>The <tt>/etc/rc.i386</tt> is for Intel-specifics settings, such + as iBCS2 emulation or the PC system console configuration. + + <p>Starting with 2.1.0R, you can also have "local" startup files in a + directory specified in <tt>/etc/sysconfig</tt> (or + <tt>/etc/rc.conf</tt>): + + <verb> + # Location of local startup files. + local_startup=/usr/local/etc/rc.local.d + </verb> + + <p>Each file ending in <tt/.sh/ will be executed in alphabetical order. + + <p>If you want to ensure a certain execution order without changing all + the file names, you can use a scheme similar to the following with + digits prepended to each file name to insure the ordering: + + <verb> + 10news.sh + 15httpd.sh + 20ssh.sh + </verb> + + <p>It can be seen as ugly (or SysV :-)) but it provides a simple and + regular scheme for locally-added packages without resorting to + magical editing of <tt>/etc/rc.local</tt>. Many of the ports/packages + assume that <tt>/usr/local/etc/rc.d</tt> is a local startup directory. + + <sect1> + <heading>How do I add a user easily?</heading> + + <p>Use the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?adduser" + name="adduser"> command. + + <p>There is another package called ``<tt/new-account/'' also written + in Perl by Ollivier Robert. Ask <tt><roberto@FreeBSD.ORG></tt> + about it. It is currently undergoing further development. + + <p>To remove the user again, use the <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?rmuser" name="rmuser"> command. + + <sect1> + <heading>How can I add my new hard disk to my FreeBSD system?</heading> + + <p>The easiest way to do this is from the installation program. You + can start the installation program by running + <tt>/stand/sysinstall</tt> as root. + + <p>Alternatively, if you still have the install floppy, you can just + reboot from that and use the partition & label editors while + the system is totally quiescent. + + <p><label id="2_1-disklabel-fix">If the above does not work for you, + or if you're a total masochist who likes arcane interfaces, this is how + to use <htmlurl url="http://www.freebsd.org/cgi/man.cgi?disklabel" + name="disklabel"> manually: + + <p><em>WARNING: There is no substitute for reading carefully + & understanding what you are doing! Things described here may + DESTROY your system. Proceed with caution! Remember, a BACKUP is your + friend!</em> + + <p><tt /sysinstall/ used to be broken up to 2.1.5-RELEASE and will + insist on mounting something at / in the disklabel editor. You will + have to manually run + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?disklabel" + name="disklabel"> before you can run + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?newfs" name="newfs">/. + This means doing the math for partitions yourself. This is rumored to + be easy :-) See if you can obtain a skeletal label with + ''<tt>disklabel -r <diskname></tt>'' <em>(e.g. + </em>''<tt>disklabel -r /dev/rwd0s2</tt>''<em>, assuming that your new + disk is wd0, the first IDE drive, and the FreeBSD slice is the second + one, s2)</em>. You should see something like:- + + <verb> + # /dev/rwd0s2: + type: ESDI + disk: wd0s2 + label: + flags: + bytes/sector: 512 + sectors/track: 63 + tracks/cylinder: 64 + sectors/cylinder: 4032 + cylinders: 610 + sectors/unit: 2459520 + rpm: 3600 + interleave: 1 + trackskew: 0 + cylinderskew: 0 + headswitch: 0 # milliseconds + track-to-track seek: 0 # milliseconds + drivedata: 0 + + 8 partitions: + # size offset fstype [fsize bsize bps/cpg] + c: 2459520 0 unused 0 0 # (Cyl. 0 - 609) + e: 2459520 0 4.2BSD 0 0 0 # (Cyl. 0 - 609) + </verb> + + <p>Make sure that the size is correct, in this case, 2459520 + sectors/unit x 512 bytes/sector / 2**20 (1 Megabyte) = 1200 + Megabytes. The rest of the stuff (b/s, t/c, s/c, interleave, etc.) + should get suitable defaults from <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?disklabel" + name="disklabel">, but see <ref id="ESDI" name="this note"> for older + disks. 'fsize' is the <ref id="fsize" name="Fragment size"> for the + filesystem, and 'bsize' is the <ref id="bsize" name="Block size">. 'c' + is the partition covering the entire slice (or entire disk for a + non-sliced disk), and must remain as it is. <em>It should not be + used for a filesystem</em>. The 'c' partition is magic in that it + is faked by the kernel even if no disklabel exists. + + <p>In the trivial case, where you want a single filesystem spanning + the whole slice, the entry for 'e' has to be corrected. Setting fsize + to 1024 and bsize to 8192 (8 fragments/block), which are reasonable + values for a filesystem, the correct entry for 'e' would be:- + + <verb> + e: 2459520 0 4.2BSD 1024 8192 + </verb> + + <p>Now, the (slightly) harder case, where we want 2 partitions for 2 + filesystems. Following the <ref id="fsname" name="BSD naming + conventions">, the partitions will be <tt /wd0s2e/ & + <tt /wd0s2f/. Suppose we split up the 1200 MB into 300 MB for + 'e' and the remaining 900 MB for 'f'. The partition entries would + be:- + + <verb> + 8 partitions: + # size offset fstype [fsize bsize bps/cpg] + c: 2459520 0 unused 0 0 # (Cyl. 0 - 609) + e: 614400 0 4.2BSD 1024 8192 + f: 1843200 614400 4.2BSD 1024 8192 + </verb> + + <p><bf /Note:/ You can directly edit the disklabel with + ''<tt>disklabel -e wd0s2</tt>''. See + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?disklabel" + name="disklabel">. + + <p>If you have at least FreeBSD 2.1.5, and you want to dedicate + an entire disk to FreeBSD without any care for other + systems, you might shorten the steps above to something like: + + <verb> + # dd if=/dev/zero of=/dev/rwd0 count=100 + # disklabel -Brw wd0 auto + # disklabel -e wd0 + </verb> + + <p>The first <htmlurl url="http://www.freebsd.org/cgi/man.cgi?dd" + name="dd"> command ensures there is no old junk at + the beginning of the disk that might confuse the disk code + in the kernel. Following is an automatic skeleton label + generation using the defaults that have been probed from the + disk at boot time. Editing this label continues as described + above. + + <p>You're done! Time to initialize the filesystems with something + like:- + + <verb> + newfs -d0 /dev/rwd0s2e + newfs -d0 /dev/rwd0s2f + </verb> + + <p>Depending on the disk name and slice number, it might be + required that you run the script <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?MAKEDEV" name="/dev/MAKEDEV"> + before in order to create the desired device nodes. + + <p>And mount your new filesystems (See + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount" name="mount">):- + + <verb> + mount /dev/wd0s2e /mnt/foo + mount /dev/wd0s2f /mnt/bar + </verb> + + <p>You may wish to edit <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?fstab(5)" name="/etc/fstab"> to + automatically mount the filesystems at boot time. + + <p><bf /Glossary:/ + + <descrip> + <tag><label id="fsize"><bf>Fragment Size (fsize)</bf></tag> + The basic unit of storage for <tt /ffs/. See + M. McKusick, W. Joy, S. Leffler, and R. Fabry, + "A Fast File System for UNIX", + ACM Transactions on Computer Systems 2, 3, pp 181-197, August + 1984, (reprinted in the BSD System Manager's Manual, SMM:5) or + <url url="file:/usr/share/doc/smm/05.fastfs/paper.ascii.gz" + name="/usr/share/doc/smm/05.fastfs/paper.ascii.gz"> on your system. + + <tag><label id="bsize"><bf>Block Size (bsize)</bf></tag> + A block comprises one or more fragments. See the + reference above and + <url url="file:/usr/include/sys/disklabel.h" + name="<sys/disklabel.h>"> + + <tag><label id="ESDI"> + <bf>Disklabel Characteristics for Older Disks (ESDI)</bf></tag> + You may need to provide more information to <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?disklabel" + name="disklabel"> if you happen to own a ``true disk'', i.e. one with a + uniform geometry, real heads, sectors, and cylinders, + such as an old ESDI drive. All of this should be easily + obtainable from the drive case, owner's manual, fellow + sufferers, etc. :-) + + <tag><label id="fsname"> + <bf>BSD Filesystem Naming Conventions</bf></tag> + Partition 'a' is by convention reserved for a bootable + partition, and partition 'b' for swap space. Regular + partition names should start with 'd'. ('d' used to be + magic in 386BSD 0.1 through FreeBSD 2.0, thus partition + 'e' is often used for the first non-bootable partition + containing a filesystem.) + + <tag><label id="swap"> + <bf>Warning about swap space</bf></tag> + The space required by the BSD partition table is allowed + for in the file system. It's not allowed for by the swap + partition. So don't start swap at cylinder 0, either offset + it or put a file system in partition 'a'. + </descrip> + + <sect1> + <heading>I have a new removable drive, how do I use it?</heading> + + <p>Whether it's a removable drive like a ZIP or an EZ drive (or + even a floppy, if you want to use it that way), or a new hard + disk, once it's installed and recognized by the system, and + you have your cartridge/floppy/whatever slotted in, things are + pretty much the same for all devices. + + <p><label id="disklabel">(this section is based on <url + url="http://vinyl.quickweb.com/mark/FreeBSD/ZIP-FAQ.html" + name="Mark Mayo's ZIP FAQ">) + + <p>If it's a ZIP drive or a floppy , you've already got a DOS + filesystem on it, you can use a command like this: + + <verb> + mount -t msdos /dev/fd0c /floppy + </verb> + + <p>if it's a floppy, or this: + + <verb> + mount -t msdos /dev/sd2s4 /zip + </verb> + + <p>for a ZIP disk with the factory configuration. + + <p>For other disks, see how they're laid out using <tt/fdisk/ or + <tt>/stand/sysinstall</tt>. + + <p>The rest of the examples will be for a ZIP drive on sd2, the third + SCSI disk. + + <p>Unless it's a floppy, or a removable you plan on sharing with + other people, it's probably a better idea to stick a BSD file + system on it. You'll get long filename support, at least a 2X + improvement in performance, and a lot more stability. First, you + need to redo the DOS-level partitions/filesystems. You can either + use <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fdisk" + name="fdisk"> or <tt>/stand/sysinstall</tt>, or for a small + drive that you don't want to bother with multiple operating system + support on, just blow away the whole FAT partition table (slices) + and just use the BSD partitioning: + + <verb> + dd if=/dev/zero of=/dev/rsd2 count=2 + disklabel -Brw sd2 auto + </verb> + + <p>You can use disklabel (more info in <ref id="2_1-disklabel-fix" + name="this note">) or <tt>/stand/sysinstall</tt> to create multiple + BSD partitions. You'll certainly want to do this if you're adding + swap space on a fixed disk, but it's probably irrelevant on a + removable drive like a ZIP. + + <p>Finally, create a new file system, this one's on our ZIP drive + using the whole disk: + + <verb> + newfs /dev/rsd2c + </verb> + + <p>and mount it: + + <verb> + mount /dev/sd2c /zip + </verb> + + <p>and it's probably a good idea to add a line like this to + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fstab" + name="/etc/fstab"> so you can just type "mount /zip" in the + future: + + <verb> + /dev/sd2c /zip ffs rw,noauto 0 0 + </verb> + + <sect1> + <heading>How do I mount a secondary DOS partition?</heading> + + <p>The secondary DOS partitions are found after ALL the primary + partitions. For example, if you have an "E" partition as the + second DOS partition on the second SCSI drive, you need to create + the special files for "slice 5" in /dev, then mount /dev/sd1s5: + + <verb> + # cd /dev + # ./MAKEDEV sd1s5 + # mount -t msdos /dev/sd1s5 /dos/e + </verb> + + <sect1> + <heading>Can I mount other foreign filesystems under FreeBSD?</heading> + + <p><bf/ Digital UNIX/ UFS CDROMs can be mounted directly on FreeBSD. + Mounting disk partitions from Digital UNIX and other systems + that support UFS may be more complex, depending on the details + of the disk partitioning for the operating system in question. + + <p><bf/ Linux/: 2.2 and later have support for <bf/ext2fs/ partitions. + See <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount_ext2fs" + name="mount_ext2fs"> for more information. + + <p>Any other information on this subject would be appreciated. + + <sect1> + <heading>How can I use the NT loader to boot FreeBSD?</heading> + + <p>The general idea is that you copy the first sector of your + native root FreeBSD partition into a file in the DOS/NT + partition. Assuming you name that file something like + <tt>c:\bootsect.bsd</tt> (inspired by <tt>c:\bootsect.dos</tt>), + you can then edit the <tt>c:\boot.ini</tt> file to come up with + something like this: + + <verb> + [boot loader] + timeout=30 + default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS + [operating systems] + multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" + C:\BOOTSECT.BSD="FreeBSD" + C:\="DOS" + </verb> + + <p>This procedure assumes that DOS, NT, FreeBSD, or whatever + have been installed into their respective fdisk partitions on the + <bf/same/ disk. In my case DOS & NT are in the first fdisk + partition and FreeBSD is in the second. I also installed FreeBSD + to boot from its native partition, <bf/not/ the disk MBR. + + <p>Mount a DOS-formatted floppy (if you've converted to NTFS) or the + FAT partition, under, say, <tt>/mnt</tt>. + + <verb> + dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1 + </verb> + + <p>Reboot into DOS or NT. NTFS users copy the <tt/bootsect.bsd/ + and/or the <tt/bootsect.lnx/ file from the floppy to + <tt/C:\/. Modify the attributes (permissions) on + <tt/boot.ini/ with: + + <verb> + attrib -s -r c:\boot.ini + </verb> + + <p>Edit to add the appropriate entries from the example + <tt/boot.ini/ above, and restore the attributes: + + <verb> + attrib -r -s c:\boot.ini + </verb> + + <p>If FreeBSD is booting from the MBR, restore it with the DOS + ``<tt/fdisk/'' command after you reconfigure them to boot from their + native partitions. + + <sect1> + <heading> + How do I boot FreeBSD and Linux from LILO? + </heading> + + <p>Theoretically you should be able to boot FreeBSD from LILO by + treating it as a DOS-style operating system, but I haven't been + able to get it to work. If you put LILO at the start of your Linux + boot partition instead of in the MBR, you can boot LILO from the + FreeBSD boot manager. This is what I do. + + <p>If you're running Windows-95 and Linux this is recommended anyway, + to make it simpler to get Linux booting again if you should need + to reinstall Windows95 (which is a Jealous Operating System, and + will bear no other Operating Systems in the Master Boot Record). + + <sect1> + <heading> + Will a ``dangerously dedicated'' disk endanger my health? + </heading> + + <p><label id="dedicate">The installation procedure allows you to chose + two different methods in partitioning your harddisk(s). The default way + makes it compatible with other operating systems on the same machine, + by using fdisk table entries (called ``slices'' in FreeBSD), + with a FreeBSD slice that employs partitions of its own. + Optionally, one can chose to install a boot-selector to switch + between the possible operating systems on the disk(s). + + <p>Now, while this is certainly the common case for people + coming from a PC background, those people coming more from a + Unix background and who are going to setup a machine just to + run FreeBSD and only FreeBSD, are more used to the classic + Unix way where the operating system owns the entire disks, + from the very first sector through the end. A true fdisk + table isn't of any use in this case, the machine is running + FreeBSD 24 hours per day, 7 days per week, no other operating + system should ever be booted on it. So, if you select + ``A)ll FreeBSD'' in sysinstall's fdisk editor, and answer the + next question with ``No'', you'll get this mode. Note that + this means the BSD bootstrap also forms the MBR for this drive, + so there's no space left for anything like a boot manager. + Don't ever try to install one, or you'll damage the BSD + bootstrap. + + <p>So why it is called ``dangerous''? A disk in this mode + doesn't contain what normal PC utilities would consider a + valid fdisk table. Depending on how well they have been + designed, they might complain at you once they are getting + in contact with such a disk, or even worse, they might + damage the BSD bootstrap without even asking or notifying + you. Some kind of operating system that is in rather + widespread use on PCs is known for this kind of + user-unfriendliness (of course, it does this in the name of + ``user-friendliness''). At least one Award BIOS that is for + example used in HP Netservers (but not only there) is known + to ignore any harddisk that doesn't have what it believes to + be a valid fdisk table. When it comes to booting, it simply + ignores such a disk drive, advances to the floppy drive, and + barfs at you with just ``Read error''. Very impressive, eh? + They probably also call this ``user-friendly'', who knows? + + <p>The advantages of this mode are: FreeBSD owns the entire + disk, no need to waste several fictitious `tracks' for just + nothing but a 1980-aged simplistic partitioning model + enforcing some artificial and now rather nonsensical + constraints on how this partitioning needs to be done. + These constraints often lead to what might be the biggest + headaches for OS installations on PCs, geometry mismatch + hassles resulting out of two different, redundant ways how + to store the partitioning information in the fdisk table. + See the chapter about <ref id="missing_os" name="Missing + Operating System">. In ``dangerously dedicated'' mode, the + BSD bootstrap starts at sector 0, and this one is the only + sector that always translates into the same C/H/S values, + regardless of which `translation' your BIOS is using for + your disk. Thus, you can also swap disks between + systems/controllers that use a different translation scheme, + without risking that they won't boot anymore. + + <p>To return a ``dangerously dedicated'' disk for normal PC + use, there are basically two options. The first is, you + write enough NULL bytes over the MBR to make any subsequent + installation believe this to be a blank disk. You can do + this for example with + + <verb> + dd if=/dev/zero of=/dev/rsd0 count=15 + </verb> + + <p>Alternatively, the undocumented DOS ``feature'' + + <verb> + fdisk /mbr + </verb> + + <p>will to install a new master boot record as well, thus clobbering the + BSD bootstrap. + + <sect1> + <heading>How can I add more swap space?</heading> + + <p>The best way is to increase the size of your swap partition, or + take advantage of this convenient excuse to add another disk (and + see <ref id="swap" name="this note"> if you do). + + <p>Adding swap onto a separate disk makes things faster than + simply adding swap onto the same disk. As an example, if you + are compiling source located on one disk, and the swap is on + another disk, this is much faster than both swap and compile + on the same disk. This is true for SCSI disks specifically. + + <p> IDE drives are not able to allow access to both drives on + the same channel at the same time (FreeBSD doesn't support mode 4, so + all IDE disk I/O is ``programmed''). I would still suggest putting + your swap on a separate drive however. The drives are so cheap, + it is not worth worrying about. + + <p>It is a really bad idea to locate your swap file over NFS + unless you are running in a very fast networking environment, with + a good server. + + <p>Here is an example for 64Mb vn-swap (<tt>/usr/swap0</tt>, though + of course you can use any name that you want). + + <p>Make sure your kernel was built with the line + + <verb> + pseudo-device vn 1 #Vnode driver (turns a file into a device) + </verb> + + <p>in your config-file. The GENERIC kernel already contains this. + + <enum> + <item>create a vn-device + + <verb> + cd /dev + sh ./MAKEDEV vn0 + </verb> + + <item>create a swapfile (<tt>/usr/swap0</tt>) + + <verb> + dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 + </verb> + + <item>enable the swap file in <tt>/etc/rc.conf</tt> + + <verb> + swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. + </verb> + + <item>reboot the machine + </enum> + + <p>To enable the swap file immediately, type + + <verb> + vnconfig -ce /dev/vn0c /usr/swap0 swap + </verb> + + <sect1> + <heading>I'm having problems setting up my printer.</heading> + + <p>Please have a look at the Handbook entry on printing. It + should cover most of your problem. See the + <url url="../handbook/printing.html" name="Handbook entry on printing."> + + <sect1> + <heading>The keyboard mappings are wrong for my system.</heading> + + <p>The kbdcontrol program has an option to load a keyboard map file. + Under <tt>/usr/share/syscons/keymaps</tt> are a number of map + files. Choose the one relevant to your system and load it. + + <verb> + kbdcontrol -l uk.iso + </verb> + + <p>Both the <tt>/usr/share/syscons/keymaps</tt> and the <tt/.kbd/ + extension are assumed by + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?kbdcontrol" + name="kbdcontrol">. + + <p>This can be configured in <tt>/etc/sysconfig</tt> (or <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)" name="rc.conf">). + See the appropriate comments in this file. + + <p>In 2.0.5R and later, everything related to text fonts, keyboard + mapping is in <tt>/usr/share/examples/syscons</tt>. + + <p>The following mappings are currently supported: + + <itemize> + <!-- generate by `kbdmap -p' --> + <item>Belgian ISO-8859-1 + <item>Brazilian 275 keyboard Codepage 850 + <item>Brazilian 275 keyboard ISO-8859-1 + <item>Danish Codepage 865 + <item>Danish ISO-8859-1 + <item>French ISO-8859-1 + <item>German Codepage 850 + <item>German ISO-8859-1 + <item>Italian ISO-8859-1 + <item>Japanese 106 + <item>Japanese 106x + <item>Latin American + <item>Norwegian ISO-8859-1 + <item>Polish ISO-8859-2 (programmer's) + <item>Russian Codepage 866 (alternative) + <item>Russian koi8-r (shift) + <item>Russian koi8-r + <item>Spanish ISO-8859-1 + <item>Swedish Codepage 850 + <item>Swedish ISO-8859-1 + <item>Swiss-German ISO-8859-1 + <item>United Kingdom Codepage 850 + <item>United Kingdom ISO-8859-1 + <item>United States of America ISO-8859-1 + <item>United States of America dvorak + <item>United States of America dvorakx + </itemize> + + <sect1> + <heading>I can't get user quotas to work properly.</heading> + + <p> + <enum> + <item>Don't turn on quotas on '/', + + <item>Put the quota file on the file system that the quotas are + to be enforced on. ie: + + <verb> + FS QUOTA FILE + /usr /usr/admin/quotas + /home /home/admin/quotas + ... + </verb> + </enum> + + <sect1> + <heading>What's inappropriate about my ccd?</heading> + + <p>The symptom of this is: + + <verb> + # ccdconfig -C + ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format + # + </verb> + + <p>This usually happens when you are trying to concatenate the + `c' partitions, which default to type `unused'. The ccd + driver requires the underlying partition type to be + FS_BSDFFS. Edit the disklabel of the disks you are trying + to concatenate and change the types of partitions to + `4.2BSD'. + + <sect1> + <heading>Why can't I edit the disklabel on my ccd?</heading> + + <p>The symptom of this is: + + <verb> + # disklabel ccd0 + (it prints something sensible here, so let's try to edit it) + # disklabel -e ccd0 + (edit, save, quit) + disklabel: ioctl DIOCWDINFO: No disk label on disk; + use "disklabel -r" to install initial label + # + </verb> + + <p>This is because the disklabel returned by ccd is actually a + `fake' one that is not really on the disk. You can solve + this problem by writing it back explicitly, as in: + + <verb> + # disklabel ccd0 > /tmp/disklabel.tmp + # disklabel -Rr ccd0 /tmp/disklabel.tmp + # disklabel -e ccd0 + (this will work now) + </verb> + + <sect1> + <heading>Does FreeBSD support System V IPC primitives?</heading> + + <p>Yes, FreeBSD supports System V-style IPC. This includes shared + memory, messages and semaphores. You need to add the following + lines to your kernel config to enable them. + + <verb> + options SYSVSHM + options "SHMMAXPGS=64" # 256Kb of sharable memory + options SYSVSEM # enable for semaphores + options SYSVMSG # enable for messaging + </verb> + + <p>Recompile and install. + + <p><bf/NOTE:/ You may need to increase SHMMAXPGS to some + ridiculous number like 4096 (16M!) if you want to run + GIMP. 256Kb is plenty for X11R6 shared memory. + + <sect1> + <heading> + How do I use sendmail for mail delivery with UUCP?<label id="uucpmail"> + </heading> + + <p>The sendmail configuration that ships with FreeBSD is + suited for sites that connect directly to the Internet. + Sites that wish to exchange their mail via UUCP must install + another sendmail configuration file. + + <p>Tweaking <tt>/etc/sendmail.cf</tt> manually is considered + something for purists. Sendmail version 8 comes with a + new approach of generating config files via some + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?m4" + name="m4"> preprocessing, where the actual hand-crafted configuration + is on a higher abstraction level. You should use the + configuration files under + + <verb> + /usr/src/usr.sbin/sendmail/cf + </verb> + + <p>If you didn't install your system with full sources, the sendmail + config stuff has been broken out into a separate source distribution + tarball just for you. Assuming you've got your CD-ROM mounted, do: + + <verb> + cd /usr/src + tar -xvzf /cdrom/dists/src/ssmailcf.aa + </verb> + + <p>Don't panic, this is only a few hundred kilobytes in size. + The file <tt>README</tt> in the <tt>cf</tt> directory can + serve as a basic introduction to m4 configuration. + + <p>For UUCP delivery, you are best advised to use the + <em>mailertable</em> feature. This constitutes a database + that sendmail can use to base its routing decision upon. + + <p>First, you have to create your <tt>.mc</tt> file. The + directory <tt>/usr/src/usr.sbin/sendmail/cf/cf</tt> is the + home of these files. Look around, there are already a few + examples. Assuming you have named your file <tt>foo.mc</tt>, + all you need to do in order to convert it into a valid + <tt>sendmail.cf</tt> is: + + <verb> + cd /usr/src/usr.sbin/sendmail/cf/cf + make foo.cf + cp foo.cf /etc/sendmail.cf + </verb> + + <p>A typical <tt>.mc</tt> file might look like: + + <verb> + include(`../m4/cf.m4') + VERSIONID(`Your version number') + OSTYPE(bsd4.4) + + FEATURE(nodns) + FEATURE(nocanonify) + FEATURE(mailertable) + + define(`UUCP_RELAY', your.uucp.relay) + define(`UUCP_MAX_SIZE', 200000) + + MAILER(local) + MAILER(smtp) + MAILER(uucp) + + Cw your.alias.host.name + Cw youruucpnodename.UUCP + </verb> + + <p>The <em>nodns</em> and <em>nocanonify</em> features will + prevent any usage of the DNS during mail delivery. The + <em>UUCP_RELAY</em> clause is needed for bizarre reasons, + don't ask. Simply put an Internet hostname there that + is able to handle .UUCP pseudo-domain addresses; most likely, + you will enter the mail relay of your ISP there. + + <p>Once you've got this, you need this file called + <tt>/etc/mailertable</tt>. A typical example of this + gender again: + + <verb> + # + # makemap hash /etc/mailertable.db < /etc/mailertable + # + horus.interface-business.de uucp-dom:horus + .interface-business.de uucp-dom:if-bus + interface-business.de uucp-dom:if-bus + .heep.sax.de smtp8:%1 + horus.UUCP uucp-dom:horus + if-bus.UUCP uucp-dom:if-bus + . uucp-dom:sax + </verb> + + <p>As you can see, this is part of a real-life file. The first + three lines handle special cases where domain-addressed mail + should not be sent out to the default route, but instead to + some UUCP neighbor in order to ``shortcut'' the delivery + path. The next line handles mail to the local Ethernet + domain that can be delivered using SMTP. Finally, the UUCP + neighbors are mentioned in the .UUCP pseudo-domain notation, + to allow for a ``uucp-neighbor!recipient'' override of the + default rules. The last line is always a single dot, matching + everything else, with UUCP delivery to a UUCP neighbor that + serves as your universal mail gateway to the world. All of + the node names behind the <tt>uucp-dom:</tt> keyword must + be valid UUCP neighbors, as you can verify using the + command <tt>uuname</tt>. + + <p>As a reminder that this file needs to be converted into a + DBM database file before being usable, the command line to + accomplish this is best placed as a comment at the top of + the mailertable. You always have to execute this command + each time you change your mailertable. + + <p>Final hint: if you are uncertain whether some particular + mail routing would work, remember the <tt>-bt</tt> option to + sendmail. It starts sendmail in <em>address test mode</em>; + simply enter ``0 '', followed by the address you wish to + test for the mail routing. The last line tells you the used + internal mail agent, the destination host this agent will be + called with, and the (possibly translated) address. Leave + this mode by typing Control-D. + + <verb> + j@uriah 191% sendmail -bt + ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) + Enter <ruleset> <address> + > 0 foo@interface-business.de + rewrite: ruleset 0 input: foo @ interface-business . de + ... + rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ + < @ interface-business . de > + > ^D + j@uriah 192% + </verb> + + <sect1> + <heading> + How do I set up mail with a dialup connection to the 'net? + <label id="ispmail"> + </heading> + + <p>If you've got a statically assigned IP number, you should not + need to adjust anything from the default. Set your host name up + as your assigned internet name and sendmail will do the rest. + + <p>If you've got a dynamically assigned IP number and use a dialup + <bf/ppp/ connection to the internet, you will probably be given a + mailbox on your ISPs mail server. Lets assume your ISPs domain is + <tt/myISP.com/, and that your user name is <tt/user/. Lets also + assume you've called your machine <tt/bsd.home/ and that your ISP + has told you that you may use <tt/relay.myISP.com/ as a mail relay. + + <p>In order to retrieve mail from your mailbox, you'll need to + install a retrieval agent. <bf/Fetchmail/ is a good choice as it + supports many different protocols. Usually, POP3 will be provided + by your ISP. If you've chosen to use user-ppp, you can automatically + fetch your mail when a connection to the 'net is established with the + following entry in <tt>/etc/ppp/ppp.linkup</tt>: + + <verb> + MYADDR: + !bg su user -c fetchmail + </verb> + + <p>I'm assuming that you have an account for <tt/user/ on <tt/bsd.home/. + In the home directory of <tt/user/ on <tt/bsd.home/, create a + <tt/.fetchmailrc/ file: + + <verb> + poll myISP.com protocol pop3 fetchall pass MySecret; + </verb> + + <p>Needless to say, this file should not be readable by anyone except + <tt/user/ as it contains the password <tt/MySecret/. + + <p>In order to send mail with the correct <bf/from:/ header, you must + tell sendmail to use <tt/user@myISP.com/ rather than + <tt/user@bsd.home/. You may also wish to tell sendmail to send all + mail via <tt/relay.myISP.com/, allowing quicker mail transmission. + + <p>The following <tt/.mc/ file should suffice: + + <verb> + VERSIONID(`bsd.home.mc version 1.0') + OSTYPE(bsd4.4)dnl + FEATURE(nouucp)dnl + MAILER(local)dnl + MAILER(smtp)dnl + Cwbsd.home + CwmyISP.com + MASQUERADE_AS(`myISP.com')dnl + FEATURE(allmasquerade)dnl + FEATURE(masquerade_envelope)dnl + FEATURE(nocanonify)dnl + FEATURE(nodns)dnl + define(SMART_HOST, `relay.myISP.com') + DmmyISP.com + define(`confDOMAIN_NAME',`myISP.com')dnl + </verb> + + <p>Refer to the previous section for details of how to turn this + <tt/.mc/ file into a <tt/sendmail.rc/ file. Also, don't forget to + restart sendmail after updating sendmail.cf. + + </sect> + diff --git a/FAQ/applications.sgml b/FAQ/applications.sgml new file mode 100644 index 0000000000..6becc5b694 --- /dev/null +++ b/FAQ/applications.sgml @@ -0,0 +1,131 @@ +<!-- $Id: applications.sgml,v 1.1 1997-11-03 08:53:40 max Exp $ --> +<!-- The FreeBSD Documentation Project --> + + <sect> + <heading>User Applications<label id="applications"></heading> + + <sect1> + <heading>So, where are all the user applications?</heading> + + <p>Please take a look at <url url="http://www.FreeBSD.ORG/ports/" + name="the ports page"> for info on software packages ported to + FreeBSD. The list currently tops 1000 and is growing daily, so come + back to check often or subscribe to the <tt/freebsd-announce/ + <ref id="mailing" name="mailing list"> for periodic updates on new + entries. + + <p>Most ports should be available for both the 2.2 and 3.0 + branches, and many of them should work on 2.1.x systems as + well. Each time a FreeBSD release is made, a snapshot of the + ports tree at the time of release in also included in the + <tt>ports/</tt> directory. + + <p>We also support the concept of a ``package'', essentially no + more than a gzipped binary distribution with a little extra + intelligence embedded in it for doing whatever custom installation + work is required. A package can installed and uninstalled + again easily without having to know the gory details of which + files it includes. + + <p>Use the package installation menu in <tt>/stand/sysinstall</tt> + (under the post-configuration menu item) or invoke the + <em>pkg_add(1)</em> command on the specific package files you're + interested in installing. Package files can usually be identified by + their <em>.tgz</em> suffix and CDROM distribution people will have + a <tt>packages/All</tt> directory on their CD which contains such + files. They can also be downloaded over the net for various versions + of FreeBSD at the following locations: + + <descrip> + <tag>for 2.1.x-release</tag> + <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.1.7/" + name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.1.7/"> + + <tag>for 2.2.5-release/2.2-stable</tag> + <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2.5/" + name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-2.2.5/"> + + <tag>for 3.0-current</tag> + <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-3.0/" + name="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages-3.0/"> + </descrip> + + <p>or your nearest local mirror site. + + <p>Note that all ports may not be available as packages since + new ones are constantly being added. It is always a good + idea to check back periodically to see which packages are available + at the <url url="ftp://ftp.freebsd.org/pub/FreeBSD/" + name="ftp.freebsd.org"> master site. + + <sect1> + <heading>Where do I find libc.so.3.0?</heading> + + <p>You are trying to run a package for 2.2/3.0 on a 2.1.x + system. Please take a look at the previous section and get + the correct port/package for your system. + + <sect1> + <heading> + ghostscript gives lots of errors with my 386/486SX.<label id="emul"> + </heading> + + <p>You don't have a math co-processor, right? + You will need to add the alternative math emulator to your kernel; + you do this by adding the following to your kernel config file + and it will be compiled in. + + <verb> + options GPL_MATH_EMULATE + </verb> + + <p><bf/NOTE/ You will need to remove the <tt/MATH_EMULATE/ + option when you do this. + + <sect1> + <heading> + When I run a SCO/iBCS2 application, it bombs on <tt/socksys/. + </heading> + + <p>You first need to edit the <tt>/etc/sysconfig</tt> + (or <htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)" + name="/etc/rc.conf">) file in the last section to change the + following variable to <tt/YES/: + + <verb> + # Set to YES if you want ibcs2 (SCO) emulation loaded at startup + ibcs2=NO + </verb> + + <p>It will load the <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?ibcs2" name="ibcs2"> + kernel module at startup. + + <p>You'll then need to set up /compat/ibcs2/dev to look like: + + <verb> +lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null +lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys +-rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null +lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null +crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx + </verb> + + <p>You just need socksys to go to <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?null(4)" name="/dev/null"> + to fake the open & close. The code in -current will handle the + rest. This is much cleaner than the way it was done before. If you + want the <tt/spx/ driver for a local socket X connection, define + <tt/SPX_HACK/ when you compile the system. + + <sect1> + <heading> + How do I configure INN (Internet News) for my machine? + </heading> + + <p>After installing the inn package or port, an excelent place to + start is <url url="http://www.math.psu.edu/barr/INN.html" + name="Dave Barr's INN Page"> where you'll find the INN FAQ. + + </sect> + diff --git a/FAQ/commercial.sgml b/FAQ/commercial.sgml new file mode 100644 index 0000000000..ca3f6a4f9f --- /dev/null +++ b/FAQ/commercial.sgml @@ -0,0 +1,95 @@ +<!-- $Id: commercial.sgml,v 1.1 1997-11-03 08:53:42 max Exp $ --> +<!-- The FreeBSD Documentation Project --> + + <sect> + <heading>Commercial Applications<label id="commercial"></heading> + + <p><bf/NOTE/ This section is still very sparse, though we're hoping, of + course, that companies will add to it! :) The FreeBSD group has no + financial interest in any of the companies listed here but simply + lists them as a public service (and feels that commercial interest + in FreeBSD can have very positive effects on FreeBSD's long-term + viability). We encourage commercial software vendors to send their + entries here for inclusion. + + <sect1> + <heading>Where can I get Motif for FreeBSD?</heading> + + <p>Contact <ref id="xig" name="Xi Graphics"> for a Motif 2.0 + distribution for FreeBSD. + + <p>This distribution includes: + <itemize> + <item>OSF/Motif manager, xmbind, panner, wsm. + + <item>Development kit with uil, mrm, xm, xmcxx, include and Imake + files. + + <item>Static and dynamic libraries. + + <item>Demonstration applets. + + <item>Preformatted man pages. + </itemize> + + <p>Be sure to specify that you want the FreeBSD version of Motif + when ordering! Versions for BSDI and Linux are also sold by + <em>Xi Graphics</em>. This is currently a 4 diskette set... in the + future this will change to a unified CD distribution like their CDE. + + <sect1> + <heading>Where can I get CDE for FreeBSD?</heading> + + <p>Contact <ref id="xig" name="Xi Graphics"> for a CDE 1.0.10 + distribution for FreeBSD. This includes Motif 1.2.5, and can + be used with Motif 2.0. + + <p>This is a unified CDROM distribution for FreeBSD and Linux. + + <sect1> + <heading> + Are there any commercial high-performance X servers?<label id="xig"> + </heading> + + <p>Yes, <url url="http://www.xig.com" name="Xi Graphics"> sells their + Accelerated-X product for FreeBSD and other Intel based systems. + + <p>This high performance X Server offers easy configuration, support + for multiple concurrent video boards and is distributed in binary + form only, in a unified diskette distribution for FreeBSD and Linux. + + <p>There is a free "compatibility demo" of version 3.1 available. + + <p>Xi Graphics also sells Motif and CDE for FreeBSD (see above). + + <descrip> + <tag/More info/ + <url url="http://www.xig.com/" name="Xi Graphics WWW page"> + + <tag/or/ <url url="mailto:sales@xig.com" name="Sales"> or + <url url="mailto:support@xig.com" name="Support"> email addresses. + + <tag/or/ phone (800) 946 7433 or +1 303 298-7478. + </descrip> + + <sect1> + <heading>Are there any Database systems for FreeBSD?</heading> + + <p>Yes! Conetic Software Systems has ported their C/base and C/books + database systems to FreeBSD 2.0.5 and higher, and Sleepycat + Software is selling a commercially supported version of the DB + database library. + + <descrip> + <tag/For more information/ + <url url="http://www.conetic.com/" name="Conetic Software Systems"> + + <tag/or mail/ + <url url="mailto:info@conetic.com" name="Information E-mail address">, + + <tag/and/ + <url url="http://www.sleepycat.com/" name = "Sleepycat Software">. + </descrip> + + </sect> + diff --git a/FAQ/hackers.sgml b/FAQ/hackers.sgml new file mode 100644 index 0000000000..50ccde65c8 --- /dev/null +++ b/FAQ/hackers.sgml @@ -0,0 +1,265 @@ +<!-- $Id: hackers.sgml,v 1.1 1997-11-03 08:53:45 max Exp $ --> +<!-- The FreeBSD Documentation Project --> + + <sect> + <heading>For serious FreeBSD hackers only<label id="hackers"></heading> + + <sect1> + <heading> + What are SNAPs and RELEASEs? + </heading> + + <p>There are currently three active/semi-active branches in the FreeBSD + <url url="http://www.freebsd.org/cgi/cvsweb.cgi" name="CVS Repository">: + + <itemize> + <item><bf/RELENG_2_1_0/ AKA <bf/2.1-stable/ AKA <bf/"2.1 branch"/ + <item><bf/RELENG_2_2/ AKA <bf/2.2-stable/ AKA <bf/"2.2 branch"/ + <item><bf/HEAD/ AKA <bf/-current/ AKA <bf/3.0-current/ + </itemize> + + <p><bf/HEAD/ is not an actual branch tag, like the other two, it's + simply a symbolic constant for + <em/"the current, non-branched development stream"/ which we simply + refer to as <bf/-current/. + + <p>Right now, <bf/-current/ is the 3.0 development stream and the + <bf/2.2-stable/ branch, <bf/RELENG_2_2/, forked off from + <bf/-current/ in November 1996. + + <p>The <bf/2.1-stable/ branch, <bf/RELENG_2_1_0/, departed -current in + September of 1994. + + <sect1> + <heading> + How do I make my own custom release?<label id="custrel"> + </heading> + + <p>To make a release you need to do three things: First, you need to + be running a kernel with the <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?vn" name="vn"> driver configured + in. Add this to your kernel config file and build a new kernel: + + <verb> + pseudo-device vn #Vnode driver (turns a file into a device) + </verb> + + <p>Second, you have to have the whole CVS repository at hand. + To get this you can use <url url="../handbook/cvsup.html" name="CVSUP"> + but your tag value, if any, should be `.' and your release name + should be cvs: + + <verb> + *default prefix=/home/ncvs + *default base=/a + *default host=cvsup.FreeBSD.org + *default release=cvs + *default delete compress use-rel-suffix + + ## Main Source Tree + src-all + src-eBones + src-secure + + # Other stuff + ports-all + www + doc-all + </verb> + + <p>Then run <tt/cvsup -g supfile/ to suck all the good bits onto your + box... + + <p>Finally, you need a chunk of empty space to build into. Let's + say it's in <tt>/some/big/filesystem</tt>, and from the example + above you've got the CVS repository in <tt>/home/ncvs</tt>: + + <verb> + setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs + cd /usr/src/release + make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release + </verb> + + <p>An entire release will be built in + <tt>/some/big/filesystem/release</tt> and you will have a full FTP-type + installation in <tt>/some/big/filesystem/release/R/ftp</tt> when you're + done. If you want to build your SNAP along some other branch than + -current, you can also add <tt/RELEASETAG=SOMETAG/ to + the make release command line above, e.g. <tt/RELEASETAG=RELENG_2_2/ + would build an up-to-the- minute 2.2 GAMMA snapshot. + + <sect1> + <heading>How do I create customized installation disks?</heading> + + <p>The entire process of creating installation disks and source and + binary archives is automated by various targets in + <tt>/usr/src/release/Makefile</tt>. The information there should + be enough to get you started. However, it should be said that this + involves doing a ``make world'' and will therefore take up a lot of + time and disk space. + + <sect1> + <heading>``make world'' clobbers my existing installed binaries.</heading> + + <p>Yes, this is the general idea; as its name might suggest, + ``make world'' rebuilds every system binary from scratch, so you can be + certain of having a clean and consistent environment at the end (which + is why it takes so long). + + <p>If the environment variable <tt/DESTDIR/ is defined while running + ``<tt/make world/'' or ``<tt/make install/'', the newly-created + binaries will be deposited in a directory tree identical to the + installed one, rooted at <tt>${DESTDIR}</tt>. + Some random combination of shared libraries modifications and + program rebuilds can cause this to fail in ``<tt/make world/'', + however. + + <sect1> + <heading> + When my system boots, it says ``(bus speed defaulted)''. + </heading> + + <p>The Adaptec 1542 SCSI host adapters allow the user to configure + their bus access speed in software. Previous versions of the + 1542 driver tried to determine the fastest usable speed and set + the adapter to that. We found that this breaks some users' + systems, so you now have to define the ``<tt/TUNE_1542/'' kernel + configuration option in order to have this take place. Using it + on those systems where it works may make your disks run faster, + but on those systems where it doesn't, your data could be + corrupted. + + <sect1> + <heading> + Can I follow current with limited Internet access?<label id="ctm"> + </heading> + + <p>Yes, you can do this <tt /without/ downloading the whole source tree + by using the <url url="../handbook/ctm.html" name="CTM facility."> + + <sect1> + <heading>How did you split the distribution into 240k files?</heading> + + <p>Newer BSD based systems have a ``<tt/-b/'' option to split that + allows them to split files on arbitrary byte boundaries. + + <p>Here is an example from <tt>/usr/src/Makefile</tt>. + + <verb> + bin-tarball: + (cd ${DISTDIR}; \ + tar cf - . \ + gzip --no-name -9 -c | \ + split -b 240640 - \ + ${RELEASEDIR}/tarballs/bindist/bin_tgz.) + </verb> + + <sect1> + <heading>I've written a kernel extension, who do I send it to?</heading> + + <p>Please take a look at <url url="../handbook/contrib.html" + name="The Handbook entry on how to submit code."> + + <p>And thanks for the thought! + + <sect1> + <heading>How are Plug N Play ISA cards detected and initialized?</heading> + + <p>By: <url url="mailto:uhclem@nemesis.lonestar.org" + name="Frank Durda IV"> + + <p>In a nutshell, there a few I/O ports that all of the PnP boards + respond to when the host asks if anyone is out there. So when + the PnP probe routine starts, he asks if there are any PnP boards + present, and all the PnP boards respond with their model # to + a I/O read of the same port, so the probe routine gets a wired-OR + ``yes'' to that question. At least one bit will be on in that + reply. Then the probe code is able to cause boards with board + model IDs (assigned by Microsoft/Intel) lower than X to go + ``off-line''. It then looks to see if any boards are still + responding to the query. If the answer was ``<tt/0/'', then + there are no boards with IDs above X. Now probe asks if there + are any boards below ``X''. If so, probe knows there are boards + with a model numbers below X. Probe then asks for boards greater + than X-(limit/4) to go off-line. If repeats the query. By + repeating this semi-binary search of IDs-in-range enough times, + the probing code will eventually identify all PnP boards present + in a given machine with a number of iterations that is much lower + than what 2^64 would take. + + <p>The IDs are two 32-bit fields (hence 2ˆ64) + 8 bit checksum. + The first 32 bits are a vendor identifier. They never come out + and say it, but it appears to be assumed that different types of + boards from the same vendor could have different 32-bit vendor + ids. The idea of needing 32 bits just for unique manufacturers + is a bit excessive. + + <p>The lower 32 bits are a serial #, ethernet address, something + that makes this one board unique. The vendor must never produce + a second board that has the same lower 32 bits unless the upper + 32 bits are also different. So you can have multiple boards of + the same type in the machine and the full 64 bits will still be + unique. + + <p>The 32 bit groups can never be all zero. This allows the + wired-OR to show non-zero bits during the initial binary search. + + <p>Once the system has identified all the board IDs present, it will + reactivate each board, one at a time (via the same I/O ports), + and find out what resources the given board needs, what interrupt + choices are available, etc. A scan is made over all the boards + to collect this information. + + <p>This info is then combined with info from any ECU files on the + hard disk or wired into the MLB BIOS. The ECU and BIOS PnP + support for hardware on the MLB is usually synthetic, and the + peripherals don't really do genuine PnP. However by examining + the BIOS info plus the ECU info, the probe routines can cause the + devices that are PnP to avoid those devices the probe code cannot + relocate. + + <p>Then the PnP devices are visited once more and given their I/O, + DMA, IRQ and Memory-map address assignments. The devices will + then appear at those locations and remain there until the next + reboot, although there is nothing that says you can't move them + around whenever you want. + + <p>There is a lot of oversimplification above, but you should get + the general idea. + + <p>Microsoft took over some of the primary printer status ports to + do PnP, on the logic that no boards decoded those addresses for + the opposing I/O cycles. I found a genuine IBM printer board + that did decode writes of the status port during the early PnP + proposal review period, but MS said ``tough''. So they do a + write to the printer status port for setting addresses, plus that + use that address + <tt/0x800/, and a third I/O port for reading + that can be located anywhere between <tt/0x200/ and <tt/0x3ff/. + + <sect1> + <heading>Will FreeBSD ever support other architectures?</heading> + + <p>Several different groups have expressed interest in working on + multi-architecture support for FreeBSD and some people are + currently working on a port of FreeBSD to the ALPHA, with the + cooperation of DEC. For general discussion on new architectures, + use the <tt><platforms@FreeBSD.ORG></tt> + <ref id="mailing" name="mailing list">. + + <sect1> + <heading>I need a major number for a device driver I've written.</heading> + + <p>This depends on whether or not you plan on making the driver + publicly available. If you do, then please send us a copy of the + driver source code, plus the appropriate modifications to + <tt>files.i386</tt>, a sample configuration file entry, and the + appropriate <htmlurl url="http://www.freebsd.org/cgi/man.cgi?MAKEDEV" + name="MAKEDEV"> code to create any special files your device uses. If + you do not, or are unable to because of licensing restrictions, then + character major number 32 and block major number 8 have been reserved + specifically for this purpose; please use them. In any case, we'd + appreciate hearing about your driver on + <tt><hackers@FreeBSD.ORG></tt>. + + </sect> + diff --git a/FAQ/hardware.sgml b/FAQ/hardware.sgml new file mode 100644 index 0000000000..28b75966ce --- /dev/null +++ b/FAQ/hardware.sgml @@ -0,0 +1,422 @@ +<!-- $Id: hardware.sgml,v 1.1 1997-11-03 08:53:46 max Exp $ --> +<!-- The FreeBSD Documentation Project --> + + <sect> + <heading>Hardware compatibility <label id="hardware"></heading> + + <sect1> + <heading>What kind of hard drives does FreeBSD support?</heading> + + <p>FreeBSD supports EIDE and SCSI drives (with a compatible + controller; see the next section), and all drives using the + original "Western Digital" interface (MFM, RLL, ESDI, and + of course IDE). A few ESDI controllers that use proprietary + interfaces may not work: stick to WD1002/3/6/7 interfaces + and clones. + + <sect1> + <heading>Which SCSI controllers are supported?</heading> + + <p>FreeBSD supports the following SCSI controllers: + + <descrip> + <tag/Adaptec/ + AH-1505 <ISA> <newline> + AH-152x Series <ISA> <newline> + AH-154x Series <ISA> <newline> + AH-174x Series <EISA> <newline> + Sound Blaster SCSI (AH-152x compat) <ISA> <newline> + AH-2742/2842 Series <ISA/EISA> <newline> + AH-2820/2822/2825 Series (Narrow/Twin/Wide) <VLB> <newline> + AH-294x and aic7870 MB controllers (Narrow/Twin/Wide) <PCI> + <newline> + AH-394x (Narrow/Twin/Wide) + + <tag/Buslogic/ + BT-445 Series <VLB> (this is one of the cards referred to + in the section <ref id="bigram" name="on >16 MB machines">) + <newline> + BT-545 Series <ISA> <newline> + BT-742 Series <EISA><newline> + BT-747 Series <EISA><newline> + BT-946 Series <PCI> <newline> + BT-956 Series <PCI> <newline> + + <tag/Future Domain/ + TMC-950 Series <ISA> <newline> + + <tag/PCI Generic/ + NCR 53C81x based controllers <PCI> <newline> + NCR 53C82x based controllers <PCI> <newline> + NCR 53C860/75 based controllers <PCI> <newline> + + <tag/ProAudioSpectrum/ + Zilog 5380 based controllers <ISA> <newline> + Trantor 130 based controllers <ISA> <newline> + + <tag/DTC/ + DTC 3290 EISA SCSI in AHA-154x emulation.<newline> + + <tag/Seagate/ + ST-01/02 Series <ISA><newline> + + <tag/UltraStor/ + UH-14f Series <ISA><newline> + UH-24f Series <EISA> <newline> + UH-34f Series <VLB><newline> + + <tag/Western Digital/ + WD7000 <ISA> <No scatter/gather> + </descrip> + + <sect1> + <heading>Which CD-ROM drives are supported by FreeBSD?</heading> + + <p>Any SCSI drive connected to a supported controller is supported. + + <p>The following proprietry CD-ROM interfaces are also supported: + + <itemize> + <item>Mitsumi LU002 (8bit), LU005 (16bit) and FX001D (16bit 2x Speed). + <item>Sony CDU 31/33A<newline> + <item>Sound Blaster Non-SCSI CD-ROM<newline> + <item>Matsushita/Panasonic CD-ROM<newline> + <item>ATAPI compatible IDE CD-ROMs<newline> + </itemize> + + <p>All non-SCSI cards are known to be extremely slow compared to + SCSI drives, and some ATAPI CDROMs may not work. + + <p>As of 2.2 the FreeBSD CDROM from Walnut Creek supports booting + directly from the CD. + + <sect1> + <heading>Does FreeBSD support ZIP drives?</heading> + + <p>FreeBSD supports the SCSI ZIP drive out of the box, of course. The + ZIP drive can only be set to run at SCSI target IDs 5 or 6, but if + your SCSI host adapter's BIOS supports it you can even boot from + it. I don't know which host adapters let you boot from targets + other than 0 or 1... look at your docs (and let me know if it works + out for you). + + <p>There is no built in support for the parallel ZIP drive, and if you + haven't bought your ZIP drive already I recommend you get the SCSI + one... the price is the same, and the performance is much better, + and you're unlikely to ever be able to boot from the parallel port. + + <p>If you already have a parallel ZIP, there is a port of the Linux + driver available at + + <url url="http://www.prism.uvsq.fr/~son/ppa3.html" + name="Nicolas Souchu's home page"> in France. + + <p>Also check out <ref id="jaz" name="this note on removable drives">, + and <ref id="disklabel" name="this note on 'formatting'">. + + <sect1> + <heading> + Does FreeBSD support JAZ, EZ and other removable drives? + </heading> + + <p>Apart from the IDE version of the EZ drive, these are all SCSI + devices, so the should all look like SCSI disks to FreeBSD, and + the IDE EZ should look like an IDE drive. + + <p><label id="jaz">I'm not sure how well FreeBSD supports changing + the media out while running. You will of course need to dismount the + drive before swapping media, and make sure that any external units are + powered on when you boot the system so FreeBSD can see them. + + <p>See <ref id="disklabel" name="this note on 'formatting'">. + + <sect1> + <heading>Which multi-port serial cards are supported by FreeBSD?</heading> + + <p>There is a list of these in the <htmlurl + url="../handbook/install:misc.html" name="Miscellaneous devices"> + section of the handbook. + + <p>Some unnamed clone cards have also been known to work, especially + those that claim to be AST compatible. + + <p>Check the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sio" + name="sio"> man page to get more information on configuring such cards. + + <sect1> + <heading>I have an unusual bus mouse. How do I set it up?</heading> + + <p>FreeBSD supports the Logitech and ATI Inport bus mice. You need + to add the following line to the kernel config file and recompile + for the Logitech and ATI mice: + + <verb> + device mse0 at isa? port 0x23c tty irq5 vector mseintr + </verb> + + <sect1> + <heading> + How do I use my PS/2 (``keyboard'') mouse? + <label id="ps2mouse"> + </heading> + + <p>If you're running a relatively recent version of FreeBSD then you + can simply enable it in the kernel configuration menu + at installation time, otherwise later with -c at the boot: + prompt. It is disabled by default, so you will need to enable + it explicitly. + + <p>If you're running an older version of FreeBSD then you'll have to + add the following lines to your kernel configuration file and compile + a new kernel: + + <verb> + device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr + # Options for psm: + options PSM_CHECKSYNC #checks the header byte for sync. + </verb> + + <p>See the <url url="../handbook/kernelconfig.html" + name="Handbook entry on configuring the kernel"> if you've no + experience with building kernels. + + <p>Once you have a kernel detecting psm0 correctly at boot time, + make sure that an entry for psm0 exists in /dev. You can do this + by typing: + + <verb> + cd /dev; sh MAKEDEV psm0 + </verb> + + <p>when logged in as root. + + <sect1> + <heading> + How do I use the mouse/trackball/touchpad on my laptop? + </heading> + + <p>Please refer to <ref id="ps2mouse" name="the answer to the previous + question">. And check out <ref id="pao" name="this note"> on the Mobile + Computing page. + + <sect1> + <heading>What types of tape drives are supported?</heading> + + <p>FreeBSD supports SCSI, QIC-36 (with a QIC-02 interface) and + QIC-40/80 (Floppy based) tape drives. This includes 8-mm (aka Exabyte) + and DAT drives. The QIC-40/80 drives are known to be slow. + + <p>Some of the early 8-mm drives are not quite compatible with SCSI-2, + and may not work well with FreeBSD. + + <sect1> + <heading>Does FreeBSD support tape changers?</heading> + + <p>FreeBSD 2.2 supports SCSI changers using the <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?ch(4)" name="ch"> device and + the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?chio" name="chio"> + command. The details of how you actually control the changer can be + found in the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?chio" + name="chio"> man page. + + <p>If you're not using <htmlurl + url="http://www.freebsd.org/cgi/ports.cgi?amanda" name="AMANDA"> or + some other product that already understands changers, remember that + they're only know how to move a tape from one point to another, so + you need to keep track of which slot a tape is in, and which slot the + tape currently in the drive needs to go back to. + + <sect1> + <heading>Which sound cards are supported by FreeBSD?</heading> + + <p>FreeBSD supports the SoundBlaster, SoundBlaster Pro, SoundBlaster + 16, Pro Audio Spectrum 16, AdLib and Gravis UltraSound sound cards. + There is also limited support for MPU-401 and compatible MIDI cards. + The SoundBlaster 16 ASP cards are not yet supported. The Microsoft + Sound System is also supported. + + <p><bf/NOTE/ This is only for sound! This driver does not support + CD-ROMs, SCSI or joysticks on these cards, except for the + SoundBlaster. The SoundBlaster SCSI interface and some non-SCSI + CDROMS are supported, but you can't boot off this device. + + <sect1> + <heading>Which network cards does FreeBSD support?</heading> + + <p>See the <htmlurl url="../handbook/install:nics.html" + name="Ethernet cards"> section of the handbook for a more + complete list. Since it doesn't list the drivers + you need to use for each of the cards, this incomplete + list will have to do. + + <descrip> + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?de(4)" + name="de"> driver/ + DEC DC21x40 and compatible PCI controllers<newline> + (including 21140 100bT cards) <newline> + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ed(4)" + name="ed"> driver/ NE2000 and 1000<newline> + WD/SMC 8003, 8013 and Elite Ultra (8216)<newline> + 3Com 3c503 <newline> + HP 27247B and 27252A <newline> + And clones of the above <newline> + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?le(4)" + name="le"> driver/ + DEC EtherWORKS II and EtherWORKS III controllers. <newline> + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ie(4)" + name="ie"> driver/ + AT&T EN100/StarLAN 10 <newline> + 3COM 3c507 Etherlink 16/TP<newline> + NI5210 <newline> + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?is(4)" + name="is"> driver/ + Isolan AT 4141-0 <newline> + Isolink 4110 <newline> + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?el(4)" + name="el"> driver/ + 3com 3c501 (does not support Multicast or DMA) + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?eg(4)" + name="eg"> driver/ + 3com 3c505 Etherlink/+ + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ze(4)" + name="ze"> driver/ + IBM PCMCIA credit card adapter + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?lnc(4)" + name="lnc"> drive/ + Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL)(*) + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ep(4)" + name="ep"> driver/ + 3com 3c509 (Must disable PNP support on card) + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?ix(4)" + name="ix"> driver/ + Intel InterExpress + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?cx(4)" + name="cx"> driver/ + Cronyx/Sigma multiport Sync/Async (Cisco and PPP framing) + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?zp(4)" + name="zp"> driver/ + 3Com PCMCIA Etherlink III (aka 3c589)(A-C only) + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fea(4)" + name="fea"> driver/ + DEC DEFEA EISA FDDI controller + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fpa(4)" + name="fpa"> driver/ + DEC DEFPA PCI FDDI controller + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?fe(4)" + name="fe"> driver/ + Fujitsu MB86960A/MB86965A Ethernet cards + </descrip> + + <p><bf/NOTE/ Drivers marked with (*) are known to have problems. + + <p><bf/NOTE/ 3C598D is NOT supported yet. + + <p><bf/NOTE/ We also support TCP/IP over parallel lines. At this point + we are incompatible with other versions, but we hope to correct + this in the near future. Refer to the description in the lp(4) + man page. + + <p><bf/NOTE/ Some of these cards require a DOS partition on your hard + drive to run the configuration software. Software configured cards + may also need to be hard-reset after running another operating + system that uses manufacturer-supplied drivers. This may even + require a full power cycle. + + <sect1> + <heading>I don't have a math co-processor - is that bad?</heading> + + <p><tt /Note/ This will only affect 386/486SX/486SLC owners - other + machines will have one built into the CPU. + + <p>In general this will not cause any problems, but there are + circumstances where you will take a hit, either in performance or + accuracy of the math emulation code (see the section <ref id="emul" + name="on FP emulation">). In particular, drawing arcs in X will be + VERY slow. It is highly recommended that you buy a math + co-processor; it's well worth it. + + <p><bf/NOTE/ Some math co-processors are better than others. It pains + us to say it, but nobody ever got fired for buying Intel. Unless + you're sure it works with FreeBSD, beware of clones. + + <sect1> + <heading>What other devices does 2.X support?</heading> + + <p>Here is a listing of drivers which do not fit into any of the + earlier categories. + + <descrip> + <tag><tt/b004.c/</tag> + Driver for B004 compatible Transputer boards <newline> + + <tag>``ctx'' driver</tag> + Driver for CORTEX-I Frame grabber <newline> + + <tag>``gp'' driver</tag> + Driver for National Instruments AT-GPIB and<newline> + AT-GPIB/TNT boards + + <tag>``pca'' driver</tag> + Driver for PC speakers to allow the playing of audio files + + <tag>``spigot'' driver</tag> + Driver for the Creative Labs Video Spigot + + <tag><htmlurl url="http://www.freebsd.org/cgi/man.cgi?gsc(4)" + name="gsc"> driver</tag> + Driver for the Genuis GS-4500 Hand scanner + + <tag><htmlurl url="http://www.freebsd.org/cgi/man.cgi?joy(4)" + name="joy"> driver</tag> + Driver for a joystick + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?labpc(4)" + name="labpc"> driver/ + Driver for National Instrument's Lab-PC and Lab-PC+ + + <tag/``uart'' driver/ + Stand-alone 6850 UART for MIDI + + <tag/<htmlurl url="http://www.freebsd.org/cgi/man.cgi?psm(4)" + name="psm"> driver/ PS/2 mouse port + + <tag><tt/tw.c/</tag> + Driver for the X-10 POWERHOUSE <newline> + </descrip> + +<!-- + <sect1> + <heading>I am about to buy a new machine. What do you recommend?</heading> + + <p>See the <url url="../handbook/hw.html" name="hardware section"> + of the handbook for general tips if you're going to build it + yourself, otherwise see the + FreeBSD <url url="http://www.freebsd.org/commercial/hardware.html" + name="Hardware vendors"> page for various companies who offer + FreeBSD compatible systems. +--> + + <sect1> + <heading>Does FreeBSD support power management on my laptop?</heading> + + <p>FreeBSD supports APM on certain machines. Please look in the + <tt/LINT/ kernel config file, searching for the <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?apm" name="APM"> keyword. + + </sect> + diff --git a/FAQ/install.sgml b/FAQ/install.sgml new file mode 100644 index 0000000000..6d1cce642c --- /dev/null +++ b/FAQ/install.sgml @@ -0,0 +1,443 @@ +<!-- $Id: install.sgml,v 1.1 1997-11-03 08:53:47 max Exp $ --> +<!-- The FreeBSD Documentation Project --> + + <sect> + <heading>Installation<label id="install"></heading> + + <sect1> + <heading>Which file do I download to get FreeBSD?</heading> + + <p>You generally need just one floppy image, the <em>floppies/boot.flp + </em> file, which you image-copy onto a 1.44MB floppy and then boot it + in order to download the rest (and the installation will manage your + TCP/IP collection, deal with tapes, CDROMs, floppies, DOS. + partitions, whatever's necessary to get the reset of the bits + installed). + + <p>Full instructions on this procedure and a little bit more about + installation issues in general can be found in the <url + url="../handbook/install.html" + name="Handbook entry on installing FreeBSD."> + + <sect1> + <heading>Where are the instructions for installing FreeBSD?</heading> + + <p>Installation instructions can be found in the + <url url="../handbook/install.html" + name="Handbook entry on installing FreeBSD."> + + <sect1> + <heading>What do I need in order to run FreeBSD?</heading> + + <p>You'll need a 386 or better PC, with 5 MB or more of RAM and at + least 60 MB of hard disk space. It can run with a low end MDA + graphics card but to run X11R6, a VGA or better video card is needed. + + <p>See also the section on <ref id="hardware" + name="Hardware compatibility"> + + <sect1> + <heading>I have only 4 MB of RAM. Can I install FreeBSD?</heading> + + <p>FreeBSD 2.1.7 was the last version of FreeBSD that could be installed + on a 4MB system. Newer versions of FreeBSD, like 2.2, need at least 5MB + to install on a new system. + + <p>All versions of FreeBSD, including 3.0, will RUN in 4MB of ram, they + just can't run the installation program in 4MB. You can add + extra memory for the install process, if you like, and then + after the system is up and running, go back to 4MB. Or you could + always just swap your disk into a system which has >4MB, install onto + it and then swap it back. + + <p>There are also situations in which FreeBSD 2.1.7 will not install + in 4 MB. To be exact: it does not install with 640 kB base + 3 MB + extended memory. If your motherboard can remap some of the ``lost'' + memory out of the 640kB to 1MB region, then you may still be able + to get FreeBSD 2.1.7 up. + + <p>Try to go into your BIOS setup and look for a ``remap'' option. + Enable it. You may also have to disable ROM shadowing. + + <p>It may be easier to get 4 more MB just for the install. Build a + custom kernel with only the options you need and then get the 4 + MB out again. + + <p>You may also install 2.0.5 and then upgrade your system to 2.1.7 + with the ``upgrade'' option of the 2.1.7 installation program. + + <p>After the installation, if you build a custom kernel, it will run + in 4 MB. Someone has even succeeded in booting with 2 MB (the + system was almost unusable though :-)) + + <sect1> + <heading> + How can I make my own custom install floppy? + </heading> + + <p>Currently there's no way to *just* make a custom install floppy. + You have to cut a whole new release, which will include your install + floppy. There's some code in <tt>/usr/src/release/floppies/Makefile</tt> + that's supposed to let you *just* make those floppies, but it's not + really gelled yet. + + <p>To make a custom release, follow the instructions <ref id="custrel" + name="here">. + + <sect1> + <heading>Can I have more than one operating system on my PC?</heading> + + <p>Have a look at <url url="../tutorials/multios/multios.html" + name="The multi-OS page."> + + <sect1> + <heading>Can Windows 95 co-exist with FreeBSD?</heading> + + <p>Install Windows 95 first, after that FreeBSD. FreeBSD's boot + manager will then manage to boot Win95 and FreeBSD. If you + install Windows 95 second, it will boorishly overwrite your + boot manager without even asking. If that happens, see + the next section. + + <sect1> + <heading> + Windows 95 killed my boot manager! How do I get it back? + </heading> + + <p>You can reinstall the boot manager FreeBSD comes with in one of + two ways: + + <itemize> + <item>Running DOS, go into the tools/ directory of your FreeBSD + distribution and look for <bf>bootinst.exe</bf>. You run it like so: + + <p><bf>bootinst.exe boot.bin</bf> + + <p>and the boot manager will be reinstalled. + + <item>Boot the FreeBSD boot floppy again and go to the Custom + installation menu item. Choose Partition. Select the drive which + used to contain your boot manager (likely the first one) and when you + come to the partition editor for it, as the very first thing (e.g. + do not make any changes) select (W)rite. This will ask for + confirmation, say yes, and when you get the Boot Manager selection + prompt, be sure to select "Boot Manager." + This will re-write the boot manager to disk. Now quit out of the + installation menu and reboot off the hard disk as normal. + </itemize> + + <sect1> + <heading>Can I install on a disk with bad blocks?</heading> + + <p>FreeBSD's bad block (the <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?bad144" name="bad144"> + command) handling is still not 100% (to put it charitably) and + it must unfortunately be said that if you've got an IDE or ESDI drive + with lots of bad blocks, then FreeBSD is probably not for you! + That said, it does work on thousands of IDE based systems, so + you'd do well to try it first before simply giving up. + + <p>If you have a SCSI drive with bad blocks, see <ref id="awre" + name="this answer">. + + <sect1> + <heading>Strange things happen when I boot the install floppy!</heading> + + <p>If you're seeing things like the machine grinding to a halt or + spontaneously rebooting when you try to boot the install floppy, + here are three questions to ask yourself:- + + <enum> + <item>Did you use a new, freshly-formatted, error-free floppy + (preferably a brand-new one straight out of the box, as + opposed to the magazine coverdisk that's been lying under + the bed for the last three years)? + + <item>Did you download the floppy image in binary (or image) mode? + (don't be embarrassed, even the best of us have accidentally + downloaded a binary file in ASCII mode at least once!) + + <item>If you're using one of these new-fangled operating systems + like Windows95 or Windows NT, did you shut it down and restart + the system in plain, honest DOS? It seems these OS's can + interfere with programs that write directly to hardware, which + the disk creation program does; even running it inside a DOS + shell in the GUI can cause this problem. + </enum> + + <p>There have also been reports of Netscape causing problems when + downloading the boot floppy, so it's probably best to use a different + FTP client if you can. + + <sect1> + <heading>Help! I can't install from tape!</heading> + + <p>If you are installing 2.1.7R from tape, you must create the tape + using a tar blocksize of 10 (5120 bytes). The default tar + blocksize is 20 (10240 bytes), and tapes created using this + default size cannot be used to install 2.1.7R; with these tapes, + you will get an error that complains about the record size being + too big. + + <sect1> + <heading> + Can I install on my laptop over PLIP (Parallel Line IP)? + </heading> + + <p>Connect the two computers using a Laplink parallel cable to use + this feature: + + <verb> + +----------------------------------------+ + |A-name A-End B-End Descr. Port/Bit | + +----------------------------------------+ + |DATA0 2 15 Data 0/0x01 | + |-ERROR 15 2 1/0x08 | + +----------------------------------------+ + |DATA1 3 13 Data 0/0x02 | + |+SLCT 13 3 1/0x10 | + +----------------------------------------+ + |DATA2 4 12 Data 0/0x04 | + |+PE 12 4 1/0x20 | + +----------------------------------------+ + |DATA3 5 10 Strobe 0/0x08 | + |-ACK 10 5 1/0x40 | + +----------------------------------------+ + |DATA4 6 11 Data 0/0x10 | + |BUSY 11 6 1/0x80 | + +----------------------------------------+ + |GND 18-25 18-25 GND - | + +----------------------------------------+ + </verb> + + <p>See also <ref id="pao" name="this note"> on the Mobile Computing page. + + <sect1> + <heading> + Which geometry should I use for a disk drive?<label id="geometry"> + </heading> + + <p>(By the "geometry" of a disk, we mean the number of cylinders, + heads and sectors/track on a disk - I'll refer to this as + C/H/S for convenience. This is how the PC's BIOS works out + which area on a disk to read/write from). + + <p>This seems to cause a lot of confusion for some reason. First + of all, the <tt /physical/ geometry of a SCSI drive is totally + irrelevant, as FreeBSD works in term of disk blocks. In fact, there + is no such thing as "the" physical geometry, as the sector density + varies across the disk - what manufacturers claim is the "true" + physical geometry is usually the geometry that they've worked out + results in the least wasted space. For IDE disks, FreeBSD does + work in terms of C/H/S, but all modern drives will convert this + into block references internally as well. + + <p>All that matters is the <tt /logical/ geometry - the answer that the + BIOS gets when it asks "what is your geometry?" and then uses to access + the disk. As FreeBSD uses the BIOS when booting, it's very important + to get this right. In particular, if you have more than one operating + system on a disk, they must all agree on the geometry, otherwise you + will have serious problems booting! + + <p>For SCSI disks, the geometry to use depends on whether extended + translation support is turned on in your controller (this is + often referred to as "support for DOS disks >1GB" or something + similar). If it's turned off, then use N cylinders, 64 heads + and 32 sectors/track, where 'N' is the capacity of the disk in + MB. For example, a 2GB disk should pretend to have 2048 cylinders, + 64 heads and 32 sectors/track. + + <p>If it <tt /is/ turned on (it's often supplied this way to get around + certain limitations in MSDOS) and the disk capacity is more than 1GB, + use M cylinders, 63 heads (*not* 64), and 255 sectors per track, where + 'M' is the disk capacity in MB divided by 7.844238 (!). So our + example 2GB drive would have 261 cylinders, 63 heads and 255 sectors + per track. + + <p>If you are not sure about this, or FreeBSD fails to detect the + geometry correctly during installation, the simplest way around + this is usually to create a small DOS partition on the disk. The + correct geometry should then be detected (and you can always remove + the DOS partition in the partition editor if you don't want to keep + it, or leave it around for programming network cards and the like). + + <p>Alternatively, there is a freely available utility distributed with + FreeBSD called ``<tt/pfdisk.exe/'' (located in the <tt>tools</tt> + subdirectory on the FreeBSD CDROM or on the various FreeBSD + ftp sites) which can be used to work out what geometry the other + operating systems on the disk are using. You can then enter this + geometry in the partition editor. + + <sect1> + <heading>Any restrictions on how I divide the disk up?</heading> + + <p>Yes. You must make sure that your root partition is below 1024 + cylinders so the BIOS can boot the kernel from it. (Note that this + is a limitation in the PC's BIOS, not FreeBSD). + + <p>For a SCSI drive, this will normally imply that the root partition + will be in the first 1024MB (or in the first 4096MB if extended + translation is turned on - see previous question). For IDE, the + corresponding figure is 504MB. + + <sect1> + <heading> + What about disk managers? Or, I have a large drive! + </heading> + + <p>FreeBSD recognizes the Ontrack Disk Manager and makes allowances + for it. Other disk managers are not supported. + + <p>If you just want to use the disk with FreeBSD you don't need a + disk manager. Just configure the disk for as much space as the + BIOS can deal with (usually 504 megabytes), and FreeBSD + should figure out how much space you really have. If you're using + an old disk with an MFM controller, you may need to explicitly + tell FreeBSD how many cylinders to use. + + <p>If you want to use the disk with FreeBSD and another operating + system, you may be able to do without a disk manager: just make sure + the the FreeBSD boot partition and the slice for the other + operating system are in the first 1024 cylinders. If you're + reasonably careful, a 20 megabyte boot partition should be plenty. + + <sect1> + <heading> + When I boot FreeBSD I get ``Missing Operating System'' + <label id="missing_os"> + </heading> + + <p>This is classically a case of FreeBSD and DOS or some other OS + conflicting over their ideas of disk <ref id="geometry" + name="geometry."> You will have to reinstall FreeBSD, but obeying the + instructions given above will almost always get you going. + + <sect1> + <heading>I can't get past the boot manager's `F?' prompt.</heading> + + <p>This is another symptom of the problem described in the preceding + question. Your BIOS geometry and FreeBSD geometry settings do + not agree! If your controller or BIOS supports cylinder + translation (often marked as ``>1GB drive support''), try + toggling its setting and reinstalling FreeBSD. + + <sect1> + <heading> + I have >16MB of RAM. Will this cause any problems?<label id="bigram"> + </heading> + + <p>Apart from performance issues, no. FreeBSD 2.X comes with bounce + buffers which allow your bus mastering controller access to greater + than 16MB. (Note that this should only be required if you are using + ISA devices, although one or two broken EISA and VLB devices may + need it as well). + + <p>Also look at the section on <ref id="reallybigram" + name=">64M machines"> if you have that much memory, + or if you're using a Compaq or other BIOS that lies about + the available memory. + + <sect1> + <heading>Do I need to install the complete sources?</heading> + + <p>In general, no. However, we would strongly recommend that you + install, at a minimum, the ``<tt/base/'' source kit, which + includes several of the files mentioned here, and the + ``<tt/sys/'' (kernel) source kit, which includes sources for the + kernel. There is nothing in the system which requires the + presence of the sources to operate, however, except for the + kernel-configuration program + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?config" + name="config">. With the exception + of the kernel sources, our build structure is set up so that you + can read-only mount the sources from elsewhere via NFS and still + be able to make new binaries. (Because of the kernel-source + restriction, we recommend that you not mount this on + <tt>/usr/src</tt> directly, but rather in some other location + with appropriate symbolic links to duplicate the top-level + structure of the source tree.) + + <p>Having the sources on-line and knowing how to build a system with + them will make it much easier for you to upgrade to future + releases of FreeBSD. + + <p>To actually select a subset of the sources, use the Custom + menu item when you are in the Distributions menu of the + system installation tool. The <tt>src/install.sh</tt> script + will also install partial pieces of the source distribution, + depending on the arguments you pass it. + + <sect1> + <heading>Do I need to build a kernel?</heading> + + <p>Building a new kernel was originally pretty much a required + step in a FreeBSD installation, but more recent releases have + benefited from the introduction of a much friendlier kernel + configuration tool. When at the FreeBSD boot prompt (boot:), + use the "-c" flag and you will be dropped into a visual + configuration screen which allows you to configure the kernel's + settings for most common ISA cards. + + <p>It's still recommended that you eventually build a new + kernel containing just the drivers that you need, just to save a + bit of RAM, but it's no longer a strict requirement for most + systems. + + <sect1> + <heading>I live outside the US. Can I use DES encryption?</heading> + + <p>If it is not absolutely imperative that you use DES style + encryption, you can use FreeBSD's default encryption for even + <bf/better/ security, and with no export restrictions. FreeBSD + 2.0's password default scrambler is now <bf/MD5/-based, and is + more CPU-intensive to crack with an automated password cracker + than DES, and allows longer passwords as well. The only reason + for not using the <bf/MD5/-based crypt today would be to use the + the same password entries on FreeBSD and non-FreeBSD systems. + + <p>Since the DES encryption algorithm cannot legally be exported + from the US, non-US users should not download this software (as + part of the <tt/secrdist/ from US FTP sites. + + <p>There is however a replacement libcrypt available, based on + sources written in Australia by David Burren. This code is now + available on some non-US FreeBSD mirror sites. Sources for the + unencumbered libcrypt, and binaries of the programs which use it, + can be obtained from the following FTP sites: + + <descrip> + <tag/South Africa/ + <tt>ftp://ftp.internat.freebsd.org/pub/FreeBSD</tt><newline> + <tt>ftp://storm.sea.uct.ac.za/pub/FreeBSD</tt> + + <tag/Brazil/ + <tt>ftp://ftp.iqm.unicamp.br/pub/FreeBSD</tt> + + <tag/Finland/ + <tt>ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt</tt> + </descrip> + + <p>The non-US <tt/securedist/ can be used as a direct replacement + for the encumbered US <tt/securedist/. This <tt/securedist/ + package is installed the same way as the US package (see + installation notes for details). If you are going to install DES + encryption, you should do so as soon as possible, before + installing other software. + + <p>Non-US users should please not download any encryption software + from the USA. This can get the maintainers of the sites from + which the software is downloaded into severe legal difficulties. + + <p>A non-US distribution of Kerberos is also being developed, and + current versions can generally be obtained by anonymous FTP from + <tt>braae.ru.ac.za</tt>. + + <p>There is also a <ref id="mailing" name="mailing list"> for the + discussion of non-US encryption software. For more information, send + an email message with a single line saying ``<tt/help/'' in the body + of your message to + + <tt><majordomo@braae.ru.ac.za></tt>. + + </sect> + diff --git a/FAQ/kernelconfig.sgml b/FAQ/kernelconfig.sgml new file mode 100644 index 0000000000..c04f252ab1 --- /dev/null +++ b/FAQ/kernelconfig.sgml @@ -0,0 +1,157 @@ +<!-- $Id: kernelconfig.sgml,v 1.1 1997-11-03 08:53:48 max Exp $ --> +<!-- The FreeBSD Documentation Project --> + + <sect> + <heading>Kernel Configuration<label id="kernelconfig"></heading> + + <sect1> + <heading> + I'd like to customize my kernel. Is it difficult? + <label id="make-kernel"> + </heading> + + <p>Not at all! First, you need either the complete <tt/srcdist/ or, at + the minimum, the <tt/kerndist/ loaded on your system. This provides the + necessary sources for building the kernel, as, unlike most commercial + UNIX vendors, we have a policy of <bf/NOT/ shipping our kernel code in + binary object form. + + <p>Shipping the source takes a bit more space, but it also means + that you can refer to the actual kernel sources in case of + difficulty or to further your understanding of what's + <bf/really/ happening. + + <p>Once you have the <tt/kerndist/ or <tt/srcdist/ loaded, do the + following as root: + + <enum> + <item> <tt>cd /usr/src/sys/i386/conf</tt> + <item> <tt/cp GENERIC MYKERNEL/ + <item> <tt/vi MYKERNEL/ + <item> <tt/config MYKERNEL/ + <item> <tt>cd ../../compile/MYKERNEL</tt> + <item> <tt/make depend/ + <item> <tt/make all/ + <item> <tt/make install/ + <item> <tt/reboot/ + </enum> + + <p>Step 2 may not be necessary if you already have a kernel + configuration file from a previous release of FreeBSD 2.X. - + simply bring your old one over and check it carefully for any + drivers that may have changed boot syntax or been rendered + obsolete. + + <p>A good kernel config file to look into is <tt/LINT/, which + contains entries for <bf/all/ possible kernel options and + documents them fairly well. The <tt/GENERIC/ kernel config file + is used to build the initial release you probably loaded (unless + you upgraded in-place) and contains entries for the most common + configurations. It's a pretty good place to start from. + + <p>If you don't need to make any changes to <tt/GENERIC/, you can + also skip step 3, where you customize the kernel for your + configuration. Step 8 should only be undertaken if steps 6 and 7 + succeed. This will copy the new kernel image to + <tt>/kernel</tt> and <bf/BACK UP YOUR OLD ONE IN/ + <tt>/kernel.old</tt>! It's very important to remember this in + case the new kernel fails to work for some reason - you can still + select <tt>/kernel.old</tt> at the boot prompt to boot the old + one. When you reboot, the new kernel will boot by default. + + <p>If the compile in step 7 falls over for some reason, then it's + recommended that you start from step 4 but substitute + <tt/GENERIC/ for <tt/MYKERNEL/. If you can generate a + <tt/GENERIC/ kernel, then it's likely something in your special + configuration file that's bad (or you've uncovered a bug!). If + the build of the <tt/GENERIC/ kernel does <bf/NOT/ succeed, then + it's very likely that your sources are somehow corrupted. + + <p>Finally, if you need to see your original boot messages again to + compile a new kernel that's better tailored to your hardware, try + the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?dmesg" + name="dmesg"> command. It should print out all the boot-time + messages printed by your old kernel, some of which may be quite + helpful in configuring the new one. + + <p><bf/NOTE:/ I recommend making a dated snapshot of your kernel + in <tt/kernel.YYMMDD/ after you get it all working, that way if + you do something dire the next time you play with your configuration + you can boot that kernel instead of having to go all the way back + to <tt/kernel.GENERIC/. This is particularly important if you're + now booting off a controller that isn't supported in the GENERIC + kernel (yes, personal experience). + + <sect1> + <heading> + My kernel compiles fail because <tt/_hw_float/ is missing. + </heading> + + <p>Let me guess. You removed <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?npx(4)" name="npx0"> from your + kernel configuration file because you don't have a math co-processor, + right? Wrong! :-) The <tt/npx0/ is <bf/MANDATORY/. Even if you don't + have a mathematic co-processor, you <bf/must/ include the <tt/npx0/ + device. + + <sect1> + <heading>Interrupt conflicts with multi-port serial code.</heading> + + <p><bf/Q./ When I compile a kernel with multi-port serial code, it + tells me that only the first port is probed and the rest skipped due to + interrupt conflicts. How do I fix this? + + <p><bf/A./ The problem here is that FreeBSD has code built-in to keep + the kernel from getting trashed due to hardware or software + conflicts. The way to fix this is to leave out the IRQ settings + on all but one port. Here is a example: + + <verb> + # + # Multiport high-speed serial line - 16550 UARTS + # + device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr + device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr + device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr + device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr + </verb> + + <sect1> + <heading>How do I enable support for QIC-40/80 drives?</heading> + + <p>You need to uncomment the following line in the generic config + file (or add it to your config file), add a ``<tt/flags 0x1/'' + on the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fdc(4)" + name="fdc"> line and recompile. + + <verb> +controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr +disk fd0 at fdc0 drive 0 ^^^^^^^^^ +disk fd1 at fdc0 drive 1 +#tape ft0 at fdc0 drive 2 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + </verb> + + <p>Next, you create a device called <tt>/dev/ft0</tt> by going into + <tt>/dev</tt> and run the following command: + + <verb> + sh ./MAKEDEV ft0 + </verb> + + <p>for the first device. <tt/ft1/ for a second one and so on. + + <p>You will have a device called <tt>/dev/ft0</tt>, which you can + write to through a special program to manage it called + ``<tt/ft/'' - see the man page on <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?ft" name="ft"> + for further details. + + <p>Versions previous to <tt/-current/ also had some trouble dealing + with bad tape media; if you have trouble where <tt/ft/ seems to + go back and forth over the same spot, try grabbing the latest + version of <tt/ft/ from <tt>/usr/src/sbin/ft</tt> in + <tt/-current/ and try that. + + </sect> + diff --git a/FAQ/misc.sgml b/FAQ/misc.sgml new file mode 100644 index 0000000000..05caef35db --- /dev/null +++ b/FAQ/misc.sgml @@ -0,0 +1,214 @@ +<!-- $Id: misc.sgml,v 1.1 1997-11-03 08:53:49 max Exp $ --> +<!-- The FreeBSD Documentation Project --> + + <sect> + <heading>Miscellaneous Questions<label id="misc"></heading> + + <sect1> + <heading> + FreeBSD uses far more swap space than Linux. Why? + </heading> + + <p>It doesn't. You might mean ``why does my swap seem full?''. If + that is what you really meant, it's because putting stuff in swap + rather than discarding it makes it faster to recover than if the + pager had to go through the file system to pull in clean + (unmodified) blocks from an executable. + + <p>The actual amount of dirty pages that you can have in core at + once is not reduced; the clean pages are displaced as necessary. + + <sect1> + <heading> + Why use (what are) a.out and ELF executable formats? + </heading> + + <p>To understand why FreeBSD uses the <tt>a.out</tt> format, you must + first know a little about the 3 currently "dominant" executable + formats for UNIX: + + <itemize> + <item><htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)" + name="a.out"> + + <p>The oldest and `classic' unix object format. It uses a + short and compact header with a magic number at the beginning + that's often used to characterize the format (see + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)" + name="a.out(5)"> for more details). It contains three loaded + segments: .text, .data, and .bss plus a symbol table and a + string table. + + <item><bf>COFF</bf> + <p>The SVR3 object format. The header now comprises a section + table, so you can have more than just .text, .data, and .bss + sections.</item> + + <item><bf>ELF</bf> + <p>The successor to <tt/COFF/, featuring Multiple sections + and 32-bit or 64-bit possible values. One major drawback: + <tt/ELF/ was also designed with the assumption that there + would be only one ABI per system architecture. That + assumption is actually quite incorrect, and not even in the + commercial SYSV world (which has at least three ABIs: SVR4, + Solaris, SCO) does it hold true. + + <p>FreeBSD tries to work around this problem somewhat by + providing a utility for <em>branding</em> a known <tt/ELF/ + executable with information about the ABI it's compliant with. + See the man page for + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?brandelf" + name="brandelf"> for more information. + </itemize> + + <p>FreeBSD comes from the "classic" camp and uses the + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?a.out(5)" + name="a.out"> format, a technology tried and proven through + many generations of BSD releases. Though it has also been possible + for some time to build and run native <tt/ELF/ binaries (and + kernels) on a FreeBSD system, no official "push" to switch to + ELF as the default format has, as yet, been made. Why? Well, + when the Linux camp made their painful transition to <tt/ELF/, it + was not so much to flee the <tt/a.out/ executable format + as it was their inflexible jump-table based shared library + mechanism, which made the construction of shared libraries + very difficult for vendors and developers alike. Since the <tt/ELF/ + tools available offered a solution to the shared library + problem and were generally seen as "the way forward" anyway, the + migration cost was accepted as necessary and the transition + made. + + <p>In FreeBSD's case, it's not quite so simple since our shared + library mechanism is based more closely on Sun's + <tt>SunOS</tt>-style shared library mechanism and, as such, is very + easy to use. The only thing we actually lack with <tt/a.out/ + which <tt/ELF/ would give us is cleaner support for C++ constructors + and destructors, among other similarly esoteric things, and it + simply hasn't become much of a problem yet (and there is quite + a bit of C++ code in FreeBSD's source tree). Should that change, + a migration may, at some point, be more seriously contemplated. + + <sect1> + <heading>Why won't chmod change the permissions on symlinks?</heading> + + <p>You have to use either ``<tt/-H/'' or ``<tt/-L/'' together with + the ``<tt/-R/'' option to make this work. See the <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?chmod" name="chmod"> and + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?symlink" name="symlink"> + man pages for more info. + + <p><bf/WARNING/ the ``<tt/-R/'' option does a <bf/RECURSIVE/ + <tt/chmod/. Be careful about specifying directories or symlinks + to directories to <tt/chmod/. If you want to change the + permissions of a directory referenced by a symlink, use + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?chmod" name="chmod"> + without any options and follow the symlink with a trailing slash + (``<tt>/</tt>''). For example, if ``<tt/foo/'' is a symlink to + directory ``<tt/bar/'', and you want to change the permissions of + ``<tt/foo/'' (actually ``<tt/bar/''), you would do something like: + + <verb> + chmod 555 foo/ + </verb> + + <p>With the trailing slash, <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?chmod" name="chmod"> will + follow the symlink, ``<tt/foo/'', to change the permissions of the + directory, ``<tt/bar/''. + + <sect1> + <heading> + Why are login names <bf/still/ resticted to 8 characters + </heading> + + <p>You'd think it'd be easy enough to change <bf/UT_NAMESIZE/ and rebuild + the whole world, and everything would just work. Unfortunately there's + scads of applications and utilities (including system tools) that have + hard-coded small numbers (not always "8" or "9", but oddball ones + like "15" and "20") in structures and buffers... and it would break + Sun's NIS clients and no doubt cause other problems in interacting + with other UNIX systems. + + <sect1> + <heading>Can I run DOS binaries under FreeBSD?</heading> + + <p>Not yet, though BSDI has just donated their <tt/rundos/ DOS emulation + subsystem which we're now working on integrating and enhancing. Send + mail to <url url="mailto:emulation@freebsd.org" + name="The FreeBSD emulation discussion list"> if you're interested in + joining this effort! + + <p>For now, there is a neat utility called + <htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^pcemu" name="pcemu"> + in the ports collection which emulates an 8088 and enough BIOS services + to run DOS text mode applications. It requires the X Window + System (provided as XFree86). + + <sect1> + <heading> + What is ``<tt/sup/'', and how do I use it? + </heading> + + <p><htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^sup" name="SUP"> + stands for Software Update Protocol, and was developed by CMU + for keeping their development trees in sync. We used it to keep + remote sites in sync with our central development sources. + + <p>SUP is not bandwidth friendly, and has been retired. The current + recommended method to keep your sources up to date is + <url url="../handbook/cvsup.html" name="Handbook entry on CVSup"> + + <sect1> + <heading>How cool is FreeBSD?</heading> + + <p>Q. Has anyone done any temperature testing while running FreeBSD? + I know Linux runs cooler than dos, but have never seen a mention of + FreeBSD. It seems to run really hot. + + <p>A. No, but we have done numerous taste tests on blindfolded + volunteers who have also had 250 micrograms of LSD-25 + administered beforehand. 35% of the volunteers said that FreeBSD + tasted sort of orange, whereas Linux tasted like purple haze. + Neither group mentioned any particular variances in temperature + that I can remember. We eventually had to throw the results of + this survey out entirely anyway when we found that too many + volunteers were wandering out of the room during the tests, thus + skewing the results. I think most of the volunteers are at Apple + now, working on their new ``scratch and sniff'' GUI. It's a + funny old business we're in! + + <p>Seriously, both FreeBSD and Linux uses the ``<tt/HLT/'' (halt) + instruction when the system is idle thus lowering its energy + consumption and therefore the heat it generates. Also if you + have APM (automatic power management) configured, then FreeBSD + can also put the CPU into a low power mode. + + <sect1> + <heading>Who's scratching in my memory banks??</heading> + + <p>Q. Is there anything "odd" that FreeBSD does when compiling the + kernel which would cause the memory to make a scratchy sound? When + compiling (and for a brief moment after recognizing the floppy drive + upon startup, as well), a strange scratchy sound emanates from what + appears to be the memory banks. + + <p>A. Yes! You'll see frequent references to ``daemons'' in the BSD + documentation, and what most people don't know is that this + refers to genuine, non-corporeal entities that now possess your + computer. The scratchy sound coming from your memory is actually + high-pitched whispering exchanged among the daemons as they best + decide how to deal with various system administration tasks. + + <p>If the noise gets to you, a good ``<tt>fdisk /mbr</tt>'' from DOS + will get rid of them, but don't be surprised if they react + adversely and try to stop you. In fact, if at any point during + the exercise you hear the satanic voice of Bill Gates coming from + the built-in speaker, take off running and don't ever look back! + Freed from the counterbalancing influence of the BSD daemons, the + twin demons of DOS and Windows are often able to re-assert total + control over your machine to the eternal damnation of your soul. + Given a choice, I think I'd prefer to get used to the scratchy + noises, myself! + + </sect> + diff --git a/FAQ/network.sgml b/FAQ/network.sgml new file mode 100644 index 0000000000..2847f7a313 --- /dev/null +++ b/FAQ/network.sgml @@ -0,0 +1,723 @@ +<!-- $Id: network.sgml,v 1.1 1997-11-03 08:53:51 max Exp $ --> +<!-- The FreeBSD Documentation Project --> + + <sect> + <heading>Networking<label id="networking"></heading> + + <sect1> + <heading>Where can I get information on ``diskless booting''?</heading> + + <p>``Diskless booting'' means that the FreeBSD box is booted over a + network, and reads the necessary files from a server instead of + its hard disk. For full details, please read + <url url="../handbook/diskless.html" + name="the Handbook entry on diskless booting"> + + <sect1> + <heading> + Can a FreeBSD box be used as a dedicated network router? + </heading> + + <p>Internet standards and good engineering practice prohibit us from + providing packet forwarding by default in FreeBSD. You can + however enable this feature by changing the following variable to + <tt/YES/ in <htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc.conf" + name="rc.conf">: + + <verb> + gateway_enable=YES # Set to YES if this host will be a gateway + </verb> + + <p>This option will put the <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?sysctl" name="sysctl"> variable + <tt/net.inet.ip.forwarding/ to <tt/1/. + + <p>In most cases, you will also need to run a routing process to + tell other systems on your network about your router; FreeBSD + comes with the standard BSD routing daemon + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?routed" + name="routed">, or for more complex situations you may want to try + <em/GaTeD/ (available by FTP from <tt/ftp.gated.Merit.EDU/) which + supports FreeBSD as of 3_5Alpha7. + + <p>It is our duty to warn you that, even when FreeBSD is configured + in this way, it does not completely comply with the Internet + standard requirements for routers; however, it comes close enough + for ordinary usage. + + <sect1> + <heading>Can I connect my Win95 box to the Internet via FreeBSD?</heading> + + <p>Typically, people who ask this question have two PC's at home, one + with FreeBSD and one with Win95; the idea is to use the FreeBSD + box to connect to the Internet and then be able to access the + Internet from the Windows95 box through the FreeBSD box. This + is really just a special case of the previous question. + + <p>There's a useful document available which explains how to set + FreeBSD up as a <url url="http://www.ssimicro.com/~jeremyc/ppp.html" + name="PPP Dialup Router"> + + <p><bf/NOTE:/ This requires having at least two fixed IP addresses + available, and possibly three or more, depending on how much + work you want to go through to set up the Windows box. As an + alternative, if you don't have a fixed IP, you can use one of + the private IP subnets and install <bf/proxies/ such as + <url url="http://squid.nlanr.net/Squid/" name="SQUID"> and + <url url="http://www.tis.com/" name="the TIS firewall toolkit"> + on your FreeBSD box. + + <p>See also the section on <ref id="direct-at" name="natd">. + + <sect1> + <heading> + Why does recompiling the latest BIND from ISC fail? + </heading> + + <p>There is a conflict between the ``<tt/cdefs.h/'' file in the + distribution and the one shipped with FreeBSD. Just remove + <tt>compat/include/sys/cdefs.h</tt>. + + <sect1> + <heading>Does FreeBSD support SLIP and PPP?</heading> + + <p>Yes. See the man pages for + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?slattach" + name="slattach">, <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?sliplogin" name="sliplogin">, + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?pppd" name="pppd"> and + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" name="ppp">. + <tt/pppd/ and <tt/ppp/ provide support for both incoming and outgoing + connections. <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sliplogin" + name="Sliplogin"> deals exclusively with incoming connections and + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?slattach" + name="slattach"> deals exclusively with outgoing connections. + + <p>These programs are described in the following sections of the + <url url="../handbook/handbook.html" name="handbook">: + + <itemize> + <item><url url="../handbook/slips.html" + name="Handbook entry on SLIP (server side)"> + + <item><url url="../handbook/slipc.html" + name="Handbook entry on SLIP (client side)"> + + <item><url url="../handbook/ppp.html" + name="Handbook entry on PPP (kernel version)"> + + <item><url url="../handbook/userppp.html" + name="Handbook entry on PPP (user-mode version)"> + </itemize> + + <p>If you only have access to the Internet through a "shell + account", you may want to have a look at the <htmlurl + url="http://www.freebsd.org/cgi/ports.cgi?^slirp" name="slirp"> + package. It can provide you with (limited) access to services + such as ftp and http direct from your local machine. + + <sect1> + <heading> + Does FreeBSD support NAT or Masquerading<label id="natd"> + </heading> + + <p>If you have a local subnet (one or more local machines), but have + been allocated only a single IP number from your Internet provider + (or even if you receive a dynamic IP number), you may want to look at + the <htmlurl url="http://www.freebsd.org/cgi/man.cgi?natd" name="natd"> + program. <tt/Natd/ allows you to connect an entire subnet to the + internet using only a single IP number. + + <p>The <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" + name="ppp"> program has similar functionality built in via + the <tt/-alias/ switch. The <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?libalias" name="alias library"> + is used in both cases. + + <sect1> + <heading> + I can't make ppp work. What am I doing wrong ?<label id="userppp"> + </heading> + + <p>You should first read the <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?ppp" name="ppp man page"> and + the <url url="../handbook/userppp.html" + name="ppp section of the handbook">. Enable logging with the command + + <verb> + set log Phase Chat Connect Carrier lcp ipcp ccp command + </verb> + + <p>This command may be typed at the <tt/ppp/ command prompt or + it may be entered in the <tt>/etc/ppp/ppp.conf</tt> configuration file + (the start of the <bf>default</bf> section is the best place to put it). + Make sure that <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?syslog.conf" + name="/etc/syslog.conf"> contains the lines + + <verb> + !ppp + *.* /var/log/ppp.log + </verb> + + <p>and that the file <tt>/var/log/ppp.log</tt> exists. You can + now find out a lot about what's going on from the log file. + Don't worry if it doesn't all make sense. If you need to + get help from someone, it may make sense to them. + + <p>If your version of ppp doesn't understand the "set log" + command, you should download the + <url url="http://www.freebsd.org/~brian" name="latest version">. + It will build on FreeBSD version 2.1.5 and higher. + + <sect2> + <heading>Ppp won't dial in -auto mode</heading> + + <p>First, check that you've got a default route. By running <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?netstat"> + name="netstat -rn">, you should see two entries like this: + + <verb> +Destination Gateway Flags Refs Use Netif Expire +default 10.0.0.2 UGSc 0 0 tun0 +10.0.0.2 10.0.0.1 UH 0 0 tun0 + </verb> + + <p>This is assuming that you've used the addresses from the + handbook, the man page or from the ppp.conf.sample file. + If you haven't got a default route, it may be because you're + running an old version of <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?ppp" + name="ppp"> that doesn't understand the + word <tt/HISADDR/ in the ppp.conf file. If your version of + <tt/ppp/ is from before FreeBSD 2.2.5, change the + + <verb> + add 0 0 HISADDR + </verb> + + <p>line to one saying + + <verb> + add 0 0 10.0.0.2 + </verb> + + <p>Another reason for the default route line being missing is that + you have mistakenly set up a default router in your + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc.conf" + name="/etc/rc.conf"> file (this file was called + <tt>/etc/sysconfig</tt> prior to release 2.2.2), and you have + omitted the line saying + + <verb> + delete ALL + </verb> + + <p>from <tt>ppp.conf</tt>. If this is the case, go back to the + <url url="../handbook/userppp:final.html" + name="Final system configuration"> section of the handbook. + + <sect2> + <heading>What does "No route to host" mean</heading> + + <p>This error is usually due to a missing + + <verb> + MYADDR: + delete ALL + add 0 0 HISADDR + </verb> + + <p>section in your <tt>/etc/ppp/ppp.linkup</tt> file. This is + only necessary if you have a dynamic IP address or don't know the + address of your gateway. If you're using interactive mode, you can + type the following after entering <tt/packet mode/ (packet mode is + indicated by the capitalized <bf/PPP/ in the prompt): + + <verb> + delete ALL + add 0 0 HISADDR + </verb> + + <p>Refer to the <url url="../handbook/userppp:dynamicIP.html" + name="PPP and Dynamic IP addresses"> section of the handbook + for further details. + + <sect2> + <heading>My connection drops after about 3 minutes</heading> + + <p>The default ppp timeout is 3 minutes. This can be adjusted + with the line + + <verb> + set timeout NNN + </verb> + + <p>where <bf/NNN/ is the number of seconds of inactivity before the + connection is closed. If <bf/NNN/ is zero, the connection is + never closed due to a timeout. It is possible to put this command in + the <tt>ppp.conf</tt> file, or to type it at the prompt in + interactive mode. It is also possible to adjust it on the fly while + the line is active by connecting to <tt/ppp/s server socket using + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?telnet" name="telnet"> + or <htmlurl url="http://www.freebsd.org/cgi/man.cgi?pppctl" + name="pppctl">. Refer to the + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" name="ppp"> man + page for further details. + + <sect2> + <heading>My connection drops under heavy load</heading> + + <p>If you have Link Quality Reporting (LQR) configured, it is + possible that too many LQR packets are lost between your + machine and the peer. Ppp deduces that the line must therefore + be bad, and disconnects. Prior to FreeBSD version 2.2.5, + LQR was enabled by default. It is now disabled by default. + LQR can be disabled with the line + + <verb> + disable lqr + </verb> + + <sect2> + <heading>My connection drops after a random amount of time</heading> + + <p>Sometimes, on a noisy phone line or even on a line with + call waiting enabled, your modem may hang up because it + thinks (incorrectly) that it lost carrier. + + <p>There's a setting on most modems for determining how tolerant + it should be to temporary losses of carrier. On a USR + Sportster for example, this is measured by the S10 register in + tenths of a second. To make your modem more forgiving, you could + add the following send-expect sequence to your dial string: + + <verb> + set dial "...... ATS10=10 OK ......" + </verb> + + <p>Refer to your modem manual for details. + + <sect2> + <heading>Nothing happens after the Login OK! message</heading> + + <p>Prior to FreeBSD version 2.2.5, once the link was established, + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" + name="ppp"> would wait for the peer to initiate the Line Control + Protocol (LCP). Many ISPs will not initiate negotiations and + expect the client to do so. To force <tt/ppp/ to initiate + the LCP, use the following line: + + <verb> + set openmode active + </verb> + + <p><bf/Note/: It usually does no harm if both sides initiate + negotiation, so openmode is now active by default. However, + the next section explains when it <bf/does/ do some harm. + + <sect2> + <heading>I keep seeing errors about magic being the same</heading> + + <p>Occasionally, just after connecting, you may see messages in + the log that say "magic is the same". Sometimes, these + messages are harmless, and sometimes one side or the other + exits. + + <p>This normally happens on server machines with slow disks that + are spawning a getty on the port, and executing ppp from a + login script or program after login. The reason is that in + the time taken between getty exiting and ppp starting, the + client-side ppp starts sending Line Control Protocol (LCP) + packets. Because ECHO is still switched on for the port on + the server, the client ppp sees these packets "reflect" back. + + <p>One part of the LCP negotiation is to establish a magic number + for each side of the link so that "reflections" can be detected. + The protocol says that when the peer tries to negotiate + the same magic number, a NAK should be sent and a new magic + number should be chosen. During the period that the server + port has ECHO turned on, the client ppp sends LCP packets, + sees the same magic in the reflected packet and NAKs it. It + also sees the NAK reflect (which also means ppp must change + its magic). This produces a potentially enormous number of + magic number changes, all of which are happily piling into + the server's tty buffer. As soon as ppp starts on the server, + it's flooded with magic number changes and almost immediately + decides it's tried enough to negotiate LCP and gives up. + Meanwhile, the client, who no longer sees the reflections, + becomes happy just in time to see a hangup from the server. + + <p>The only way to circumvent this is to put the following line + in your ppp.conf file: + + <verb> + set openmode passive + </verb> + + <p>This tells ppp to wait for the server to initiate LCP negotiations. + Some servers may never initiate negotiations. If this is the case, + please report it as a bug (using send-pr). Ppp will need to be + adjusted so that the user can configure a variable delay before + initiating LCP negotiations. + + <sect2> + <heading>Ppp locks up shortly after connecting</heading> + + <p>Prior to version 2.2.5 of FreeBSD, it was possible that your + link was disabled shortly after connection due to <tt/ppp/ + mis-handling Predictor1 compression negotiation. This would + only happen if both sides tried to negotiate different + Compression Control Protocols (CCP). This problem is now + corrected, but if you're still running an old version of + <tt/ppp/, the problem can be circumvented with the line + + <verb> + disable pred1 + </verb> + + <sect2> + <heading>Ppp locks up when I shell out to test it</heading> + + <p>When you execute the <tt/shell/ or <tt/!/ command, <tt/ppp/ + executes a shell (or if you've passed any arguements, <tt/ppp/ + will execute those arguements). Ppp will wait for the command + to complete before continuing. If you attempt to use the + ppp link while running the command, the link will appear to have + frozen. This is because <tt/ppp/ is waiting for the command + to complete. + + <p>If you wish to execute commands like this, use the + <tt/!bg/ command instead. This will execute the given command + in the background, and ppp can continue to service the link. + + <sect2> + <heading>Ppp over a null-modem cable never exits</heading> + + <p>There is no way for <tt/ppp/ to automatically determine that + a direct connection has been dropped. This is due to the + lines that are used in a null-modem serial cable. When using + this sort of connection, LQR should always be enabled with + the line + + <verb> + enable lqr + </verb> + + <p>LQR is accepted by default if negotiated by the peer. + + <sect2> + <heading>Why does ppp dial for no reason in -auto mode</heading> + + <p>If <tt/ppp/ is dialing unexpectedly, you must determine the + cause, and set up Dial filters (dfilters) to prevent such dialing. + + <p>To determine the cause, use the following line: + + <verb> + set log +tcp/ip + </verb> + + <p>This will log all traffic through the connection. The next + time the line comes up unexpectedly, you will see the reason + logged with a convenient timestamp next to it. + + <p>You can now disable dialing under these circumstances. Usually, + this sort of problem arises due to DNS lookups. To prevent + DNS lookups from establishing a connection (this will <bf/not/ + prevent <tt/ppp/ from passing the packets through an established + connection), use the following: + + <verb> + set dfilter 1 deny udp src eq 53 + set dfilter 2 deny udp dst eq 53 + set dfilter 3 permit 0/0 0/0 + </verb> + + <p>This is not always suitable, as it will effectively break your + demand-dial capabilities - most programs will need a DNS lookup + before doing any other network related things. + + <p>In the DNS case, you should try to determine what is actually + trying to resolve a host name. A lot of the time, + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sendmail" + name="sendmail"> is the culprit. You should make sure that you tell + sendmail not to do any DNS lookups in its configuration file. See + the section on <ref id="ispmail" name="Mail Configuration"> for + further details. + + <sect2> + <heading>What do these CCP errors mean</heading> + + <p>I keep seeing the following errors in my log file: + + <verb> + CCP: CcpSendConfigReq + CCP: Received Terminate Ack (1) state = Req-Sent (6) + </verb> + + <p>This is because ppp is trying to negotiate Predictor1 + compression, and the peer does not want to negotiate any + compression at all. The messages are harmless, but if you + wish to remove them, you can disable Predictor1 compression + locally too: + + <verb> + disable pred1 + </verb> + + <sect2> + <heading>Ppp locks up during file transfers with IO errors</heading> + + <p>Under FreeBSD 2.2.2 and before, there was a bug in the tun + driver that prevents incoming packets of a size larger than + the tun interface's MTU size. Receipt of a packet greater than + the MTU size results in an IO error being logged via syslogd. + + <p>The ppp specification says that an MRU of 1500 should + <bf>always</bf> be accepted as a minimum, despite any LCP + negotiations, therefore it is possible that should you decrease + the MTU to less than 1500, your ISP will transmit packets of + 1500 regardless, and you will tickle this non-feature - locking + up your link. + + <p>The problem can be circumvented by never setting an MTU of + less than 1500 under FreeBSD 2.2.2 or before. + + <sect2> + <heading>Why doesn't ppp log my connection speed?</heading> + + <p>In order to log all lines of your modem ``conversation'', + you must enable the following: + + <verb> + set log +connect + </verb> + + <p>This will make + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ppp" name="ppp"> + log everything up until the last requested "expect" string. + + <p>If you wish to see your connect speed and are using PAP or CHAP + (and therefore don't have anything to "chat" after the CONNECT + in the dial script - no "set login" script), you must make sure that + you instruct ppp to "expect" the whole CONNECT line, something like + this: + + <verb> + set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n" + </verb> + + <p>Here, we get our CONNECT, send nothing, then expect a line-feed, + forcing <bf/ppp/ to read the whole CONNECT response. + + <sect2> + <heading>None of this helps - I'm desperate !</heading> + + <p>If all else fails, send as much information as you can, + including your config files, how you're starting <tt/ppp/, + the relevent parts of your log file and the output of the + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?netstat" + name="netstat -rn"> command (before and after connecting) to the + <url url="mailto:freebsd-questions@FreeBSD.org" + name="freebsd-questions@FreeBSD.org"> mailing list or the + <url url="news:comp.unix.bsd.freebsd.misc" + name="comp.unix.bsd.freebsd.misc"> news group, and someone + should point you in the right direction. + + <sect1> + <heading>I can't create a <tt>/dev/ed0</tt> device!</heading> + + <p>In the Berkeley networking framework, network interfaces are only + directly accessible by kernel code. Please see the + <tt>/etc/rc.network</tt> file and the manual pages for the various + network programs mentioned there for more information. If this + leaves you totally confused, then you should pick up a book + describing network administration on another BSD-related + operating system; with few significant exceptions, administering + networking on FreeBSD is basically the same as on SunOS 4.0 or + Ultrix. + + <sect1> + <heading>How can I setup Ethernet aliases?</heading> + + <p>Add ``<tt/netmask 0xffffffff/'' to your <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?ifconfig" name="ifconfig"> + command-line like the following: + + <verb> + ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff + </verb> + + <sect1> + <heading>How do I get my 3C503 to use the other network port?</heading> + + <p>If you want to use the other ports, you'll have to specify an + additional parameter on the + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ifconfig" + name="ifconfig"> command line. The + default port is ``<tt/link0/''. To use the AUI port instead of + the BNC one, use ``<tt/link2/''. These flags should be specified + using the ifconfig_* variables in <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?rc.conf" name="/etc/rc.conf">. + + <sect1> + <heading>I'm having problems with NFS to/from FreeBSD.</heading> + + <p>Certain PC network cards are better than others (to put it + mildly) and can sometimes cause problems with network intensive + applications like NFS. + + <p>See <url url="../handbook/nfs.html" name="the Handbook entry on NFS"> + for more information on this topic. + + <sect1> + <heading>Why can't I NFS-mount from a Linux box?</heading> + + <p>Some versions of the Linux NFS code only accept mount requests + from a privileged port; try + + <verb> + mount -o -P linuxbox:/blah /mnt + </verb> + + <sect1> + <heading>Why can't I NFS-mount from a Sun box?</heading> + + <p>Sun workstations running SunOS 4.X only accept mount requests + from a privileged port; try + + <verb> + mount -o -P sunbox:/blah /mnt + </verb> + + <sect1> + <heading>I'm having problems talking PPP to NeXTStep machines.</heading> + + <p>Try disabling the TCP extensions in <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?rc.conf" name="/etc/rc.conf"> by + changing the following variable to NO: + + <verb> + tcp_extensions=NO + </verb> + + <p>Xylogic's Annex boxes are also broken in this regard and you must + use the above change to connect thru them. + + <sect1> + <heading>How do I enable IP multicast support?</heading> + + <p>Multicast host operations are fully supported in FreeBSD 2.0 and + above by default. If you want your box to run as a multicast router, you + will need to load the <tt/ip_mroute_mod/ loadable kernel module + and run <tt/mrouted/. + + <p>For more information: + + <verb> +Product Description Where +--------------- ----------------------- --------------------------------------- +faq.txt Mbone FAQ ftp.isi.edu:/mbone/faq.txt +imm/immserv IMage Multicast ftp.hawaii.edu:/paccom/imm.src.tar.Z + for jpg/gif images. +nv Network Video. ftp.parc.xerox.com: + /pub/net-reseach/exp/nv3.3alpha.tar.Z +vat LBL Visual Audio Tool. ftp.ee.lbl.gov: + /conferencing/vat/i386-vat.tar.Z +wb LBL White Board. ftp.ee.lbl.gov: + /conferencing/wb/i386-wb.tar.Z +mmcc MultiMedia Conference ftp.isi.edu: + Control program /confctrl/mmcc/mmcc-intel.tar.Z +rtpqual Tools for testing the ftp.psc.edu:/pub/net_tools/rtpqual.c + quality of RTP packets. +vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z + and nv. + </verb> + + <sect1> + <heading>Which network cards are based on the DEC PCI chipset?</heading> + + <p>Here is a list compiled by <url url="mailto:gfoster@driver.nsta.org" + name="Glen Foster">: + + <verb> + Vendor Model + ---------------------------------------------- + ASUS PCI-L101-TB + Accton ENI1203 + Cogent EM960PCI + Compex ENET32-PCI + D-Link DE-530 + DEC DE435 + Danpex EN-9400P3 + JCIS Condor JC1260 + Linksys EtherPCI + Mylex LNP101 + SMC EtherPower 10/100 (Model 9332) + SMC EtherPower (Model 8432) + TopWare TE-3500P + Zynx ZX342 + </verb> + + <sect1> + <heading>Why do I have to use the FQDN for hosts on my site?</heading> + + <p>You will probably find that the host is actually in a different + domain; for example, if you are in foo.bar.edu and you wish to reach + a host called ``mumble'' in the bar.edu domain, you will have to + refer to it by the fully-qualified domain name, ``mumble.bar.edu'', + instead of just ``mumble''. + + <p>Traditionally, this was allowed by BSD BIND resolvers. However + the current version of <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?named" name="bind"> that ships + with FreeBSD no longer provides default abbreviations for non-fully + qualified domain names other than the domain you are in. + So an unqualified host <tt>mumble</tt> must either be found + as <tt>mumble.foo.bar.edu</tt>, or it will be searched for + in the root domain. + + <p>This is different from the previous behavior, where the + search continued across <tt>mumble.bar.edu</tt>, and + <tt>mumble.edu</tt>. Have a look at RFC 1535 for why this + was considered bad practice, or even a security hole. + + <p>As a good workaround, you can place the line + + <verb> + search foo.bar.edu bar.edu + </verb> + + <p>instead of the previous + + <verb> + domain foo.bar.edu + </verb> + + <p>into your <htmlurl url="http://www.freebsd.org/cgi/man.cgi?resolv.conf" + name="/etc/resolv.conf"> file. However, make sure that the search order + does not go beyond the ``boundary between local and public + administration'', as RFC 1535 calls it. + + <sect1> + <heading>``Permission denied'' for all networking operations.</heading> + + <p>If you have compiled your kernel with the <tt/IPFIREWALL/ + option, you need to be aware that the default policy as of + 2.1.7R (this actually changed during 2.1-STABLE development) + is to deny all packets that are not explicitly allowed. + + <p>If you had unintentionally misconfigured your system for + firewalling, you can restore network operability by typing + the following while logged in as root: + + <verb> + ipfw add 65534 allow all from any to any + </verb> + + <p>For further information on configuring a FreeBSD firewall, + see the <url url="../handbook/firewalls.html" name="Handbook section">. + + </sect> + diff --git a/FAQ/preface.sgml b/FAQ/preface.sgml new file mode 100644 index 0000000000..6c9592130d --- /dev/null +++ b/FAQ/preface.sgml @@ -0,0 +1,497 @@ +<!-- $Id: preface.sgml,v 1.1 1997-11-03 08:53:54 max Exp $ --> +<!-- The FreeBSD Documentation Project --> + + <sect> + <heading>Preface<label id="preface"></heading> + + <p>Welcome to the FreeBSD 2.X FAQ! + + <sect1> + <heading>What is the purpose of this FAQ?</heading> + + <p>As is usual with Usenet FAQs, this document aims to cover the most + frequently asked questions concerning the FreeBSD operating system + (and of course answer them!). Although originally intended to reduce + bandwidth and avoid the same old questions being asked over and over + again, FAQs have become recognized as valuable information resources. + + <p>Every effort has been made to make this FAQ as informative as + possible; if you have any suggestions as to how it may be improved, + please feel free to mail them to the <url url="mailto:pds@FreeBSD.ORG" + name="FAQ maintainer">. + + <sect1> + <heading>What is FreeBSD?</heading> + + <p>Briefly, FreeBSD 2.X is a UN*X-like operating system based on + U.C. Berkeley's 4.4BSD-lite release for the i386 platform. It is + also based indirectly on William Jolitz's port of U.C. Berkeley's + Net/2 to the i386, known as 386BSD, though very little of the 386BSD + code remains. A fuller description of what FreeBSD is and how + it can work for you may be found on the <url url="http://www.freebsd.org" + name="FreeBSD home page">. + + <p>FreeBSD is used by companies, Internet Service Providers, researchers, + computer professionals, students and home users all over the world + in their work, education and recreation. See some of them in the + <url url="http://www.freebsd.org/gallery.html" name="FreeBSD Gallery."> + + <p>For more detailed information on FreeBSD, please see the + <url url="../handbook/handbook.html" name="FreeBSD Handbook."> + + <sect1> + <heading>What are the goals of FreeBSD?</heading> + + <p>The goals of the FreeBSD Project are to provide software that may + be used for any purpose and without strings attached. Many of us + have a significant investment in the code (and project) and would + certainly not mind a little financial renumeration now and then, + but we're definitely not prepared to insist on it. We believe + that our first and foremost "mission" is to provide code to any + and all comers, and for whatever purpose, so that the code gets + the widest possible use and provides the widest possible benefit. + This is, we believe, one of the most fundamental goals of Free + Software and one that we enthusiastically support. + + <p>That code in our source tree which falls under the GNU Public License + (GPL) or GNU Library Public License (GLPL) comes with slightly more + strings attached, though at least on the side of enforced + access rather than the usual opposite. Due to the additional + complexities that can evolve in the commercial use of GPL software, + we do, however, endeavor to replace such software with submissions + under the more relaxed BSD copyright whenever possible. + + <sect1> + <heading>Why is it called FreeBSD?</heading> + + <p> + <itemize> + <item>It may be used free of charge, even by commercial users. + + <item>Full source for the operating system is freely available, and + the minimum possible restrictions have been placed upon its + use, distribution and incorporation into other work (commercial + or non-commercial). + + <item>Anyone who has an improvement and/or bug fix is free to submit + their code and have it added to the source tree (subject to + one or two obvious provisos). + </itemize> + + <p>For those of our readers whose first language is not English, it + may be worth pointing out that the word ``free'' is being used in two + ways here, one meaning ``at no cost'', the other meaning ``you can do + whatever you like''. Apart from one or two things you <tt /cannot/ + do with the FreeBSD code, for example pretending you wrote it, you + really can do whatever you like with it. + + <sect1> + <heading>What is the latest version of FreeBSD?</heading> + + <p>Version <url url="ftp://ftp.freebsd.org/pub/FreeBSD/2.2.5-RELEASE" + name="2.2.5"> is the latest <em>stable</em> version; it was released + in October, 1997. This is also the latest <em>release</em> version. + + <p>Briefly explained, <bf>-stable</bf> is aimed at the ISP or other + corporate user who wants stability and a low change count over + the wizzy new features of the latest release. At the moment, these + versions are one and the same, but it shouldn't be long before the + <bf>-current</bf> branch is polished enough for general release. + + <p>This is not to say that a 3.0-current snapshot is unusable for + business services, and many people who need some 3.0 specific feature + (newer compiler technology, faster networking code, etc) have decided + to take a chance with it with very good results. We simply do not + wish to "certify" 3.0 as mission-worthy until it's been better + shaken-out. + + <sect1> + <heading>What is FreeBSD-current?<label id="current"></heading> + + <p><url url="../handbook/current.html" name="FreeBSD-current"> is the + development version of the operating system, which will in due + course become 3.0-RELEASE. As such, it is really only of interest + to developers working on the system and die-hard hobbyists. + See the <url url="../handbook/current.html" name="relevant section"> + in the <url url="../handbook/handbook.html" name="handbook"> for + details on running -current. + + <p>If you are not familiar with the operating system or are not + capable of identifying the difference between a real problem and + a temporary problem, you should not use FreeBSD-current. This + branch sometimes evolves quite quickly and can be un-buildable + for a number of days at a time. People that use FreeBSD-current + are expected to be able to analyze any problems and only report them + if they are deemed to be mistakes rather than ``glitches''. Questions + such as ``make world produces some error about groups'' on the + -current mailing list are sometimes treated with contempt. + + <p>Every now and again, a <url url="../releases/snapshots.html" + name="snapshot"> release is also made of this -current development + code, CDROM distributions of the occasional snapshot even now being + made available. The goals behind each snapshot release are: + + <itemize> + <item>To test the latest version of the installation software. + + <item>To give people who would like to run -current but who don't + have the time and/or bandwidth to follow it on a day-to-day + basis an easy way of bootstrapping it onto their systems. + + <item>To preserve a fixed reference point for the code in question, + just in case we break something really badly later. (Although + CVS normally prevents anything horrible like this happening :) + + <item>To ensure that any new features in need of testing have the + greatest possible number of potential testers. + </itemize> + + <p>No claims are made that any snapshot can be considered + ``production quality'' for any purpose. For stability + and tested mettle, you will have to stick to full releases. + + <p>Snapshot releases are directly available from <url + url="ftp://current.freebsd.org/pub/FreeBSD/"> and are generated, + on the average, once a day for both the 3.0-current and 2.2-stable + branches. + + <sect1> + <heading>What is the FreeBSD-stable concept?</heading> + + <p>Back when FreeBSD 2.0.5 was released, we decided to branch FreeBSD + development into two parts. One branch was named <url + url="../handbook/stable.html" name="-stable">, with the + intention that only well-tested bug fixes and small incremental + enhancements would be made to it (for Internet Service Providers + and other commercial enterprises for whom sudden shifts or + experimental features are quite undesirable). The other branch was + <url url="../handbook/current.html" name="-current">, which + essentially has been one unbroken line leading towards 3.0-RELEASE + (and beyond) since 2.0 was released. If a little ASCII art would + help, this is how it looks: + +<verb> + 2.0 + | + | + | [2.1-stable] + *BRANCH* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [2.1-stable ends] + | (Mar 1997) + | + | + | [2.2-stable] + *BRANCH* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5-RELEASE -> ... + | (Mar 1997) (Oct 1997) + | + | + 3.0-SNAPs (started Q1 1997) + | + | + 3.0.0-RELEASE (Q1 1998) + | + \|/ + + + [future 3.x releases] +</verb> + + <p>The -current branch is slowly progressing towards 3.0 and beyond, + whereas the previous 2.1-stable branch was superceded by the + release of 2.2.0, the new "stability branch" aka 2.2-stable. + 3.0-current will continue to be where the active development takes + place, up until the actual release of 3.0. At that point, 3.0 will + become yet another branch and 3.1-current will become the next + "current branch". + + <sect1> + <heading>Why did the 2.1-stable branch end with 2.1.7.1?</heading> + + <p>While we'd certainly like to be able to continue 3 branches of + development, we've found that the version control tools available to + us are not particularly well-suited for this; in fact, they quickly + result in a maintenance nightmare for any branch which lives much + beyond 2-3 months. The 2.1-stable branch has, by contrast, lasted for + well over a year and what little sanity the FreeBSD developers have + left would be in serious jeopardy if we continued in this way. + Perhaps in the future we'll figure out another model which gives + everyone what they want, and we are working on such a model, but in + the meantime it's probably best to think of the old -stable coming + to an end with <url + url="ftp://ftp.freebsd.org/pub/FreeBSD/pub/2.1.7.1-RELEASE" + name="2.1.7.1-RELEASE"> (the final point release after 2.1.7), and + the new -stable beginning with 2.2.2. + + <sect1> + <heading>When are FreeBSD releases made?</heading> + + <p>As a general principle, the FreeBSD core team only release a new + version of FreeBSD when they believe that there are sufficient new + features and/or bug fixes to justify one, and are satisfied that the + changes made have settled down sufficiently to avoid compromising the + stability of the release. Many users regard this caution as one of + the best things about FreeBSD, although it can be a little + frustrating when waiting for all the latest goodies to become + available... + + <p>Releases are made about every 6 months on average. + + <p>For people needing (or wanting) a little more excitement, there are + SNAPs released more frequently, particularly during the month or so + leading up to a release. + + <sect1> + <heading>Is FreeBSD only available for PCs ?</heading> + + <p>At present, yes, though a port to the DEC Alpha architecture + is under way. If your machine has a different architecture and + you need something right now, we suggest you look at + <url url="http://www.netbsd.org/" name="NetBSD"> or + <url url="http://www.openbsd.org/" name="OpenBSD">. + + <sect1> + <heading> Who is responsible for FreeBSD?</heading> + + <p>The key decisions concerning the FreeBSD project, such as the + overall direction of the project and who is allowed to add code to + the source tree, are made by a <url url="../handbook/staff:core.html" + name="core team"> of some 17 people. There is a much larger team of + around 80+ <url url="../handbook/staff:committers.html" + name="committers"> who are authorized to make changes directly to the + FreeBSD source tree. + + <p>However, most non-trivial changes are discussed in advance in the + <ref id="mailing" name="mailing lists">, and there are no restrictions + on who may take part in the discussion. + + <sect1> + <heading>Where can I get FreeBSD?<label id="where-get"></heading> + + <p>Every significant release of FreeBSD is available via anonymous ftp + from the <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/" + name="FreeBSD FTP site">: + + <itemize> + <item>For the current 2.2-stable release, 2.2.5R see the + <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.2.5-RELEASE/" + name="2.2.5-RELEASE"> directory. + + <item>For the current 3.0-current release, 3.0-SNAP, see the + <url url="ftp://current.freebsd.org/pub/FreeBSD/" name="3.0"> directory. + + <item><url url="ftp://releng22.freebsd.org/pub/FreeBSD/" + name="2.2 Snapshot"> releases are made once a day along the + RELENG_2_2 branch (2.2.5 -> 2.2.x) as it winds its way towards the + next point release on the 2.2 branch. With the occasional + exception of accidental breakage, the RELENG_2_2 branch is + being carefully maintained (no experimental changes, fixes made + only after testing in -current). + + <item><url url="ftp://current.freebsd.org/pub/FreeBSD/" + name="3.0 Snapshot">releases are also made once a day for the + <ref id="current" name="-current"> branch, these being of service + purely to bleeding-edge testers and developers. + </itemize> + + <p>FreeBSD is also available via CDROM, from the following place(s): + + <p>Walnut Creek CDROM<newline> + 4041 Pike Lane, Suite D-386<newline> + Concord, CA 94520 USA<newline> + Orders: +1 800 786-9907<newline> + Questions: +1 510 674-0783<newline> + FAX: +1 510 674-0821<newline> + email: <url url="mailto:orders@cdrom.com" name="WC Orders address"> + <newline> + WWW: <url url="http://www.cdrom.com/" name="WC Home page"> + <newline> + + <p>In Australia, you may find it at: + + <p>Advanced Multimedia Distributors<newline> + Factory 1/1 Ovata Drive<newline> + Tullamarine, Melbourne<newline> + Victoria<newline> + Australia<newline> + Voice: +61 3 9338 6777<newline> + + CDROM Support BBS<newline> + 17 Irvine St<newline> + Peppermint Grove WA 6011<newline> + Voice: +61 9 385-3793<newline> + Fax: +61 9 385-2360<newline> + + And in the UK: + + The Public Domain & Shareware Library<newline> + Winscombe House, Beacon Rd<newline> + Crowborough<newline> + Sussex. TN6 1UL<newline> + Voice: +44 1892 663-298<newline> + Fax: +44 1892 667-473<newline> + + <sect1> + <heading> + Where do I find info on the FreeBSD mailing lists?<label id="mailing"> + </heading> + + <p>You can find full information in the <url + url="../handbook/eresources:mail.html" + name="Handbook entry on mailing-lists."> + + <sect1> + <heading>What FreeBSD news groups are available?</heading> + + <p>You can find full information in the<url + url="../handbook/eresources:news.html" + name="Handbook entry on newsgroups."> + + <sect1> + <heading> + Are there FreeBSD IRC (Internet Relay Chat) channels? + </heading> + + <p>There are two channels about FreeBSD on IRC: + + <enum> + <item>The main channel is #FreeBSD on the EFNET. You can + use your regular IRC server for it. + + <item>You can point your IRC client to <tt/irc.FreeBSD.org/ + This server is on BSDnet and hosts #FreeBSD. This + is not the same channel. + </enum> + + <sect1> + <heading>Books on FreeBSD</heading> + + <p>Greg Lehey's book ``Installing and Running FreeBSD'' is available + from Walnut Creek and ships with the 2.2.5 CDROM. There is also + a larger book entitled ``The Complete FreeBSD'', which comes with + additional printed manpages and includes the 2.2.5 CDROM set. It + should be available in most good book shops now. + + <p>There is a FreeBSD Documentation Project which you may contact (or + even better, join) on the <tt>doc</tt> mailing list: + <url url="mailto:doc@FreeBSD.ORG" name="<doc@FreeBSD.ORG>">. + + <p>A FreeBSD ``handbook'' is available, and can be found as: + <url url="../handbook/handbook.html" name="the FreeBSD Handbook">. + Note that this is a work in progress, and so parts may be incomplete. + + <p>However, as FreeBSD 2.2.X is based upon Berkeley 4.4BSD-Lite2, most + of the 4.4BSD manuals are applicable to FreeBSD 2.2.X. O'Reilly + and Associates publishes these manuals: + + <itemize> + <item>4.4BSD System Manager's Manual <newline> + By Computer Systems Research Group, UC Berkeley <newline> + 1st Edition June 1994, 804 pages <newline> + ISBN: 1-56592-080-5 <newline> + + <item>4.4BSD User's Reference Manual <newline> + By Computer Systems Research Group, UC Berkeley <newline> + 1st Edition June 1994, 905 pages <newline> + ISBN: 1-56592-075-9 <newline> + + <item>4.4BSD User's Supplementary Documents <newline> + By Computer Systems Research Group, UC Berkeley <newline> + 1st Edition July 1994, 712 pages <newline> + ISBN: 1-56592-076-7 <newline> + + <item>4.4BSD Programmer's Reference Manual <newline> + By Computer Systems Research Group, UC Berkeley <newline> + 1st Edition June 1994, 886 pages <newline> + ISBN: 1-56592-078-3 <newline> + + <item>4.4BSD Programmer's Supplementary Documents <newline> + By Computer Systems Research Group, UC Berkeley <newline> + 1st Edition July 1994, 596 pages <newline> + ISBN: 1-56592-079-1 <newline> + </itemize> + + <p>A description of these can be found via WWW as: + + <url url="http://gnn.com/gnn/bus/ora/category/bsd.html" + name="4.4BSD books description"> + + <p>For a more in-depth look at the 4.4BSD kernel organization, + you can't go wrong with: + + <p>McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, + and John Quarterman.<newline> + + <p><em>The Design and Implementation of the 4.4BSD Operating + System</em>. Reading, Mass. : Addison-Wesley, 1996.<newline> + ISBN 0-201-54979-4<newline> + + <p>A good book on system administration is: + + <p>Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein,<newline> + ``Unix System Administration Handbook'', Prentice-Hall, 1995<newline> + ISBN: 0-13-151051-7<newline> + + <p><bf/NOTE/ make sure you get the second edition, with a red cover, + instead of the first edition. + + <p>This book covers the basics, as well as TCP/IP, DNS, NFS, + SLIP/PPP, sendmail, INN/NNTP, printing, etc.. It's expensive + (approx. US$45-$55), but worth it. It also + includes a CDROM with the sources for various tools; most of + these, however, are also on the FreeBSD 2.2.5R CDROM (and the + FreeBSD CDROM often has newer versions). + + <sect1> + <heading>How do I access your Problem Report database?</heading> + + <p>The Problem Report database of all open user change requests + may be queried (or submitted to) by using our web-based PR + <url url="http://www.freebsd.org/send-pr.html" name="submission"> + and <url url="http://www.freebsd.org/cgi-bin/query-pr-summary.cgi" + name="query"> interfaces. The <em>send-pr(1)</em> command + can also be used to submit problem reports and change requests via + electronic mail. + + <sect1> + <heading>Other sources of information.</heading> + + <p>The following newsgroups contain pertinent discussion for FreeBSD + users: + + <itemize> + <item><url url="news:comp.unix.bsd.freebsd.announce" + name="comp.unix.bsd.freebsd.announce"> (moderated) + + <item><url url="news:comp.unix.bsd.freebsd.misc" + name="comp.unix.bsd.freebsd.misc"> + + <item><url url="comp.unix.bsd.misc" name="comp.unix.bsd.misc"> + </itemize> + + <p>Web resources: + + <itemize> + <item>The <url url="http://www.freebsd.org/" name="FreeBSD Home Page">. + + <item><label id="pao">If you have a laptop, be sure and see + <url url="http://www.jp.FreeBSD.org/PAO/" + name="Tatsumi Hosokawa's Mobile Computing page"> in Japan. + + <item><label id="smp">For information on SMP (Symmetric + MultiProcessing), please see the <url + url="http://www.freebsd.org/~fsmp/SMP/SMP.html" + name="SMP support page">. + + <item><label id="multimedia">For information on FreeBSD multimedia + applications, please see the <url + url="http://www.freebsd.org/~faulkner/multimedia/mm.html" + name="multimedia">page. If you're interested specifically in + the <url url="http://www.freebsd.org/~ahasty/Bt848.html" + name="Bt848"> video capture chip, then follow that link. + </itemize> + + <p>The FreeBSD handbook also has a fairly complete + <url url="../handbook/bibliography.html" name="bibliography"> + section which is worth reading if you're looking for actual + books to buy. + + </sect> + diff --git a/FAQ/serial.sgml b/FAQ/serial.sgml new file mode 100644 index 0000000000..69b0f1bf67 --- /dev/null +++ b/FAQ/serial.sgml @@ -0,0 +1,526 @@ +<!-- $Id: serial.sgml,v 1.1 1997-11-03 08:53:57 max Exp $ --> +<!-- The FreeBSD Documentation Project --> + + <sect> + <heading>Serial Communications<label id="serial"></heading> + + <p>This section answers common questions about serial communications + with FreeBSD. PPP and SLIP are covered in the <ref id="networking" + name="Networking"> section. + + <sect1> + <heading>How do I tell if FreeBSD found my serial ports?</heading> + + <p>As the FreeBSD kernel boots, it will probe for the serial ports + in your system for which the kernel was configured. You can + either watch your system closely for the messages it prints or + run the command + + <verb> + dmesg | grep sio + </verb> + + <p>after your system's up and running. + + <p>Here's some example output from the above command: + + <verb> + sio0 at 0x3f8-0x3ff irq 4 on isa + sio0: type 16550A + sio1 at 0x2f8-0x2ff irq 3 on isa + sio1: type 16550A + </verb> + + <p>This shows two serial ports. The first is on irq 4, is using + port address <tt/0x3f8/, and has a 16550A-type UART chip. The + second uses the same kind of chip but is on irq 3 and is at port + address <tt/0x2f8/. Internal modem cards are treated just like + serial ports---except that they always have a modem ``attached'' + to the port. + + <p>The <tt/GENERIC/ kernel includes support for two serial ports + using the same irq and port address settings in the above + example. If these settings aren't right for your system, or if + you've added modem cards or have more serial ports than your + kernel is configured for, just reconfigure your kernel. See + section <ref id="make-kernel" name="about building a kernel"> for + more details. + + <sect1> + <heading>How do I tell if FreeBSD found my modem cards?</heading> + + <p>Refer to the answer to the previous question. + + <sect1> + <heading>I just upgraded to 2.0.5 and my <tt/tty0X/ are missing!</heading> + + <p>Don't worry, they have been merged with the <tt/ttydX/ devices. + You'll have to change any old configuration files you have, though. + + <sect1> + <heading>How do I access the serial ports on FreeBSD?</heading> + + <p>The third serial port, <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?sio" name="sio2"> (known as + COM3 in DOS), is on <tt>/dev/cuaa2</tt> for dial-out devices, and on + <tt>/dev/ttyd2</tt> for dial-in devices. What's the difference + between these two classes of devices? + + <p>You use <tt/ttydX/ for dial-ins. When opening <tt>/dev/ttydX</tt> + in blocking mode, a process will wait for the corresponding + <tt/cuaaX/ device to become inactive, and then wait + for the carrier detect line to go active. When you open the + <tt/cuaaX/ device, it makes sure the serial port isn't already in + use by the <tt/ttydX/ device. If the port's available, it + ``steals'' it from the <tt/ttydX/ device. Also, the <tt/cuaXX/ + device doesn't care about carrier detect. With this scheme and + an auto-answer modem, you can have remote users log in and you + can still dialout with the same modem and the system will take + care of all the conflicts. + + <sect1> + <heading>How do I enable support for a multiport serial card?</heading> + + <p>Again, the section on kernel configuration provides information + about configuring your kernel. For a multiport serial card, + place an <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sio" + name="sio"> line for each serial port on the card in the + kernel configuration file. But place the irq and vector + specifiers on only one of the entries. All of the ports on the + card should share one irq. For consistency, use the last serial + port to specify the irq. Also, specify the <tt/COM_MULTIPORT/ + option. + + <p>The following example is for an AST 4-port serial card on irq 7: + + <verb> + options "COM_MULTIPORT" + device sio4 at isa? port 0x2a0 tty flags 0x781 + device sio5 at isa? port 0x2a8 tty flags 0x781 + device sio6 at isa? port 0x2b0 tty flags 0x781 + device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr + </verb> + + <p>The flags indicate that the master port has minor number 7 + (<tt/0x700/), diagnostics enabled during probe (<tt/0x080/), and + all the ports share an irq (<tt/0x001/). + + <sect1> + <heading>Can FreeBSD handle multiport serial cards sharing irqs?</heading> + + <p>Not yet. You'll have to use a different irq for each card. + + <sect1> + <heading>Can I set the default serial parameters for a port?</heading> + + <p>The <tt/ttydX/ (or <tt/cuaaX/) device is the regular device + you'll want to open for your applications. When a process opens + the device, it'll have a default set of terminal I/O settings. + You can see these settings with the command + + <verb> + stty -a -f /dev/ttyd1 + </verb> + + <p>When you change the settings to this device, the settings are in + effect until the device is closed. When it's reopened, it goes + back to the default set. To make changes to the default set, you + can open and adjust the settings of the ``initial state'' device. + For example, to turn on <tt/CLOCAL/ mode, 8 bits, and + <tt>XON/XOFF</tt> flow control by default for ttyd5, do: + + <verb> + stty -f /dev/ttyid5 clocal cs8 ixon ixoff + </verb> + + <p>A good place to do this is in <tt>/etc/rc.serial</tt>. Now, an + application will have these settings by default when it opens + <tt/ttyd5/. It can still change these settings to its liking, + though. + + <p>You can also prevent certain settings from being changed by an + application by making adjustments to the ``lock state'' device. + For example, to lock the speed of <tt/ttyd5/ to 57600 bps, do + + <verb> + stty -f /dev/ttyld5 57600 + </verb> + + <p>Now, an application that opens <tt/ttyd5/ and tries to change the + speed of the port will be stuck with 57600 bps. + + <p>Naturally, you should make the initial state and lock state + devices writable only by <tt/root/. The <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?MAKEDEV" + name="MAKEDEV"> script does <bf/NOT/ do this when it creates the + device entries. + + <sect1> + <heading>How can I enable dialup logins on my modem?</heading> + + <p>So you want to become an Internet service provider, eh? First, + you'll need one or more modems that can auto-answer. Your modem + will need to assert carrier-detect when it detects a carrier and + not assert it all the time. It will need to hang up the phone + and reset itself when the data terminal ready (<tt/DTR/) line + goes from on to off. It should probably use <tt>RTS/CTS</tt> + flow control or no local flow control at all. Finally, it must + use a constant speed between the computer and itself, but (to be + nice to your callers) it should negotiate a speed between itself + and the remote modem. + + <p>For many Hayes command-set--compatible modems, this command will + make these settings and store them in nonvolatile memory: + + <verb> + AT &C1 &D3 &K3 &Q6 S0=1 &W + </verb> + + <p>See the section <ref id="direct-at" name="on sending AT + commands"> below for information on how to make these settings + without resorting to an MS-DOS terminal program. + + <p>Next, make an entry in <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys"> for the + modem. This file lists all the ports on which the operating system will + await logins. Add a line that looks something like this: + + <verb> + ttyd1 "/usr/libexec/getty std.57600" dialup on insecure + </verb> + + <p>This line indicates that the second serial port + (<tt>/dev/ttyd1</tt>) has a modem connected running at 57600 bps + and no parity (<tt/std.57600/, which comes from the file + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?gettytab" + name="/etc/gettytab">). The terminal type for this port is + ``dialup.'' The port is ``on'' and is ``insecure''---meaning + root logins on the port aren't allowed. For dialin ports like + this one, use the <tt/ttydX/ entry. + + <p>It's common practice to use ``dialup'' as the terminal type. + Many users set up in their .profile or .login files a prompt for + the actual terminal type if the starting type is dialup. The + example shows the port as insecure. To become root on this port, + you have to login as a regular user, then <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?su" name="su">'' to + <tt/root/. If you use ``secure'' then <tt/root/ can login in + directly. + + <p>After making modifications to <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys">, you + need to send a hangup or <tt/HUP/ signal to the <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?init" name="init"> process: + + <verb> + kill -HUP 1 + </verb> + + <p>This forces the init process to reread <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys">. The + init process will then start getty processes on all ``on'' ports. + You can find out if logins are available for your port by typing + + <verb> + ps -ax | grep '[t]tyd1' + </verb> + + <p>You should see something like: + + <verb> + 747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 + </verb> + + <sect1> + <heading>How can I connect a dumb terminal to my FreeBSD box?</heading> + + <p>If you're using another computer as a terminal into your FreeBSD + system, get a null modem cable to go between the two serial + ports. If you're using an actual terminal, see its accompanying + instructions. + + <p>Then, modify <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ttys" + name="/etc/ttys">, like above. For example, if you're hooking up a + WYSE-50 terminal to the fifth serial port, use an entry like this: + + <verb> + ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure + </verb> + + <p>This example shows that the port on <tt>/dev/ttyd4</tt> has a + wyse50 terminal connected at 38400 bps with no parity + (<tt/std.38400/ from <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?gettytab" + name="/etc/gettytab">) and <tt/root/ logins are allowed (secure). + + <sect1> + <heading>Why can't I run <tt/tip/ or <tt/cu/?</heading> + + <p>On your system, the programs <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> and <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?cu" name="cu"> are probably + executable only by <htmlurl url="http://www.freebsd.org/cgi/man.cgi?uucp" + name="uucp"> and group <tt/dialer/. You can use the group <tt/dialer/ + to control who has access to your modem or remote systems. Just add + yourself to group dialer. + + <p>Alternatively, you can let everyone on your system run <tt/tip/ + and <tt/cu/ by typing: + + <verb> + # chmod 4511 /usr/bin/cu + # chmod 4511 /usr/bin/tip + </verb> + + <sect1> + <heading>My stock Hayes modem isn't supported---what can I do?</heading> + + <p>Actually, the man page for <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> is out of + date. There is a generic Hayes dialer already built in. Just use + ``<tt/at=hayes/'' in your <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?remote" name="/etc/remote"> file. + + <p>The Hayes driver isn't smart enough to recognize some of the + advanced features of newer modems---messages like <tt/BUSY/, + <tt/NO DIALTONE/, or <tt/CONNECT 115200/ will just confuse it. + You should turn those messages off when you use <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> (using + <tt/ATX0&W/). + + <p>Also, the dial timeout for <tt/tip/ is 60 seconds. Your modem + should use something less, or else tip will think there's a + communication problem. Try <tt/ATS7=45&W/. + + <p>Actually, as shipped <tt/tip/ doesn't yet support it fully. The + solution is to edit the file <tt/tipconf.h/ in the directory + <tt>/usr/src/usr.bin/tip/tip</tt> Obviously you need the source + distribution to do this. + + <p>Edit the line ``<tt/#define HAYES 0/'' to ``<tt/#define HAYES + 1/''. Then ``<tt/make/'' and ``<tt/make install/''. Everything + works nicely after that. + + <sect1> + <heading> + How am I expected to enter these AT commands?<label id="direct-at"> + </heading> + + <p>Make what's called a ``<tt/direct/'' entry in your + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?remote" + name="/etc/remote"> file. For example, if your modem's hooked + up to the first serial port, <tt>/dev/cuaa0</tt>, then put in the + following line: + + <verb> + cuaa0:dv=/dev/cuaa0:br#19200:pa=none + </verb> + + <p>Use the highest bps rate your modem supports in the br + capability. Then, type <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip cuaa0"> and + you'll be connected to your modem. + + <p>If there is no <tt>/dev/cuaa0</tt> on your system, do this: + + <verb> + # cd /dev + # ./MAKEDEV cuaa0 + </verb> + + <p>Or use cu as root with the following command: + + <verb> + # cu -l``line'' -s``speed'' + </verb> + + <p>with line being the serial port (e.g.<tt>/dev/cuaa0</tt>) + and speed being the speed (e.g.<tt>57600</tt>). When you are done + entering the AT commands hit <tt>~.</tt> to exit. + + <sect1> + <heading>The <tt/@/ sign for the pn capability doesn't work!</heading> + + <p>The <tt/@/ sign in the phone number capability tells tip to look in + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?phones(5)" + name="/etc/phones"> for a phone number. But the <tt/@/ sign is + also a special character in capability files like + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?remote" + name="/etc/remote">. Escape it with a backslash: + + <verb> + pn=\@ + </verb> + + <sect1> + <heading>How can I dial a phone number on the command line?</heading> + + <p>Put what's called a ``<tt/generic/'' entry in your + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?remote" + name="/etc/remote"> file. For example: + + <verb> + tip115200|Dial any phone number at 115200 bps:\ + :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: + tip57600|Dial any phone number at 57600 bps:\ + :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du: + </verb> + + <p>Then you can things like ``<tt/tip -115200 5551234/''. If you + prefer <htmlurl url="http://www.freebsd.org/cgi/man.cgi?cu" + name="cu"> over <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip">, use a + generic cu entry: + + <verb> + cu115200|Use cu to dial any number at 115200bps:\ + :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du: + </verb> + + <p>and type ``<tt/cu 5551234 -s 115200/''. + + <sect1> + <heading>Do I have to type in the bps rate every time I do that?</heading> + + <p>Put in an entry for <tt/tip1200/ or <tt/cu1200/, but go ahead and + use whatever bps rate is appropriate with the br capability. <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> thinks a good + default is 1200 bps which is why it looks for a ``<tt/tip1200/'' entry. + You don't have to use 1200 bps, though. + + <sect1> + <heading>I access a number of hosts through a terminal server.</heading> + + <p>Rather than waiting until you're connected and typing + ``<tt/CONNECT <host>/'' each time, use tip's <tt/cm/ + capability. For example, these entries in + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?remote" + name="/etc/remote">: + + <verb> + pain|pain.deep13.com|Forrester's machine:\ + :cm=CONNECT pain\n:tc=deep13: + muffin|muffin.deep13.com|Frank's machine:\ + :cm=CONNECT muffin\n:tc=deep13: + deep13:Gizmonics Institute terminal server:\ + :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234: + </verb> + + <p>will let you type ``<tt/tip pain/'' or ``<tt/tip muffin/'' to + connect to the hosts pain or muffin; and ``<tt/tip deep13/'' to + get to the terminal server. + + <sect1> + <heading>Can tip try more than one line for each site?</heading> + + <p>This is often a problem where a university has several modem lines + and several thousand students trying to use them... + + <p>Make an entry for your university in <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?remote" name="/etc/remote"> + and use <tt>\@</tt> for the <tt/pn/ capability: + + <verb> + big-university:\ + :pn=\@:tc=dialout + dialout:\ + :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none: + </verb> + + <p>Then, list the phone numbers for the university in + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?phones" + name="/etc/phones">: + + <verb> + big-university 5551111 + big-university 5551112 + big-university 5551113 + big-university 5551114 + </verb> + + <p><htmlurl url="http://www.freebsd.org/cgi/man.cgi?tip" + name="tip"> will try each one in the listed order, then give up. If + you want to keep retrying, run <tt/tip/ in a while loop. + + <sect1> + <heading>Why do I have to hit CTRL+P twice to send CTRL+P once?</heading> + + <p>CTRL+P is the default ``force'' character, used to tell + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> + that the next character is literal data. You can set the force + character to any other character with the <tt/~s/ escape, which + means ``set a variable.'' + + <p>Type ``<tt/~sforce=<single-char>/'' followed by a newline. + <tt/<single-char>/ is any single character. If you leave + out <tt/<single-char>/, then the force character is the nul + character, which you can get by typing CTRL+2 or CTRL+SPACE. A + pretty good value for <tt/<single-char>/ is SHIFT+CTRL+6, + which I've seen only used on some terminal servers. + + <p>You can have the force character be whatever you want by + specifying the following in your <tt>$HOME/.tiprc</tt> + file: + + <verb> + force=<single-char> + </verb> + + <sect1> + <heading>Suddenly everything I type is in UPPER CASE??</heading> + + <p>You must've pressed CTRL+A, <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?tip" name="tip"> ``raise + character,'' specially designed for people with broken caps-lock keys. + Use <tt/~s/ as above and set the variable ``raisechar'' to something + reasonable. In fact, you can set it to the same as the force + character, if you never expect to use either of these features. + + <p>Here's a sample .tiprc file perfect for Emacs users who need to + type CTRL+2 and CTRL+A a lot: + + <verb> + force=^^ + raisechar=^^ + </verb> + + <p>The ^^ is SHIFT+CTRL+6. + + <sect1> + <heading>How can I do file transfers with <tt/tip/?</heading> + + <p>If you're talking to another UNIX system, you can send and + receive files with <tt/~p/ (put) and <tt/~t/ (take). These + commands run <htmlurl url="http://www.freebsd.org/cgi/man.cgi?cat" + name="cat"> and <htmlurl url="http://www.freebsd.org/cgi/man.cgi?echo" + name="echo"> on the remote system to accept and send files. The syntax + is: + + <verb> + ~p <local-file> [<remote-file>] + ~t <remote-file> [<local-file>] + </verb> + + <p>There's no error checking, so you probably should use another + protocol, like zmodem. + + <sect1> + <heading>How can I run zmodem with <tt/tip/?</heading> + + <p>First, install one of the zmodem programs from the ports + collection (such as one of the two from the comms category, + <htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^lrzsz" name="lrzsz"> + and <htmlurl url="http://www.freebsd.org/cgi/ports.cgi?^rzsz" + name="rzsz">). + + <p>To receive files, start the sending program on the remote end. + Then, press enter and type ``<tt/~C rz/'' (or ``<tt/~C lrz/'' if + you installed lrzsz) to begin receiving them locally. + + <p>To send files, start the receiving program on the remote end. + Then, press enter and type ``<tt/~C sz <files>/'' (or + ``<tt/~C lsz <files>/'') to send them to the + remote system. + + </sect> + diff --git a/FAQ/troubleshoot.sgml b/FAQ/troubleshoot.sgml new file mode 100644 index 0000000000..af5fb00f7d --- /dev/null +++ b/FAQ/troubleshoot.sgml @@ -0,0 +1,398 @@ +<!-- $Id: troubleshoot.sgml,v 1.1 1997-11-03 08:53:59 max Exp $ --> +<!-- The FreeBSD Documentation Project --> + + <sect> + <heading>Troubleshooting<label id="troubleshoot"></heading> + + <sect1> + <heading>I have bad blocks on my hard drive!<label id="awre"></heading> + + <p>With SCSI drives, the drive should be capable of re-mapping + these automatically. However, many drives are shipped with + this feature disabled, for some mysterious reason... + + <p>To enable this, you'll need to edit the first device page mode, + which can be done on FreeBSD by giving the command (as root) + + <verb> + scsi -f /dev/rsd0c -m 1 -e -P 3 + </verb> + + <p>and changing the values of AWRE and ARRE from 0 to 1:- + + <verb> + AWRE (Auto Write Reallocation Enbld): 1 + ARRE (Auto Read Reallocation Enbld): 1 + </verb> + + <p>For other drive types, you are dependent on support from the + operating system. Unfortunately, the ``bad144'' command that + FreeBSD supplies for this purpose needs a considerable amount + of work done on it. In other words, it doesn't work. If you're + lucky, you can create a file that contains the bad blocks and + stuff it away with a name like ".BADBLOCKS". This is how I got + 386BSD Patchkit 24 completed. <tt/NOTE/: don't do this unless + your time is effectively free. + + <p>IDE drives are <em/supposed/ to come with built-in bad-block + remapping; if you have documentation for your drive, you may want + to see if this feature has been disabled on your drive. However, + ESDI, RLL, and ST-506 drives normally do not do this. + + <sect1> + <heading>FreeBSD does not recognize my Bustek 742a EISA SCSI!</heading> + + <p>This info is specific to the 742a but may also cover other + Buslogic cards. (Bustek = Buslogic) + + <p>There are 2 general ``versions'' of the 742a card. They are + hardware revisions A-G, and revisions H - onwards. The revision + letter is located after the Assembly number on the edge of the + card. The 742a has 2 ROM chips on it, one is the BIOS chip and + the other is the Firmware chip. FreeBSD doesn't care what + version of BIOS chip you have but it does care about what version + of firmware chip. Buslogic will send upgrade ROMS out if you + call their tech support dept. The BIOS and Firmware chips are + shipped as a matched pair. You must have the most current + Firmware ROM in your adapter card for your hardware revision. + + <p>The REV A-G cards can only accept BIOS/Firmware sets up to + 2.41/2.21. The REV H- up cards can accept the most current + BIOS/Firmware sets of 4.70/3.37. The difference between the + firmware sets is that the 3.37 firmware supports ``round robin'' + + <p>The Buslogic cards also have a serial number on them. If you + have a old hardware revision card you can call the Buslogic RMA + department and give them the serial number and attempt to + exchange the card for a newer hardware revision. If the card is + young enough they will do so. + + <p>FreeBSD 2.1 only supports Firmware revisions 2.21 onward. If you + have a Firmware revision older than this your card will not be + recognized as a Buslogic card. It may be recognized as an + Adaptec 1540, however. The early Buslogic firmware contains an + AHA1540 ``emulation'' mode. This is not a good thing for an EISA + card, however. + + <p>If you have an old hardware revision card and you obtain the 2.21 + firmware for it, you will need to check the position of jumper W1 + to B-C, the default is A-B. + + <p>The 742a EISA cards never had the ``>16MB'' problem mentioned in + the section <ref id="bigram" name="on >16 MB machines">. This is a + problem that occurs with the Vesa-Local Buslogic SCSI cards. + + <sect1> + <heading> + My HP Netserver's SCSI controller is not detected! + </heading> + + <p>This is basically a known problem. The EISA on-board SCSI controller + in the HP Netserver machines occupies EISA slot number 11, so all + the ``true'' EISA slots are in front of it. Alas, the address space + for EISA slots >= 10 collides with the address space assigned to PCI, + and FreeBSD's auto-configuration currently cannot handle this + situation very well. + + <p>So now, the best you can do is to pretend there is no address + range clash :), by bumping the kernel option <tt/EISA_SLOTS/ + to a value of 12. + Configure and compile a kernel, as described in the + <url url="http://www.freebsd.org/handbook/kernelconfig.html" + name="Handbook entry on configuring the kernel">. + + <p>Of course, this does present you with a chicken-and-egg problem when + installing on such a machine. In order to work around this + problem, a special hack is available inside <em>UserConfig</em>. + Do not use the ``visual'' interface, but the plain command-line + interface there. Simply type + + <verb> + eisa 12 + quit + </verb> + + <p>at the prompt, and install your system as usual. While it's + recommended you compile and install a custom kernel anyway, + + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?dset" name="dset"> + now also understands to save this value. + + <p>Hopefully, future versions will have a proper fix for this problem. + + <p><tt/NOTE:/ You can not use a <bf/dangerously dedicated/ disk with + an HP Netserver. See <ref id="dedicate" name="this note"> for + more info. + + <sect1> + <heading>What's up with this CMD640 IDE controller?</heading> + + <p>It's broken. It cannot handle commands on both channels + simultaneously. + + <p>There's a workaround available now and it is enabled automatically + if your system uses this chip. For the details refer to the + manual page of the disk driver (man 4 wd). + + <p>If you're already running FreeBSD 2.2.1 or 2.2.2 with a + CMD640 IDE controller and you want to use the second channel, + build a new kernel with <tt/options "CMD640"/ enabled. This + is the default for 2.2.5 and later. + + <sect1> + <heading>I keep seeing messages like ``<tt/ed1: timeout/''.</heading> + + <p>This is usually caused by an interrupt conflict (e.g., two boards + using the same IRQ). FreeBSD prior to 2.0.5R used to be tolerant + of this, and the network driver would still function in the + presence of IRQ conflicts. However, with 2.0.5R and later, IRQ + conflicts are no longer tolerated. Boot with the -c option and + change the ed0/de0/... entry to match your board. + + <p>If you're using the BNC connector on your network card, you may + also see device timeouts because of bad termination. To check this, + attach a terminator directly to the NIC (with no cabel) and see if + the error messages go away. + + <sect1> + <heading>When I mount a CDROM, I get ``Incorrect super block''.</heading> + + <p>You have to tell + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount" name="mount"> + the type of the device that you want to mount. By default, + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount" name="mount"> + will assume the filesystem is of type ``<tt/ufs/''. You want to mount + a CDROM filesystem, and you do this by specifying the ``<tt/-t cd9660/'' + option to <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount" + name="mount">. This does, of course, assume that the + CDROM contains an ISO 9660 filesystem, which is what most CDROMs + have. As of 1.1R, FreeBSD automatically understands the Rock Ridge + (long filename) extensions as well. + + <p>As an example, if you want to mount the CDROM device, + ``<tt>/dev/cd0c</tt>'', under <tt>/mnt</tt>, you would execute: + + <verb> + mount -t cd9660 /dev/cd0c /mnt + </verb> + + <p>Note that your device name (``<tt>/dev/cd0c</tt>'' in this + example) could be different, depending on the CDROM interface. + Note that the ``<tt/-t cd9660/'' option just causes the + ``<tt/mount_cd9660/'' command to be executed, and so the + above example could be shortened to: + + <verb> + mount_cd9660 /dev/cd0c /mnt + </verb> + + <sect1> + <heading>When I mount a CDROM, I get ``Device not configured''.</heading> + + <p>This generally means that there is no CDROM in the CDROM drive, + or the drive is not visible on the bus. Feed the drive + something, and/or check its master/slave status if it is + IDE (ATAPI). It can take a couple of seconds for a CDROM drive + to notice that it's been fed, so be patient. + + <p>Sometimes a SCSI CD-ROM may be missed because it hadn't enough time + to answer the bus reset. In you have a SCSI CD-ROM please try to + add the following symbol into your kernel configuration file + and recompile. + + <verb> + options "SCSI_DELAY=15" + </verb> + + <sect1> + <heading>My printer is ridiculously slow. What can I do ?</heading> + + <p>If it's parallel, and the only problem is that it's terribly + slow, try setting your printer port into ``polled'' mode: + + <verb> + lptcontrol -p + </verb> + + <p>Some newer HP printers are claimed not to work correctly in + interrupt mode, apparently due to some (not yet exactly + understood) timing problem. + + <sect1> + <heading>My programs occasionally die with ``Signal 11'' errors.</heading> + + <p>This can be caused by bad hardware (memory, motherboard, etc.). + Try running a memory-testing program on your PC. Note that, even + though every memory testing program you try will report your + memory as being fine, it's possible for slightly marginal memory + to pass all memory tests, yet fail under operating conditions + (such as during bus mastering DMA from a SCSI controller like the + Adaptec 1542, when you're beating on memory by compiling a kernel, + or just when the system's running particularly hot). + + <p>The SIG11 FAQ (listed below) points up slow memory as being the + most common problem. Increase the number of wait states in your + BIOS setup, or get faster memory. + + <p>For me the guilty party has been bad cache RAM or a bad on-board + cache controller. Try disabling the on-board (secondary) cache in + the BIOS setup and see if that solves the problem. + + <p>There's an extensive FAQ on this at + <url url="http://www.bitwizard.nl/sig11/" name="the SIG11 problem FAQ"> + + <sect1> + <heading>When I boot, the screen goes black and loses sync!</heading> + + <p>This is a known problem with the ATI Mach 64 video card. + The problem is that this card uses address <tt/2e8/, and + the fourth serial port does too. Due to a bug (feature?) in the + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sio" name="sio.c"> + driver it will touch this port even if you don't have the + fourth serial port, and <bf/even/ if you disable sio3 (the fourth + port) which normally uses this address. + + <p>Until the bug has been fixed, you can use this workaround: + + <enum> + <item>Enter <tt/-c/ at the bootprompt. (This will put the kernel + into configuration mode). + + <item>Disable <tt/sio0/, <tt/sio1/, <tt/sio2/ and <tt/sio3/ + (all of them). This way the sio driver doesn't get activated + -> no problems. + + <item>Type exit to continue booting. + </enum> + + <p>If you want to be able to use your serial ports, + you'll have to build a new kernel with the following + modification: in <tt>/usr/src/sys/i386/isa/sio.c</tt> find the + one occurrence of the string <tt/0x2e8/ and remove that string + and the preceding comma (keep the trailing comma). Now follow + the normal procedure of building a new kernel. + + <p>Even after applying these workarounds, you may still find that + X Window does not work properly. Some newer ATI Mach 64 video + cards (notably ATI Mach Xpression) do not run with the current + version of <tt/XFree86/; the screen goes black when you start + X Window, or it works with strange problems. You can get + a beta-version of a new X-server that works better, by looking at + <url url="http://www.xfree86.org" name="the XFree86 site"> + and following the links to the new beta release. Get the + following files: + + <p><tt>AccelCards, BetaReport, Cards, Devices, FILES, README.ati, + README.FreeBSD, README.Mach64, RELNOTES, VGADriver.Doc, + X312BMa64.tgz</tt> + + <p>Replace the older files with the new versions and make sure you + run <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=xf86config" + name="xf86config"> again. + + <sect1> + <heading> + I have 128 MB of RAM but the system only uses 64 MB. + <label id="reallybigram"> + </heading> + + <p>Due to the manner in which FreeBSD gets the memory size from the + BIOS, it can only detect 16 bits worth of Kbytes in size (65535 + Kbytes = 64MB). If you have more than 64MB, FreeBSD will only see + the first 64MB (or less... some BIOSes peg the memory size to 16M). + + <p>To work around this problem, you need to use the + kernel option specified below. There is a way to get complete + memory information from the BIOS, but we don't have room in the + bootblocks to do it. Someday when lack of room in the bootblocks + is fixed, we'll use the extended BIOS functions to get the full + memory information...but for now we're stuck with the kernel + option. + + <tt> + options "MAXMEM=<n>" + </tt> + + <p>Where <tt/n/ is your memory in Kilobytes. For a 128 MB machine, + you'd want to use <tt/131072/. + + <sect1> + <heading>FreeBSD 2.0 panics with ``kmem_map too small!''</heading> + + <p><tt /Note/ The message may also be ``mb_map too small!'' + + <p>The panic indicates that the system ran out of virtual memory for + network buffers (specifically, mbuf clusters). You can increase + the amount of VM available for mbuf clusters by adding: + + <p><tt>options "NMBCLUSTERS=<n>"</tt> + + <p>to your kernel config file, where <n> is a number in the + range 512-4096, depending on the number of concurrent TCP + connections you need to support. I'd recommend trying 2048 - this + should get rid of the panic completely. You can monitor the + number of mbuf clusters allocated/in use on the system with + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?netstat" + name="netstat -m">. + + <sect1> + <heading>``CMAP busy panic'' when rebooting with a new kernel.</heading> + + <p>The logic that attempts to detect an out of data + <tt>/var/db/kvm_*.db</tt> files sometimes fails and using a + mismatched file can sometimes lead to panics. + + <p>If this happens, reboot single-user and do: + + <verb> + rm /var/db/kvm_*.db + </verb> + + <sect1> + <heading>ahc0: brkadrint, Illegal Host Access at seqaddr 0x0</heading> + + <p>This is a conflict with an Ultrastor SCSI Host Adapter. + + <p>During the boot process enter the kernel configuration menu and + disable <htmlurl url="http://www.freebsd.org/cgi/man.cgi?uha(4)" + name="uha0">, which is causing the problem. + + <sect1> + <heading>Sendmail says ``mail loops back to myself''</heading> + + <p>This is answered in the sendmail FAQ as follows:- + + <verb> + * I'm getting "Local configuration error" messages, such as: + + 553 relay.domain.net config error: mail loops back to myself + 554 <user@domain.net>... Local configuration error + + How can I solve this problem? + + You have asked mail to the domain (e.g., domain.net) to be + forwarded to a specific host (in this case, relay.domain.net) + by using an MX record, but the relay machine doesn't recognize + itself as domain.net. Add domain.net to /etc/sendmail.cw + (if you are using FEATURE(use_cw_file)) or add "Cw domain.net" + to /etc/sendmail.cf. + </verb> + + <p>The current version of the <url + url="ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq" + name="sendmail FAQ"> is no longer maintained with the sendmail + release. It is however regularly posted to + <url url="news:comp.mail.sendmail" name="comp.mail.sendmail">, + <url url="news:comp.mail.misc" name="comp.mail.misc">, + <url url="news:comp.mail.smail" name="comp.mail.smail">, + <url url="news:comp.answers" name="comp.answers">, and + <url url="news:news.answers" name="news.answers">. + You can also receive a copy via email by sending a message to + <url url="mailto:mail-server@rtfm.mit.edu" + name="mail-server@rtfm.mit.edu"> with the command "send + usenet/news.answers/mail/sendmail-faq" as the body of the + message. + + </sect> + diff --git a/FAQ/x.sgml b/FAQ/x.sgml new file mode 100644 index 0000000000..553622944b --- /dev/null +++ b/FAQ/x.sgml @@ -0,0 +1,270 @@ +<!-- $Id: x.sgml,v 1.1 1997-11-03 08:54:00 max Exp $ --> +<!-- The FreeBSD Documentation Project --> + + <sect> + <heading>The X Window System and Virtual Consoles<label id="x"></heading> + + <sect1> + <heading>I want to run X, how do I go about it?</heading> + + <p>The easiest way is to simply specify that you want to run X + during the installation process. + + <p>Then read and follow the documentation on the <htmlurl url= + "http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=xf86config" + name="xf86config"> tool, which assists you in configuring XFree86(tm) + for your particular graphics card/mouse/etc. + + <p>You may also wish to investigate the Xaccel server, which is + available at a very reasonable price. See the section on + <ref id="xig" name="Xi Graphics"> for more details. + + <sect1> + <heading>Why doesn't my mouse work with X</heading> + + <p>If you are using syscons (the default console driver), you can + configure FreeBSD to support a mouse pointer on each virtual + screen. In order to avoid conflicting with X, syscons supports + a virtual device called ``<tt>/dev/sysmouse</tt>''. All mouse events + received from the real mouse device are written to the sysmouse + device, using the MouseSystems protocol. If you wish to use your + mouse on one or more virtual consoles, <bf/and/ use X, the + following configuration is recommended: + + <verb> + /etc/rc.conf: + moused_type=ps/2 # or whatever your actual type is + moused_port=/dev/psm0 # or whatever your real port is + moused_flags= + + /etc/XF86Config + Section Pointer + Protocol "MouseSystems" + Device "/dev/sysmouse" + ..... + </verb> + + <p>Some people prefer to use ``<tt>/dev/mouse</tt>'' under X. To + make this work, ``<tt>/dev/mouse</tt>'' should be linked to + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?sysmouse" + name="/dev/sysmouse">: + + <verb> + # cd /dev + # rm -f mouse + # ln -s sysmouse mouse + </verb> + + <sect1> + <heading>X Window menus and dialog boxes don't work right!</heading> + + <p>Try turning off the Num Lock key. + + <p>If your Num Lock key is on by default at boot-time, you may add + the following line in the ``<tt/Keyboard/'' section of the + <tt/XF86config/ file. + + <verb> + # Let the server do the NumLock processing. This should only be + # required when using pre-R6 clients + ServerNumLock + </verb> + + <sect1> + <heading>What is a virtual console and how do I make more?</heading> + + <p>Virtual consoles, put simply, enable you to have several + simultaneous sessions on the same machine without doing anything + complicated like setting up a network or running X. + + <p>When the system starts, it will display a login prompt on + the monitor after displaying all the boot messages. You can + then type in your login name and password and start working (or + playing!) on the first virtual console. + + <p>At some point, you will probably wish to start another + session, perhaps to look at documentation for a program + you are running or to read your mail while waiting for an + FTP transfer to finish. Just do Alt-F2 (hold down the Alt + key and press the F2 key), and you will find a login prompt + waiting for you on the second ``virtual console''! When you + want to go back to the original session, do Alt-F1. + + <p>The default FreeBSD installation has three virtual consoles + enabled, and Alt-F1, Alt-F2, and Alt-F3 will switch between + these virtual consoles. + + To enable more of them, edit <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys"> + and add entries for ``<tt/ttyv4/'' to ``<tt/ttyvc/'' after the + comment on ``Virtual terminals'': + + <verb> + # Edit the existing entry for ttyv3 in /etc/ttys and change + # "off" to "on". + ttyv3 "/usr/libexec/getty Pc" cons25 on secure + ttyv4 "/usr/libexec/getty Pc" cons25 on secure + ttyv5 "/usr/libexec/getty Pc" cons25 on secure + ttyv6 "/usr/libexec/getty Pc" cons25 on secure + ttyv7 "/usr/libexec/getty Pc" cons25 on secure + ttyv8 "/usr/libexec/getty Pc" cons25 on secure + ttyv9 "/usr/libexec/getty Pc" cons25 on secure + ttyva "/usr/libexec/getty Pc" cons25 on secure + ttyvb "/usr/libexec/getty Pc" cons25 on secure + </verb> + + <p>Use as many or as few as you want. The more virtual terminals + you have, the more resources that are used; this can be important + if you have 8MB RAM or less. You may also want to change the + ``<tt/secure/'' to ``<tt/insecure/''. + + <p><bf/IMPORTANT NOTE/ if you want to run an X server you <bf/MUST/ + leave at least one virtual terminal unused (or turned off) for it + to use. That is to say that if you want to have a login + prompt pop up for all twelve of your Alt-function keys, + you're out of luck - you can only do this for eleven of them + if you also want to run an X server on the same machine. + + <p>The easiest way to disable a console is by turning it off. For + example, if you had the full 12 terminal allocation mentioned + above and you wanted to run X, you would change settings for + virtual terminal 12 from: + + <verb> + ttyvb "/usr/libexec/getty Pc" cons25 on secure + </verb> + + <p>to: + + <verb> + ttyvb "/usr/libexec/getty Pc" cons25 off secure + </verb> + + <p>If your keyboard has only ten function keys, you would end up with: + + <verb> + ttyv9 "/usr/libexec/getty Pc" cons25 off secure + ttyva "/usr/libexec/getty Pc" cons25 off secure + ttyvb "/usr/libexec/getty Pc" cons25 off secure + </verb> + + <p>(You could also just delete these lines.) + + <p>Once you have edited <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?ttys" name="/etc/ttys">, + the next step is to make sure that you have enough virtual terminal + devices. The easiest way to do this is: + + <verb> + # cd /dev + # ./MAKEDEV vty12 # For 12 devices + </verb> + + <p>Next, the easiest (and cleanest) way to activate the virtual + consoles is to reboot. However, if you really don't want to + reboot, you can just shut down the X Window system and execute (as + <tt/root/): + + <verb> + kill -HUP 1 + </verb> + + <p>It's imperative that you completely shut down X Window if it is + running, before running this command. If you don't, your system + will probably appear to hang/lock up after executing the kill + command. + + <sect1> + <heading>How do I access the virtual consoles from X?</heading> + + <p>If the console is currently displaying X Window, you can use + Ctrl-Alt-F1, etc. to switch to a virtual console. Note, however, + that once you've switched away from X Window to a virtual + terminal, you may use only the Alt- function key to switch to another + virtual terminal or back to X Window. You do not need to also press the + Ctrl key. If you use the control key to switch back to X on some + older releases, you can find your text console stuck in ``control-lock'' + mode. Tap the control key to wake it up again. + + <sect1> + <heading>How do I start XDM from the <tt>/etc/ttys</tt> file ?</heading> + + <p>Starting <htmlurl url= + "http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=xdm" + name="xdm"> via <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ttys" + name="/etc/ttys"> is a <bf/Bad Thing/. I don't know why this + crept into some README file. + + <p>Start it from your <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?rc" name="rc.local"> (or even + from a <tt/X.sh/ script in <tt>/usr/local/etc/rc.d</tt>), and be + explicit about how it has to start. If this is your last action in + <tt/rc.local/, put a ``<tt/sleep 1/'' behind, to allow <tt/xdm/ to + properly daemonize before the <tt/rc/ shell exits. + + <p><tt/xdm/ should be started without any arguments (i.e., as a + daemon). + + <p><bf/NOTE:/ A previous version of this FAQ told you to add the + <tt/vt/ you want X to use to the + <tt>/usr/X11R6/lib/X11/xdm/Xservers</tt> file. This is not necessary: + X will use the first free <tt/vt/ it finds. + + <sect1> + <heading>When I run xconsole, I get ``Couldn't open console''.</heading> + + <p>If you start <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=X" + name="X"> with <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=startx" + name="startx">, the permissions on /dev/console will <tt /not/ get + changed, resulting in things like <htmlurl + url="http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=xterm" + name="xterm -C"> and <htmlurl url= + "http://www.freebsd.org/cgi/man.cgi?manpath=xfree86&query=xconsole" + name="xconsole"> not working. + + <p>This is because of the way console permissions are set by default. + On a multi-user system, one doesn't necessarily want just any user + to be able to write on the system console. For users who are logging + directly onto a machine with a VTY, the + <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fbtab" name="fbtab"> + file exists to solve such problems. + + <p>In a nutshell, make sure an uncommented line of the form + + <verb> + /dev/ttyv0 0600 /dev/console + </verb> + + <p>is in <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fbtab(5)" + name="/etc/fbtab"> and it will ensure that whomever logs in on + <tt>/dev/ttyv0</tt> will own the console. + + <sect1> + <heading>My PS/2 mouse doesn't behave properly under X.</heading> + + <p>Your mouse and the mouse driver have somewhat become out of + synchronization. Switching away from X to a virtual terminal + and getting back to X again may make them re-synchronized. + If the problem occurs often, you may add the following option + in your kernel configuration file and recompile it. + + <verb> + options PSM_CHECKSYNC + </verb> + + <p>See the section on <ref id="make-kernel" name="building a kernel"> + if you've no experience with building kernels. + + <p>With this option, there should be less chance of synchronization + problem between the mouse and the driver. If, however, you + still see the problem, click any mouse button while holding + the mouse still to re-synchronize the mouse and the driver. + + <p>Note that unfortunately this option may not work with all the + systems and voids the ``tap'' feature of the ALPS GlidePoint + device attached to the PS/2 mouse port. + + </sect> + |
