diff --git a/FAQ/freebsd-faq.sgml b/FAQ/freebsd-faq.sgml index 3a946463d4..0b76ce3acf 100644 --- a/FAQ/freebsd-faq.sgml +++ b/FAQ/freebsd-faq.sgml @@ -1,2325 +1,2327 @@
Frequently Asked Questions for FreeBSD 2.X <author>The FreeBSD FAQ Team, <tt/FAQ@FreeBSD.ORG/ -<date> $Id: freebsd-faq.sgml,v 1.21 1995-11-20 22:51:01 roberto Exp $ +<date> $Id: freebsd-faq.sgml,v 1.22 1995-11-24 07:55:14 jkh Exp $ <abstract> This is the FAQ for FreeBSD systems version 2.X All entries are assumed to be relevant to FreeBSD 2.0.5+, unless otherwise noted. Any entries with a <XXX> are under construction. </abstract> <toc> <sect> <heading>Preface</heading> <p> Welcome to the FreeBSD 2.X FAQ ! This document tries to answer some of the most frequently asked questions about FreeBSD 2.X (or later, unless specifically indicated). If there's something you're having trouble with and you just don't see it here, then please send mail to: <url url="mailto:questions@FreeBSD.ORG" name="FreeBSD-questions Mailing list"> or to <url url="mailto:faq@FreeBSD.ORG" name="FreeBSD FAQ mailing list"> The latest released version is FreeBSD 2.1.0R. FreeBSD-current refers to the future FreeBSD 2.2. The 2.1 release has been issued from a special branch of the -current sources and is intended as a even more stable version of 2.0.5. There are regular snapshots extracted from 2.2-CURRENT. Check on <tt>ftp.FreeBSD.ORG</tt> in <tt>/pub/FreeBSD/*-SNAP*</tt>. This version of the FAQ uses the <tt>linuxdoc-sgml</tt> utility written for Linux by Matt Welsh. The initial SGML translation was made by Ollivier Robert <url url="mailto:roberto@FreeBSD.ORG" name="roberto@FreeBSD.ORG"> Some of the instructions here will also refer to auxiliary utilities in the <tt>/usr/share/FAQ/Text</tt> directory. If you do not have this directory, or if it does not contain the file that you want, you are probably using a version of FreeBSD prior to 2.0.5R. In this case, install the FreeBSD sources and look in <tt>/usr/src/share/FAQ/Text</tt> (instead of <tt>/usr/share/FAQ</tt>). CDROM purchasers and net folks who've grabbed the FreeBSD 2.X ``<tt/srcdist/'' will have these files. If you don't have the source distribution, then you can either grab the whole thing from: <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current" name="FreeBSD-current base directory"> Or you can grab only those files you're interested in straight out of the FreeBSD-current distribution in: <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current/src" name="FreeBSD-current src directory"> <sect1> <heading>What is FreeBSD?</heading> <p> FreeBSD 2.X is a UN*X type operating system based on U.C. Berkeley's 4.4BSD-lite release for the i386 platform. It is also based indirectly on William Jolitz's port of U.C. Berkeley's Net/2 to the i386, 386BSD. There have been many additions and bug fixes made throughout the entire system, some of the highlights of which are: <itemize> <item>More robust and extensive PC device support <item>System V-style IPC, messaging and semaphores <item>Shared Libraries <item>Much improved virtual memory code <item>Better console driver support <item>Network booting (diskless) support <item>YP support <item>Full support of the PCI bus <item>Loadable kernel modules <item>Serial Console Support <item>Merged VM/Buffer Cache <item>On demand PPP <item>Sync PPP <item>Improved SCSI support </itemize> <sect1> <heading>What do I need to run FreeBSD?</heading> <p> You'll need a 386 or better PC, with 4 Mo or more of RAM and at least 60 MB of hard disk space. It can run with a low end MDA card but to run X11R6, a VGA or better video card is needed. See the section on <ref id="hardware" name="Hardware compatibility"> <sect1> <heading>Where can I get FreeBSD</heading> <p> The distribution is available via anonymous ftp from: <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/" name="FreeBSD home directory"> For the current release, 2.1.0R, look in: <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.1.0-RELEASE/" name="FreeBSD 2.1.0-RELEASE"> FreeBSD is also available via CDROM, from the following place(s): Walnut Creek CDROM<newline> 4041 Pike Lane, Suite D-386<newline> Concord, CA 94520 USA<newline> Orders: (800)-786-9907<newline> Questions: (510)-674-0783<newline> FAX: (510)-674-0821<newline> email: <url url="mailto:orders@cdrom.com" name="WC Orders address"> <newline> WWW: <url url="http://www.cdrom.com/" name="WC Home page"><newline> <sect1> <heading>What are the FreeBSD mailing lists, and how can I get on them?</heading> <p> The following mailing lists are provided for FreeBSD users and developers. For more information, send to <majordomo@FreeBSD.ORG> and include a single line saying ``help'' in the body of your message. <descrip> <tag/announce/ For announcements about or on FreeBSD. <tag/hackers/ Useful for persons wishing to work on the internals. <tag/questions/ General questions on FreeBSD. <tag/bugs/ Where bugs should be sent. <tag/SCSI/ Mailing list for SCSI developers. <tag/current/ This is the mailing list for communications between the developers and users of freebsd-current. It also carries announcements and discussions on current. <tag/security/ For issues dealing with system security. <tag/platforms/ Deals with ports to non-Intel platforms <tag/ports/ Discussion of <tt>/usr/ports/???</tt> <tag/fs/ Discussion of FreeBSD Filesystems <tag/hardware/ Discussion on hardware requirements for FreeBSD. <tag/committers/ CVS commit messages for -current users <tag/chat/ What does not belong elsewhere, general chat, fun. <tag/users-groups/ This is the mailing list for the coordinators from each of the local area Users Groups to dicuss matters with each other and a designated individual from the Core Team. This mail list should be limited to meeting synopsis and coordination of projects that span User Groups </descrip> <p> The FreeBSD-commit list has been broken up into groups dealing with different areas of interest. Please see the FreeBSD mailing list FAQ in: <url url="http://www.freebsd.org/How/handbook/handbook212.html#eresources:mail" name="Handbook s section on mailing-lists"> <p> Example: <p> To subscribe to the <tt/questions/ list, you'll to send a message containing the following command in the <bf/body/ of the message, the subject is ignored: <verb> subscribe questions john.smith@foo.bar (John Smith) </verb> <p> To unsubscribe, it is as easy. Just remember to send your request to <url url="mailto:Majordomo@FreeBSD.ORG" name="The mail administrator"> <bf/not/ to the list itself. The last thing the subscribred users want to see is administrative requests... <sect1> <heading>What are the various FreeBSD news groups?</heading> <p> There are two newsgroups currently dedicated to FreeBSD: <descrip> <tag/comp.unix.bsd.freebsd.announce/ For announcements <tag/comp.unix.bsd.freebsd.misc/ General discussion </descrip> The following newsgroups may also be of interest to general BSD enthusiasts: <descrip> <tag><tt/comp.unix.bsd/</tag> General BSD topics </descrip> To setup/run your own News server or just reading Usenet News, you may have a look at various packages already ported for FreeBSD 2.X in <tt>/usr/ports/news</tt>. You'll find Cnews, INN, Trn, TIN and others there. For French-speaking people, the <tt/fr.comp.os.bsd/ group is for you. Ask your system administrator if you don't receive this group. </sect1> <sect1> <heading>Books on FreeBSD</heading> <p> There currently aren't any books written specifically for FreeBSD, although some people are supposedly working on some. The FreeBSD Documentation Project exists, you may contact (or better join them) on the <tt>doc</tt> mailing list: <url url="mailto:doc@FreeBSD.ORG" name="<doc@FreeBSD.ORG>">. A FreeBSD ``handbook'' is being created, and can be found as: <url url="http://www.freebsd.org/How/handbook/" name="FreeBSD's Handbook"> Note that this is a work in progress, and so parts may be incomplete. However, as FreeBSD 2.X is based upon Berkeley 4.4BSD-Lite, most of the 4.4BSD manuals are applicable to FreeBSD 2.X. O'Reilly and Associates publishes these manuals: 4.4BSD System Manager's Manual <newline> By Computer Systems Research Group, UC Berkeley <newline> 1st Edition June 1994, 804 pages <newline> ISBN: 1-56592-080-5 <NEWLINE> 4.4BSD User's Reference Manual <newline> By Computer Systems Research Group, UC Berkeley <newline> 1st Edition June 1994, 905 pages <newline> ISBN: 1-56592-075-9 <NEWLINE> 4.4BSD User's Supplementary Documents <newline> By Computer Systems Research Group, UC Berkeley <newline> 1st Edition July 1994, 712 pages <newline> ISBN: 1-56592-076-7 <NEWLINE> 4.4BSD Programmer's Reference Manual <newline> By Computer Systems Research Group, UC Berkeley <newline> 1st Edition June 1994, 886 pages <newline> ISBN: 1-56592-078-3 <NEWLINE> 4.4BSD Programmer's Supplementary Documents <newline> By Computer Systems Research Group, UC Berkeley <newline> 1st Edition July 1994, 596 pages <newline> ISBN: 1-56592-079-1 <NEWLINE> A description of these can be found via WWW as: <url url="http://gnn.com/gnn/bus/ora/category/bsd.html" name="4.4BSD books description"> A good book on system administration is: Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein,<newline> ``Unix System Administration Handbook'', Prentice-Hall, 1995<newline> ISBN: 0-13-151051-7<newline> <bf/NOTE/ make sure you get the second edition, with a red cover, instead of the first edition. This book covers the basics, as well as TCP/IP, DNS, NFS, SLIP/PPP, sendmail, INN/NNTP, printing, etc.. It's expensive (approx. US$45-$55), but worth it. It also includes a CDROM with the sources for various tools; most of these, however, are also on the FreeBSD 2.1.0R CDROM (and the FreeBSD CDROM often has newer versions). <sect1> <heading>Other sources of information.</heading> <p> One good source of additional information is the ``[comp.unix.bsd] NetBSD, FreeBSD, and 386BSD (0.1) FAQ''. Much of the information is relevant to FreeBSD, and this FAQ is posted around twice a month to the following newsgroups: <verb> comp.unix.bsd.netbsd.announce comp.unix.bsd.freebsd.announce comp.answers news.answers </verb> If you have WWW access, the FreeBSD home page is at: <url url="http://www.freebsd.org/" name="Main FreeBSD page"> The FreeBSD handbook has a pretty complete bibliography, look at: <url url="http://www.FreeBSD.ORG/How/handbook/bibliography.html" name="Bibliography"> <sect> <heading>FreeBSD goals</heading> <p> <sect1> <heading>Copyrights</heading> <p> The goals of the FreeBSD Project are to provide software that may be used for any purpose and without strings attached. Many of us have a significant investment in the code (and project) and would certainly not mind a little financial renumeration now and then, but we're definitely not prepared to insist on it. We believe that our first and foremost "mission" is to provide code to any and all comers, and for whatever purpose, so that the code gets the widest possible use and provides the widest possible benefit. This is, I believe, one of the most fundamental goals of Free Software and one that we enthusiastically support. - Our GNU code does make for some strings, which we dislike and - endevour to replace whenver possible, but at least those strings - are in the direction of greater, rather than lesser, "openness" - in how the code is shared and distributed and so is a string we - can reasonably live with. + 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, endevor to replace such software with submissions + under the more relaxed BSD copyright whenever possible. <sect> <heading>Installation</heading> <p> <sect1> <heading>How do I install FreeBSD?</heading> <p> <bf/IMPORTANT NOTE/ if you are installing 2.1.0R from tape, see the question titled, <ref id="install-tape" name="Help! I can't install from tape!"> Installation instructions can be found as: <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.1.0-RELEASE/INSTALL" name="INSTALL from 2.1.0R"> Release notes are also available as: <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/2.1.0-RELEASE/RELNOTES" name="RELNOTES from 2.1.0R"> On the CDROM, the following files are in the top-most directory: <verb> INSTALL -- Installation instructions README.TXT -- Basic README file RELNOTES -- Release notes </verb> <sect1> <heading>Help! I have no space! Do I need to delete everything first?</heading> <p> If your machine is already running DOS and has little or no free space available for FreeBSD's installation, all is not lost! You may find the ``<tt/FIPS/'' utility, provided in the <tt>tools/</tt> subdirectory on the FreeBSD CDROM or on the various FreeBSD ftp sites, to be quite useful. FIPS allows you to split an existing DOS partition into two pieces, preserving the original partition and allowing you to install onto the second free piece. You first ``defrag'' your DOS partition, using the DOS 6.xx <tt/DEFRAG/ utility or the Norton Disk tools, then run <tt/FIPS/. It will prompt you for the rest of the information it needs. Afterwards, you can reboot and install FreeBSD on the new free slice. See the Distributions menu for an estimation of how much free space you'll need for the kind of installation you want. <sect1> <heading>Can I use compressed DOS filesystems from FreeBSD?</heading> <p> No. If you are using a utility such as Stacker(tm) or DoubleSpace(tm), FreeBSD will only be able to use whatever portion of the filesystem you leave uncompressed. The rest of the filesystem will show up as one large file (the stacked/dblspaced file!). <bf/DO NOT REMOVE THAT FILE!/ You will probably regret it greatly! It is probably better to create another uncompressed DOS primary partition and use this for communications between DOS and FreeBSD. <sect1> <heading>Can I mount my DOS extended partitions?</heading> <p> This feature isn't in FreeBSD 2.1 but should be in 2.2. We've laid all the groundwork for making this happen, now we just need to do the last 1% of the work involved. <sect1> <heading>Can I run DOS binaries under FreeBSD?</heading> <p> Not yet! We'd like to add support for this someday, but are still lacking anyone to actually do the work. Ongoing work with Linux's <tt/DOSEMU/ utility may bring this much closer to being a reality sometime soon. Send mail to <url url="mailto:hackers@freebsd.org" name="The FreeBSD hackers list"> if you're interested in joining this effort! However, there is a neat utility called ``<tt/pcemu/'' in the ports collection which emulates an 8088 and enough BIOS services to run DOS text mode applications. It requires the X Window System (provided as XFree86 3.1.2). <sect1> <heading>Help! I can't install from tape! The install fails with a ``record too big'' error!<label id="install-tape"></heading> <p> If you are installing 2.1.0R from tape, you must create the tape using a tar blocksize of 10 (5120 bytes). The default tar blocksize is 20 (10240 bytes), and tapes created using this default size cannot be used to install 2.1.0R; with these tapes, you will get an error that complains about the record size being too big. <sect1> <heading>I want to install FreeBSD onto a SCSI disk that has more than 1024 cylinders. How do I do it?</heading> <p> This depends. If you don't have DOS (or another operating system) on the system, you can just keep the drive in native mode and simply make sure that your root partition is below 1024 so the BIOS can boot the kernel from it. It you also have DOS/some other OS on the drive then your best bet is to find out what parameters that it thinks you have before installing FreeBSD. When FreeBSD's installation procedure prompts you for these values, you should then enter them rather than simply going with the defaults. There is a freely available utility distributed with FreeBSD called ``<tt/pfdisk/'' (located in the <tt>tools/dos-tools</tt> subdirectory) which can be used for this purpose. <sect1> <heading>When I boot FreeBSD it says ``Missing Operating System''.</heading> <p> See question above. This is classically a case of FreeBSD and DOS or some other OS conflicting over their ideas of disk geometry. You will have to reinstall FreeBSD, but obeying the instructions given above will almost always get you going. <sect1> <heading>When I install the boot manager and try to boot FreeBSD for the first time, it just comes back with the boot manager prompt again.</heading> <p> This is another symptom of the problem described in the preceding question. Your BIOS geometry and FreeBSD geometry settings do not agree! If your controller or BIOS supports cylinder translation (often marked as ``>1GB drive support''), try toggling its setting and reinstalling FreeBSD. <sect1> <heading>I'm having lots of trouble trying to disklabel a new SCSI drive.</heading> <p>I have made an entry in <tt>/etc/disktab</tt>, but when I try to label the drive the following happens: <verb> mips# disklabel -w /dev/sd1 sea32550N disklabel: ioctl DIOCWDINFO: Operation not supported by device </verb> What am I doing wrong? Answer:<newline> Doing this using <tt/disklabel/ (and <tt/fdisk/) is probably harder than using <tt/sysinstall/. The following should work to put FreeBSD-2.1.0 on the whole of an <bf/empty/ disk assuming that the <tt/disktab/ entry is correct. <verb> disklabel -r -w /dev/rsd1 sea32550N ^^ ^ </verb> The first <tt/-r/ is essential for writing new labels and using the raw device instead of the block device is good technique. To be ``empty'' the disk should have 0's at critical points on the first two sectors. In particular, the 2 byte signature at the end of the first sector must not be <tt/0xaa55/ or the disk will be interpreted as having a slice (partition) table and it will be difficult to write to it where you want unless the slice table is initialized correctly. All bootable hard disks will have the <tt/0xaa55/ signature so they won't be empty. Empty disks may be created by copying zeros over the first 2 sectors: <verb> dd if=/dev/zero of=/dev/rsd1 bs=1k count=1 </verb> Note that this will (appear to) destroy all data on the disk. The above is not the best method. Normally you will have a slice table or a label that you want to preserve or modify slightly. This can be done using <verb> fdisk -u /dev/rsd1 # install or change slice table disklabel -r -w sd1 sea32550N # install label ^no /dev/r </verb> <tt/fdisk/ is unintuitive and has poor error handling so it is difficult to change slice tables using it. However, to install a new slice table on an empty drive you just have to accept all the defaults except for ``n'' to write at the end. Note that the <tt/sd1/ drive in the above is different from <tt>/dev/rsd1</tt>. <tt/disklabel/ modifies path names that don't start with a slash by prefixing <tt>/dev/r</tt> and suffixing the ``raw'' partition letter. <tt/sd1/ thus means <tt>/dev/rsd1c</tt>, i.e., the ``<tt/c/'' partition on the first BSD slice on drive <tt/sd1/, i.e., the whole of the first BSD slice on drive sd1, while <tt>/dev/rsd1</tt> is the whole of drive sd1. Thus ``<tt>disklabel ... sd1</tt>'' will fail if there is no FreeBSD slice, while ``<tt>disklabel /dev/rsd1</tt>'' will print the in-core label for the whole drive. Oops, this assumes that slices are enabled by the 0xaa55 signature. If slices aren't enabled, then /dev/rsd1c means the whole drive. In practice, slices have to be enabled to make the disk bootable. If there are no BSD slices, then <tt>/dev/rsd1c</tt> will be empty instead of unconfigured and attempts to label <tt/sd1/ will fail with a bogus error message about <tt>/dev/rsd1c</tt> not existing. <tt>/dev/sd1</tt> didn't exist in previous versions of FreeBSD or 386BSD so your ``<tt>disklabel -w /dev/sd1 ...</tt>'' would have printed a less confusing error message before failing. <verb> The disklabel I'm trying is sea32550N|Seagate 32550N:\ :ty=winchester:dt=SCSI:se#512:nc#3510:nt#11:ns#108:\ :rm#7200:\ :pa#2433024:oa#0:ta=4.2BSD:\ :pc#4169880:oc#0: </verb> Note that <tt/ns/ has to be < 64 in the slice table. I would use <tt/nt#22:ns#54/. This only matters if you don't accept <tt/fdisk/'s default (bogus) slice table. You have to use a valid table if you want multiple slices, or the first slice starting at a nonzero offset. Starting a nonempty slice at offset 0 is invalid so <tt/sysinstall/ doesn't support creating such slices. <sect1> <heading>I have an IDE drive with lots of bad blocks on it and FreeBSD doesn't seem to install properly.</heading> <p> FreeBSD's bad block (the ``<tt/bad144/'' command) handling is still not 100% (to put it charitably) and it must unfortunately be said that if you've got an IDE or ESDI drive with lots of bad blocks, then FreeBSD is probably not for you! That said, it does work on thousands of IDE based systems, so you'd do well to try it first before simply giving up. IDE drives are <em/supposed/ to come with built-in bad-block remapping; if you have documentation for your drive, you may want to see if this feature has been disabled on your drive. However, ESDI, RLL, and ST-506 drives normally do not do this. <sect1> <heading>I have 32MB of memory, should I expect any special problems?<label id="bigram"></heading> <p> No. FreeBSD 2.X comes with bounce buffers which allows your bus mastering controller access to greater than 16MB. <sect1> <heading>My network card keeps getting errors like, ``<tt/ed1: timeout/''. What's going on?</heading> <p> This is usually caused by an interrupt conflict (e.g., two boards using the same IRQ). FreeBSD prior to 2.0.5R used to be tolerant of this, and the network driver would still function in the presence of IRQ conflicts. However, with 2.0.5R and later, IRQ conflicts are no longer tolerated. <sect1> <heading>Do I need to install the complete sources?</heading> <p> In general, no. However, we would strongly recommend that you install, at a minimum, the ``<tt/base/'' source kit, which includes several of the files mentioned here, and the ``<tt/sys/'' (kernel) source kit, which includes sources for the kernel. There is nothing in the system which requires the presence of the sources to operate, however, except for the kernel-configuration program <tt/config(8)/. With the exception of the kernel sources, our build structure is set up so that you can read-only mount the sources from elsewhere via NFS and still be able to make new binaries. (Because of the kernel-source restriction, we recommend that you not mount this on <tt>/usr/src</tt> directly, but rather in some other location with appropriate symbolic links to duplicate the top-level structure of the source tree.) Having the sources on-line and knowing how to build a system with them will make it much easier for you to upgrade to future releases of FreeBSD. <sect1> <heading>DES encryption software can not be exported from the United States. If I live outside the US, how can I encrypt passwords?</heading> <p> If it is not absolutely imperative that you use DES style encryption, you can use FreeBSD's default encryption for even <bf/better/ security, and with no export restrictions. FreeBSD 2.0's password default scrambler is now <bf/MD5/-based, and is more CPU-intensive to crack with an automated password cracker than DES. Since the DES encryption algorithm cannot legally be exported from the US, non-US users should not download this software (as part of the <tt/secrdist/ from US FTP sites. There is however a replacement libcrypt available, based on sources written in Australia by David Burren. This code is now available on some non-US FreeBSD mirror sites. Sources for the unencumbered libcrypt, and binaries of the programs which use it, can be obtained from the following FTP sites: <descrip> <tag/South Africa/ <tt>ftp://ftp.internat.freebsd.org/pub/FreeBSD</tt><newline> <tt>ftp://storm.sea.uct.ac.za/pub/FreeBSD</tt> <tag/Brazil/ <tt>ftp://ftp.iqm.unicamp.br/pub/FreeBSD</tt> <tag/Finland/ <tt>ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt</tt> </descrip> The non-US <tt/securedist/ can be used as a direct replacement for the encumbered US <tt/securedist/. This <tt/securedist/ package is installed the same way as the US package (see installation notes for details). If you are going to install DES encryption, you should do so as soon as possible, before installing other software. Non-US users should please not download any encryption software from the USA. This can get the maintainers of the sites from which the software is downloaded into severe legal difficulties. A non-US distribution of Kerberos is also being developed, and current versions can generally be obtained by anonymous FTP from <tt>braae.ru.ac.za</tt>. There is a mailing list for the discussion of non-US encryption software. For more information, send an email message with a single line saying ``<tt/help/'' in the body of your message to <tt><majordomo@braae.ru.ac.za></tt>. </sect1> </sect> <sect> <heading>Hardware compatibility <label id="hardware"></heading> <p> <sect1> <heading>What kind of hard drives does FreeBSD run on?</heading> <p> FreeBSD supports ST-506 (sometimes called ``MFM''), RLL, and ESDI drives, which are usually connected to WD-1002, WD-1003, or WD-1006/7 controllers (although clones should also work). FreeBSD also supports IDE and SCSI hard drives. <sect1> <heading>What SCSI controllers are supported?</heading> <p> FreeBSD supports the following SCSI controllers: <descrip> <tag/Adaptec/ AH-152x Series <ISA> <newline> AH-154x Series <ISA> <newline> AH-174x Series <EISA> <newline> Sound Blaster SCSI (AH-152x compat) <ISA> <newline> AH-2742/2842 Series <ISA/EISA> <newline> AH-2820/2822/2825 Series (Narrow/Twin/Wide) <VLB> <newline> AH-294x and aic7870 MB controllers (Narrow/Twin/Wide) <PCI><newline> AH-394x (Narrow/Twin/Wide) <tag/Buslogic/ BT-445 Series <VLB> (but see section <ref id="bigram" name="on 32 MB machines">) <newline> BT-545 Series <ISA> <newline> BT-742 Series <EISA><newline> BT-747 Series <EISA><newline> BT-946 Series <PCI> <newline> BT-956 Series <PCI> <newline> <tag/Future Domain/ TMC-950 Series <ISA> <newline> <tag/PCI Generic/ NCR 53C81x based controllers <PCI> <newline> NCR 53C82x based controllers <PCI> <newline> NCR 53C860/75 based controllers <PCI> <newline> <tag/ProAudioSpectrum/ Zilog 5380 based controllers <ISA> <newline> Trantor 130 based controllers <ISA> <newline> <tag/DTC/ DTC 3290 EISA SCSI in AHA-154x emulation.<newline> <tag/Seagate/ ST-01/02 Series <ISA><newline> <tag/UltraStor/ UH-14f Series <ISA><newline> UH-24f Series <EISA> <newline> UH-34f Series <VLB><newline> <tag/Western Digital/ WD7000 <ISA> <No scatter/gather> </descrip> <sect1> <heading>What CD-ROM drives are supported by FreeBSD?</heading> <p> Any SCSI drive connected to a supported controller. <itemize> <item>Mitsumi LU002 (8bit), LU005 (16bit) and FX001D (16bit 2x Speed). <item>Sony CDU 31/33A<newline> <item>Sound Blaster Non-SCSI CD-ROM<newline> <item>Matsushita/Panasocnic CD-ROM<newline> <item>ATAPI compatible IDE CD-ROMs (should be considered <bf/experimental/) </itemize> All non-SCSI cards are known to be extremely slow compared to SCSI drives. <sect1> <heading>What multi-port serial cards are supported by FreeBSD?</heading> <p> <itemize> <item>AST/4 in shared IRQ mode, <item>ARNET 8 port in shared IRQ mode, <item>BOCA 4/8/16 port cards inshared IRQ mode, <item>Cyclades 8/16 port <Alpha>, <item>Cronyx/Sigfgma multiport sync/async, <item>RISCom/8 multiport card, <item>STB 4 port i shared IRQ mode, </itemize> Some unnamed clone cards have also been known to work, especially those that claim to be AST compatible. A Dibiboard driver is currently in alpha stage. If you want to test it, take the file in <url url="ftp://freefall.FreeBSD.ORG/pub/incoming" name="the incoming directory"> Check the <tt/sio(4)/ man page to get more information on configuring such cards. <sect1> <heading>Does FreeBSD support the AHA-2xxx SCSI adapters from Adaptec?</heading> <p> FreeBSD supports the AHA-2xxx line of disks. The GPL portions of the old drivers have been re-written and now it is fully under the Berkeley style copyright. <sect1> <heading>I have a Mumbleco bus mouse. Is it supported and if so, how do I set it up for XFree86?</heading> <p> FreeBSD supports the Logitech and ATI Inport bus mice. You need to add the following line to the kernel config file and recompile for the Logitech and ATI mice: <verb> device mse0 at isa? port 0x23c tty irq5 vector mseintr </verb> <sect1> <heading>I have a PS/2 mouse (``keyboard'' mouse) (Alternatively: I have a laptop with a track-ball mouse). How do I use it?</heading> <p> You'll have to add the following lines to your kernel configuration file and recompile: <verb> device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr # Options for psm: options PSM_NO_RESET #don't reset mouse hardware (some laptops) </verb> <sect1> <heading>What types of tape drives are supported under FreeBSD?</heading> <p> FreeBSD supports SCSI, QIC-02 and QIC-40/80 (Floppy based) tape drives. This includes 8-mm (aka Exabyte) and DAT drives. <sect1> <heading>What sound cards are supported by FreeBSD?</heading> <p> FreeBSD supports the SoundBlaster, SoundBlaster Pro, SoundBlaster 16, Pro Audio Spectrum 16, AdLib and Gravis UltraSound sound cards. There is also limited support for MPU-401 and compatible MIDI cards. The SoundBlaster 16 ASP cards are not yet supported. The Microsoft Sound System is also supported. <bf/NOTE/ This is only for sound! This driver does not support CD-ROMs, SCSI or joysticks on these cards. <sect1> <heading>What network cards does FreeBSD support?</heading> <p> There is support for the following cards: <descrip> <tag/``de'' driver/ DEC DC21x40 and compatible PCI controllers<newline> (including 21140 100bT cards) <newline> <tag/``ed'' driver/ NE2000 and 1000<newline> WD/SMC 8003, 8013 and Elite Ultra (8216)<newline> 3Com 3c503 <newline> And clones of the above <newline> <tag/``le'' driver/ DEC EtherWORKS II and EtherWORKS III controllers. <newline> <tag/``ie'' driver/ AT&T EN100/StarLAN 10 <newline> 3COM 3c507 Etherlink 16/TP<newline> NI5210 <newline> <tag/``is'' driver/ Isolan AT 4141-0 <newline> Isolink 4110 <newline> <tag/``el'' driver/ 3com 3c501 (does not support Multicast or DMA) <tag/``eg'' driver/ 3com 3c505 Etherlink/+ <tag/``ze'' driver/ IBM PCMCIA credit card adapter <tag/``lnc'' drive/ Lance/PCnet cards (Isolan, Novell NE2100, NE32-VL)(*) <tag/``ep'' driver/ 3com 3c509 <tag/``ix'' driver/ Intel InterExpress <tag/``cx'' driver/ Cronyx/Sigma multiport Sync/Async (Cisco and PPP framing) <tag/``zp'' driver/ 3Com PCMCIA Etherlink III (aka 3c589) <tag/``fea'' driver/ DEC DEFEA EISA FDDI controller <tag/``fpa'' driver/ DEC DEFPA PCI FDDI controller <tag/``fe'' driver/ Fujitsu MB86960A/MB86965A Ethernet cards </descrip> <bf/NOTE/ PCMCIA ethernet cards from IBM and National Semiconductor. <bf/NOTE/ Drivers marked with (*) are known to have problems. <bf/NOTE/ We also support TCP/IP over parallel lines. At this point we are incompatiable with other versions, but we hope to correct this in the near future. <sect1> <heading>I have a 386/486sx/486SLC machine without a math co-processor. Will this cause me any problems?</heading> <p> Generally no, but there are circumstances where you will take a hit, either in performance or accuracy of the math emulation code (see the section <ref id="emul" name="on FP emulation">). In particular, drawing arcs in X will be VERY slow. It is highly recommended that you buy a math co-processor; it's well worth it. <bf/NOTE/ Some math co-processors are better than others. It pains us to say it, but nobody ever got fired for buying Intel. Unless you're sure it works with FreeBSD, beware of clones. <sect1> <heading>What other devices does 2.X support?</heading> <p> Here is a listing of drivers that do not fit into any of the above areas. <descrip> <tag><tt/b004.c/</tag> Driver for B004 compatiable Transputer boards <newline> <tag>``ctx'' driver</tag> Driver for CORTEX-I Frame grabber <newline> <tag>``gp'' driver</tag> Driver for National Instruments AT-GPIB and<newline> AT-GPIB/TNT boards <tag>``pca'' driver</tag> Driver for PC speakers to allow the playing of audio files <tag>``spigot'' driver</tag> Driver for the Creative Labs Video Spigot <tag>``gsc'' driver</tag> Driver for the Genuis GS-4500 Hand scanner <tag>``joy'' driver</tag> Driver for a joystick <tag/``labpc'' driver/ Driver for National Instrument's Lab-PC and Lab-PC+ <tag/``uart'' driver/ Stand-alone 6850 UART for MIDI <tag/``nic'' driver/ Dr Neuhaus NICCY 3008, 3009 & 5000 ISDN cards <tag/``psm'' driver/ PS/2 mouse port <tag><tt/tw.c/</tag> Driver for the X-10 POWERHOUSE <newline> </descrip> <sect1> <heading>I am about to buy a new machine to run FreeBSD on and want an idea of what other people are running. Is there list of other systems anywhere?</heading> <p> Yes. Please look at the file <tt>Systems.FAQ</tt>. This file is a listing of hardware that people are running in their machines. Please note, this is a raw listing of equipment that other users have sent in, and does not constitute any kind of endorsement by the FreeBSD Project. <sect1> <heading>I have a lap-top with power management. Can FreeBSD take advantage of this?</heading> <p> Yes it can on certain machines. Please look in the <tt/LINT/ kernel config file under <tt/APM/. <sect> <heading>Commercial Applications</heading> <p> <bf/NOTE/ This section is still very sparse, though we're hoping, of course, that companies will add to it! :) The FreeBSD group has no financial interest in any of the companies listed here but simply lists them as a public service (and feels that commercial interest in FreeBSD can have very positive effects on FreeBSD's long-term viability). We encourage commercial software vendors to send their entries here for inclusion. <sect1> <heading>Where can I get Motif for FreeBSD?</heading> <p> Contact the following company: Lasermoon Ltd<newline> 2a Beaconsfield Road<newline> Fareham, Hants<newline> England. PO16 0QB<newline> Phone: +44 (01) 329 834944<newline> FAX: +44 (0) 329 825936<newline> Email: <url url="mailto:info@lasermoon.co.uk" name="Info Address"> <sect1> <heading>Are there any commercial X servers for some of the high-end graphics cards like the Matrox or #9 I-128, or offering 8/16/24 bit deep pallettes?<label id="xinside"></heading> <p> Yes, X Inside Incorporated sells their Accelerated-X product for FreeBSD and other Intel based systems. This high performance X Server offers easy configuration, support for multiple concurrent video boards and is distributed in binary form only. Price is $99.50 (promotional price for Linux/FreeBSD version) for the 1.1 version, which is available now. This product is for FreeBSD 1.1 and runs under 2.0 with the FreeBSD 1.1 compatibility libs (``<tt/compat1xdist/''). <descrip> <tag/More info/ <url url="http://www.xinside.com/" name="X inside WWW page"> <tag/or/ <url url="ftp://ftp.xinside.com/accelx/1.1/prodinfo.txt" name="Products information"> <tag/or/ <url url="mailto:info@xinside.com" name="Info E-mail address"> <tag/or/ phone +1(303)384-9999 </descrip> <sect1> <heading>Are there any Database systems for FreeBSD?</heading> <p> Yes! Conetic Software Systems has ported their C/base and C/books datebase systems to FreeBSD 2.0.5 and higher. <descrip> <tag/For more information/ <url url="http://www.conetic.com/" name="Conetic Software Systems"> <tag/or mail/ <url url="mailto:info@conetic.com" name="Information E-mail address"> </descrip> <sect1> <heading>Any other applications I might be interested in?</heading> <p> RenderMorphics, Ltd. sells a high-speed 3D rendering package for FreeBSD called ``Reality Lab'' (tm). Send email to <url url="mailto:info@render.com" name="info@render.com"> or call: +44(0)71-251-4411 / FAX: +44(0)71-251-0939 This package is also for FreeBSD 1.1.5 but has been tested and shown to run under FreeBSD 2.0 with the ``<tt/compat1xdist/'' installed. Thanks must be extended to all of these companies for showing enough faith in FreeBSD to port their products to it. While we get no direct benefit from the sales of these products, the indirect benefits of FreeBSD proving itself to be a successful platform for such commercial interests will be immense! We wish these companies every measure of success, and can only hope that others are encouraged to follow suit. </sect1> <sect> <heading>User Applications</heading> <sect1> <heading>I want to run X, how do I go about it?</heading> <p> First, get the XFree86(tm) distribution of X11R6 from <tt/XFree86.cdrom.com/ The version you want for FreeBSD 2.X and later is <tt/XFree86 3.1.1/. Follow the instructions for installation carefully. You may then wish to read the documentation for the <tt/ConfigXF86/ tool, which assists you in configuring XFree86(tm) for your particular graphics card/mouse/etc. You may also wish to investigate the Xaccel server, which is available at a very reasonable price. See section <ref id="xinside" name="on Xaccel"> for more details. <sect1> <heading>I've been trying to run ghostscript on a 386 (or 486sx) with no math co-processor and I keep getting errors. What's up?<label id="emul"></heading> <p> You will need to add the alternate math emulator to your kernel, you do this by adding the following to your kernel config file and it will be compiled in. <verb> options GPL_MATH_EMULATE </verb> <bf/NOTE/ You will need to remove the <tt/MATH_EMULATE/ option when you do this. <sect1> <heading>I want all this neat software, but I haven't got the space or CPU power to compile it all myself. Is there any way of getting binaries?</heading> <p> Yes. We support the concept of a ``package'', which is essentially a gzipped binary distribution with a little extra intelligence embedded in it for doing any custom installation work required. Packages can also be installed or deinstalled again easily without having to know the gory details. CDROM people will have a <tt>packages/</tt> directory on their CD, others can get the currently available packages from: <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages" name="FreeBSD's packages"> Note that all ports may not be available as packages, and that new packages are constantly being added. It is always a good idea to check periodically to see which packages are available. A <tt/README/ file in the packages directory provides more details on the care and feeding of the package software, so no explicit details will be given here. <sect> <heading>Miscellaneous Questions</heading> <p> <sect1> <heading>Hey! Chmod doesn't change the file permissions of symlinked files! What's going on?</heading> <p> You have to use either ``<tt/-H/'' or ``<tt/-L/'' together with the ``<tt/-R/'' option to make this work. See the <tt/chmod(1)/ and <tt/symlink(7)/ man pages for more info. <bf/WARNING/ the ``<tt/-R/'' option does a <bf/RECURSIVE/ <tt/chmod/. Be careful about specifying directories or symlinks to directories to <tt/chmod/. If you want to change the permissions of a directory referenced by a symlink, use <tt/chmod(1)/ without any options and follow the symlink with a trailing slash (``<tt>/</tt>''). For example, if ``<tt/foo/'' is a symlink to directory ``<tt/bar/'', and you want to change the permissions of ``<tt/foo/'' (actually ``<tt/bar/''), you would do something like: <verb> chmod 555 foo/ </verb> With the trailing slash, <tt/chmod/ will follow the symlink, ``<tt/foo/'', to change the permissions of the directory, ``<tt/bar/''. <sect1> <heading>How do I mount a CDROM? I've tried using <tt/mount(8)/, but it keeps on giving me an error like, ``<tt>/dev/cd0a on /mnt: Incorrect super block.</tt>''</heading> <p> You have to tell <tt/mount(8)/ the type of the device that you want to mount. By default, <tt/mount(8)/ will assume the filesystem is of type ``<tt/ufs/''. You want to mount a CDROM filesystem, and you do this by specifying the ``<tt/-t cd9660/'' option to <tt/mount(8)/. This does, of course, assume that the CDROM contains an ISO 9660 filesystem, which is what most CDROMs have. As of 1.1R, FreeBSD also understands the Rock Ridge (long filename) extensions. As an example, if you want to mount the CDROM device, ``<tt>/dev/cd0c</tt>'', under <tt>/mnt</tt>, you would execute: <verb> mount -t cd9660 /dev/cd0c /mnt </verb> Note that your device name (``<tt>/dev/cd0c</tt>'' in this example) could be different, depending on the CDROM interface. Note that the ``<tt/-t cd9660/'' option just causes the ``<tt/mount_cd9660/'' command to be executed, and so the above example could be shortened to: <verb> mount_cd9660 /dev/cd0c /mnt </verb> <sect1> <heading>When I try to mount a CDROM, I get a ``Device not configured'' error. What's going on?</heading> <p> This generally means that there is no CDROM in the CDROM drive. Feed the drive something. <sect1> <heading>My programs occasionally die with ``Signal 11'' errors. What's going on?</heading> <p> This can be caused by bad hardware (memory, motherboard, etc.). Try running a memory-testing program on your PC. Note that, even though every memory testing program you try will report your memory as being fine, it's possible for slightly marginal memory to pass all memory tests, yet fail under operating conditions (such as during busmastering DMA from a SCSI controller like the Adaptec 1542). <sect1> <heading>Help, some of my X Window menus and dialog boxes don't work right! I can't select them.</heading> <p> Try turning off the Num Lock key. If your Num Lock key is on by default at boot-time, you may add the following line in the ``<tt/Keyboard/'' section of the <tt/XF86config/ file. <verb> # Let the server do the NumLock processing. This should only be required # when using pre-R6 clients ServerNumLock </verb> <sect1> <heading>How do I access the virtual consoles?</heading> <p> If the console is not currently displaying X Window, just press Alt-F1 to Alt-F12. <bf/NOTE/ the default FreeBSD installation has only three (3) virtual consoles enabled, and so only Alt-F1, Alt-F2, and Alt-F3 will work to switch between three virtual consoles. If you want to increase this number, see the next question. If the console is currently displaying X Window, you can use Ctrl-Alt-F1, etc. to switch to a virtual console. Note, however, that once you've switched away from X Window to a virtual terminal, you use only the Alt- function key to switch to another virtual terminal or back to X Window. You do not also press the Ctrl key; the Ctrl-Alt-function key combination is used only when switching from X Window to a virtual terminal. <sect1> <heading>How do I increase the number of virtual consoles?</heading> <p> Edit <tt>/etc/ttys</tt> and add entries for ``<tt/ttyv4/'' to ``<tt/ttyvc/'' after the comment on ``Virtual terminals'' (delete the leading whitespace in the following example): <verb> # Edit the existing entry for ttyv3 in /etc/ttys and change # "off" to "on". ttyv3 "/usr/libexec/getty Pc" cons25 on secure ttyv4 "/usr/libexec/getty Pc" cons25 on secure ttyv5 "/usr/libexec/getty Pc" cons25 on secure ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/libexec/getty Pc" cons25 on secure ttyv9 "/usr/libexec/getty Pc" cons25 on secure ttyva "/usr/libexec/getty Pc" cons25 on secure ttyvb "/usr/libexec/getty Pc" cons25 on secure </verb> Use as many or as few as you want. The more virtual terminals you have, the more resources that are used; this can be important if you have 8MB RAM or less. You may also want to change the ``<tt/secure/'' to ``<tt/insecure/''. <bf/IMPORTANT NOTE/ if you want to run X Window, you <bf/MUST/ leave a virtual terminal unused (or turned off). For example, if you want to attach a virtual terminal to all of your twelve Alt-function keys, you can only attach virtual terminals to eleven of them. The last must be left unused, because X Windows will use it, and you will use the last Alt-function key to switch back to X Window (after you have switched from X Window to a virtual console via a Ctrl-Alt-function key). The easiest way to do this is to disable a console by turning it off. For example, if you have a keyboard with twelve function keys, you would change settings for virtual terminal 12 from: <verb> ttyvb "/usr/libexec/getty Pc" cons25 on secure </verb> to: <verb> ttyvb "/usr/libexec/getty Pc" cons25 off secure </verb> If your keyboard has only ten function keys, you would end up with: <verb> ttyv9 "/usr/libexec/getty Pc" cons25 off secure ttyva "/usr/libexec/getty Pc" cons25 off secure ttyvb "/usr/libexec/getty Pc" cons25 off secure </verb> (You could also just delete these lines.) Once you have edited <tt>/etc/ttys</tt>, the next step is to make sure that you have enough virtual terminal devices. The easiest way to do this is: <verb> cd /dev ./MAKEDEV vty12 # For 12 devices </verb> Next, the easiest (and cleanest) way to activate the virtual consoles is to reboot. However, if you really don't want to reboot, you can just shut down X Window and execute (as <tt/root/): <verb> kill -HUP 1 </verb> It's imperative that you completely shut down X Window if it is running, before running this command. If you don't, your system will probably appear to hang/lock up after executing the kill command. <sect1> <heading>I've heard of something called FreeBSD-current. How do I run it, and where can I get more information?</heading> <p> Read this: <url url="http://www.freebsd.org/How/handbook/handbook175.html" name="Handook's section of FreeBSD-CURRENT"> it will tell you all you need to know. <sect1> <heading>What is this thing called ``<tt/sup/'', and how do I use it?</heading> <p> SUP stands for Software Update Protocol, and was developed by CMU for keeping their development trees in sync. We use it to keep remote sites in sync with our central development sources. Unless you have direct internet connectivity, and don't care too much about the cost/duration of the sessions, you shouldn't use sup. For those ``low/expensive-bandwidth'' applications, we have developed <tt/CTM/, see the section <ref id="ctm" name="on CTM"> for more about that. To use it, you need to have direct internet connectivity (not just mail or news). First, pick up the <tt/sup.tgz/ package from: <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages/sup.tgz" name="The SUP package"> Second, read the <url url="http://www.freebsd.org/How/handbook/handbook188.html#333" name="Handbook's section on SUP"> This file describes how to setup sup on your machine. You may also want to look at <sect1><heading>Has anyone done any temperature testing while running FreeBSD? I know linux runs cooler than dos, but have never seen a mention of FreeBSD. It seems to run really hot</heading> <p> No, but we have done numerous taste tests on blindfolded volunteers who have also had 250 micrograms of LSD-25 administered beforehand. 35% of the volunteers said that FreeBSD tasted sort of orange, whereas Linux tasted like purple haze. Neither group mentioned any particular variances in temperature that I can remember. We eventually had to throw the results of this survey out entirely anyway when we found that too many volunteers were wandering out of the room during the tests, thus skewing the results. I think most of the volunteers are at Apple now, working on their new ``scratch and sniff'' GUI. It's a funny old business we're in! <sect1><heading>Is there anything "odd" that FreeBSD does when compiling the kernel which would cause the memory to make a scratchy sound? When compiling (and for a brief moment after recognizing the floppy drive upon startup, as well), a strange scratchy sound emanates from what appears to be the memory banks.</heading> <p> Yes! You'll see frequent references to ``daemons'' in the BSD documentation, and what most people don't know is that this refers to genuine, non-corporeal entities that now possess your computer. The scratchy sound coming from your memory is actually high-pitched whispering exchanged among the daemons as they best decide how to deal with various system administration tasks. If the noise gets to you, a good ``<tt>fdisk /mbr</tt>'' from DOS will get rid of them, but don't be surprised if they react adversely and try to stop you. In fact, if at any point during the exercise you hear the satanic voice of Bill Gates coming from the built-in speaker, take off running and don't ever look back! Freed from the counterbalancing influence of the BSD daemons, the twin demons of DOS and Windows are often able to re-assert total control over your machine to the eternal damnation of your soul. Given a choice, I think I'd prefer to get used to the scratchy noises, myself! <tt>/usr/src/share/examples/sup/*-supfile</tt>, or you may grab updated supfiles from: <url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FAQ/extras" name="Updated SUP files"> which are a set of supfiles for supping from <tt/FreeBSD.ORG/. <sect1> <heading>How do I create customized installation disks that I can give out to other people at my site?</heading> <p> The entire process of creating installation disks and source and binary archives is automated by various targets in <tt>/usr/src/release/Makefile</tt>. The information there should be enough to get you started. <sect1> <heading>How do I re-build my system without clobbering the existing installed binaries?</heading> <p> If you define the environment variable <tt/DESTDIR/ while running ``<tt/make world/'' or ``<tt/make install/'', the newly-created binaries will be deposited in a directory tree identical to the installed one, rooted at <tt>${DESTDIR}</tt>. Some random combination of shared libraries modifications and program rebuilds can cause this to fail in ``<tt/make world/'', however. <sect1> <heading>When my system booted, it told me that ``(bus speed defaulted)''. What does that mean?</heading> <p> The Adaptec 1542 SCSI host adapters allow the user to configure their bus access speed in software. Previous versions of the 1542 driver tried to determine the fastest usable speed and set the adapter to that. We found that this breaks some users' systems, so you now have to define the ``<tt/TUNE_1542/'' kernel configuration option in order to have this take place. Using it on those systems where it works may make your disks run faster, but on those systems where it doesn't, your data could be corrupted. <sect1> <heading>I would like to track changes to current and do not have net access. Is there any way besides downloading the whole tree?<label id="ctm"></heading> <p> Yes, you can use the <tt/CTM/ facility. Check out the <url url="http://www.freebsd.org/How/handbook/handbook/handbook180.html#325" name="Handbook's section on for CTM"> for more information. <sect1> <heading>How do I split up large binary files into smaller 240k files like the distribution does?</heading> <p> Newer BSD based systems have a ``<tt/-b/'' option to split that allows them to split files on arbitary byte bondaries. Here is an example from <tt>/usr/src/Makefile</tt>. <verb> bin-tarball: (cd ${DISTDIR}; \ tar cf - . \ gzip --no-name -9 -c | \ split -b 240640 - \ ${RELEASEDIR}/tarballs/bindist/bin_tgz.) </verb> <sect1> <heading><XXX> I've had a couple of system panics and would like to be able browse the system dumps. The normal kernel is stripped and I don't want to run a bloated kernel. What can I do?</heading> <sect1> <heading>I've got this neato kernel extension I just know everyone will will want. How do I get it included into the distribution?</heading> <p> Please take a look at the FAQ for submiting code to FreeBSD at: <url url="http://www.FreeBSD.ORG/How/handbook/handbook199.html#344" name="Handbbook's section on how to submit code">. And thanks for the thought. </sect1> <sect> <heading>Kernel Configuration</heading> <p> <sect1> <heading>Ok, so how DO I compile my own kernel, anyway?<label id="make-kernel"></heading> <p> Before you can compile a kernel, you need either the complete <tt/srcdist/ or, at the minimum, the <tt/kerndist/ loaded on your system. This provides the necessary sources for building the kernel, as we have a policy of <bf/NOT/ shipping our kernels in linkable object form as most commercial UNIX vendors do. Shipping the source takes a bit more space, but it also means that you can refer to the actual kernel sources in case of difficulty or to further your understanding of what's <bf/actually/ happening. Anyway, to answer the question, once you have the <tt/kerndist/ or <tt/srcdist/ loaded, do this: <enum> <item> <tt>cd /usr/src/sys/i386/conf</tt> <item> <tt/cp GENERIC MYKERNEL/ <item> <tt/vi MYKERNEL/ <item> <tt/config MYKERNEL/ <item> <tt>cd ../../compile/MYKERNEL</tt> <item> <tt/make depend/ <item> <tt/make all/ <item> <tt/make install/ <item> <tt/reboot/ </enum> Step 2 may not be necessary if you already have a kernel configuration file from a previous release of FreeBSD 2.X. - simply bring your old one over and check it carefully for any drivers that may have changed boot syntax or been rendered obsolete. A good kernel config file to look into is <tt/LINT/, which contains entries for <bf/all/ possible kernel options and documents them fairly well. The <tt/GENERIC/ kernel config file is used to build the initial release you probably loaded (unless you upgraded in-place) and contains entries for the most common configurations. It's a pretty good place to start from. If you don't need to make any changes to <tt/GENERIC/, you can also skip step 3, where you customize the kernel for your configuration. Step 7 should only be undertaken if step 6 succeeds. This will copy the new kernel image to <tt>/kernel</tt> and <bf/BACK UP YOUR OLD ONE IN/ <tt>/kernel.old</tt>! It's very important to remember this in case the new kernel fails to work for some reason - you can still select <tt>/kernel.old</tt> at the boot prompt to boot the old one. When you reboot, the new kernel will boot by default. If the compile in 6 falls over for some reason, then it's recommended that you start from step 4 but substitute <tt/GENERIC/ for <tt/MYKERNEL/. If you can generate a <tt/GENERIC/ kernel, then it's likely something in your special configuration file that's bad (or you've uncovered a bug!). If the build of the <tt/GENERIC/ kernel does <bf/NOT/ succeed, then it's very likely that your sources are somehow corrupted. Finally, if you need to see your original boot messages again to compile a new kernel that's better tailored to your hardware, try the <tt/dmesg(8)/ command. It should print out all the boot-time messages printed by your old kernel, some of which may be quite helpful in configuring the new one. <sect1> <heading>When I compile a kernel with multi-port serial code, it tells me that only the first port is probed and the rest skipped due to interrupt conflicts. How do I fix this?</heading> <p> The problem here is that FreeBSD has code built-in to keep the kernel from getting trashed due t hardware or software conflicts. The way to fix this is to leave out the IRQ settings on other ports besides the first. Here is a example: <verb> # # Multiport high-speed serial line - 16550 UARTS # device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr </verb> <sect1> <heading>FreeBSD is supposed to come with support for QIC-40/80 drives but when I look, I can't find it.</heading> <p> You need to uncomment the following line in the generic config file (or add it to your config file), add a ``<tt/flags 0x1/'' on the <tt/fdc/ line and recompile. <verb> controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr disk fd0 at fdc0 drive 0 ^^^^^^^^^ disk fd1 at fdc0 drive 1 #tape ft0 at fdc0 drive 2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ </verb> Next, you create a device called <tt>/dev/ft0</tt> by going into <tt>/dev</tt> and run the following command: <verb> sh MAKEDEV ft0 </verb> for the first device. <tt/ft1/ for a second one and so on. You will have a device called <tt>/dev/ft0</tt>, which you can write to through a special program to manage it called ``<tt/ft/'' - see the man page on <tt/ft/ for further details. Versions previous to <tt/-current/ also had some trouble dealing wiht bad tape media; if you have trouble where <tt/ft/ seems to go back and forth over the same spot, try grabbing the latest version of <tt/ft/ from <tt>/usr/src/sbin/ft</tt> in <tt/-current/ and try that. <sect1> <heading>Does FreeBSD support IPC primitives like those in System V?</heading> <p> Yes, FreeBSD supports System V-style IPC. This includes shared memory, messages and semaphores. You need to add the following lines to your kernel config to enable them. <verb> options SYSVSHM options "SHMMAXPGS=64" # 256Kb of sharable memory options SYSVSEM # enable for semaphores options SYSVMSG # enable for messaging </verb> Recompile and install. <sect1> <heading>Will FreeBSD ever support other architectures?</heading> <p> Several different groups have expressed interest in working on multi-architecture support for FreeBSD. If you are interested in doing so, please contact the developers at <tt><platforms@FreeBSD.ORG></tt> for more information on our strategy for porting. <sect1> <heading>I just wrote a device driver for a Foobar Systems, Inc. Integrated Adaptive Gronkulator card. How do I get the appropriate major numbers assigned?</heading> <p> This depends on whether or not you plan on making the driver publicly available. If you do, then please send us a copy of the driver source code, plus the appropriate modifications to <tt>files.i386</tt>, a sample configuration file entry, and the appropriate <tt>MAKEDEV</tt> code to create any special files your device uses. If you do not, or are unable to because of licensing restrictions, then character major number 32 and block major number 8 have been reserved specifically for this purpose; please use them. In any case, we'd appreciate hearing about your driver on <tt><hackers@FreeBSD.ORG></tt>. </sect1> <sect> <heading>System Administration</heading> <sect1> <heading>Hmm, where are my familiar BSD system files ? What's this <tt>/etc/sysconfig</tt> thing?</heading> <p> As for 2.0.5R, the primary configuration file is <tt>/etc/sysconfig</tt>. All the options are to be specified in this one and the other one (<tt>/etc/rc</tt> and <tt>/etc/netstart</tt>) just include it. Look in the <tt>/etc/sysconfig</tt> file and change the value to match your system. This file is filled with comments to show what to put in there. The <tt>/etc/rc.local</tt> is here as always and is the place to put additional services like <tt/INN/ or a <tt/http/ server. The <tt>/etc/rc.serial</tt> is for serial port initialization (e.g. locking the port characterictics, and so on.). The <tt>/etc/rc.i386</tt> is for Intel-specifics setting like the iBCS2 emulation. Starting with 2.1.0R, you can have "local" startup files in a directory specified in <tt>/etc/sysconfig</tt>: <verb> # Location of local startup files. local_startup=/usr/local/etc/rc.local.d </verb> Each file ending in <tt/.sh/ will be executed in alphabetic order. If you want to have a proper order without changing all the file names, you can use a scheme similar to the following with digits prepended to each file name to insure order: <verb> 10news.sh 15httpd.sh 20ssh.sh </verb> It can be seen as ugly (or SysV :-)) but it provides a simple and regular scheme for locally-added packages without resorting to magical editing of <tt>/etc/rc.local</tt>. <sect1> <heading>How do I add a user easily? I read the man page and am more confused than ever!</heading> <p> Use the <tt/adduser/ command. There is another package called ``<tt/new-account/'' also written in Perl by Ollivier Robert. Ask <tt><roberto@FreeBSD.ORG></tt> about it. It is currently under further development. <sect1> <heading>I'm trying to use my printer and keep running into problems. I tried looking at <tt>/etc/printcap</tt>, but it's close to useless. Any ideas?</heading> <p> Please have a look at the section of the Handbook on printing. It should cover most of your problem. See <url url="http://www.freebsd.org/How/handbook/handbook85.html#132" name="Handbook's section on printing"> </sect1> <sect1> <heading>My keyboard mappings are wrong for my system. How can I fix them?</heading> <p> The kbdcontrol program has an option to load a keyboard map file. Under <tt>/usr/share/syscons/keymaps</tt> are a number of map files. Choose the one relevant to your system and load it. <verb> kbdcontrol -l uk.iso </verb> Both the <tt>/usr/share/syscons/keymaps</tt> and the <tt/.kbd/ extension are assumed by <tt/kbdcontrol(1)/. This can be configured in <tt>/etc/sysconfig</tt>. See the appropriate comments in tis file. In 2.0.5R and later, everything related to text fonts, keyboard mapping is in <tt>/usr/share/examples/syscons</tt>. The following mappings are currently supported: <itemize> <item>Danish (both ISO and cp865), <item>French (ISO only), <item>German (both ISO and cp850), <item>Russian, <item>Swedish (both ISO and cp850), <item>U.K. (both ISO and cp850), <item>Spain, <item>U.S.A. (ISO only), <item>Dvorak US. </itemize> </sect1> <sect1> <heading>Why do I get a ``CMAP busy panic during boot just after installing a new kernel?</heading> <p> The logic that attempts to detect an out of data <tt>/var/db/kvm_*.db</tt> files sometimes fails and using a mismatched file can sometimes lead to panics. If this happens, reboot single-user and do: <verb> rm /var/db/kvm_*.db </verb> <sect1> <heading>I'm trying to use quotas for my users and it keeps bombing...</heading> <p> <enum> <item>Don't turn on quotas on '/', <item>Put the quota file on the file system that the quotas are to be enforced on. ie: <verb> FS QUOTA FILE /usr /usr/admin/quotas /home /home/admin/quotas ... </verb> </enum> <sect> <heading>Networking</heading> <sect1> <heading>Where can I get information booting FreeBSD ``diskless'', that is booting and running a FreeBSD box from a server rather than having a local disk?</heading> <p> Please read the diskless section in the Handbook. It is in <tt>/usr/share/doc/handbook</tt> or use the following WWW link: <url url="http://www.FreeBSD.ORG/How/handbook/diskless.html" name="Handbook's section on diskless boot"> <sect1> <heading>I've heard that you can use a FreeBSD box as a dedicated network router - is there any easy support for this?</heading> <p> Internet standards and good engineering practice prohibit us from providing packet forwarding by default in FreeBSD. You can however enable this feature by changing the following variable to <tt/YES/ in <tt>/etc/sysconfig</tt>: <verb> # If you want this host to be a gateway, set to YES. gateway=YES </verb> This option will put the <tt/sysctl/ variable <tt/net.inet.ip.forwarding/ to <tt/1/. In most cases, you will also need to run a routing process to tell other systems on your network about your router; FreeBSD comes with the standard BSD routing daemon <tt/routed(8)/, or for more complex situations you may want to try <em/GaTeD/ (available by FTP from <tt/ftp.gated.Merit.EDU/) which supports FreeBSD as of 3_5Alpha7. It is our duty to warn you that, even when FreeBSD is configured in this way, it does not completely comply with the Internet standard requirements for routers; however, it comes close enough for ordinary usage. <sect1> <heading>Does FreeBSD support SLIP and PPP?</heading> <p> Yes. See the man pages for <tt/slattach(8)/ and/or <tt/pppd(8)/ if you're using FreeBSD to connect to another site. If you're using FreeBSD as a server for other machines, look at the man page for <tt/sliplogin(8)/. You can also have a look at the SLIP/PPP/Use PPP sections of the handbook in <tt>/usr/share/doc/handbook</tt> or use the following link: <url url="http://www.FreeBSD.ORG/How/handbook/handbook136.html#272" name="Handbook's section on SLIP and PPP"> <sect1> <heading>How do I get my network set up? I don't see how to make my <tt>/dev/ed0</tt> device!</heading> <p> In the Berkeley networking framework, network interfaces are only directly accessible by kernel code. Please see the <tt>/etc/netstart</tt> file and the manual pages for the various network programs mentioned there for more information. If this leaves you totally confused, then you should pick up a book describing network administration on another BSD-related operating system; with few significant exceptions, administering networking on FreeBSD is basically the same as on SunOS 4.0 or Ultrix. <sect1> <heading>How can I setup Ethernet aliases ? It always says: ``File exists''.</heading> <p> Add ``<tt/netmask 0xffffffff/'' to your <tt/ifconfig/ command-line like the following: <verb> ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff </verb> <sect1> <heading>How do I get my 3C503 to use the other network port?</heading> <p> If you want to use the other ports, you'll have to specify an additional parameter on the <tt/ifconfig(1)/ command line. The default port is ``<tt/link0/''. To use the AUI port instead of the BNC one, use ``<tt/link2/''. <sect1> <heading>I'm having problems with NFS to/from FreeBSD and my Wuffotronics Workstation / generic NFS appliance, where should I look first?</heading> <p> Certain PC network cards are better than others (to put it mildly) and can sometimes cause problems with network intensive applications like NFS. See <url url="http://www.freebsd.org/How/handbook/handbook167.html#312" name="Handbook's section NFS"> for more information on this topic. <sect1> <heading>Why can't I NFS-mount from a Linux box?</heading> <p> Some versions of the Linux NFS code only accept mount requests from a priviledged 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 priviledged port; try <verb> mount -o -P sunbox:/blah /mnt </verb> <sect1><heading>I'm having problems with my NeXTStep machines and other FreeBSD ones accross PPP</heading> <p> Try disabling the TCP extentions in <tt>/etc/sysconfig</tt> by changing the following variable to NO: <verb> tcp_extensions=NO </verb> <sect1> <heading>I want to enable IP multicast support on my FreeBSD box, how do I do it? (Alternatively: What the heck IS multicasting and what applications make use of it?)</heading> <p> Multicast host operations are fully supported in FreeBSD 2.0 by default. If you want your box to run as a multicast router, you will need to load the <tt/ip_mroute_mod/ loadable kernel module and run <tt/mrouted/. For more information: <verb> Product Description Where --------------- ----------------------- --------------------------------------- faq.txt Mbone FAQ ftp.isi.edu:/mbone/faq.txt imm/immserv IMage Multicast ftp.hawaii.edu:/paccom/imm.src.tar.Z for jpg/gif images. nv Network Video. ftp.parc.xerox.com: /pub/net-reseach/exp/nv3.3alpha.tar.Z vat LBL Visual Audio Tool. ftp.ee.lbl.gov: /conferencing/vat/i386-vat.tar.Z wb LBL White Board. ftp.ee.lbl.gov: /conferencing/wb/i386-wb.tar.Z mmcc MultiMedia Conference ftp.isi.edu: Control program /confctrl/mmcc/mmcc-intel.tar.Z rtpqual Tools for testing the ftp.psc.edu:/pub/net_tools/rtpqual.c quality of RTP packets. vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z and nv. </verb> </sect1> <sect> <heading>Serial Communications</heading> <p> This section answers common questions about serial communications with FreeBSD. <sect1> <heading>How do I tell if FreeBSD found my serial ports or modem cards?</heading> <p> As the FreeBSD kernel boots, it will probe for the serial ports in your system for which the kernel was configured. You can either watch your system closely for the messages it prints or run the command <verb> dmesg | grep sio </verb> after your system's up and running. Here's some example output from the above command: <verb> sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A </verb> This shows two serial ports. The first is on irq 4, is using port address <tt/0x3f8/, and has a 16550A-type UART chip. The second uses the same kind of chip but is on irq 3 and is at port address <tt/0x2f8/. Internal modem cards are treated just like serial ports---except that they always have a modem ``attached'' to the port. The <tt/GENERIC/ kernel includes support for two serial ports using the same irq and port address settings in the above example. If these settings aren't right for your system, or if you've added modem cards or have more serial ports than your kernel is configured for, just reconfigure your kernel. See section <ref id="make-kernel" name="about building a kernel"> for more details. <sect1> <heading>Hey, I just upgraded to 2.0.5 and my <tt/tty0X/ are missing!</heading> <p> Don't worry, they have been merged with the <tt/ttydX/ devices. You'll have to change old configuration files. <sect1> <heading>How do I access the serial ports once FreeBSD is running?</heading> <p> The third serial port, <tt/sio2/ (known as COM3 in DOS), is on <tt>/dev/cuaa2</tt> for dial-out devices, and on <tt>/dev/ttyd2</tt> for dial-in devices. What's the difference between these two classes of devices? You use <tt/ttydX/ for dial-ins. When opening <tt>/dev/ttydX</tt> in blocking mode, a process will wait for the corresponding <tt/cuaaX/ device to become inactive, and then wait for the carrier detect line to go active. When you open the <tt/cuaaX/ device, it makes sure the serial port isn't already in use by the <tt/ttydX/ device. If the port's available, it ``steals'' it from the <tt/ttydX/ device. Also, the <tt/cuaXX/ device doesn't care about carrier detect. With this scheme and an auto-answer modem, you can have remote users log in and you can still dialout with the same modem and the system will take care of all the conflicts. <sect1> <heading>How do I configure the kernel for my multiport serial card?</heading> <p> Again, the section on kernel configuration provides information about configuring your kernel. For a multiport serial card, place an <tt/sio/ line for each serial port on the card in the kernel configuration file. But place the irq and vector specifiers on only one of the entries. All of the ports on the card should share one irq. For consistency, use the last serial port to specify the irq. Also, specify the <tt/COM_MULTIPORT/ option. The following example is for an AST 4-port serial card on irq 7: <verb> options "COM_MULTIPORT" device sio4 at isa? port 0x2a0 tty flags 0x781 device sio5 at isa? port 0x2a8 tty flags 0x781 device sio6 at isa? port 0x2b0 tty flags 0x781 device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr </verb> The flags indicate that the master port has minor number 7 (<tt/0x700/), diagnostics enabled during probe (<tt/0x080/), and all the ports share an irq (<tt/0x001/). <sect1> <heading>I have two multiport serial cards that can share irqs. Can FreeBSD handle this?</heading> <p> Not yet. You'll have to use a different irq for each card. <sect1> <heading>What's the difference between <tt/ttyd1/, <tt/ttyid1/, and <tt/ttyld1/? Or, how can I set the default serial parameters for a port?</heading> <p> The <tt/ttydX/ (or <tt/cuaaX/) device is the regular device you'll want to open for your applications. When a process opens the device, it'll have a default set of terminal I/O settings. You can see these settings with the command <verb> stty -a -f /dev/ttyd1 </verb> When you change the settings to this device, the settings are in effect until the device is closed. When it's reopened, it goes back to the default set. To make changes to the default set, you can open and adjust the settings of the ``initial state'' device. For example, to turn on <tt/CLOCAL/ mode, 8 bits, and <tt>XON/XOFF</tt> flow control by default for ttyd5, do: <verb> stty -f /dev/ttyid5 clocal cs8 ixon ixoff </verb> A good place to do this is in <tt>/etc/rc.serial</tt>. Now, an application will have these settings by default when it opens <tt/ttyd5/. It can still change these settings to its liking, though. You can also prevent certain settings from being changed by an application by making adjustments to the ``lock state'' device. For example, to lock the speed of <tt/ttyd5/ to 57600 bps, do <verb> stty -f /dev/ttyld5 57600 </verb> Now, an application that opens <tt/ttyd5/ and tries to change the speed of the port will be stuck with 57600 bps. Naturally, you should make the initial state and lock state devices writable only by <tt/root/. The <tt/MAKEDEV/ script does <bf/NOT/ do this when it creates the device entries. <sect1> <heading>How can I enable dialup logins on my modem?</heading> <p> So you want to become an Internet service provider, eh? First, you'll need one or more modems that can autoanswer. Your modem will need to assert carrier-detect when it detects a carrier and not assert it all the time. It will need to hang up the phone and reset itself when the data terminal ready (<tt/DTR/) line goes from on to off. It should probably use <tt>RTS/CTS</tt> flow control or no local flow control at all. Finally, it must use a constant speed between the computer and itself, but (to be nice to your callers) it should negotiate a speed between itself and the remote modem. For many Hayes command-set--compatible modems, this command will make these settings and store them in nonvolatile memory: <verb> AT &ero;C1 &ero;D3 &ero;K3 &ero;Q6 S0=1 &ero;W </verb> See the section <ref id="direct-at" name="on sending AT commands"> below for information on how to make these settings without resorting to an MS-DOS terminal program. Next, make an entry in <tt>/etc/ttys</tt> for the modem. This file lists all the ports on which the operating system will await logins. Add a line that looks something like this: <verb> ttyd1 "/usr/libexec/getty std.57600" dialup on insecure </verb> This line indicates that the second serial port (<tt>/dev/ttyd1</tt>) has a modem connected running at 57600 bps and no parity (<tt/std.57600/, which comes from the file <tt>/etc/gettytab</tt>). The terminal type for this port is ``dialup.'' The port is ``on'' and is ``insecure''---meaning root logins on the port aren't allowed. For dialin ports like this one, use the <tt/ttydX/ entry. It's common practice to use ``dialup'' as the terminal type. Many users set up in their .profile or .login files a prompt for the actual terminal type if the starting type is dialup. The example shows the port as insecure. To become root on this port, you have to login as a regular user, then ``<tt/su/'' to <tt/root/. If you use ``secure'' then <tt/root/ can login in directly. After making modifications to <tt>/etc/ttys</tt>, you need to send a hangup or <tt/HUP/ signal to the <tt/init/ process: <verb> kill -1 1 </verb> This forces the init process to reread <tt>/etc/ttys</tt>. The init process will then start getty processes on all ``on'' ports. You can find out if logins are available for your port by typing <verb> ps -ax | grep '[t]tyd1' </verb> You should see something like: <verb> 747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 </verb> <sect1> <heading>How can I make my spare computer a dumb terminal connected to my FreeBSD box?</heading> <p> If you're using another computer as a terminal into your FreeBSD system, get a null modem cable to go between the two serial ports. If you're using an actual terminal, see its accompanying instructions. Then, modify <tt>/etc/ttys</tt>, like above. For example, if you're hooking up a WYSE-50 terminal to the fifth serial port, use an entry like this: <verb> ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure </verb> This example shows that the port on <tt>/dev/ttyd4</tt> has a wyse50 terminal connected at 38400 bps with no parity (<tt/std.38400/ from <tt>/etc/gettytab</tt>) and <tt/root/ logins are allowed (secure). <sect1> <heading>Why can't I run <tt/tip/ or <tt/cu/?</heading> <p> On your system, the programs <tt/tip/ and <tt/cu/ are probably executable only by <tt/uucp/ and group <tt/dialer/. You can use the group <tt/dialer/ to control who has access to your modem or remote systems. Just add yourself to group dialer. Alternatively, you can let everyone on your system run <tt/tip/ and <tt/cu/ by typing: <verb> chmod 4511 /usr/bin/tip </verb> You don't have to run this command for <tt/cu/, since <tt/cu/ is just a hard link to <tt/tip/. <sect1> <heading>My stock Hayes modem isn't supported---what should I do?</heading> <p> Actually, the man page for <tt/tip/ is out of date. There is a generic Hayes dialer already built in. Just use ``<tt/at=hayes/'' in your <tt>/etc/remote</tt> file. The Hayes driver isn't smart enough to recognize some of the advanced features of newer modems---messages like <tt/BUSY/, <tt/NO DIALTONE/, or <tt/CONNECT 115200/ will just confuse it. You should turn those messages off when you use <tt/tip/ (using <tt/ATX0&W/). Also, the dial timeout for <tt/tip/ is 60 seconds. Your modem should use something less, or else tip will think there's a communication problem. Try <tt/ATS7=45&W/. Actually, as shipped <tt/tip/ doesn't yet support it fully. The solution is to edit the file <tt/tipconf.h/ in the directory <tt>/usr/src/usr.bin/tip/tip</tt> Obviously you need the source distribution to do this. Edit the line ``<tt/#define HAYES 0/'' to ``<tt/#define HAYES 1/''. Then ``<tt/make/'' and ``<tt/make install/''. Everything works nicely after that. <sect1> <heading>How am I expected to enter these AT commands without resorting to some DOS-based terminal program?<label id="direct-at"></heading> <p> Make what's called a ``<tt/direct/'' entry in your <tt>/etc/remote</tt> file. For example, if your modem's hooked up to the first serial port, <tt>/dev/cuaa0</tt>, then put in the following line: <verb> cuaa0:dv=/dev/cuaa0:br#19200:pa=none </verb> Use the highest bps rate your modem supports in the br capability. Then, type ``<tt/tip cuaa0/'' and you'll be connected to your modem. If there is no <tt>/dev/cuaa0</tt> on your system, do this: <verb> cd /dev MAKEDEV cuaa0 </verb> <p> Or use cu as root with the following command: <verb> cu -l``line'' -s``speed'' </verb> with line being the serial port (e.g.<tt>/dev/cuaa0</tt>) and speed being the speed (e.g.<tt>57600</tt>). When you done entering the AT commands hit <tt>~.</tt> to exit. <sect1> <heading>Why doesn't the <tt/@/ sign for the phone number capability work?</heading> <p> The <tt/@/ sign in the pn capability tells tip to look in <tt>/etc/phones</tt> for a phone number. But the <tt/@/ sign is also a special character in capability files like <tt>/etc/remote</tt>. Escape it with a backslash: <verb> pn=\@ </verb> <sect1> <heading>How can I dial a phone number on the command line?</heading> <p> Put what's called a ``<tt/generic/'' entry in your <tt>/etc/remote</tt> file. For example: <verb> tip115200|Dial any phone number at 115200 bps:\ :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: tip57600|Dial any phone number at 57600 bps:\ :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du: </verb> Then you can things like ``<tt/tip -115200 5551234/''. If you prefer <tt/cu/ over <tt/tip/, use a generic cu entry: <verb> cu115200|Use cu to dial any number at 115200bps:\ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du: </verb> and type ``<tt/cu 5551234 -s 115200/''. <sect1> <heading>Great---but how can I do that without having to specify the bps rate on the command line?</heading> <p> Put in an entry for <tt/tip1200/ or <tt/cu1200/, but go ahead and use whatever bps rate is appropriate with the br capability. <tt/tip/ thinks a good default is 1200 bps which is why it looks for a ``<tt/tip1200/'' entry. You don't have to use 1200 bps, though. <sect1> <heading>I want separate entries for various hosts I access through a terminal server, but I don't want to type ``<tt/CONNECT <host>/'' each time once I'm connected. Can <tt/tip/ do that for me?</heading> <p> Yes. Use the <tt/cm/ capability. For example, these entries in <tt>/etc/remote</tt>: <verb> pain|pain.deep13.com|Forrester's machine:\ :cm=CONNECT pain\n:tc=deep13: muffin|muffin.deep13.com|Frank's machine:\ :cm=CONNECT muffin\n:tc=deep13: deep13:Gizmonics Institute terminal server:\ :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234: </verb> will let you type ``<tt/tip pain/'' or ``<tt/tip muffin/'' to connect to the hosts pain or muffin; and ``<tt/tip deep13/'' to get to the terminal server. <sect1> <heading>My university has 42 billion students but only 4 modem lines. Can tip automatically try each line?</heading> <p> Sure. Make an entry for your university in <tt>/etc/remote</tt> and use <tt>\@</tt> for the <tt/pn/ capability: <verb> big-university:\ :pn=\@:tc=dialout dialout:\ :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none: </verb> Then, list the phone numbers for the university in <tt>/etc/phones</tt>: <verb> big-university 5551111 big-university 5551112 big-university 5551113 big-university 5551114 </verb> <tt/tip/ will try each one in the listed order, then give up. If you want to keep retrying, run <tt/tip/ in a while loop. <sect1> <heading>How come I have to hit CTRL+P twice to send CTRL+P once?</heading> <p> CTRL+P is the default ``force'' character, used to tell <tt/tip/ that the next character is literal data. You can set the force character to any other character with the <tt/~s/ escape, which means ``set a variable.'' Type ``<tt/~sforce=<single-char>/'' followed by a newline. <tt/<single-char>/ is any single character. If you leave out <tt/<single-char>/, then the force character is the nul character, which you can get by typing CTRL+2 or CTRL+SPACE. A pretty good value for <tt/<single-char>/ is SHIFT+CTRL+6, which I've seen only used on some terminal servers. You can have the force character be whatever you want by specifying the following in your <tt>$HOME/.tiprc</tt> file: <verb> force=<single-char> </verb> <sect1> <heading>Suddenly everything I type is all UPPER CASE. What gives?</heading> <p> You must've pressed CTRL+A, <tt/tip/'s ``raise character,'' specially designed for people with broken caps-lock keys. Use <tt/~s/ as above and set the variable ``raisechar'' to something reasonable. In fact, you can set it to the same as the force character, if you never expect to use either of these features. Here's a sample .tiprc file perfect for Emacs users who need to type CTRL+2 and CTRL+A a lot: <verb> force=^^ raisechar=^^ </verb> The ^^ is SHIFT+CTRL+6. <sect1> <heading>How can I do file transfers with <tt/tip/?</heading> <p> If you're talking to another UNIX system, you can send and receive files with <tt/~p/ (put) and <tt/~t/ (take). These commands run ``<tt/cat/'' and ``<tt/echo/'' on the remote system to accept and send files. The syntax is: <verb> ~p <local-file> [<remote-file>] ~t <remote-file> [<local-file>] </verb> There's no error checking, so you probably should use another protocol, like zmodem. <sect1> <heading>Okay, how can I run zmodem with <tt/tip/?</heading> <p> To receive files, start the sending program on the remote end. Then, type ``<tt/~C rz/'' to begin receiving them locally. To send files, start the receiving program on the remote end. Then, type ``<tt/~C sz <files>/'' to send them to the remote system. </sect> <sect> <heading>ACKNOWLEDGMENTS</heading> <p> <code> If you see a problem with this FAQ, or wish to submit an entry, please mail us at <FAQ@FreeBSD.ORG>. We appreciate your feedback, and cannot make this a better FAQ without your help! FreeBSD Core Team </code> <descrip> <tag/Ollivier Robert/ FreeBSD FAQ maintenance man <tag/Gary Clark II/ FreeBSD Doc Team <tag/Jordan Hubbard/ Janitorial services (I don't do windows) <tag/Garrett Wollman/ Networking and formatting <tag/Jim Lowe/ Multicast information <tag/The FreeBSD Team/ Kvetching, moaning, submitting data </descrip> And to any others we've forgotten, apologies and heartfelt thanks! </article> diff --git a/handbook/eresources.sgml b/handbook/eresources.sgml index f83e4be3d7..153bd3d6ed 100644 --- a/handbook/eresources.sgml +++ b/handbook/eresources.sgml @@ -1,356 +1,356 @@ -<!-- $Id: eresources.sgml,v 1.15 1995-11-20 01:10:16 jfieber Exp $ --> +<!-- $Id: eresources.sgml,v 1.16 1995-11-24 07:55:25 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <chapt> <heading>Resources on the Internet<label id="eresources"></heading> <p>The rapid pace of FreeBSD progress makes print media impractical as a means for following the latest developments. Electronic resources are the best, if not the only way stay informed of the latest advances. Also, since FreeBSD is a volunteer effort, the user community also serves as the technical support department and invariably, electronic mail and Usenet news are the most effective way of getting technical problems resolved. Below, the most important points of contact with the FreeBSD user community are outlined. If you are aware of other resources not included, please send them to <tt>doc@freebsd.org</tt> so they may be included. <sect> <heading>Mailing lists<label id="eresources:mail"></heading> <p>Though many of the FreeBSD development members read USENET, we cannot always guarantee that we'll get to your questions in a timely fashion (or at all) if you post them only to one of the comp.unix.bsd.* groups. By addressing your questions to the appropriate mailing list you will reach both us and a concentrated FreeBSD audience, invariably assuring a better (or at least faster) response. There are list charters at the bottom of this document. Please read the list charter before joining a list. We must strive to keep the signal to noise ratio of the lists high, especially in the technical lists. Archives are kept for all of the mailing lists and can be searched -using the the <url url="http://www.freebsd.org/" +using the the <url url="http://www.freebsd.org/search.html" name="FreeBSD World Wide Web server">. The keyword searchable archive offers an excellent way to find answers to frequently asked questions and should be consulted before posting a question. <sect1><heading>List summary</heading> <p><bf>General lists:</bf> The following are general lists that anyone is free to join: <verb> List Purpose ---------------------------------------------------------------------- freebsd-announce Important events / milestones freebsd-bugs Bug reports freebsd-chat Non technical items related to the community freebsd-current Discussions about the use of FreeBSD-current -freebsd-isp Issues for ISP's using FreeBSD +freebsd-isp Issues for Internet Service Providers using FreeBSD freebsd-policy Policy issues and suggestions freebsd-questions User questions </verb> <bf>Technical lists:</bf> The following are the technical lists. You should read the charter carefully before joining them, and you should keep your e-mail within the scope of the guidelines. <verb> List Purpose ---------------------------------------------------------------------- -freebsd-doc Documentation project +freebsd-doc The FreeBSD Documentation project freebsd-fs Filesystems freebsd-hackers General Technical discussions freebsd-hardware General discussion of FreeBSD hardware freebsd-multimedia Multimedia discussions freebsd-platforms Porting to Non-Intel platforms freebsd-ports Discussion of "ports" freebsd-security Security issues freebsd-scsi SCSI subsystem </verb> <bf>Limited lists:</bf> The following are limited lists that you will need approval to join. Even though access to these lists is controled, anyone is free to send suggestions and comments to them. It is a good idea establish a presence in the technical lists before asking to join one of these limited lists. <verb> List Purpose ---------------------------------------------------------------------- freebsd-admin Administrative issues freebsd-arch Architecture and design discussions freebsd-core FreeBSD core team freebsd-install Installation development freebsd-user-groups User group coordination </verb> <bf>CVS lists:</bf> The following lists are for people seeing the log messages for source changes in specific areas: <verb> List name Source area Area Description (source for) ---------------------------------------------------------------------- cvs-CVSROOT /usr/src/[A-Z]* Top level /usr/src file changes cvs-all /usr/src All changes to the tree (superset) cvs-bin /usr/src/bin System binaries cvs-etc /usr/src/etc System files cvs-games /usr/src/games Games cvs-gnu /usr/src/gnu GPL'd utilities cvs-include /usr/src/include Include files cvs-kerberosIV /usr/src/kerberosIV Kerberos encryption code cvs-lib /usr/src/lib System libraries cvs-libexec /usr/src/libexec System binaries cvs-ports /usr/ports Ported software cvs-sbin /usr/src/sbin System binaries cvs-share /usr/src/share System shared files cvs-sys /usr/src/sys Kernel cvs-usrbin /usr/src/usr.bin Use binaries cvs-usrsbin /usr/src/usr.sbin System binaries </verb> <sect1><heading>How to subscribe</heading> <p>All mailing lists live on <tt>FreeBSD.ORG</tt>, so to post to a list you simply mail to <em>listname</em><tt>@FreeBSD.ORG</tt>. It will then be redistributed to mailing list members throughout the world. To subscribe to a list, send mail to: <tscreen><verb> majordomo@FreeBSD.ORG </verb></tscreen> And include the keyword <tscreen><verb> subscribe <listname> [<optional address>] </verb></tscreen> In the body of your message. For example, to subscribe yourself to freebsd-announce, you'd do: <tscreen><verb> % mail majordomo@FreeBSD.ORG subscribe freebsd-announce ^D </verb></tscreen> If you want to subscribe yourself under a different name, or submit a subscription request for a local mailing list (note: this is more efficient if you have several interested parties at one site, and highly appreciated by us!), you would do something like: <tscreen><verb> % mail majordomo@FreeBSD.ORG subscribe freebsd-announce local-announce@somesite.com ^D </verb></tscreen> Finally, it is also possible to unsubscribe yourself from a list, get a list of other list members or see the list of mailing lists again by sending other types of control messages to majordomo. For a complete list of available commands, do this: <tscreen><verb> % mail majordomo@FreeBSD.ORG help ^D </verb></tscreen> Finally, we again request that you keep the technical mailing lists on a technical track. If you're only interested in the "high points", then it's suggested that you join freebsd-announce, which will contain only infrequent traffic. <sect1><heading>List charters</heading> <p> <descrip> <tag/FREEBSD-ADMIN/ <em>Administrative issues</em><newline> <!-- XXX --> <tag/FREEBSD-ANNOUNCE/ <em>Important events / milestones</em><newline> This is the mailing list for people interested only in occasional announcements of significant freebsd events. This includes announcements about snapshots and other releases. It contains announcements of new FreeBSD capabilities. It may contain calls for volunteers etc. This is a low volume list. <tag/FREEBSD-ARCH/ <em>Architecture and design discussions</em><newline> This is the mailing list for people discussing FreeBSD architectural issues. It is a closed list, and not for general subscription. <tag/FREEBSD-BUGS/ <em>Bug reports</em><newline> This is the mailing list for reporting bugs in FreeBSD Whenever possible, bugs should be submitted using "send-pr". <tag/FREEBSD-CHAT/ <em>Non technical items related to the community</em><newline> This list contains the overflow from the other lists about non-technical, social information. It includes discussion about -whether Jordan looks like a tune ferret or not, whether or not to +whether Jordan looks like a toon ferret or not, whether or not to type in capitals, who is drinking too much coffee, where the best beer is brewed, who is brewing beer in their basement, and so on. Occasional announcements of important events (such as upcoming parties, weddings, births, new jobs, etc) can be made to the technical lists, but the follow ups should be directed to this -chat list. <tag/FREEBSD-CORE/ <em>FreeBSD core team</em><newline> This is an internal mailing list for use by the core members. <tag/FREEBSD-CURRENT/ <em>Discussions about the use of FreeBSD-current</em><newline> This is the mailing list for users of freebsd-current. It includes warnings about new features coming out in -current that will affect the users, and instructions on steps that must be taken to remain -current. Anyone running "current" must subscribe to this list. <tag/FREEBSD-CURRENT-DIGEST/ <em>Discussions about the use of FreeBSD-current</em><newline> This is the digest version of the freebsd-current mailing list. The digest consists of all messages sent to freebsd-current bundled together and mailed out as a single message. The average digest size is about 40kB. <tag/FREEBSD-DOC/ <em>Documentation project</em><newline> This mailing list belongs to the FreeBSD Doc Project and is for the discussion of documentation related issues and projects. <tag/FREEBSD-FS/ <em>Filesystems</em><newline> Discussions concerning FreeBSD filesystems. <tag/FREEBSD-HACKERS/ <em>Technical discussions</em><newline> This is a forum for technical discussions related to FreeBSD. This is the primary technical mailing list. It is for individuals actively working on FreeBSD, to bring up problems or discuss alternative solutions. Individuals interested in following the technical discussion are also welcome. <tag/FREEBSD-HACKERS-DIGEST/ <em>Technical discussions</em><newline> This is the digest version of the freebsd-hackers mailing list. The digest consists of all messages sent to freebsd-hackers bundled together and mailed out as a single message. The average digest size is about 40kB. <tag/FREEBSD-HARDWARE/ <em>General discussion of FreeBSD hardware</em><newline> General discussion about the types of hardware that FreeBSD runs on, various problems and suggestions concerning what to buy or avoid. <tag/FREEBSD-INSTALL/ <em>Installation discussion</em><newline> This mailing list is for discussing FreeBSD installation development for the future releases. <tag/FREEBSD-ISP/ <em>Issues for Internet Service Providers</em><newline> This mailing list is for discussing topics relevant to Internet Serivce Providers (ISPs) using FreeBSD. <tag/FREEBSD-MULTIMEDIA/ <em>Multimedia discussions</em><newline> This is a forum about multimedia applications using FreeBSD. Discussion center around multimedia applications, their installation, their development and their support within FreeBSD <tag/FREEBSD-PLATFORMS/ <em>Porting to Non-Intel platforms</em><newline> Cross-platform freebsd issues, general discussion and proposals for non-Intel FreeBSD ports. <tag/FREEBSD-POLICY/ <em>Policy issues and suggestions</em><newline> This is a forum for policy discussions related to FreeBSD. This includes where FreeBSD is going, how to set up a consortium, whether or not and how to make FreeBSD pay for itself, how to attract more users, and so on. When a topic relates directly to FreeBSD but has little or no technical content then it should be sent to this list. <tag/FREEBSD-PORTS/ <em>Discussion of "ports"</em><newline> Discussions concerning FreeBSD's "ports collection" (/usr/ports), proposed ports, modifications to ports collection infrastructure and general coordination efforts. <tag/FREEBSD-QUESTIONS/ <em>User questions</em><newline> This is the mailing list for questions about FreeBSD. You should not send "how to" questions to the technical lists unless you consider the question to be pretty technical. <tag/FREEBSD-QUESTIONS-DIGEST/ <em>User questions</em><newline> This is the digest version of the freebsd-questions mailing list. The digest consists of all messages sent to freebsd-questions bundled together and mailed out as a single message. The average digest size is about 40kB. <tag/FREEBSD-SCSI/ <em>SCSI subsystem</em><newline> This is the mailing list for people working on the scsi subsystem for FreeBSD. <tag/FREEBSD-SECURITY/ <em>Security issues</em><newline> FreeBSD computer security issues (DES, Kerberos, known security holes and fixes, etc). <tag/FREEBSD-USER-GROUPS/ <em>User Group Coordination List</em><newline> This is the mailing list for the coordinators from each of the local area Users Groups to discuss matters with each other and a designated individual from the Core Team. This mail list should be limited to meeting synopsis and coordination of projects that span User Groups. </descrip> <sect> <heading>Usenet newsgroups<label id="eresources:news"></heading> <p>In addition to two FreeBSD specific newsgroups, there are many others in which FreeBSD is discussed or are otherwise relevant to FreeBSD users. <url url="http://minnie.cs.adfa.oz.au/BSD-info/bsdnews_search.html" name="Keyword searchable archives"> are available for some of these newsgroups from courtesy of Warren Toomey <tt><wkt@cs.adfa.oz.au></tt>. <sect1> <heading>BSD specific newsgroups</heading> <p><itemize> <item>comp.unix.bsd.freebsd.announce <item>comp.unix.bsd.freebsd.misc </itemize> <sect1> <heading>Other Unix newsgroups of interest</heading> <p><itemize> <item>comp.unix <item>comp.unix.questions <item>comp.unix.admin <item>comp.unix.programmer <item>comp.unix.shell <item>comp.unix.user-friendly <item>comp.security.unix <item>comp.sources.unix <item>comp.unix.advocacy <item>comp.unix.misc <item>comp.os.386bsd.announce <item>comp.os.386bsd.apps <item>comp.os.386bsd.bugs <item>comp.os.386bsd.development <item>comp.os.386bsd.misc <item>comp.os.386bsd.questions <item>comp.bugs.4bsd <item>comp.bugs.4bsd.ucb-fixes <item>comp.unix.bsd </itemize> <sect1> <heading>X-Window system</heading> <p><itemize> <item>comp.windows.x.i386unix <item>comp.windows.x <item>comp.windows.x.apps <item>comp.windows.x.announce <item>comp.windows.x.intrinsics <item>comp.windows.x.motif <item>comp.windows.x.pex <item>comp.emulators.ms-windows.wine </itemize> <sect> <heading>World Wide Web servers<label id="eresources:web"></heading> <p><itemize> <item><url url="http://www.freebsd.org/"></item> </itemize> </sect> diff --git a/handbook/history.sgml b/handbook/history.sgml index 23de67ac71..edb01f126f 100644 --- a/handbook/history.sgml +++ b/handbook/history.sgml @@ -1,106 +1,116 @@ -<!-- $Id: history.sgml,v 1.10 1995-11-15 07:44:56 jkh Exp $ --> +<!-- $Id: history.sgml,v 1.11 1995-11-24 07:55:26 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <sect><heading>A brief history of FreeBSD<label id="history"></heading> <p><em>Contributed by &a.jkh;</em>. The FreeBSD project had its genesis in the early part of 1992, partially as an outgrowth of the "Unofficial 386BSD Patchkit" by the patchkit's last 3 coordinators: Nate Williams, Rod Grimes and myself. David Greenman and Julian Elischer were also lurking in the background around this time, though they didn't come fully into the project until a month or two after it was more or less officially launched. Our original goal was to produce an intermediate snapshot of 386BSD in order to fix a number of problems with it that the patchkit mechanism just wasn't capable of solving. Some of you may remember the early working title for the project being "386BSD 0.5" or "386BSD Interim" in reference to that fact. 386BSD was Bill Jolitz's operating system, which had been up to that point suffering rather severely from almost a year's worth of neglect. As the patchkit swelled ever more uncomfortably with each passing day, we were in unanimous agreement that something had to be done and decided to try and assist Bill by providing this interim "cleanup" snapshot. Those plans came to a rude halt when Bill Jolitz suddenly decided to withdraw his sanction from the project and without any clear indication of what would be done instead. It didn't take us long to decide that the goal remained worthwhile even without Bill's support, and so we adopted the name "FreeBSD", which was coined by David Greenman. Our initial objectives were set after consulting with the system's current users, and once it became clear that the project was on the road to perhaps even becoming a reality, I contacted Walnut Creek CDROM with an eye towards improving FreeBSD's distribution channels for those many unfortunates without easy access to the Internet. Walnut Creek CDROM not only supported the idea of distributing FreeBSD on CD but went so far as to provide the project with a machine to work on and a fast Internet connection. Without Walnut Creek CDROM's almost unprecedented degree of faith in what was, at the time, a completely unknown project, it is quite unlikely that FreeBSD would have gotten as far, as fast, as it has today. The first CDROM (and general net-wide) distribution was FreeBSD 1.0, released in December of 1993. This was based on the 4.3 BSD Lite ("Net/2") tape from U.C. Berkeley, with many components also provided by 386BSD and the Free Software Foundation. It was a fairly reasonable success for a first offering, and we followed it with the highly successful FreeBSD 1.1 release in May of 1994. Around this time, some rather unexpected storm clouds formed on our horizon as Novell and U.C. Berkeley settled their long-running lawsuit over the legal status of the Berkeley Net/2 tape. A condition of that settlement was U.C. Berkeley's concession that large parts of Net/2 were "encumbered" code and the property of Novell, who had in turn acquired it from AT&T some time previously. What Berkeley got in return was Novell's "blessing" that the 4.4 Lite release, when it was finally released, would be declared unencumbered and all existing Net/2 users would be strongly encouraged to switch. This included us, and we were given until the end of July 1994 to stop shipping our own Net/2 based product. Under the terms of that agreement, we were allowed one last release before the deadline and that became FreeBSD 1.1.5.1, the culmination of our year's work with Net/2 and generally considered by many to be a significant project milestone for stability and general performance.. We then set about the arduous task of literally re-inventing ourselves with a completely new and rather incomplete set of 4.4 Lite bits. The "Lite" releases were light in part because Berkeley's CSRG had removed large chunks of code required for actually constructing a bootable running system (due to various legal requirements) and the fact that the Intel port of 4.4 was highly incomplete. It took us until December of 1994 to make this transition, and in January of 1995 we released FreeBSD 2.0 to the net and on CDROM. Despite being still more than a little rough around the edges, the release was a significant success and has since been followed by the more robust and easier to install FreeBSD 2.0.5 release in June of 1995. -Where to from here? Well, we intend to release FreeBSD 2.1 sometime -in November of 1995 and have reasonable expectations that it will -meet or exceed all of the standards for quality we set with FreeBSD -1.1.5.1 back in July of 1994. From there, we'll probably continue our now -two-track scheme of a "stable" branch of FreeBSD and a "current" -branch, where development can continue at its usually rapid pace without -penalizing those who just want a working system without too much excitement. +<em>Where to from here?</em> + +We just released FreeBSD 2.1.0 on November 19th, 1995 and, by all +accounts, people are pretty happy with it. We'll therefore continue +with the 2.1-STABLE branch of FreeBSD (which actually began with 2.0.5) +well into Q1 of 1996 with at least one additional release: +FreeBSD 2.1.1. + +A 2.1.2 release may follow 2.1.1, though this will depend heavily on the +status of FreeBSD 2.2 in Q2 of 1996. 2.2 is our development branch, +where long term projects for everything from NFS v3 to PCCARD support +are currently taking place. Preliminary timelines suggest that development +in 2.2 will begin slowing down and early release engineering simulations +(2.2 SNAPshots) started in Q1 of 1996. Given a favorable prognosis for 2.2's +general health, a migration to 2.2 will then begin in early Q2 of '96 and +a new 2.3 branch created for next-generation development. Around the +time that 2.2-RELEASE is produced (late Q2 1996), the 2.1.x lineage will +also be phased out. + We also intend to focus on any remaining areas of weakness, like documentation or missing drivers, and steadily increase the overall quality and feature set of the system well into 1996 and beyond. -It should also be noted that the development of FreeBSD is <em>not</em> a closed -process, despite some popular misconceptions to the contrary, and anyone -is free to contribute code or ideas. Once a contributor has established -a reasonable track record for reliability, we generally even give them direct -access to the central source tree (kept under CVS) where their changes will -propagate automatically to all users of FreeBSD. Our centralised development -model is designed for the convenience of the <em>users</em> of FreeBSD, who -are thus provided with an easy way of tracking one central code base, not -to keep potential contributors out! Anyone and everyone is free to -contribute, and people who've shown a consistent and significant dedication -to the project are generally asked to join the FreeBSD core team to -help in setting the project's overall directions and goals. No part of the -project is closed to additional members, and all we ask of those wishing for -closer ties to the project is the same dedication its current members have +Now might also be a good time to note that the development of FreeBSD is +<em>not</em> a closed process, despite some popular misconceptions to the +contrary, and anyone is free to contribute code or ideas. Once a contributor +has established a reasonable track record for reliability, we generally, in +fact, give them write access to the project's CVS repository, where their +changes can propagate automatically to other users of FreeBSD. Our +centralised development model is designed for the convenience of the +<em>users</em> of FreeBSD, who are thereby provided with an easy way of +tracking one central code base, not to keep potential contributors out! +Individuals who've shown a consistent and significant dedication to the project +are even often asked to join the FreeBSD core team to help in setting +the project's overall directions and goals, so truly no part of the project +is closed to additional members. All we ask of those wishing for closer +ties to this project is some of the same dedication its current members have to its continued success! - - Jordan diff --git a/handbook/install.sgml b/handbook/install.sgml index 0c4a5bbeb6..2c3c12cdb1 100644 --- a/handbook/install.sgml +++ b/handbook/install.sgml @@ -1,864 +1,876 @@ -<!-- $Id: install.sgml,v 1.16 1995-11-20 01:10:23 jfieber Exp $ --> +<!-- $Id: install.sgml,v 1.17 1995-11-24 07:55:27 jkh Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- <!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'> --> <chapt><heading>Installing FreeBSD<label id="install"></heading> <p>So, you would like to try out FreeBSD on your system? This section is a quick-start guide for what you need to do. FreeBSD can be installed from a variety of media including CD-ROM, floppy disk, magnetic tape, an MS-DOS partition, and if you have a network connection, via anonymous ftp or NFS. Regardless of the installation media you choose, you can get started by downleading the <bf>installation disk</bf> as described below. Booting your computer with disk will provide important information about compatibility between FreeBSD and your hardware which could dictate which installation options are possible. It can also provide early clues to compatibilty problems that could prevent FreeBSD running on your system at all. If you plan on installing via anonymous FTP, then this installation disk is all you need to download. For more information on obtaining the FreeBSD distribution itself, please see <ref id="mirrors" name="Obtaining FreeBSD"> in the Appendix. So, to get the show on the road, follow these steps: <enum> <item>Review the <ref id="install:hw" name="supported configurations"> section of this installation guide to be sure that your hardware is supported by FreeBSD. It may be helpful to make a list of any special cards you have installed, such as SCSI controllers, etherernet adapters or sound cards. This list should include relevant configuration parameters such as interrupts (IRQ) and IO port addresses. </item> <item>Download the <url url="ftp://ftp.freebsd.org/pub/FreeBSD/2.1.0-RELEASE/floppies/boot.flp" name="installation boot disk image"> file to your hard drive, and be sure to tell your browser to <em>save</em> rather than <em>display</em>. <bf>Note:</bf> This disk image can be used for <em>both</em> 1.44 megabyte 3.5 inch floppy disks and 1.2 megabyte 5.25 inch floppy disks.</item> <item>Make the installation boot disk from the image file: <itemize> <item>If you are using MS-DOS download <url url="ftp://ftp.freebsd.org/pub/FreeBSD/tools/dos-tools/rawrite.exe" name="rawrite.exe">, then run it: <tscreen><verb> C:\> rawrite </verb></tscreen> The program will prompt you for the floppy drive containing the disk you want to write to (A: or B:) and the name of the file to put on disk (boot.flp). </item> <item>If you are using a UNIX system: <tscreen> % dd if=boot.flp of=<em>disk_device</em> </tscreen> where <em>disk_device</em> is the <tt>/dev</tt> entry for the floppy drive. On FreeBSD systems, this is <tt>/dev/fd0</tt> for the A: drive and <tt>/dev/fd1</tt> for the B: drive. </item> </itemize> </item> <item>With the installation disk in the A: drive, reboot your computer. You should get a boot prompt something like this: <tscreen> >> FreeBSD BOOT ...<newline> Use hd(1,a)/kernel to boot sd0 when wd0 is also installed.<newline> Usage: [[hd(1,a)]/kernel][-abcCdhrsv]<newline> Use ? for file list or press Enter for defaults<newline> Boot: </tscreen> If you do <em>not</em> type anything, FreeBSD will automatically boot with its default configuration after a delay of about five seconds. As FreeBSD boots, it probes your computer to determine what hardware is installed. The results of this probing is displayed on the screen. </item> <item>When the booting process is finished, The main FreeBSD installation menu will be displayed.</item> </enum> <p><bf>If something goes wrong...</bf> <p>Due to limitations of the PC architecture, it is impossible for probing to be 100 percent reliable. In the event that your hardware is incorrectly identified, or that the probing causes your computer to lock up, first check the <ref id="install:hw" name="supported configurations"> section of this installation guide to be sure that your hardware is indeed supported by FreeBSD. <p>If your hardware is supported, reset the computer and when the <tt>Boot:</tt> prompt comes up, type <bf>-c</bf>. This puts FreeBSD into a configuration mode where you can supply hints about your hardware. The FreeBSD kernel on the installation disk is configured assuming that most hardware devices are in their factory default configuration in terms of IRQs, IO addresses and DMA channels. If your hardware has been reconfigured, you will most likely need to use the <bf>-c</bf> option at boot to tell FreeBSD where things are. <p>It is also possible that a probe for a device not present will cause a later probe for another device that is present to fail. In that case, the probes for the conflicting driver(s) should be disabled. <p>In the configuration mode, you can: <itemize> <item>List the device drivers installed in the kernel.</item> <item>Disable device drivers for hardware not present in your system.</item> <item>Change the IRQ, DRQ, and IO port addresses used by a device driver.</item> </itemize> <p>While at the <tt>config></tt> prompt, type <tt>help</tt> for more information on the available commands. After adjusting the kernel to match how you have your hardware configured, type <tt>quit</tt> at the <tt>config></tt> prompt to continue booting with the new settings. After FreeBSD has been installed, changes made in the configuration mode will be permanent so you do not have to reconfigure every time you boot. Even so, it is likely that you will want to build a custom kernel to optimize the performance of your system. See <ref id="kernelconfig" name="Kernel configuration"> for more information on creating custom kernels. <sect><heading>Supported Configurations<label id="install:hw"></heading> <p>FreeBSD currently runs on a wide variety of ISA, VLB, EISA and PCI bus based PC's, ranging from 386sx to Pentium class machines (though the 386sx is not recommended). Support for generic IDE or ESDI drive configurations, various SCSI controller, network and serial cards is also provided. - A minimum of four megabytes of RAM is required to run FreeBSD. + A minimum of five megabytes of RAM is required to run FreeBSD. To run the X-window system, eight megabytes of RAM is the recommended minimum. Following is a list of all disk controllers and ethernet cards currently known to work with FreeBSD. Other configurations may very well work, and we have simply not received any indication of this. <sect1><heading>Disk Controllers</heading> <p> <itemize> <item>WD1003 (any generic MFM/RLL) <item>WD1007 (any generic IDE/ESDI) <item>IDE <item>ATA <item>Adaptec 152x series ISA SCSI controllers <item>Adaptec 154x series ISA SCSI controllers <item>Adaptec 174x series EISA SCSI controller in standard and enhanced mode. <item>Adaptec 274x/284x/2940/3940 (Narrow/Wide/Twin) series EISA/VLB/PCI SCSI controllers <item>Adaptec <!-- AIC-6260 and - actually not working, joerg --> AIC-6360 based boards, which includes the AHA-152x and SoundBlaster SCSI cards. <bf>Note:</bf> You cannot boot from the SoundBlaster cards as they have no on-board BIOS, which is necessary for mapping the boot device into the system BIOS I/O vectors. They are perfectly usable for external tapes, CDROMs, etc, however. The same goes for any other AIC-6x60 based card without a boot ROM. Some systems DO have a boot ROM, which is generally indicated by some sort of message when the system is first powered up or reset. Check your system/board documentation for more details. <item>Buslogic 545S & 545c - <bf>Note:</bf> that Buslogic was formerly known as "Bustec". + <bf>Note:</bf> that Buslogic was formerly known as "Bustek". <item>Buslogic 445S/445c VLB SCSI controller - <item>Buslogic 742A, 747S, 747c EISA SCSI controller. + <item>Buslogic 742A/747S/747c EISA SCSI controller. <item>Buslogic 946c PCI SCSI controller <item>Buslogic 956c PCI SCSI controller - <item>NCR 53C810 and 53C825 PCI SCSI controller. + <item>NCR 53C810/53C815/53C825/53C860/53C875 PCI SCSI controller. <item>NCR5380/NCR53400 (``ProAudio Spectrum'') SCSI controller. <item>DTC 3290 EISA SCSI controller in 1542 emulation mode. - <item>UltraStor 14F, 24F and 34F SCSI controllers. + <item>UltraStor 14F/24F/34F SCSI controllers. <item>Seagate ST01/02 SCSI controllers. <item>Future Domain 8xx/950 series SCSI controllers. <item>WD7000 SCSI controllers. </itemize> With all supported SCSI controllers, full support is provided for SCSI-I & SCSI-II peripherals, including Disks, tape drives (including DAT) and CD ROM drives. The following CD-ROM type systems are supported at this time: <itemize> <item>Soundblaster SCSI and ProAudio Spectrum SCSI (<tt>cd</tt>) <item>Mitsumi (all models) proprietary interface (<tt>mcd</tt>) <item>Matsushita/Panasonic (Creative) CR-562/CR-563 proprietary interface (<tt>matcd</tt>) <item>Sony proprietary interface (<tt>scd</tt>) <item>ATAPI IDE interface (experimental and should be considered ALPHA quality!) (<tt>wcd</tt>) </itemize> <sect1><heading>Ethernet cards</heading> <p> <itemize> <item>Allied-Telesis AT1700 and RE2000 cards <item>SMC Elite 16 WD8013 ethernet interface, and most other WD8003E, WD8003EBT, WD8003W, WD8013W, WD8003S, WD8003SBT and WD8013EBT based clones. SMC Elite Ultra is also supported. <item>DEC EtherWORKS III NICs (DE203, DE204, and DE205) <item>DEC EtherWORKS II NICs (DE200, DE201, DE202, and DE422) - <item>DEC DC21140 based NICs (SMC???? DE???) + <item>DEC DC21140/DC21141 based NICs: + <itemize> + <item>ASUS PCI-L101-TB + <item>Accton ENI1203 + <item>Cogent EM960PCI + <item>D-Link DE-530 + <item>DEC DE435 + <item>Danpex EN-9400P3 + <item>JCIS Condor JC1260 + <item>Linksys EtherPCI + <item>Mylex LNP101 + <item>SMC EtherPower 10/100 (Model 9332) + <item>SMC EtherPower (Model 8432) + <item>Zynx ZX342 + </itemize> <item>DEC FDDI (DEFPA/DEFEA) NICs <item>Fujitsu FMV-181 and FMV-182 <item>Intel EtherExpress <item>Isolan AT 4141-0 (16 bit) <item>Isolink 4110 (8 bit) <item>Novell NE1000, NE2000, and NE2100 ethernet interface. <item>3Com 3C501 cards <item>3Com 3C503 Etherlink II <item>3Com 3c505 Etherlink/+ <item>3Com 3C507 Etherlink 16/TP <item>3Com 3C509, 3C579, 3C589 (PCMCIA) Etherlink III <item>Toshiba ethernet cards <item>PCMCIA ethernet cards from IBM and National Semiconductor are also supported. </itemize> <p><em>Note:</em> FreeBSD does not currently suppport PnP (plug-n-play) features present on some ethernet - cards. If your card has PnP, it should be disabled. + cards. If your card has PnP and is giving you problems, + try disabling its PnP features. <sect1><heading>Miscellaneous devices</heading> <p> <itemize> <item>AST 4 port serial card using shared IRQ. <item>ARNET 8 port serial card using shared IRQ. <item>BOCA IOAT66 6 port serial card using shared IRQ. <item>BOCA 2016 16 port serial card using shared IRQ. <item>Cyclades Cyclom-y Serial Board. <item>STB 4 port card using shared IRQ. <item>SDL Communications Riscom/8 Serial Board. <item>Adlib, SoundBlaster, SoundBlaster Pro, - ProAudioSpectrum, Gravis UltraSound and Roland - MPU-401 sound cards. + ProAudioSpectrum, Gravis UltraSound, Gravis UltraSound MAX + and Roland MPU-401 sound cards. </itemize> FreeBSD currently does not support IBM's microchannel (MCA) bus, but support is apparently close to materializing. Details will be posted as the situation develops. <sect><heading>Preparing for the installation</heading> <p>There are a number of different methods by which FreeBSD can be installed. The following describes what preparation needs to be done for each type. <sect1><heading>Before installing from CDROM</heading> <p>If your CDROM is of an unsupported type, such as an IDE CDROM, then please skip to <ref id="install:msdos" name="MS-DOS Preparation">. - There is not a lot of preparatory work that needs to be - done to successfully install from one of Walnut Creek's - FreeBSD CDROMs (other CDROM distributions may work as - well, we simply cannot say as we have no hand or say in - their creation). You can either boot into the CD - installation directly from DOS using Walnut Creek's - supplied ``install.bat'' batch file or you can make a - boot floppy with the ``makeflp.bat'' command. + There is not a lot of preparatory work that needs to be done to + successfully install from one of Walnut Creek's FreeBSD CDROMs (other + CDROM distributions may work as well, though we cannot say for certain + as we have no hand or say in how they're created). You can either + boot into the CD installation directly from DOS using Walnut Creek's + supplied ``install.bat'' batch file or you can make a boot floppy with + the ``makeflp.bat'' command [NOTE: If you're using an IDE CDROM, use + the inst_ide.bat or atapiflp.bat batch files instead]. For the easiest interface of all (from DOS), type ``view''. This will bring up a DOS menu utility that leads you through all the available options. If you are creating the boot floppy from a UNIX machine, see <ref id="install" name="the beginning of this guide"> for examples. of how to create the boot floppy. Once you have booted from DOS or floppy, you should then be able to select CDROM as the media type in the Media menu and load the entire distribution from CDROM. No other types of installation media should be required. - After your system is fully installed and you have - rebooted from the hard disk, you should find the CD - mounted on the directory <bf>/cdrom</bf>. A utility - called `lndir' comes with the XFree86 distribution - which you may also find useful: It allows you to create - "link tree" directories to things on Read-Only media - like CDROM. One example might be something like this: + After your system is fully installed and you have rebooted + from the hard disk, you can mount the cdrom at any time by + typing: <tt>mount /cdrom</tt> -<tscreen><verb> -mkdir /usr/ports -lndir /cdrom/ports /usr/ports -</verb></tscreen> - - Which would allow you to then ``cd /usr/ports; make'' - and get all the sources from the CD, but yet create all - the intermediate files in <bf>/usr/ports</bf>, which is - presumably on a more writable media. - - This is, in fact, what the Ports entry in the - Configuration menu does at installation time if you - select it. + Before removing the CD again, also note that it's necessary to first + type: <tt>umount /cdrom</tt>. Don't just remove it from the drive! <quote><bf>Special note:</bf> Before invoking the installation, be sure that the CDROM is in the drive so that the install probe can find it. This is also true if you wish the CDROM to be added to the default system configuration automatically during the install (whether or not you actually use it as the - installation media). <!-- XXX This will be fixed for - 2.1, but for now this simple work-around will ensure - that your CDROM is detected properly. --></quote> + installation media). + </quote> Finally, if you would like people to be able to FTP install FreeBSD directly from the CDROM in your machine, you will find it quite easy. After the machine is fully installed, you simply need to add the following line to the password file (using the vipw command): <tscreen><verb> ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent </verb></tscreen> - No further work is necessary. The other installers - will now be able to chose a Media type of FTP and type + Anyone with network connectivity to your machine (and permission + to log into it) can now chose a Media type of FTP and type in: <tt>ftp://<em>your machine</em></tt> after picking ``Other'' in the ftp sites menu. <sect1><heading>Before installing from Floppy</heading> <p>If you must install from floppy disks, either due to unsupported hardware or just because you enjoy doing things the hard way, you must first prepare some floppies for the install. - The first floppy you will need is ``floppies/root.flp'', - which is somewhat special in that it is not a DOS - filesystem floppy at all, but rather an ``image'' - floppy (it is actually a gzip'd cpio file). You can use - the rawrite.exe program to do this under DOS, or dd to - do it on a UNIX Workstation. See <ref id="install" - name="the beginning of this guide"> for examples. of - how to create the boot floppy. Once this floppy is - made, go on to make the distribution set floppies: - - You will need, at minimum, as many 1.44MB or 1.2MB - floppies as it takes to hold all files in the bin - (binary distribution) directory. These floppies - <em>must</em> be formatted using MS-DOS, using the - FORMAT command in MS-DOS or the File Manager format - command in Microsoft Windows(tm). Do <em>not</em> - trust Factory Preformatted floppies. Format them again - yourself, just to make sure. - - Many problems reported by our users in the past have - resulted from the use of improperly formatted media, so - we simply take special care to mention it here! + + The first floppy you'll need in addition to the boot.flp image is + ``floppies/root.flp'', which is somewhat special in that it's not a + DOS filesystem floppy at all, but rather a floppy "image" (it's + actually a gzip'd cpio file). You can create this floppy in the same + way that you created the boot floppy <ref id="install" + name="the beginning of this guide">. Once this floppy is + made, you can go on to make the distribution set floppies + using ordinary DOS or UFS (if you're preparing the floppies on + another FreeBSD machine) formatted diskettes. + + You will need, at minimum, as many 1.44MB or 1.2MB floppies as + it takes to hold all files in the bin (binary distribution) + directory. If you're preparing these floppies under DOS, then + THESE floppies *must* be formatted using the MS-DOS FORMAT + command. If you're using Windows, use the Windows File + Manager format command. + + Do <em>not</em> trust Factory Preformatted floppies! Format + them again yourself, just to make sure. Many problems + reported by our users in the past have resulted from the use + of improperly formatted media, which is why I'm taking such + special care to mention it here! + + If you're creating the floppies from another FreeBSD machine, + a format is still not a bad idea though you don't need to put + a DOS filesystem on each floppy. You can use the `disklabel' + and `newfs' commands to put a UFS filesystem on them instead, + like so: +<tscreen><verb> +disklabel -w -r fd0 floppy3 (use floppy5 for 1.2MB disks) +newfs /dev/rfd0 +</verb></tscreen> + Then you can mount and write to them like any other file + system. After you have DOS formatted the floppies, you will need to copy the files onto them. The distribution files are split into chunks conveniently sized so that 5 of them will fit on a conventional 1.44MB floppy. Go through all your floppies, packing as many files as will fit on each one, until you have got all the distributions you want packed up in this fashion. Each distribution should go into a subdirectory on the floppy, e.g.: <bf>a:\bin\bin.aa</bf>, <bf>a:\bin\bin.ab</bf>, and so on. Once you come to the Media screen of the install, select ``Floppy'' and you will be prompted for the rest. <sect1><heading>Before installing from a MS-DOS partition<label id="install:msdos"></heading> <p>To prepare for installation from an MS-DOS partition, copy the files from the distribution into a directory called <tt>C:\FREEBSD</tt>. The directory tree structure of the CDROM must be partially reproduced within this directory so we suggest using the DOS <tt>xcopy</tt> command. For example, to prepare for a minimal installation of FreeBSD: <tscreen><verb> C> MD C:\FREEBSD C> XCOPY /S E:\DISTS\BIN C:\FREEBSD\BIN\ C> XCOPY /S E:\FLOPPIES C:\FREEBSD\FLOPPIES\ </verb></tscreen> assuming that <tt>C:</tt> is where you have free space and <tt>E:</tt> is where your CDROM is mounted. Note that you need the <tt>FLOPPIES</tt> directory because the <tt>root.flp</tt> image is needed during an MS-DOS installation. For as many `DISTS' you wish to install from MS-DOS (and you have free space for), install each one under <tt>C:\FREEBSD</tt> - the <tt>BIN</tt> dist is only the minimal requirement. If you have room on your MS-DOS partition for all the distributions, you could replace the last line above with: <tscreen><verb> C> XCOPY /S E:\DISTS C:\FREEBSD\ </verb></tscreen> which would copy all the subdirectories of <tt>E:\DISTS</tt> to <tt>C:\FREEBSD</tt>. <sect1><heading>Before installing from QIC/SCSI Tape</heading> <p>Installing from tape is probably the easiest method, short of an on-line install using FTP or a CDROM install. The installation program expects the files to be simply tar'ed onto the tape, so after getting all of the files for distribution you are interested in, simply tar them onto the tape with a command like: <tscreen> cd /freebsd/distdir<newline> tar cvf /dev/rwt0 (or /dev/rst0) dist1 .. dist2 </tscreen> Make sure that the `floppies/' directory is one of the ``dists'' given above, since the installation will look for `floppies/root.flp' on the tape. When you go to do the installation, you should also make sure that you leave enough room in some temporary directory (which you will be allowed to choose) to accommodate the <bf>full</bf> contents of the tape you have created. Due to the non-random access nature of tapes, this method of installation requires quite a bit of temporary storage. You should expect to require as much temporary storage as you have stuff written on tape. <quote><bf>Note:</bf> When going to do the installation, the tape must be in the drive <em>before</em> booting from the boot floppy. The installation probe may otherwise fail to find it.</quote> <sect1><heading>Before installing over a network</heading> <p>You can do network installations over 3 types of communications links: <descrip> <tag>Serial port</tag> SLIP or PPP <tag>Parallel port</tag> PLIP (laplink cable) <tag>Ethernet</tag> A standard ethernet controller (includes some PCMCIA). </descrip> SLIP support is rather primitive, and limited primarily to hard-wired links, such as a serial cable running between a laptop computer and another computer. The link should be hard-wired as the SLIP installation does not currently offer a dialing capability; that facility is provided with the PPP utility, which should be used in preference to SLIP whenever possible. If you are using a modem, then PPP is almost certainly your only choice. Make sure that you have your service provider's information handy as you will need to know it fairly soon in the installation process. You will need to know, at the minimum, your service provider's IP address and possibly your own (though you can also leave it blank and allow PPP to negotiate it with your ISP). You also need to know how to use the various ``AT commands'' to dial the ISP with your particular modem as the PPP dialer provides only a very simple terminal emulator. If a hard-wired connection to another FreeBSD (2.0R or later) machine is available, you might also consider installing over a ``laplink'' parallel port cable. The data rate over the parallel port is much higher than what is typically possible over a serial line (up to 50k/sec), thus resulting in a quicker installation. Finally, for the fastest possible network installation, an ethernet adaptor is always a good choice! FreeBSD supports most common PC ethernet cards, a table of supported cards (and their required settings) is provided in <ref id="install:hw" name="Supported Hardware">. If you are using one of the supported PCMCIA ethernet cards, also be sure that it is plugged in <em>before</em> the laptop is powered on! FreeBSD does not, unfortunately, currently support hot insertion of PCMCIA cards. You will also need to know your IP address on the network, the netmask value for your address class, and the name of your machine. Your system administrator can tell you which values to use for your particular network setup. If you will be referring to other hosts by name rather than IP address, you will also need a name server and possibly the address of a gateway (if you are using PPP, it is your provider's IP address) to use in talking to it. If you do not know the answers to all or most of these questions, then you should really probably talk to your system administrator <em>first</em> before trying this type of installation. Once you have a network link of some sort working, the installation can continue over NFS or FTP. <sect2><heading>Preparing for NFS installation</heading> <p>NFS installation is fairly straight-forward: Simply copy the FreeBSD distribution files you want onto a server somewhere and then point the NFS media selection at it. If this server supports only ``privileged port'' access (as is generally the default for Sun workstations), you will need to set this option in the Options menu before installation can proceed. If you have a poor quality ethernet card which suffers from very slow transfer rates, you may also wish to toggle the appropriate Options flag. In order for NFS installation to work, the server must support subdir mounts, e.g., if your FreeBSD 2.1 distribution directory lives on: <bf>ziggy:/usr/archive/stuff/FreeBSD</bf> Then ziggy will have to allow the direct mounting of <bf>/usr/archive/stuff/FreeBSD</bf>, not just <bf>/usr</bf> or <bf>/usr/archive/stuff</bf>. In FreeBSD's <bf>/etc/exports</bf> file, this is controlled by the ``<tt>-alldirs</tt>'' option. Other NFS servers may have different conventions. If you are getting `Permission Denied' messages from the server then it is likely that you do not have this enabled properly. <sect2><heading>Preparing for FTP Installation</heading> <p>FTP installation may be done from any mirror site containing a reasonably up-to-date version of FreeBSD 2.1. A full menu of reasonable choices from almost anywhere in the world is provided by the FTP site menu. If you are installing from some other FTP site not listed in this menu, or you are having troubles getting your name server configured properly, you can also specify your own URL by selecting the ``Other'' choice in that menu. A URL can also be a direct IP address, so the following would work in the absence of a name server: <tscreen><verb> ftp://192.216.222.4/pub/FreeBSD/2.1.0-RELEASE </verb></tscreen> There are two FTP installation modes you can use: <descrip> <tag>FTP Active</tag> For all FTP transfers, use ``Active'' mode. This will not work through firewalls, but will often work with older ftp servers that do not support passive mode. If your connection hangs with passive mode (the default), try active! <tag>FTP Passive</tag> For all FTP transfers, use ``Passive'' mode. This allows the user to pass through firewalls that do not allow incoming connections on random port addresses. </descrip> <quote><bf>Note:</bf> ACTIVE AND PASSIVE MODES ARE NOT THE SAME AS A `PROXY' CONNECTION, WHERE A PROXY FTP SERVER IS LISTENING ON A DIFFERENT PORT!</quote> In such instances, you should specify the URL as something like: <tscreen><verb> ftp://foo.bar.com:1234/pub/FreeBSD </verb></tscreen> Where ``1234'' is the port number of the proxy ftp server. <sect><heading>Installing FreeBSD</heading> <p>Once you have taken note of the appropriate preinstallation steps, you should be able to install FreeBSD without any further trouble. Should this not be true, then you may wish to go back and re-read the relevant preparation section above for the installation media type you are trying to use, perhaps there is a helpful hint there that you missed the first time? If you are having hardware trouble, or FreeBSD refuses to boot at all, read the Hardware Guide provided on the boot floppy for a list of possible solutions. The FreeBSD boot floppy contains all the on-line documentation you should need to be able to navigate through an installation and if it does not then we would like to know what you found most confusing. Send your comments to <htmlurl url="mailto:doc@freebsd.org" name="doc@freebsd.org">. It is the objective of the FreeBSD installation program (sysinstall) to be self-documenting enough that painful ``step-by-step'' guides are no longer necessary. It may take us a little while to reach that objective, but that is the objective! Meanwhile, you may also find the following ``typical installation sequence'' to be helpful: <enum> <item>Boot the boot floppy. After a boot sequence which can take anywhere from from 30 seconds to 3 minutes, depending on your hardware, you should be presented with a menu of initial choices. If the floppy does not boot at all, or the boot hangs at some stage, go read the Q&A section of the Hardware Guide for possible causes. <item>Press F1. You should see some basic usage instructions on the menu system and general navigation. If you have not used this menu system before then PLEASE read this thoroughly! <item>Select the Options item and set any special preferences you may have. <item>Select a Custom or Express install, depending on whether or not you would like the installation to give you a high degree of control over each step of the installation or simply lead you through it, chosing reasonable defaults when possible. See details on both installation types below. <item>The Configure menu choice allows you to furthur configure your FreeBSD installation by giving you menu-driven access to various system defaults. Some items, like networking, may be especially important if you did a CDROM/Tape/Floppy installation and have not yet configured your network interfaces (assuming you have any). Properly configuring such interfaces here will allow FreeBSD to come up on the network when you first reboot from the hard disk. </enum> <sect1><heading>Express installation</heading> <p>The express installation is not too much different than the Custom one except that it leads you through the required stages in the proper order and presents you with various helpful prompts along the way. <enum> <item>The first step is the `Partition Editor', which allows you to chose how your drives will be used for FreeBSD. If you are dedicating an entire drive to FreeBSD, the `A' command is probably all you need to type here. <item>Next, with the `Label Editor', you can specify how the space in any allocated FreeBSD partitions should be used by FreeBSD, or where to mount a non-FreeBSD partition (such as DOS). If you want the standard layout, simply type `A' here. <item>Next, the `Distributions' menu allows you to specify which parts of FreeBSD you wish to load. A good choice is ``User'' for a small system or ``Developer'' for someone wanting a bit more out of FreeBSD. If none of the existing collections sound applicable, select Custom. <item>Next, the `Media' menu allows you to specify what kind of media you wish to install from. If a desired media choice is found and configured automatically then this menu will simply return, otherwise you will be asked for additional details on the media device type. <item>Finally, you will be prompted to commit all of these actions at once (nothing has been written to your disk so far, nor will it until you give the final confirmation). All new or changed partition information will be written out, file systems will be created and/or non-destructively labelled (depending on how you set their newfs flags in the Label Editor) and all selected distributions will be extracted. </enum> At this point, you are generally done with the sysinstall utility and can select the final `Quit'. If you are running it as an installer (e.g., before the system is all the way up) then the system will now reboot after you press return one last time. If you selected the boot manager option, you will see a small boot menu with an `F?' prompt. Press the function key for BSD (it will be shown) and you should boot up into FreeBSD off the hard disk. If this fails to happen for some reason, see the Q&A section of the Hardware Guide for possible clues! <sect1><heading>Custom installation</heading> <p>You can do anything you like in this menu without altering your system <em>except</em> for ``Commit'', which will perform any requests to alter your system you may have made. Some of the menu options will also have direct `Write' commands available for commiting an operation immediately, but they should only be used if you are absolutely sure it is necessary. It is generally better to make your changes and then commit them all at once so that you are left with the option of changing your mind up to the very last minute. If you are confused at any point, the F1 key usually pulls up the right information for the screen you are in. <sect><heading>MS-DOS user's Questions and Answers</heading> <p>Many FreeBSD users wish to install FreeBSD on PCs inhabited by MS-DOS. Here are some commonly asked questions about installing FreeBSD on such systems. <p><bf>Help! I have no space! Do I need to delete everything first?</bf> If your machine is already running MS-DOS and has little or no free space available for FreeBSD's installation, all is not lost! You may find the FIPS utility, provided in the <tt>tools</tt> directory on the FreeBSD CDROM or on the various FreeBSD ftp sites, to be quite useful. FIPS allows you to split an existing MS-DOS partition into two pieces, preserving the original partition and allowing you to install onto the second free piece. You first defragment your MS-DOS partition, using the DOS 6.xx DEFRAG utility or the Norton Disk tools, then run FIPS. It will prompt you for the rest of the information it needs. Afterwards, you can reboot and install FreeBSD on the new free slice. See the <em>Distributions</em> menu for an estimation of how much free space you will need for the kind of installation you want. <bf>Can I use compressed MS-DOS filesystems from FreeBSD?</bf> No. If you are using a utility such as Stacker(tm) or DoubleSpace(tm), FreeBSD will only be able to use whatever portion of the filesystem you leave uncompressed. The rest of the filesystem will show up as one large file (the stacked/dblspaced file!). <bf>Do not remove that file!</bf> You will probably regret it greatly! It is probably better to create another uncompressed MS-DOS primary partition and use this for communications between MS-DOS and FreeBSD. <!-- XXX Status??? <bf>Can I mount my MS-DOS extended partitions?</bf> This feature is not in FreeBSD 2.0.5 but should be in 2.1. We have laid all the groundwork for making this happen, now we just need to do the last 1 percent of the work involved. --> <bf>Can I run MS-DOS binaries under FreeBSD?</bf> Not yet! We would like to add support for this someday, but are still lacking anyone to actually do the work. Ongoing work with Linux's DOSEMU utility may bring this much closer to being a reality sometime soon. Send mail to hackers@freebsd.org if you're interested in joining this effort! However, there is a nice application available in the <ref id="ports" name="The Ports Collection"> called pcemu, that allows you to run many basic MS-DOS text-mode binaries by entirely emulating an 8088 CPU.