*BSD News Article 33374


Return to BSD News archive

Xref: sserve comp.os.386bsd.announce:417 comp.answers:5955 news.answers:24409
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msuinfo!agate!library.ucla.edu!news.mic.ucla.edu!ux1.lmu.edu!s069.infonet.net!s069.infonet.net!not-for-mail
From: burgess@cynjut.infonet.net (Dave Burgess)
Newsgroups: comp.os.386bsd.announce,comp.answers,news.answers
Subject: [comp.os.386bsd] BNR/2 derived BSD for PCs FAQ (Part 1 of 10)
Supersedes: <386bsd-faq-1-774161545@cynjut.infonet.net>
Followup-To: comp.os.386bsd.misc
Date: 27 Jul 1994 22:29:16 -0500
Organization: Dave's House in Omaha
Lines: 1135
Sender: burgess@s069.infonet.net
Approved: news-answers-request@MIT.Edu,cgd@sun-lamp.cs.berkeley.edu
Distribution: world
Expires: 08/14/94 22:29:12 CDT
Message-ID: <386bsd-faq-1-775366152@cynjut.infonet.net>
Reply-To: burgess@cynjut.infonet.net (386bsd FAQ Maintainer)
NNTP-Posting-Host: s069.infonet.net
Keywords: FAQ 386bsd NetBSD FreeBSD
X-Posting-Frequency: Posted on/about the 10th and the 24th of every month.

Posted-By: auto-faq 3.1.1.2
Archive-name: 386bsd-faq/part1


			Frequently Asked Questions
		       386BSD, NetBSD, FreeBSD, and
		       other BSD derived Operating 
		                 Systems.


		   	   EXTREMELY UNOFFICIAL


  Original FAQ by:
	Terry Lambert
	terry_lambert@gateway.novell.com
	terry@icarus.weber.edu


  New FAQ by:
	TSgt Dave Burgess
	NCOIC, Configuration Management Section, US Strategic Command
	Instructor, Computer Science Dept, Nebraska School of Business
	burgess@s069.infonet.net
	burgess@cynjut.infonet.net


			   Last Update:  26 Jul 1994 


Section 0.  (Basic FAQ information)

