diff options
Diffstat (limited to 'share/FAQ/Text/FreeBSD.FAQ')
-rw-r--r-- | share/FAQ/Text/FreeBSD.FAQ | 1304 |
1 files changed, 1304 insertions, 0 deletions
diff --git a/share/FAQ/Text/FreeBSD.FAQ b/share/FAQ/Text/FreeBSD.FAQ new file mode 100644 index 0000000..ade51b5 --- /dev/null +++ b/share/FAQ/Text/FreeBSD.FAQ @@ -0,0 +1,1304 @@ + + FreeBSD + Frequently Asked Questions + For Version 2.0 + +Please mail all suggestions and additions to <FAQ@FreeBSD.ORG> + + +Revision: $Id: FreeBSD.FAQ,v 1.24 1995/03/11 19:13:26 gclarkii Exp $ + +All entries are assumed to be relevant to FreeBSD 2.0. +Any entries with a <XXX> are under construction. + + +Table of Contents +----------------- + +0 Preface +1 Installation +2 Hardware Compatibility +3 Commercial applications +4 User Applications +5 Miscellaneous Questions +6 Kernel Configuration +7 System Administration +8 Networking +9 Serial Communications + + + +0 Preface +--------- + +Welcome to the FreeBSD 2.0 FAQ! This document tries to answer some of +the most frequently asked questions about FreeBSD 2.0. +If there's something you're having trouble with and you do not see it +here, please send email to: + + <questions@FreeBSD.ORG> + + +Some of the instructions here will also refer to auxiliary utilities +in the /usr/src/share/FAQ directory. CDROM purchasers and net folks +who've grabbed the FreeBSD 2.0 `srcdist' will have these files. If +you don't have the source distribution, then you can either grab the +whole thing from: + + ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current + +Or you can grab only those files you're interested in straight out of +the FreeBSD-current distribution in: + + ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current/src + +0.1: What is FreeBSD? + +FreeBSD 2.0 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: + + More robust and extensive PC device support + System V-style IPC, messaging and semaphores + Shared Libraries + Much improved virtual memory code + Better console driver support + Network booting (diskless) support + Yellow Pages support + Full support of the PCI bus + Loadable kernel modules + Too many additional utilities and applications to mention + +<2.X-Current> + Serial Console Support + Merged VM/Buffer Cache + On demand PPP + Sync PPP + Improved SCSI support + + +0.2: What are the FreeBSD mailing lists, and how can I get on them? + +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. + +announce: For announcements about or on FreeBSD. +hackers: Useful for persons wishing to work on the internals. +questions: General questions on FreeBSD. +bugs: Where bugs should be sent. +SCSI: Mailing list for SCSI developers. +current: This list is for persons wishing to run FreeBSD-current + and carries announcements and discussions on current. +security: For issues dealing with system security. +platforms: Deals with ports to non-Intel platforms +ports: Discussion of /usr/ports/??? +fs: Discussion of FreeBSD Filesystems +hardware: Discussion on hardware requirements for FreeBSD. + +The FreeBSD-commit list has been broken up into groups dealing with different +areas of interest. Please see the FreeBSD mailing list FAQ in: + + /usr/src/share/FAQ/mailing-list.FAQ + + +0.3: What are the various FreeBSD news groups? + +While there are no groups currently dedicated to FreeBSD, you may find +the following groups useful. + +comp.os.386bsd.announce: For announcements +comp.os.386bsd.apps: For applications +comp.os.386bsd.questions: For questions +comp.os.386bsd.development: For working on the internals +comp.os.386bsd.bugs: About bugs +comp.os.386bsd.misc: For items that don't fit anywhere else + +NOTE: These groups cover all the *BSDs (FreeBSD, NetBSD, 386BSD). + +comp.os.bsd: General BSD topics, maybe of intrest + +NOTE: As of the date of this writing, there is has been a break up of +newsgroups into groups for each OS. These groups can be found under +``comp.unix.bsd''. + + +1 Installation +-------------- + +1.1: I want to install FreeBSD onto a SCSI disk that has more than + 1024 cylinders. How do I do it? + +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 +`pfdisk' (located in the tools/dos-tools subdirectory) which can be used for +this purpose. + + +1.2: When I boot FreeBSD it says ``Missing Operating System''. + +See question 1.2. 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. + +1.3: 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. + +This is another symptom of the problem described in 1.2. 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. + +1.4: I have an IDE drive with lots of bad blocks on it and FreeBSD doesn't + seem to install properly. + +FreeBSD's bad block (bad144) 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 *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. + +1.5: I have 32MB of memory, should I expect any special problems? + +No. FreeBSD 2.0 comes with bounce buffers which allows your bus +mastering controller access to greater than 16MB. + +1.6: Do I need to install the complete sources? + +In general, no. However, we would strongly recommend that you +install, at a minimum, the `base' source kit, which includes several +of the files mentioned here, and the `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 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 /usr/src 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. + +1.7: DES encryption software can not be exported from the United + States. If I live outside the US, how can I encrypt passwords? + +If it is not absolutely imperative that you use DES style encryption, +you can use FreeBSD's default encryption for even _better_ security, +and with no export restrictions. FreeBSD 2.0's password default +scrambler is now 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 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: + + South Africa: braae.ru.ac.za:/pub/FreeBSD/securedist/ + owl.und.ac.za (currently uncertain) + Iceland: ftp.veda.is:/pub/crypt/FreeBSD/ + +The non-US securedist can be used as a direct replacement for the +encumbered US securedist. This 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 +braae.ru.ac.za. + +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 ``help'' in the body of your message to +<majordomo@braae.ru.ac.za>. + + + +2 Hardware compatibility +------------------------ + +2.1: What kind of hard drives does FreeBSD run on? + +FreeBSD supports ST-506 (sometimes called ``MFM''), RLL, and ESDI +drives, which are usually connected to WD-1002, WD-1003, or WD-1006 +controllers (although clones should also work). + +FreeBSD also supports IDE and SCSI hard drives. + +2.2: What SCSI controllers are supported? + +FreeBSD supports the following SCSI controllers: + +Adaptec AH-154x Series <ISA> + AH-174x Series <EISA> + AH-152x Series <ISA> + Sound Blaster SCSI (AH-152x compat) <ISA> + AH-2742/2842 Series <ISA/EISA> + AH-2820/2822/2825 Series <VLB> +Buslogic BT-445 Series <VLB> (but see section 1.5) + BT-545 Series <ISA> + BT-742 Series <EISA> + BT-747 Series <EISA> + BT-964 Series <PCI> +Future Domain TMC-950 Series <ISA> +PCI Generic NCR 53C810 based controllers <PCI> +ProAudioSpectrum Zilog 5380 based controllers <ISA> +Seagate ST-01/02 Series <ISA> +UltraStor UH-14f Series <ISA> + UH-34f Series <EISA/VLB> + +<2.X-Current Only> +Western Digital WD7000 <ISA> <No scatter/gather> +Adaptec AH-294x and aic7870 MB controllers <PCI> +ProAudioSpectrum Trantor 130 based controllers <ISA> + +2.3: What CD-ROM drives are supported by FreeBSD? + +Any SCSI drive connected to a supported controller. +Mitsumi LU002(8bit), LU005(16bit) and FX001D(16bit 2x Speed). + +<2.X-Current> +Sound Blaster Non-SCSI CD-ROM + +FreeBSD does not support any of the ``IDE'' CD-ROM interfaces. +All non-SCSI cards are known to be extremely slow compared to SCSI +drives. + +2.4: What multi-port serial cards are supported by FreeBSD? + +AST/4 +BOCA 4/8/16 port cards. + +<2.X-Current> +Cyclades 8/16 port <Alpha> + +Some unnamed clone cards have also been known to work,, especially those +that claim to be AST compatible. +Check the sio(4) man page to get more information on configuring such +cards. + + +2.5: Does FreeBSD support the AHA-2742/2842 SCSI adapters from Adaptec? + +Yes, though portions of the sources are currently GPL'd (that is to say, +distributed under the GNU Public License), so be aware of the fact should +you wish to distribute kernel binaries compiled with it - you MUST also +provide the sources to the driver with the kernel image to stay legal +with the GPL! This is easily enough done by simply including the contents +of /usr/src/sys/gnu/{aic7770,misc} on whatever media you distribute the +kernel. + +We are working to get the GPL restriction removed, but for now you should +at least be aware of it. + + +2.6: I have a Mumbleco bus mouse. Is it supported and if so, how do I set + it up for XFree86? + +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: + + device mse0 at isa? port 0x23c tty irq6 vector mseintr + + +2.7: I have a PS/2 mouse (`keyboard' mouse) [Alternatively: I have a + laptop with a track-ball mouse]. How do I use it? + + + +2.8: What types of tape drives are supported under FreeBSD? + +FreeBSD supports SCSI, QIC-02 and QIC-40/80 (Floppy based) tape +drives. This includes 8-mm (aka Exabyte) and DAT drives. + + +2.9: What sound cards are supported by FreeBSD? + +FreeBSD supports the SoundBlaster, SoundBlaster Pro, 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 and SoundBlaster 16 ASP cards are not yet supported. +NOTE: This is only for sound! This driver does not support CD-ROMs, +SCSI or joysticks on these cards. + + +2.10: What network cards does FreeBSD support? + +There is support for the following cards: + +`ed' driver: + NE2000 and 1000 + WD/SMC 8003, 8013 and Elite Ultra (8216) + 3Com 3c503 + And clones of the above + +`de' driver: + DEC and compatible PCI controllers. + +`le' driver: + DEC LANCE ethernet based controllers. + +`ie' driver: + AT&T EN100/StarLAN 10 + 3Com 3c507 + +`is' driver: + Isolan AT 4141-0 + Isolink 4110 + +`ep' driver: + 3com 3c509 (*) + +`el' driver: + 3com 3c501 (*) + +`ze' driver: + IBM PCMCIA credit card adapter + +`lnc' driver: + Unknown Lance based (*) + +<2.X-Current> + +`cx' driver + Cronyx/Sigma multiport Sync/Async (Cisco and PPP framing) + +`zp' driver + 3Com PCMCIA Etherlink III + +Note: Drivers marked with (*) are known to have problems. + +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. + +2.11: I have a 386/486sx/486SLC machine without a math co-processor. + Will this cause me any problems? + +Generally no, but there are circumstances where you will take a hit, +either in performance or accuracy of the math emulation code (see +section 4.1). In particular, drawing arcs in X will be VERY slow. It +is highly recommended that you lay out the $50 or so for a math +co-processor; it's well worth it. 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. + +2.12: What other devices does 2.X support? + +Here is a listing of drivers that do not fit into any of the above areas. + +b004.c Driver for B004 compatiable Transputer boards +ctx.c Driver for CORTEX-I Frame grabber +gpib.c Driver for National Instruments AT-GPIB and AT-GPIB/TNT boards +pcaudio.c Driver for PC speakers to allow the playing of audio files +tw.c Driver for the X-10 POWERHOUSE + +<2.X-Current> +spigot.c Driver for the Creative Labs Video Spigot +gsc.c Driver for the Genuis GS-4500 Hand scanner +joy.c Driver for a joystick + +2.13: 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? + +Yes. Please look at the file Systems.FAQ. 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. + +2.14: I have a lap-top with power management. Can FreeBSD take advantage + of this? + +Yes it can on certain machines. Please look in the LINT kernel config +file under APM. + + + +3 Commercial Applications +------------------------- + +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. + + +3.1: Where can I get Motif for FreeBSD? + +You can purchase Motif 1.2.3 for FreeBSD (SWiM) from the ACC Bookstore, +P.O. Box 3364, Westport CT. 06880. 1-800-546-7274 or FAX: 1-203-454-2582 + +This software works flawlessly for for FreeBSD 1.1.5 but has shown +one problem with 2.0 in that the "uil" program core dumps. This is +apparently because of the way uil is installed, and it's quite possible +that ACC will have a fixed version by the time you read this. No +other compatibility problems with the programs or libraries have been +found, and ACC can hardly be blamed for failing to work perfectly with +a brand-new release they haven't even seen yet! :) + + +3.2: 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? + +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 (`compat1xdist'). + +More info: URL http://www.xinside.com/ + or URL ftp://ftp.xinside.com/accelx/1.1/prodinfo.txt + or email info@xinside.com + or phone +1(303)384-9999 + + +3.3: Any other applications I might be interested in? + +RenderMorphics, Ltd. sells a high-speed 3D rendering package for +FreeBSD called "Reality Lab" (tm). Send email to 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 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. + + +4 User Applications +------------------- + +4.1: I want to run X, how do I go about it? + +First, get the XFree86 distribution of X11R6 from XFree86.cdrom.com. +The version you want for FreeBSD 2.X and later is XFree86 3.1.1. Follow +the instructions for installation carefully. You may then wish to read +the documentation for the ConfigXF86 tool, which assists you in +configuring XFree86 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 3.2 for more details. + +4.2: 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? + +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. + +options GPL_MATH_EMULATE + +NOTE: You will need to remove the MATH_EMULATE option when you do this. + + +4.2: 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? + +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 packages/ directory on +their CD, others can get the currently available packages from: + + ftp://ftp.FreeBSD.ORG/pub/FreeBSD/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 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. + + + + +5 Miscellaneous Questions +---------------- + +5.1: I've heard of something called FreeBSD-current. How do I run it, and + where can I get more information? + +Read the file /usr/src/share/FAQ/current-policy.FAQ, +it will tell you all you need to know. + + +5.2: What is this thing called `sup', and how do I use it? + +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 CTM, +see 5.6 for more about that. + +To use it, you need to have direct internet connectivity (not just +mail or news). First, pick up the sup.tgz package from: + + ftp://ftp.FreeBSD.ORG/pub/FreeBSD/packages/sup.tgz + +Second, read the file /usr/src/share/FAQ/sup.FAQ. + +This file describes how to setup sup on your machine. You may also +want to look at /usr/src/share/FAQ/extras/*.supfile, or you may grab updated +supfiles from: + + ftp://ftp.FreeBSD.ORG//pub/FreeBSD/FAQ/extras + +which are a set of supfiles for supping from FreeBSD.ORG. + + +5.3: How do I create customized installation disks that I can give + out to other people at my site? + +The entire process of creating installation disks and source and +binary archives is automated by various targets in +/usr/src/etc/Makefile. The information there should be enough to get +you started. + +5.4: How do I re-build my system without clobbering the existing + installed binaries? + +If you define the environment variable DESTDIR while running `make +world' or `make install', the newly-created binaries will be deposited +in a directory tree identical to the installed one, rooted at +${DESTDIR}. Some random combination of shared libraries modifications +and program rebuilds can cause this to fail in `make world', however. + + +5.5: When my system booted, it told me that ``(bus speed defaulted)''. + What does that mean? + +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 ``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. + +5.6: I would like to track changes to current and do not have net access. + Is there any way besides downloading the whole tree? + +Yes, you can use the CTM facility. Check out the ctm.FAQ file or + ftp://freefall.cdrom.com/pub/CTM/README +for more information. + +5.7: How do I split up large binary files into smaller 240k files + like the distribution does? + +Newer BSD based systems have a "-b" option to split that allows them to +split files on arbitary byte bondaries. + +Here is an example from /usr/src/Makefile. +bin-tarball: + (cd ${DISTDIR}; \ + tar cf - . \ + gzip --no-name -9 -c | \ + split -b 240640 - \ + ${RELEASEDIR}/tarballs/bindist/bin_tgz.) + + +<XXX> 5.8: 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? + +5.9: I just got a Perl application and it's bombing looking for + *.ph. Where is it? + +There was a minor SNAFU in the 2.0-R bindist and they got left out. +If you have the source, you just have to do a "make install" from +/usr/src/gnu/usr.bin/perl/lib and everything will be fine. Or you +may ftp to phoenix-gw.gbdata.com and grab them from ~/pub/perl/libs.tar.gz. + +5.10: I've got this neato kernel extension I just know everyone will + will want. How do I get it included into the distribution? + +Please take a look at the FAQ for submiting code to FreeBSD at: + + ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FAQ/submitters.FAQ + +And thanks for the thought. + + +6 Kernel Configuration +---------------------- + +6.0: Ok, so how DO I compile my own kernel, anyway? + +Before you can compile a kernel, you need either the complete srcdist +or, at the minimum, the kerndist loaded on your system. This provides +the necessary sources for building the kernel, as we have a policy of +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 *actually* happening. + +Anyway, to answer the question, once you have the kerndist or srcdist +loaded, do this: + + 6.0.1: cd /usr/src/sys/i386/conf + 6.0.2: cp GENERIC MYKERNEL + 6.0.3: vi MYKERNEL + 6.0.4: config MYKERNEL + 6.0.5: cd ../../compile/MYKERNEL + 6.0.6: make all + 6.0.7: make install + 6.0.8: reboot + +Step 6.0.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 LINT, which contains entries for +*all* possible kernel options and documents them fairly well. The 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 GENERIC, you can also skip step +6.0.3, where you customize the kernel for your configuration. Step 6.0.7 +should only be undertaken if step 6.0.6 succeeds. This will copy +the new kernel image to /kernel and BACK UP YOUR OLD ONE IN /kernel.old! +It's very important to remember this in case the new kernel fails to work +for some reason - you can still select /kernel.old at the boot prompt to +boot the old one. When you reboot, the new kernel will boot by default. + +If the compile in 6.0.6 falls over for some reason, then it's recommended +that you start from step 6.0.4 but substitute GENERIC for MYKERNEL. If you +can generate a 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 GENERIC kernel does 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 `dmesg' command. +It should print out all the boot-time messages printed by your old kernel, +some of which may be quite helpful in configuring the new one. + + +6.1: 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? + +The problem here is that FreeBSD has code built-in to keep the kernel +from getting trashed due to hardware or software conflicts. The way +to fix this is to leave out the IRQ settings on other ports besides +the first. Here is a example: + +# +# 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 + + +6.2: FreeBSD is supposed to come with support for QIC-40/80 drives but + when I look, I can't find it. + +You need to uncomment the following line in the generic config file +(or add it to your config file) and recompile. + +controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr +disk fd0 at fdc0 drive 0 +disk fd1 at fdc0 drive 1 +#tape ft0 at fdc0 drive 2 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +You will have a device called /dev/ft0, which you can write to through +a special program to manage it called `ft' - see the man page on ft for +further details. Versions previous to -current also had some trouble dealing +wiht bad tape media; if you have trouble where ft seems to go back and forth +over the same spot, try grabbing the latest version of ft from /usr/src/sbin/ft +in current and try that. + + +6.3: Does FreeBSD support IPC primitives like those in System V? + +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. + +options SYSVSHM +options "SHMMAXPGS=64" # 256Kb of sharable memory +options SYSVSEM # enable for semaphores +options SYSVMSG # enable for messaging + +Recompile and install. + + +6.4: Will FreeBSD ever support other architectures? + +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 +<FreeBSD-hackers@FreeBSD.ORG> for more information on our +strategy for porting. + + +6.5: I just wrote a device driver for a Foobar Systems, Inc. + Integrated Adaptive Gronkulator card. How do I get the + appropriate major numbers assigned? + +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 files.i386, a sample +configuration file entry, and the appropriate MAKEDEV code to create +any special files your device uses. If you do not, or are unable to +because of licensing restrictions, then character major number 32 and +block major number 8 have been reserved specifically for this purpose; +please use them. In any case, we'd appreciate hearing about your +driver on <FreeBSD-hackers@FreeBSD.ORG>. + + + +7 System Administration +----------------------- + +7.1: How do I add a user easily? I read the man page and am more confused + than ever! [Alternatively: I didn't read the man page, I never read + man pages! :-) ] + +Use the adduser command. + + +<XXX> 7.2: I'm trying to use my printer and keep running into problems. I tried + looking at /etc/printcap, but it's close to useless. Any ideas? + + + +8 Networking +------------ + + +8.2: I've heard that you can use a FreeBSD box as a dedicated network + router - is there any easy support for this? + +Internet standards and good engineering practice prohibit us from +providing packet forwarding by default in FreeBSD. You can enable +this support by adding `options GATEWAY' to your kernel configuration +file and recompiling. 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 routed(8), +or for more complex situations you may want to try GateD (available by +FTP from gated.Cornell.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. + + +8.3: Does FreeBSD support SLIP and PPP? + +Yes. See the man pages for slattach(8) and/or 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 sliplogin(8). +You may also want to take a look at the slip FAQ in: + /usr/src/share/FAQ/Slip.FAQ + +8.4: How do I get my network set up? I don't see how to make my + /dev/ed0 device! + +In the Berkeley networking framework, network interfaces are only +directly accessible by kernel code. Please see the /etc/netstart 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. + +8.5: How do I get my 3C503 to use the other network port? + +Use `ifconfig ed0' to see whether the ALTPHYS flag is set, and then +use either `ifconfig ed0 altphys' if it was off, or `ifconfig ed0 +-altphys' if it was on. + +8.6: I'm having problems with NFS to/from FreeBSD and my Wuffotronics + Workstation / generic NFS appliance, where should I look first? + +Certain PC network cards are better than others (to put it mildly) and +can sometimes cause problems with network intensive applications like +NFS. See /usr/src/share/FAQ/NFS.FAQ for more information on this +topic. + +8.8: 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?] + +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 ip_mroute_mod loadable kernel module and run mrouted. + +For more information: + +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. + + + +9 Serial Communications +----------------------- + +This section answers common questions about serial communications with +FreeBSD. + +9.1: How do I tell if FreeBSD found my serial ports or modem cards? + +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 + + dmesg | grep sio + +after your system's up and running. + +Here's some example output from the above command: + + sio0 at 0x3f8-0x3ff irq 4 on isa + sio0: type 16550A + sio1 at 0x2f8-0x2ff irq 3 on isa + sio1: type 16550A + +This shows two serial ports. The first is on irq 4, is using port +address 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 0x2f8. +Internal modem cards are treated just like serial ports---except that +they always have a modem ``attached'' to the port. + +The 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 7 of the FAQ for more details. + +9.2: How do I access the serial ports once FreeBSD is running? + +The third serial port, sio2 (known as COM3 in DOS), is on /dev/tty02 +for directly-connected devices, on /dev/cuaa2 for dial-out devices, +and on /dev/ttyd2 for dial-in devices. What's the difference between +these three classes of devices? + +You use ttyXX for directly-connected or hardwired devices, like +printers or terminals. + +In place of ttyXX, you can use the pair of devices cuaaX and ttydX. +You use ttydX for dial-ins. The ttydX device acts like the ttyXX +device, but it also uses the modem control lines. When opening +/dev/ttydX in blocking mode, a process will wait for the corresponding +cuaaX device to become inactive, and then wait for the carrier detect +line to go active. When you open the cuaaX device, it makes sure the +serial port isn't already in use by the ttydX device. If the port's +available, it ``steals'' it from the ttydX device. Also, the cuaaX +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. + +9.3: How do I configure the kernel for my multiport serial card? + +Again, the section on kernel configuration provides information about +configuring your kernel. For a multiport serial card, place an 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 COM_MULTIPORT option. + +The following example is for an AST 4-port serial card on irq 7: + + 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 + +The flags indicate that the master port has minor number 7 (0x700), +diagnostics enabled during probe (0x080), and all the ports share an +irq (0x001). + +9.4: I have two multiport serial cards that can share irqs. Can + FreeBSD handle this? + +Not yet. You'll have to use a different irq for each card. + +9.5: What's the difference between tty01, ttyi01, and ttyl01? Or, + how can I set the default serial parameters for a port? + +The ttyXX (or cuaaX or ttydX) 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 + + stty -a -f /dev/tty01 + +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 CLOCAL mode, 8 bits, and XON/XOFF flow control by default +for tty05, do: + + stty -f /dev/ttyi05 clocal cs8 ixon ixoff + +A good place to do this is in /etc/rc.serial. Now, an application +will have these settings by default when it opens tty05. 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 tty05 to 57600 bps, do + + stty -f /dev/ttyl05 57600 + +Now, an application that opens tty05 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 root. The MAKEDEV script does NOT do this when it +creates the device entries. + +9.6: How can I enable dialup logins on my modem? + +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 (DTR) line goes from on to off. It should +probably use RTS/CTS 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: + + AT &C1 &D3 &K3 &Q6 S0=1 &W + +See 9.10 below for information on how to make these settings without +resorting to an MS-DOS terminal program. + +Next, make an entry in /etc/ttys for the modem. This file lists all +the ports on which the operating system will await logins. Add a line +that looks something like this: + + ttyd1 "/usr/libexec/getty std.57600" dialup on insecure + +This line indicates that the second serial port (/dev/ttyd1) has a +modem connected running at 57600 bps and no parity (std.57600, which +comes from the file /etc/gettytab). The terminal type for this port +is ``dialup.'' The port is ``on'' and is ``insecure''---meaning root +logins on the port aren't allowed. For dialin ports like this one, +use the 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 ``su'' to root. If you use ``secure'' then root +can login in directly. + +After making modifications to /etc/ttys, you need to send a hangup or +HUP signal to the init process: + + kill -1 1 + +This forces the init process to reread /etc/ttys. The init process +will then start getty processes on all ``on'' ports. You can find out +if logins are available for your port by typing + + ps -ax | grep '[t]tyd1' + +You should see something like: + + 747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 + +9.7: How can I make my spare computer a dumb terminal connected to my + FreeBSD box? + +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 /etc/ttys, like above. For example, if you're hooking up +a WYSE-50 terminal to the fifth serial port, use an entry like this: + + tty04 "/usr/libexec/getty std.38400" wyse50 on secure + +This example shows that the port on /dev/tty04 has a wyse50 terminal +connected at 38400 bps with no parity (std.38400 from /etc/gettytab) +and root logins are allowed (secure). For directly-connected +terminals, use the ttyXX entry. + +9.8: Why can't I run tip or cu? + +On your system, the programs tip and cu are probably executable only +by uucp and group dialer. You can use the group 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 tip and cu by +typing: + + chmod 4511 /usr/bin/tip + +You don't have to run this command for cu, since cu is just a hard +link to tip. + +9.9: My stock Hayes modem isn't supported---what should I do? + +Actually, the man page for tip is out of date. There is a generic +Hayes dialer already built in. Just use ``at=hayes'' in your +/etc/remote file. + +The Hayes driver isn't smart enough to recognize some of the advanced +features of newer modems---messages like BUSY, NO DIALTONE, or CONNECT +115200 will just confuse it. You should turn those messages off when +you use tip (using ATX0&W). + +Also, the dial timeout for tip is 60 seconds. Your modem should use +something less, or else tip will think there's a communication +problem. Try ATS7=45&W. + +9.10: How am I expected to enter these AT commands without + resorting to some DOS-based terminal program? + +Make what's called a ``direct'' entry in your /etc/remote file. For +example, if your modem's hooked up to the first serial port, +/dev/cuaa0, then put in the following line: + + cuaa0:dv=/dev/cuaa0:br#19200:pa=none + +Use the highest bps rate your modem supports in the br capability. +Then, type ``tip cuaa0'' and you'll be connected to your modem. + +If there is no /dev/cuaa0 on your system, do this: + + cd /dev + MAKEDEV cuaa0 + +9.11: Why doesn't the @ sign for the phone number capability work? + +The @ sign in the pn capability tells tip to look in /etc/phones for a +phone number. But the @ sign is also a special character in +capability files like /etc/remote. Escape it with a backslash: +``pn=\@''. + +9.12: How can I dial a phone number on the command line? + +Put what's called a ``generic'' entry in your /etc/remote file. For +example: + + 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: + +Then you can things like ``tip -115200 5551234''. If you prefer cu +over tip, use a generic cu entry: + + cu115200|Use cu to dial any number at 115200bps:\ + :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du: + +and type ``cu 5551234 -s 115200''. + +9.13: Great---but how can I do that without having to specify the bps + rate on the command line? + +Put in an entry for tip1200 or cu1200, but go ahead and use whatever +bps rate is appropriate with the br capability. tip thinks a good +default is 1200 bps which is why it looks for a ``tip1200'' entry. +You don't have to use 1200 bps, though. + +9.14: I want separate entries for various hosts I access through a + terminal server, but I don't want to type ``CONNECT <host>'' + each time once I'm connected. Can tip do that for me? + +Yes. Use the cm capability. For example, these entries in +/etc/remote: + + 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/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234: + +will let you type ``tip pain'' or ``tip muffin'' to connect to the +hosts pain or muffin; and ``tip deep13'' to get to the terminal +server. + +9.15: My university has 42 billion students but only 4 modem lines. + Can tip automatically try each line? + +Sure. Make an entry for your university in /etc/remote and use \@ for +the pn capability: + + big-university:\ + :pn=\@:tc=dialout + dialout:\ + :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none: + +Then, list the phone numbers for the university in /etc/phones: + + big-university 5551111 + big-university 5551112 + big-university 5551113 + big-university 5551114 + +tip will try each one in the listed order, then give up. If you want +to keep retrying, run tip in a while loop. + +9.16: How come I have to hit CTRL+P twice to send CTRL+P once? + +CTRL+P is the default ``force'' character, used to tell tip that the +next character is literal data. You can set the force character to +any other character with the ~s escape, which means ``set a +variable.'' + +Type ``~sforce=<single-char>'' followed by a newline. <single-char> +is any single character. If you leave out <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 <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 $HOME/.tiprc file: + + force=<single-char> + +9.17: Suddenly everything I type is all UPPER CASE. What gives? + +You must've pressed CTRL+A, tip's ``raise character,'' specially +designed for people with broken caps-lock keys. Use ~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: + + force=^^ + raisechar=^^ + +The ^^ is SHIFT+CTRL+6. + +9.18: How can I do file transfers with tip? + +If you're talking to another UNIX system, you can send and receive +files with ~p (put) and ~t (take). These commands run ``cat'' and +``echo'' on the remote system to accept and send files. The syntax +is: + + ~p <local-file> [<remote-file>] + ~t <remote-file> [<local-file>] + +There's no error checking, so you probably should use another +protocol, like zmodem. + +9.19: Okay, how can I run zmodem with tip? + +To receive files, start the sending program on the remote end. Then, +type ``~C rz'' to begin receiving them locally. + +To send files, start the receiving program on the remote end. Then, +type ``~C sz <files>'' to send them to the remote system. + + + +NOTE: Anyone wishing to submit a FAQ entry on how to get tip and cu working + would have it much appreciated! We all use Kermit over here! :-) + +----------------------------------------------------------------------------- +If you see a problem with this FAQ, or wish to submit an entry, please +mail us at <FreeBSD-FAQ@FreeBSD.ORG>. We appreciate your +feedback, and cannot make this a better FAQ without your help! + + + FreeBSD Core Team + +----------------------------------------------------------------------------- + +ACKNOWLEDGMENTS: + +Ollivier Robert - FreeBSD FAQ maintenance man +Gary Clark II - Ex-FreeBSD FAQ maintenance man +Jordan Hubbard - Janitorial services (I don't do windows) +Garrett Wollman - Networking and formatting +Robert Oliver, Jr. - Ideas and dumb questions (That made me think) +Jim Lowe - Multicast information +The FreeBSD Team - Kvetching, moaning, submitting data + +And to any others we've forgotten, apologies and heartfelt thanks! + |