0.0	Master Index.

	0.0          Master Index.
	0.1          Introduction
	0.2          About this FAQ.
	0.2a         What are the differences between *BSD and (your favorite
		     operating system name here)? 
	0.2b         Which is better, (your favorite operating system name
		     here) or *BSD? 
	0.2c         Is 386bsd better than (your favorite operating system
		     name here)? 
	0.2.1        So what ARE the differences between the *BSD family and
		     Linux? 
	0.2.2        Are all of the Berkeley derived systems binary
		     compatible? If not, what are the differences? 
	0.3          How to add your pet answer to the FAQ.
	0.4          Administrivia.
	1.0          What is 386BSD? (Taken from the original INSTALL.NOTES
		     by the Jolitz's, specifically Lynne) 
	1.0.1        What are these other Free BSD systems?
	1.0.2        I just downloaded all of 386bsd version 0.1 and I get
		     can't get [some feature] to work? Do you have any
		     suggestions? 
	1.1          Feature summary
	1.2          The future of 386BSD.
	1.3          386BSD software projects in progress
	1.3.1        Contacting software authors
	1.4          Minimum hardware configuration recommended
	1.5          Where to get the source and binaries
	1.5.1        Forms available (floppy, FTP, CD-ROM)
	1.5.1.1      Where can I get the distribution on floppy or tape?
	1.5.1.2      Where can I get the distribution via FTP?
	1.5.1.3      Where can I get the distribution on CD ROM?
	1.6          Electronic Information Groups for 386BSD
	1.6.1        Usenet newsgroups
	1.6.2        Newsgroup archives.
	1.6.3        386bsd Derived mailing lists.
	1.6.4        Other electronic resources.
	1.6.5        System Updates.
	1.7          Documentation available
	1.7.1        BSD manuals
	1.7.2        BSD books
	1.7.3        The Jolitz Book
	1.7.4        Dr. Dobbs' journal
	1.7.5        Documentation that comes with most of the distributions.
		     
	1.7.6        Other FAQ's on the net that are relevant
	1.8          FTP sites for 386BSD
	1.8.1        FTP Site List
	1.8.2        Official distribution sites
	1.8.3        Reference sites
	1.8.4        Unofficial archive sites that have neat stuff!
	1.8.5        X for 386BSD 0.1 Ported Software List
	1.8.6        Motif for the *BSD family. (Infomercial to follow)
	2.0          Install process
	2.0.1        Boot disks (versions and media formats)
	2.0.1.1      Where does extract go when I reboot?
	2.0.1.2      I put the floppy in and try to boot, and nothing
		     happens. What now? 
	2.0.1.3a     The floppy booted, but now the hard disk won't boot?
	2.0.1.3b     I am trying to reinstall. I run install and it loops
		     asking me if I want to use the whole disk? 
	2.0.2        Fix-it boot disk
	2.0.1.4      What are the options on the boot prompt?
	2.1          Binary distribution
	2.2          Source distribution
	2.3          Additional software distribution
	2.4          Patch-kit
	2.5          Configuration
	2.5.1        Partitions
	2.5.1.1      What is a 'disklabel' and why do I need one?
	2.5.2        Common Disk Label Problems.
	2.5.2.1      Swap space.
	2.5.2.2      Increasing the 386bsd partition size.
	2.5.2.3      I can access the DOS partition on my second disk from
		     Unix but not DOS? Any suggestions? 
	2.5.3        How do I set up the system so that I can boot from more
		     than one operating system/file-loader without using
		     floppies? 
	2.5.4        How do I disklabel my second hard drive?
	2.5.5        386bsd/NetBSD/FreeBSD cannot handle disk geometry
		     translations, but it turns out that my disk geometry is
		     translated. It has five zones, each with a different
		     sec/track! What kind of things can I do about the disk
		     translation my hard disk controller uses? 
	2.5.8        I am having trouble installing WRT 'syslogd: bind: Can't
		     assign requested address' errors. What are some of the
		     things I should look at? I also am having trouble with
		     the network: 'starting network ... ifconfig: localhost:
		     badvalue'. 
	2.6          Common installation problems.
	2.6.1        Swap space not identified correctly.
	2.6.2        Endless reboot cycles.
	2.7          The computer just sits there, or 'that isn't right'.
	2.7.1        The boot disk works all right on one computer but not
		     another. 
	2.7.2        Really strange errors in the various *BSD falvors.
	2.7.2.1      I am using the original 386bsd 0.1 with no patches
		     installed and I get flashing multicolored characters and
		     a "ptdi 81061" prompt error? 
	2.7.2.2      Using the new code in NetBSD, I get a "panic: pdti
		     206067" in pmap_enter(). What should I do. 
	2.7.3a       I get the error "isr 15 and error: isr 17" on an NE2000
		     card. 
	2.7.3b       I have some card on IRQ2 and it doesn't work; why?
	2.7.3c       I am getting lousy performance out of my network card.
		     What are some of the other possibilities? 
	2.7.4        What is the difference between IRQ2 and IRQ9? Are they
		     really the same, or are they really different? 
	2.7.5        Some of my SCSI devices (like a tape drive) don't work;
		     why? 
	2.7.6        I try to run 'ps' or 'w' and get ': cannot get namelist'
		     from the TinyBSD kernel. What did I do wrong? 
	2.7.7        I get a 'Floating point constant out of range' when I
		     try to compile package 'n'. What is broke? 
	2.7.8        I want to use the Adaptec 1542C SCSI controller. What
		     are the problems/tricks you need to know to get it
		     working? 
	2.7.9        Did anyone ever find out on how to use the 3c509
		     etherlink III card yet for bsd? 
	2.8          Other common problems that are attributed to the
		     installation process but are caused other places. 
	2.8.1        Why don't the man pages for "magic" and "file" work?
	2.8.2        Why is apropos broke?
	2.8.3        I want to use more than 16 Megabytes of memory. Will any
		     of the BSD based systems support it? 
	2.8.4        I tried to use a device in my computer that should be
		     there. When I did, I got a "Device not configured
		     error." What do I do now? 
	3.0          System Internals
	3.1          Kernel
	3.1.1        How do I build a kernel?
	3.1.2        I want to do one of the following things:
		     * add a device not in the distributed kernel (third com
		       port, additional disk or tape, line printer driver,
		       etc).
		     * use a patch from the net or the patchkit to fix a
		       kernel bug.
		     * add another swap device.
		     * recompile the kernel to remove extraneous devices so
		       that it takes up less space.
		     * configure more pseudo-terminals to allow for more
		       xterms or network logins. 
	3.1.3        I don't have the source distribution -- how can I
		     rebuild the kernel? 
	3.1.4        Now that I have a kernel, how do I install it?
	3.1.5        After installing the patchkit and recompiling the kernel
		     with the option "WD8013", I am no longer able to reboot
		     the machine. A cold boot (power on) runs fine, but after
		     a reboot no boot drive is found by the BIOS. Besides
		     having a 16-bit WD/SMC Ethernet card installed the
		     machines try to boot using either a Adaptec 1742 or 1542
		     SCSI board to boot from. 
	3.1.6        My system is complaining about stray interrupt 7. Is my
		     machine going to explode or anything? 
	3.1.7        I found a bug in the kernel. How do I report it?
	3.1.8        Can someone please give a reasonably clear set of
		     instructions as to how to get a "current" version of
		     NetBSD running? 
	3.2          What exactly is this config file, anyway? What are all
		     of these cryptic notations? 
	3.2.1        Okay, fine. Why shouldn't I just add every device I can
		     find to the kernel, so I'll never have to recompile this
		     again? 
	3.2.2        What should I remove from the kernel?
	3.2.3        I can't get enough remote login sessions or xterm
		     sessions. I also can only get four seesions working at a
		     time. What can I do? 
	3.2.4        How do I get ddb, the kernel debugger, compiled into the
		     kernel and running? 
	3.2.5        Can I have more than one config file? Should I rename it
		     to something else? Any other hints? 
	3.2.6        What is the meaning of the trap codes I get in panic
		     messages? Sometimes this message appears in the form
		     "trap type nn". 
	3.2.7        I have been getting a lot of "virtual memory exhausted"
		     errors when I am compiling a program with a really big
		     static array. I have 128Meg of memory and 8Gig of swap.
		     How can this be happening? 
	3.2.8        Where can I learn more about all this?
	3.2.9        Does anyone have a system building script that takes
		     things like building a new config and multiple config
		     files into account? 
	3.3          X11/XFree86/XS3
	3.3.1        What options should I define to get the X extensions
		     included? 
	3.3.2        Where can I get the FAQ for 'X'?
	3.3.3        Why does X drop characters when using xdm? When I run
		     xdm from the console, it keeps losing keystrokes and the
		     shift keys don't always work. Why? 
	3.4          Compiler and Library routines
	3.4.1        Which C compiler is shipped with my 386BSD derived
		     system? 
	3.4.2        Where is libcompat.a?
	3.5          You promised to talk about timezones below. Are you
		     going to? 
	3.5.1        How do you change the timezone on NetBSD (FreeBSD
		     also?)? 
	3.5.2        The translation between seconds-since-the-epoch and date
		     differs by about 18 seconds between BSD and other Unixes
		     when running ntp; why? 
	4.0          Introduction
	4.1          Common Kernel-related problems
	4.1.1        Where are the commands "rpcinfo" and "rpcgen"?
	4.1.2        Where can I get a working "netstat"?
	4.1.3        How can I fix NFS to work with my NE2000 board?
	4.1.4        How can I get "ps" and "w" to work?
	4.1.5        Where are re_comp and re_exec?
	4.1.6        Where are stty() and gtty()?
	4.1.7        The system hangs with the HD light on after intense disk
		     usage. The system hangs when trying to fsck -p both of
		     my IDE hard drives at boot-up. 
	4.1.8        How do you implement quotas on Net/2 derived BSD
		     systems? 
	4.2          Available kernel add-ons
	4.2.1        The Patch-Kit
	4.2.2        Shared Libraries
	4.2.3        Sound Blaster Drivers
	4.2.4        Bus Mouse Drivers
	4.2.5        PPP Support
	4.2.6        re_comp and re_exec library functions
	4.2.7        Intel i82586 Ethernet Controller driver
	4.2.8        PC Speaker driver for Nethack
	5.0          Introduction
	5.1          Available Kernel Replacements
	5.1.1        keycap/codrv
	5.1.2        pcvt
	5.1.3        syscons
	5.1.4        Fast Symbolic Links
	5.1.5        npx fixes
	5.1.6        CGD's COM drivers
	5.1.7        Tom Ivar Helbekkmo's wd.c replacement
	5.1.8        Interruptless LPT Driver Kit
	5.2          Floppy Disk problems.
	5.2.1        How do I get a bootable floppy?
	5.2.2        How do I maximize the space on a mountable floppy disk. 
	5.3          Character Device Driver info
	5.3.1        Printers
	5.3.2        Terminals/Keyboards
	5.3.3        Modems
	5.3.4        What is the trick for getting Kermit to work with rz and
		     sz? 
	5.4          Tape Drives
	5.4.1        Does the tape need to be formatted?
	5.4.2        If I execute the command 'st -f /dev/st0 status', I get:
		     Archive/Tandberg? tape drive, residual=0, blocksize=512
		     Density: high = 16 (0x10), medium = 15 (0xf), low = 5
		     (0x5) ds=0 er=0 
	5.4.3        When is erst0 used?
	5.4.4        How is density (bpi) computed? I am using 3M DC 6250
		     cassettes which have a 250MB capacity on the Viper 150.
		     But computing the bits/inch based on 250MB/tape-length
		     (1020 ft.), I get a density of 171335 bpi, which is
		     nowhere near the 10000 bpi associated with QIC-150 in
		     the st(1) man page. Why the discrepancy? 
	5.4.5        How is an appropriate block size determined (and in what
		     units are they specified in the st(1) command)? 
	5.4.6        From the 4.3BSD mtio(4) man page, it sounds like data is
		     typically (traditionally?) stored on tape in
		     eof-terminated sequences of 1K records. 
	5.4.6.1      Is st's notion of "file" the record sequence between two
		     eof marks? 
	5.4.6.2      What about a "record"?
	5.4.6.3      Is a "record" one "block", as determined by st's
		     "blocksize" command? If not, what is the connection
		     between them? 
	5.4.6.4      Can I change the "record" size?
	5.4.6.5      When would I want a block size that is different from
		     the default? 1KB is the size of writes used by dd or
		     whatever. QIC specifies 512 byte records (well at least
		     its what people use..) Whatever you write in will be
		     broken into 512 byte sections. They must be multiples of
		     512 though. 
	5.4.7.1      How do I write several archives to a single tape? I
		     tried without success: $ st -f /dev/rst4 rewind $ tar cf
		     /dev/nst4 archive1 $ st -f /dev/nrst4 weof $ tar cf
		     /dev/nst4 archive2 $ st -f /dev/nrst4 weof 
	5.4.7.2      Later, I would expect to be able to access, say,
		     archive3 via the fsf directive to skip over the first
		     two archives. What is the correct sequence? 
	5.4.8        Since the Viper 150 writes on QIC-150/120, I guess I
		     don't need to worry about writing variable-length
		     records? How about reading a tape written with
		     variable-length records. Is this possible with the
		     Viper? If so, what's involved? 
	5.4.9        The very scant documentation that came with my drive
		     mentions a "selectable buffer disconnect size," whose
		     default is 16K. This is evidently the "maximum number of
		     bytes that can be sent over the SCSI bus during a single
		     data transfer phase." What's that? How is it connected
		     st's "blocksize" command? Do I want to use 16K blocks,
		     or might I even want to set the disconnect size to a
		     higher value? 
	5.4.10       What is "streaming"? When I tar a directory of files to
		     tape, I notice that the tape often stops. Streaming
		     means it doesn't stop? How would I get the viper 150 to
		     stream using tar or cpio or dump? 
	5.4.11       Where are all the answers to the above and related
		     questions written down? Neither on the net nor in the
		     4.3BSD manuals nor Administration text which I have
		     could I find this stuff covered! 
	5.4.12       What else should I know? For example, it seems that a
		     new tape must stretched. How is this done? 
	5.4.13       My tape drive doesn't work.
	5.5          Network
	5.5.1        How can I get my system to work as a network router?
	6.0          Working with DOS and BNR/2 related software.
	6.1          Formatting a floppy
	6.2          Sharing the Disk with MS-DOS
	6.2.1        How can I partition my drive to support both MS-DOS and
		     *bsd? 
	6.2.2        I can install using the whole disk, but I can't install
		     when I try to share the drive between 386bsd and MS-DOS.
		     Why? 
	6.2.3        I can use either MS-DOS or 386BSD on my hard drive, but
		     shutdown -todos doesn't seem to work. 
	6.2.4        Is there any hope of ever running MS-DOS applications
		     under any of the free BSD systems? 
	6.3          Accessing the MS-DOS filesystem
	6.4          NFS/PC-NFS support
	6.4.1        Can I use 8K packets for NFS? When I try, I have all
		     kinds of problems. 
	6.4.2        How do I get around the NFS "Permission denied" error? 
	6.4.3        What does the message "BAD MNT RPC: RPC Authentication
		     error; why = Invalid client credential" mean when I try
		     to mount something from another machine? 
	6.4.4        What does the message "Bad MNT RPC: RPC: Authentication
		     error; why = Client credential too weak" mean when I try
		     to mount something from another machine? 
	6.4.5        I get a lot of 'ring buffer overflow' messages using NFS
		     and the ed0 driver. Is there a problem? 
	6.4.6        Is there any PC software that will allow me to use my
		     enormous PC with all of the unsupported hardware as a
		     PC-NFS server? 
	6.5          How can I use mtools with the 'new' floppy naming
		     convention? 
	7.0          Communications
	7.1          SLIP/CSLIP
	7.2          PPP
	7.3          TCP/IP
	7.4          UUCP
	7.4.1        TIP/CU
	7.4.2        What is the magic incantation that allows the modem to
		     dial? 
	7.5          Terminals
	7.6          Can network attached assets be used by/from NetBSD?
	8.0          What hardware is 386BSD known to run on and support!
	8.1          System brand names
	8.2          Motherboards
	8.3          Video cards
	8.4          Mice
	8.5          Serial Cards
	8.5.1        How do I configure multiport cards? Is there a
		     possibility of using multiport serial boards? How do you
		     configure an AST/4 in the kernel? It looks like the AST
		     driver only supports 4-port cards, but it looks like it
		     would be easy to add support for 8 ports ... or am I
		     wrong? 
	8.5.2        Now that I have FreeBSD 1.0 installed, how do I set up
		     the serial ports for bi-directional use? 
	8.5.3        How do I get a serial console to work?
	8.6          Disk Controller Problems
	8.6.1        IDE controller problems
	8.6.2        SCSI controller problems
	8.7          SCSI Controllers
	8.8          Network Cards
	8.9          Printers
	8.10         TAPE Drives
	8.11         QIC-40/80 tape drives
	8.12         CD-ROMs
	9.0          What GNU software has been tested and is working with
		     Net/2 derived BSD systems for the 386? 
	9.1          Has anyone ever gotten news to work?


0.1	Introduction

	The 386BSD 0.1 operating system was originally a derivative of 
	the generally available parts of the Berkeley Net/2 release.  
	The definitive "man without whom we would have nothing" in 
	this effort has been William Jolitz.  For more information, 
	download the code.

	386BSD is fully redistributable and is intended as a research OS.  
	As such, many contributions to the system are provided through 
	interaction by people who communicate via many means.  Many new 
	and innovative features have been added to 386BSD since it's 
	original release in June of '92.  There was an 'unofficial' 
	patchkit which was available from many anonymous FTP sources 
	which makes 386BSD more stable and usable.  Many problems 
	associated with the use of 386BSD Version 0.1 were solved 
	through the application of patches from the patchkit.  In 
	addition, many common Unix packages have been ported with 
	varying degrees of difficulty.

	386BSD is available completely free of charge.  It is also 
	available on CD-ROM and many other methods, most of which end up 
	charging for 'media and handling costs'.  It is available by 
	Anonymous FTP and through FTP-Mail.  Recently, a new CD-ROM
	version of 386BSD has been announced in Dr. Dobb's Journal.  It
	may be the long awaited 386BSD 1.0, or simply a revenue
	enhancement version of 386BSD 0.1 (or 0.2).

	386BSD came in three distinct pieces, each of which was 
	exclusive of the other two.  These distributions were called the 
	'bindist', 'srcdist', and 'etcdist'.  The bindist could be unloaded 
	from its native form (on about 10 diskettes) and loaded onto a 
	42Meg hard drive partition.  It is a fully functional system, 
	including gcc 1.39, all executables for normal Unix style 
	operation, and many other things.  The etc distribution included 
	MANY additional programs (all with source) which extended the 
	functionality of 386BSD.  The srcdist was the source code for 
	386bsd, along with all of the header files not included in the 
	bindist.  All of the distributions and compilation files would 
	fit onto 180Meg of hard drive (barely).

	In addition to the original 386BSD, two newer versions of the 
	system are available, under new names.  NetBSD is the older (or 
	newer depending on whom you choose to believe) and FreeBSD is the
	other.  Both systems have evolved into programs that are superior
	to the progenitor and both have sizable (if a little rabid) 
	followings.  Most of the statements made in this FAQ will apply 
	to all three, although I will try to differentiate one from
	another whenever the difference matters.  Any place that says 
	386bsd either means the original 386bsd 0.1 (you should be able
	to tell by context) of any of the three members of the PC BSD
	family.

	There have been many attempts to polarize the FreeBSD and NetBSD
	development groups in the past.  One of the reasons that I am 
	still maintaining the FAQ is that it simply is a good source for
	historical information, as well as a reasonable source for 
	information that is specific to the implementations of NetBSD and
	FreeBSD.

	It should be noted that when the *BSD family started out, they
	used a source called the "Berkeley Net Release/2" tape as their
	genesis.  While this has provided a stable starting point, it
	also built a possible bomb into the system.  Due to an ongoing
	legal battle (which has now been resolved) the following files
	are identified as 'encumbered' in the BNR/2 source tree.  These
	kernel files are identified as the 'binary only' files in the
	BSDI distribution, and either have been or must be replaced
	before we can have a truly free OS family.  This is the
	pertinent excerpt from a letter from someone (whose name I have
	lost) indicating what is and is not releasable.

	Q:  What's all this about `binary-only files'?  Will BSDI
	continue to ship source code?
	A:  For Version 1.1 only, BSDI will ship the following kernel
	files in binary format:

	kern/init_main.c	kern/subr_rmap.c	ufs/ufs_bmap.c
	kern/kern_clock.c	kern/sys_generic.c	ufs/ufs_disksubr.c
	kern/kern_exit.c	kern/sys_process.c	ufs/ufs_inode.c
	kern/kern_physio.c	kern/tty.c		ufs/ufs_vnops.c
	kern/kern_sig.c		kern/tty_subr.c
	kern/kern_synch.c	kern/vfs_syscalls.c

	Our (Berkeley's) 4.4Lite-based release will again include the
	entire source tree (with the exception of a tiny number of
	device drivers whose interfaces are kept confidential at the
	request of their authors.

	I have it from a reasonably reliable source that these files
	either have been completely rewritten in a 'clean room'
	development effort or were replaced with code from other
	sources (such as CMU, or GNU).  The encumbered sources for the
	user land portion of the system have long since been replaced.



0.2	About this FAQ.

	This FAQ consists of 10 parts:

		Section 0.  Basic FAQ information
		Section 1.  General Network Information
		Section 2.  Common installation questions
		Section 3.  Kernel Building and Maintenance
		Section 4.  Kernel Additions
		Section 5.  Kernel Replacement Parts
		Section 6.  Interaction with MS-DOS
		Section 7.  System Communication
		Section 8.  "Supported" Hardware List
		Section 9.  "Supported" Software List

	It has been suggested that I remove some of the older, less relevant
	information from this FAQ.  I have given it some thought, and I might.
	Of course, if someone were to do it for me, it sure wouldn't break my 
	heart.

0.2a	What are the differences between *BSD and (your favorite operating
	system name here)?
0.2b	Which is better, (your favorite operating system name here) or 
	*BSD?
0.2c	Is 386bsd better than (your favorite operating system name here)?

	I decided to put this in section 0, primarily because it by far 
	the most asked and least useful question in comp.os.386bsd.*.  

	You will often see this question veiled as a request for a brief 
	description of the differences between 386bsd and (YFOS).  This 
	type of request, while seeming to be a reasonable one, is usually
	looked upon as either an attempt by some folks for the net to do 
	their homework, or as an attempt to start yet another flame-war.

	What is the answer to this question, then?
	
	No.  It is not.

	Nor is it any worse.

	It is DIFFERENT.  There are alternative Operating Systems 
	available, both free and commercial.  386bsd, NetBSD, FreeBSD, 
	and Linux are examples of "free" Unix style Operating Systems.

	If you ask any of these questions, you are wasting a LOT of 
	bandwidth and making a real name for yourself.  Don't bother.
	It nearly always ends up in name calling and 'mine is bigger
	(or littler) than yours...' arguments.  I have included an 
	excerpt below:

	>>>>>>>>>>>>>>>>>>>>>>>>>> Is not!
	>>>>>>>>>>>>>>>>>>>>>>>>> Is so!
	>>>>>>>>>>>>>>>>>>>>>>>> Is not!
	>>>>>>>>>>>>>>>>>>>>>>> Is so!
	>>>>>>>>>>>>>>>>>>>>>> Is not!
	>>>>>>>>>>>>>>>>>>>>> Is so!
	>>>>>>>>>>>>>>>>>>>> Is not!
	>>>>>>>>>>>>>>>>>>> Is so!
	>>>>>>>>>>>>>>>>>> Is not!
	>>>>>>>>>>>>>>>>> Is so!
	>>>>>>>>>>>>>>>> Is not!
	>>>>>>>>>>>>>>> Is so!
	>>>>>>>>>>>>>> Is not!
	>>>>>>>>>>>>> Is so!
	>>>>>>>>>>>> Is not!
	>>>>>>>>>>> Is so!
	>>>>>>>>>> Is not!
	>>>>>>>>> Is so!
	>>>>>>>> Is not!
	>>>>>>> Is so!

	[the rest of this scintillating debate is deleted...]

	Here are a brief list of differences between 386bsd and other 
	systems:

	1.  *bsd will not run DOS applications (yet).  There is 
	currently no DOS emulator.  People are working on it.  Either
	help or shut up.  There is work on a Windows program loader 
	execution version.  The project is called 'WINE' and is the
	free version of the 'WABI' project.  More on that to follow.

	2.  386bsd is not binary compatible with anything but the other
	free BSD systems (NetBSD, FreeBSD, and their kith).  There are
	rumors and rumblings from time to time that one or more of the
	*Nix variants may be binary compatible with NetBSD or FreeBSD.
	The more the merrier.  Be warned; if the package you are trying
	to run is not specifically compiled and linked for your version
	of {Free,Net}BSD, then you may well be completely on your own.

 	3.  FreeBSD, which originally started life as 386bsd 0.1 with
	the patchkit applied, has since evolved into an entirely
	seperate BSD lineage in its own right and incorporates many 
	important innovations.  In addition to extensive, high quality
	work that has been done on the FreeBSD kernel, a great deal of
	effort and time has been invested in improving the overall
	level of quality in such areas as the installation and maintenance 
	scripts, third-party applications packaging, and many of the 
	various utilities and development tools in BSD.  The emphasis 
	seems to be on better packaging and improved operation, and
	with special emphasis being placed on positioning FreeBSD as an
	'Intel-specific' BSD variant.  Much care taken specifically to 
	support the various and sundry peripherals and hardware one finds 
	on the Intel PC world.  Current plans are to move towards the
	fully unencumbered BSD 4.4 Lite in the upcoming FreeBSD 2.0
	release while still maintaining the Intel platform as the
	primary focus.
 
 	4.  NetBSD, on the other hand, is intended as a multiplatform 
 	'replacement' for Net2.  It has built-in support for so many 
 	different platforms that I simply can't begin to list them.
 	With the exception of the multiplatform support that is built
 	into NetBSD, the two system are very similar and seem to
 	parallel one another very closely.  Since the NetBSD folks seem
 	to be the self proclaimed 'bearers of the standard' for multi-
 	platform BSD support, they are also proceeding with switching
 	over to the 4.4 Lite tape.

	5.  Where BSD and POSIX differ, 386BSD conforms by default to
	BSD; Linux to POSIX.  Furthermore, while both run mostly GNU
	utilities, Linux tends toward the SysV flavor (e.g. init) 
	where 386BSD sticks with the BSD style.  However, sources for
	different flavors of utilities are available for both, and
	both support compiler options which allow more BSD or more
	POSIX semantics.

	Clifford Stoll talks about the 'West Coast/East Coast' feeling 
	of BSD/SysV in his book "The Cuckoo's Egg".  In keeping with 
	that, BSD feels like BSD/West Coast, Linux feels like SysV/East 
	Coast (actually, Finland is what it says on the passport, but 
	stay with me for a minute).   If you don't believe me, just 
	look at the primary U.S. archive sites.   Linux is available 
	from MIT, BSD is available from Berkeley.  Can't get much more 
	'Coast' than that. :-)

	Actually, NetBSD and FreeBSD are feeling more and more POSIX all 
	the time.  Recent releases of both products have implemented many
	more POSIX compliant utilities, features, and low-level hooks into
	the operating system.  A great deal of effort has gone into
	supporting and improving the POSIX standards compliance
	throughout all of the systems.

	5.  Linux, NetBSD, FreeBSD, and 386bsd share two vitally important 
	facets.  All are free and all include source.  They are all 
	excellent, and all fill a niche that the others would gladly 
	leave available.  Also, don't forget one of the most important 
	things; get what your friends have.  Then they can help you.

	6.  Finally, remember that this FAQ and the comp.os.386bsd.* 
	groups are intended as places for 386bsd users and developers 
	to meet and discuss topics which are germain to the further 
	development of 386bsd.  For more information about Linux, you 
	can read the comp.os.linux.* newsgroups.  If you are a rabid Linux
	asshole, stay on the Linix groups.  Most of us don't care how 
	much better Linux is than *BSD.


0.2.1	So what ARE the differences between the *BSD family and Linux?

	Here it is, in its 'right for today' glory.  As of 1 July,
	1994, these statements were more or less accurate.  Against my
	better judgement, I am going to inlude this, primarily beause
	it is a very even handed approach to describing two very
	different systems.  For those of you that find it, I hope that
	it answers some of your questions.  It was written by:

		Thomas Heiling Pharmacist & Doctorate at 
		Pharmazeutisches Institut Uni Wuerzburg - Germany 
		Email phar006@rzbox.uni-wuerzburg.de (HP-UX)
      		      tom@wpzd07.pzlc.uni-wuerzburg.de (Linux)
		   or phar006@vax.rz.uni-wuerzburg.de ( VAX )

	I have read this group now for some time and saw this thread
	Linux-BSD coming often. Some answers to this question were good,
	but the FAQ was not updated.

	It is IMHO *not* very helpful to flame a newbie, that he/she 
	should read the FAQ, where there is no information, nor it is
	helpful to shout to him "Hey man read the previos posts - I 
	*hate* this thread!"

	What is missing here is an overview and a comparison of the free
	available Unixsystems. And this info should be in the FAQ !  I 
	will start here such a comparison.

	Q:  For whom should this be ?

	A:  For a (hopefully) new Unix-user, who wants to install one of
	the free Unixes.  He should be able to read this document, look 
	at his hardware, define his needs for a Unix-systems and then he 
	should be able to choose a system which meets his needs.

	Q:  Who am I and why should I be able to write such a doc ?

	A:  Good Question ! My name is Thomas Heiling, I am working at 
	the University of Wuerzburg in Germany as a doctorate.  My job 
	is to program an Ultraviolett/Vis-spectrum comparison program.  
	Furthermore I am the person, who maintains the Internet
	connections and computers of our Department.  I have running
	Linux and NetBSD 0.9, the main Server is a 486/33 + 16 MB which
	runs Linux. A 486/66 is for numerical work.  Then there are
	some clients mostly 386 with either 4 MB or 8 MB.  One 386 with
	NetBSD, but this is just for testing.

	So I would say I can speak for Linux, a little bit for NetBSD
	and I have no idea for FreeBSD beside the Installation Guide.
	(I have no access to the BSD386 1.0 CD, which was announced some
	time ago).

	* PLEASE PLEASE PLEASE *

	It would be very helpful, if someone of the Core-Team of NetBSD
	and/or FreeBSD have a look at this and fill the white spaces,
	which I left.  And if the FAQ-maintainer reads this, it would be
	nice, if he thinks this info should be in the FAQ.

	Hardware requirements :
	

	Linux:
	
	CPU: Anything that runs 386 protected mode programs (all models 
        of 386s and 486s should work; 286s don't work, and never will). 

	Architecture: ISA or EISA bus. MCA (mostly true blue PS/2's) 
        does not work. Local busses (VLB and PCI) work. 

        RAM: Theoretically up to 1 GB. This has not been tested. Some 
        people (including Linus) have noted that adding ram has slowed 
        down their machine extremely without adding more cache at the 
        same time, so if you add memory and find your machine slower, 
        try adding more cache. 

        Data storage: Generic AT drives (IDE, 16 bit HD controllers with 
        MFM or RLL) are supported, as are SCSI hard disks and CD-ROMs, 
        with a supported SCSI adaptor. Generic XT controllers (8 bit 
        controllers with MFM or RLL) are now also supported. Supported 
        SCSI adaptors: Adaptec 1542, 1522, and 1740 in extended (not 
        1542 compatible) mode, Seagate ST-01 and ST-02, Future Domain 
        TMC-88x series (or any board based on the TMC950 chip) and 
        TMC1660/1680, Ultrastor 14F, 24F and 34F, and Western Digital 
        wd7000. SCSI and QIC-02 tapes are also supported. Support for 
        QIC-80 tapes is now in ALPHA testing. Several CD-ROM devices are 
        also supported, including Matsushita/Panasonic, Mitsumi, Sony, 
        Soundblaster, Toshiba, and others. For exact models, check the 
        hardware compatability HOWTO. 

        Video: VGA, EGA, CGA, or Hercules (and compatibles) work in text 
        mode. For graphics and X, there is support for (at least) normal 
        VGA, some super-VGA cards (most of the cards based on ET3000, 
        ET4000, Paradise, and some Trident chipsets), S3 (except for 
        Diamond Stealth cards, because the manufacturer won't tell how 
        to program it), 8514/A, ATI MACH8, ATI MACH32, and hercules. 
        (Linux uses the Xfree86 X server, so that determines what cards 
        are supported.) 

        Networking: Western Digital 80x3, ne1000, ne2000, 3com503, 
        3com509, Allied Telliesis AT1500 (said to be some of the 
        fastest, as well as quite cheap), d-link pocket adaptors, SLIP, 
        CSLIP, PLIP (Parallel Link IP), and more I have forgotten at the 
        moment. 

        Other hardware: SoundBlaster, ProAudio Spectrum 16, Gravis 
        Ultrasound, AST Fourport cards (with 4 serial ports), several 
        models of Boca serial boards, the Usenet Serial Card II, several 
        flavours of bus mice (Microsoft, Logitech, PS/2). 

	*BSD:

        Architecture: ISA or EISA bus. MCA (mostly true blue PS/2's) 
        does not work. Local busses (VLB and PCI) are also supported.

	Standard hard disk controllers:
	MFM ESDI IDE RLL

	SCSI hard disk controllers:
	Adaptec 154x *, Adaptec 174x, Buslogic 545S, Bustek 742(EISA)
	DTC 3290 in 1542 emulation mode *, Ultrastor 14f and 34f, and
	the 24f experimentally.
	


	Display Adaptors : MDA,CGA,VGA,HGC for textmode.
	For X the same as Linux.

	Serial Communications: 8250,16450,16550A, 
	4-port multi-serial cards require a kernel rebuild

	Ethernet controllers:
	SMC/WD 8003, 8013 and equivalents ( including SMC Elite )
	Novell NE1000,NE2000,NE2100 
	3com 3c503
	ISOLAN ISOlink

	Tape Drives:
	QIC-02 format tape drives
	QIC-36 format tape drives
	QIC-80 format tape drives (in FreeBSD)
	most SCSI tape/DAT drives on a supported SCSI controller

	CD-ROM drives:
	Mitsumi CDROM with Mitsumi Controller
	Most SCSI CD-ROM drives on a supported SCSI controller


        Other hardware: SoundBlaster, ProAudio Spectrum 16, Gravis 
        Ultrasound, AST Fourport cards (with 4 serial ports), several 
        models of Boca serial boards, the Usenet Serial Card II, several 
        flavours of bus mice (Microsoft, Logitech, PS/2). Same as Linux,
	although some options may require a kernel rebuild.

	Harddisk Storage requirements :
	FreeBSD:
	Base System 	16 MB
	Full binary distribution			46 MB
	Full source " 					72 MB
	Kernel Source					7 MB
	Swap						8 MB

	They say, that the minimum is Base + Binary + Swap, and that
	this minimum is 80 MB.  For a complete system with binary and
	source you need at least 210 MB.  This does NOT include X or
	LaTeX.


Linux:
	This is difficult, because there are different distributions
	to choose from. Every distribution has a special goal.
	I will show two popular distributions :

	- Slackware and the MCC-Interim Distribution.
	    Slackware is intended for a full fledge system, which has
	    everything you want. You need about 150 MB for this.
	- MCC-Interim is intended for small systems. The main idea is
	    to give a ASCII-environment for programming courses.  For a 
	    full MCC install you need about 47 MB + 8 MB Swap, you can 
	    strip this down to 23 MB + 8 MB Swap, if you don't want 
	    emacs, no kernel source and no extras. 

	





	Some other features:

	virtual terminals/consoles:
	All of the -current versions of *BSD have virtualy consoles
	available.  Linux has virtual consoles as well.

	shared libraries:
	NetBSD, FreeBSD, and Linux have it. I recall a thread some time
	ago, which was something like "Linux shared Libs are no
	good - A pain for the developer."  For the user this should be 
	meaningless.  NetBSD and FreeBSD shared library implementations
	are both very easy to use both from the developer and user
	point of view.
	
	Networking:
	*BSD networking is more mature, but with Linux 1.0 it's getting
	closer.

	One Feature of Linux is the ability to make a filesystem on top
	of a DOS-FAT, so you don't  need to repartition your Disk. This
	Filesystem is of course not so fast as a native Filesystem, but
	for trial it should be O.K.

	Conclusion:
	It depends on you hardware and what you want to do with your
	system.  If your hardware is supported and if you have the
	resources and if you are on the net, I would vote for *BSD. If
	you just want some *iX experience and have low ressources,
	choose Linux.

	

	Here are some pro's and con's for both :

	*BSD:
	+ Full Source Code of all commands in a source tree, no need
	  to look all over the Internet for the source of a command.
	+ There is only one distribution, which is valid for some time.
	+ Networking is better.
	+ The system is standard BSD.
	- You need extra packages for XFree and for TeX.  They are not
	hard to find, and install into a standard location in the
	directory tree, but they are not included in the base
	distribution.

	Linux:
	+ Uses fewer resources
	+ Has more support for devices
	- Every distribution is a little bit different
	- Development is too fast without net access

	I include here some info from other posts, which should help
	the new user to show the differences:

	burgess@cynjut.infonet.net wrote:
	: NetBSD is the OS I use.  It is a BSD derived Operating System
	: that has a very stable operating envelope.  The networking code
	: has been stolen by commercial OS and network vendors the world
	: over.  NetBSD has the advantage of being meant for a wide
	: range of hardware platforms.  It is currently available for
	: something like 10 different CPUs, and has been laid out such
	: that new architectures can be added relatively painlessly.

	These arechitetures include several Sun Systems, many
	Motorolas, including the Amiga and Mac, and several other older
	mini- and microcomputer systems.

	:
	: FreeBSD is pretty much the same (go ahead a quibble over
	: details, I don't care anymore).  The biggest difference is that 
	: NetBSD is a horizontal system (across platforms) and FreeBSD is 
	: a vertical system (intended to stay on the Intel family).  Both 
	: are based on code from 386BSD, although neither really resembles 
	: it any more.
	:
	: Linux was developed by Linus Torvalds and has the advantage of 
	: being available in source code form first.  Other than that, I 
	: have heard that it is a good OS platform for standalone Unix 
	: workstations.  It had a lot of things that made its users rabid 
	: before the *BSD folks did, but the purists insist that *BSD is 
	: (choose two:  cleaner, safer, taller, wider, better, quieter, 
	: louder, greener).  I even heard a rumor that Linus had sold the 
	: source code license to Novell so that they could distribute an 
	: 'X' terminal package for use in their networks.

	From: hedrick@geneva.rutgers.edu (Charles Hedrick)

	There are four major differences:

	1) the 386BSD family started with BSD, and Linux started with 
	POSIX.  NetBSD/FreeBSD/386BSD have been adding POSIX and System
	V compatibility, and Linux has been adding Berkeley and System
	V compatibility.  So there's a good deal of overlap.  But ...BSD 
	is still a better choice if you want to program in a Berkeley 
	environment and Linux if you want a POSIX environment.

	That's for the kernel and libc -- the utilities and other stuff  
	users see tends to be fairly similar.  In both cases the
	programs are what I call "typical University Unix".  The main 
	difference is that the base Unix utilities tend to be Berkeley 
	for ...BSD and Gnu for Linux.  Gnu is fairly
	Berkeley-compatible, but its priority is POSIX, so it tends to
	look slightly closer to System V, with massive Berkeley
	extension.  There are several sets of administrative utilities,
	but it's more likely that init, getty, etc., are going to be
	System V style for Linux and BSD for ...BSD.  

	Again, these things aren't as significant as they might be
	because ...BSD is also concerned about POSIX compatibility and
	Gnu is concerned about BSD compatibility.  So both sets of
	software are approaching a similar sort of goal from opposite 
	directions.  You could probably use the systems for quite a
	while without noticing much difference.  (I'd like to emphasize
	that there's no similarity in overall feel between Linux and
	typical brain-dead PC System V ports.)

	The ...BSD FAQ characterizes the difference as one of East
	Coast vs. West Coast.  There's a lot to be said for that
	summary.  There's more difference in Unix culture between New
	Jersey and California than between New Jersey and Finland.

	2) The nature of the development communities and distribution 
	mechanisms are different.  ...BSD has two or three different 
	developer communities that take code from each other, but
	appear to hate each other's guts.  (Actually, even ...BSD and
	Linux take code from each other.)  Thus there are several
	different ...BSD's, each of which has an official distribution.  
	There's just one Linux kernel, and from a practical point of
	view just one set of major utilities, but there's no official 
	distribution.  So several different groups put together 
	distributions, with their own choice of kernel and utility 
	versions.  This means that it's easier to define what the One
	True Linux is than what the One True BSD is, but harder to get
	it. Once you've decided which BSD is the right one, it's easier
	to find an authoritative distribution of it.  Development of
	Linux tends to be more distributed.  Lots of people are working
	on lots of projects: new drivers for this and that, new
	versions of this utility and that.  If you want to keep up with
	NetBSD, you can sup netBSD-current from one or two places.  If
	you want to keep up with Linux, you end up taking pieces from
	lots of people (though they generally end up on one of two
	archive machines -- tsx-11.mit.edu or sunsite.unc.edu).  If you
	don't want to do this, of course the packaged distributions do
	it for you.

	3) The BSD networking is more mature than the Linux networking.  
	This is one area in which I don't think Linux has any 
	countervailing advantages, though in my opinion by release 1.0
	Linux networking will be acceptable.

	4) There are specific things in each system that are likely to
	be deciding factors for some people.  I don't know what unique
	things BSD has, because I'm not part of that community, but for
	some people the COFF and ELF compatiblity projects may be big
	selling points.  Both ...BSD and Linux are working towards
	having these executable formats available.  In addition,
	Windows executable emulation may also be important to some
	people.  This is probably more useful, and it's being done
	jointly by developers from both BSD and Linux cooperatively. 
	(Neither of these things is finished, by the way.)  It's
	not clear to me whether the existing Linux DOS compatibility is
	a critical advantage.  BSD doesn't have it, but my experience is
	that the Linux DOS emulator is slow enough and creaky enough
	that it's not generally usable.  However it certainly does work
	for many programs, and if one of those programs is critical to
	you, it may be a big deal.  Differences in support of devices
	are not likely to persist for long.  There's a history of
	taking device drivers in both directions, so if there's enough 
	interest in a device, and one side implements it, you can bet
	it will show up on the other side.  Linux uses DOS partitions 
	(including extended partitions).  BSD creates its own
	partitions inside a single DOS partition.  This is a
	difference, but it's unclear whether it's a critical one.
	Linux and ...BSD can all mount DOS filesystems and Linux can
	mount OS/2 file systems (OS/2 is read-only).

	For a lot of people, the best suggestion is to find out what
	your friends are doing.  If there's a significant user
	community near you of either kind, you're probably best off to
	go with it.  If not, flip a coin (or look at a map and see
	whether you're nearer Berkeley or Finland -- note that in this 
	comparison portions of the distance that are over an ocean
	don't count).

	
	




0.2.2	Are all of the Berkeley derived systems binary compatible?  If
	not, what are the differences?  

	(Ed Note.  This section is probably wrong, even if it was right 
	when I looked at it last.  There is a LOT of work going on, 
	including SysV ELF support and other cool stuff.)

	NetBSD/386 runs 386BSD, FreeBSD, NetBSD/386 0.8, and most 
	BSDI executables.  However, due to upgrading to the latest 
	version of the UCB DB library, programs which use said 
	library cannot be mixed old and new; e.g. an old `ls' cannot 
	read the pwd.db file created with a new `pwd_mkdb', and vice 
	versa. 

	FreeBSD runs 386BSD, NetBSD/386 0.8, and most BSDi executables.
	You can replace the remainder of the paragraph above here too.

	The FreeBSD and NetBSD shared libraries are different, so
	programs that are intended to be shared in binary form across
	the two platforms need to be compiled as 'static'
	implementations.  This is not actually a guarantee that they
	will work across platforms, but this is the first hurdle that
	needs to be jumped in order to have the programs run.

	Also, due to better (read: properly) enforced address space
	protections, some incorrectly written programs which seemed to 
	work under 386BSD or NetBSD/386 0.8 will core dump under 
	NetBSD/386 0.9, even when recompiled.

	The default executable format produced by the NetBSD 0.9 `ld' i
	is not downward compatible with FreeBSD or 386BSD.  It is 
	essentially the same as BSDI's QMAGIC format and Sun's normal 
	format--with no padding between the exec header and the first 
	page of text, and with the first page of the address space 
	always unmapped when loaded--except that the magic numbers are 
	in the conventional `magic + machine id' format, and are in 
	network (big-endian) order.


0.3	How to add your pet answer to the FAQ.

	This is the trickiest part of this section of the FAQ.  There are 
	only two criteria for getting an entry made into the FAQ:

	1.  Your answer should answer a question that seems to come up
	    with some regularity, or at least perplexes a group of
	    people from time to time.

	2.  Your answer should be technically correct.  In other words,
	    answers like 'RTFM' and 'everybody knows that' are not really
	    good candidates for the FAQ.  These answers should spell out,
	    in a reasonable level of detail, precisely how to fix the
	    the question asked, or explain the basis for the answer and
	    leave the implementation of the answer to the questioner.

	All answers MUST include a question.  This is not as obvious as 
	it would seem at first glance.  An answer could solve many 
	problems, especially in the realms of system halts or other 
	catastrophes. 

	Since I (Dave) am no Unix guru, I rely HEAVILY on the input of 
	other people to make the FAQ a success.  Many questions in the 
	FAQ have been made largely irrelevant through the patchkits, but 
	that doesn't means they may not reappear.  That is why the old 
	FAQ questions are still here.

	New FAQ questions should be added.  I will try to attribute the 
	question/answer to the author, but I personally think this is a 
	waste of good disk space.  As long as the answers get out, that 
	should be reward enough :-)


0.4	Administrivia.

	Send all question/answer pairs to burgess@cynjut.infonet.net.  
	If you are going to post the Q/A to the net, then do that, but 
	be sure to mark it as a FAQ entry.  I will get it from the net 
	as easily as I do my E-Mail.  Your Q/A will be formatted to 
	look more or less like the others and be added.  Corrections, 
	deletions, flames, snivels, and whines should be addressed 
	directly to me here.  Either way, I will be sure to send out a 
	reply letting you know what I have done with your submission.

	One last thing.  I will assume that I am infalible. :-)  I will 
	not notice any mistakes that you may find.  If you find a 
	mistake and don't tell me, it will very likely stay a mistake.
	After all, if I didn't notice it before, why should I notice
	it now?


-- 
TSgt Dave Burgess           | Dave Burgess
NCOIC, USSTRATCOM/J6844     | *BSD FAQ Maintainer
Offutt AFB, NE              | Burgess@cynjut.infonet.net or ...@s069.infonet...