Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.

[comp.os.386bsd] BNR/2 derived BSD for PCs FAQ (Part 1 of 10)

Skip to first unread message

Dave Burgess

Feb 27, 1995, 2:00:14 AM2/27/95
Posted-By: auto-faq
Archive-name: 386bsd-faq/part1

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


Original FAQ by:
Terry Lambert

New FAQ by:
TSgt Dave Burgess
NCOIC, Configuration Management Section, US Strategic Command
Instructor, Computer Science Dept, Nebraska College of Business
President, Configuration Management Svcs, Inc.

Last Update: 26 Feb 1995

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
0.2.2 I want to start up a thread about why *BSD is or isn't
as good as some other operating system. Can anyone
suggest a good reason why I shouldn't?
0.2.3 Are all of the Berkeley derived systems binary
compatible? If not, what are the differences?
0.3 Are there any resources on the Net (like URLs)
associated with the BSD family of operating systems?
0.4 How to add your pet answer to the FAQ.
0.5 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 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) Where can I get the distribution on floppy or tape? Where can I get the distribution via FTP? 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) Where does extract go when I reboot? I put the floppy in and try to boot, and nothing
happens. What now? The floppy booted, but now the hard disk won't boot? I am trying to reinstall. I run install and it loops
asking me if I want to use the whole disk? What are the options on the boot prompt? I just used the '-s' option on the boot, but I can't
write anything onto the disk. What is wrong? If I use a
plain 'mount' command it tells me that my root file
system is read-only.
2.0.2 Fix-it boot disk
2.1 Binary distribution
2.1.1 I want to install by NFS but I am having all kinds of
2.2 Source distribution
2.3 Additional software distribution
2.4 Patch-kit
2.5 Configuration
2.5.1 Partitions What is a 'disklabel' and why do I need one?
2.5.2 Common Disk Label Problems. Swap space. Increasing the 386bsd partition size. 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
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.6 My disk label is complaining about '256 heads' in the
disklabel. This is obviously bogus, but it doesn't seem
to be hurting anything. Is it Okay or should I fix it?
2.5.7 What are the options for the bootup prompt?
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:
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
2.7.2 Really strange errors in the various *BSD flavors. I am using the original 386bsd 0.1 with no patches
installed and I get flashing multicolored characters and
a "ptdi 81061" prompt error? 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
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;
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
2.7.9 My system boots OK off the floppy, but once I try to
boot from the hard drive, the message "changing root
device to sd0a" appears and the system hangs. What is
the most likely thing that I have done wrong?
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,
* 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 keep getting "wd0c: extra interrupt". What does it
3.1.8 I found a bug in the kernel. How do I report it?
3.1.9 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
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 sessions 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 patch the current running OS image?
3.2.6 Can I have more than one config file? Should I rename it
to something else? Any other hints?
3.2.7 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.8 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.9 Where can I learn more about all this?
3.2.10 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
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
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
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?
3.6 Optional Op-codes for NetBSD, FreeBSD, and other
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 What about the termio, termios, and termcap stuff? Where are stty() and gtty()? Sometimes I have trouble with my system resetting the
terminal to seven bit mode. Isn't 386BSD eight bit
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
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
4.3 Other program building type problems.
4.3.1 Greetings from Mars. I am building a program that
requires access to the crypt library. Either I have it
and it isn't getting copied into the executable, or I
don't have it; why?
4.3.2 I am having trouble with long file names in my
libraries. It seems like there is a 16 character limit
in the library somewhere.
4.4 Where is the 'adduser' program?
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 The original 386bsd 0.1 wd.c driver doesn't work.
[386bsd 0.1 only]
5.1.8 Interruptless LPT Driver Kit [386bsd 0.1 only]
5.1.9 A replacement curses program/library.
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
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. Is st's notion of "file" the record sequence between two
eof marks? What about a "record"? Is a "record" one "block", as determined by st's
"blocksize" command? If not, what is the connection
between them? Can I change the "record" size? 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. 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 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.4.14 I am trying to restore a tape from a FreeBSD machine on
a Sun. What kinds of problems should I expect?
5.5 Network
5.5.1 How can I get my system to work as a network router?
5.5.2 I recently has a problem where I got a message that said
"panic: kmem_malloc: mb_map too small". What is the
solution to this problem?
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
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.
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. Specifically, I get 'ring buffer
overflows' or the performance is real bad.
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
7.0 Communications
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
7.4.3 My modem on DOS COM3 or DOS COM4 works with DOS, but not
with *BSD. It is set up using IRQ 4 (or 3) respectively.

7.5 Terminals
7.6 My network manager (or UUCP feed site admin) just
informed me that the way I have installed sendmail
through my UUCP connection and has caused a sendmail
loop. Can you help me get sendmail installed correctly?
7.7 Can network attached assets be used by/from NetBSD?
8.0 What hardware is 386BSD known to run on and support!
8.1 Video cards
8.2 Mice and Trackballs
8.3 Serial Cards
8.3.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
8.3.2 Now that I have FreeBSD 1.0 installed, how do I set up
the serial ports for bi-directional use?
8.3.3 What is the difference between baud and bits per second?

8.3.4 How do I get a serial console to work?
8.4 Disk Controller Problems
8.4.1 IDE controller problems
8.4.2 SCSI controller problems
8.5 SCSI Controllers
8.6 Network Cards
8.7 Printers
8.8 TAPE Drives
8.9 QIC-40/80 tape drives
8.10 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?
9.2 How did you get emacs to compile?
9.2 Has anyone tried to get Postgres 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

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

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
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

1. *bsd will not run DOS applications natively. There is
currently a DOS emulator in work. It is called pcemu, and it
provides 8086 emulation for DOS programs. It only works in text
mode. There is also 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.
Recent advances have provided some success in getting iBCS2
compatibility working, allowing certain SCO and AT&T Unix
programs to work. See the newsgroups for more current

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. FreeBSD is now based completely on the
fully unencumbered BSD 4.4 Lite and is still intended primarily
for the Intel platforms.

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 user, stay on the Linux 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 include this, primarily because
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 (HP-UX) (Linux)
or ( 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).


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 :


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

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).


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:

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. The Soundblaster SCSI code is also
being tested and should work eventually.

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

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 :
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

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.

*BSD networking is more mature, but with Linux 1.0 it's getting

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.

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 :

+ 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

+ 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: 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: (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 -- or 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 I want to start up a thread about why *BSD is or isn't as good
as some other operating system. Can anyone suggest a good reason
why I shouldn't?

Jordan Hubbard, one of the FreeBSD core team members, has
offered this missive on that very subject:

[ Note: You could very well simply substitute the word
"NetBSD" for Linux in the argument that follows ]

From time to time, a thread in both the comp.os.386bsd.misc and
comp.os.linux.misc groups flares up regarding which operating
system is "better", FreeBSD or Linux. This generally provokes
controversy from users on both sides, with one group claiming
that their OS is "better" for some reason and the other group
claiming that the first group doesn't know what the heck it's
talking about.

Both arguments are a waste of time.

Rather than trying to win a rather questionable debate on
relative (and constantly changing) technical merits, we should
be asking ourselves what both groups are REALLY about and what
they represent. This is naturally going to be a matter of
personal opinion, but I believe even the most seriously at-odds
members would agree that both operating systems represent a
unique and long-awaited opportunity: The ability to run a fully
featured operating system on popular, easily affordable
hardware and for which all source code is freely available.
Those who have been in computing for awhile will remember when
the term `operating system' referred almost exclusively to
something provided solely by the hardware vendor, with very
little in the way of alternative options. It was never EVER
given out with source code, and true "wizard" status could only
be achieved by exerting mind-numbing amounts of effort and
patience in digging through forbidden bits of binary data. By
comparison, the situation today seems almost too good to be
true! Certainly, the feeling of achievement that came from
finally ferreting out some esoteric bit of information from a
4MB printed system dump was high, but I don't think that anyone
would argue that it was hardly the most optimal way of truly
getting to know your operating system! :-)

So now, within a very short space of time, we're almost spoiled
for choice in having machines several times more powerful than
the first multi-user VAX machines and available for under
$2000, and we've got not one but SEVERAL perfectly reasonable
free operating systems to chose from. We are in a comparative
paradise, and what are some of us doing? *Complaining* about
it! I suppose too much is never enough, eh? :-)

So, my essential point is simply this: For the first time ever
we have what previous computing generations could only dream
about; powerful computers at a reasonable prices and a
wonderful selection of things to run on them. Be happy, read
the source code you're so privileged to now have available
(*believe* me! What I wouldn't have given, even 5 years ago!)
and spend your energy in making constructive use of it, not in
arguing with the guys on the other side of the fence!

Additionally, it should be said that none of the FreeBSD team
has anything but the highest degree of respect for Linus
Torvalds and his "team" of dedicated volunteers (and we
occasionaly exchange gripe mail about the huge volume of
messages each of us gets as a direct result of being insane
enough to volunteer to do something like this :-). Our common
commitment to the Intel platform also gives us more common
ground (and interests) than one might think and, if anything,
it's a pity that we do not endeavor to share more code and
effort - ideologically, at least, I'd say we share pretty
similar goals.

As to which is "best", I have only one standard reply: Try them
both, see for yourself, think for yourself. Both groups have
given you something for free, at considerable personal effort,
and the least you can do is give them the benefit of exerting
enough effort to try what they're offering out before passing
judgment (or worse, blindly accepting someone else's!).

Whichever you run, you're getting a great deal - enjoy!

Jordan Hubbard

0.2.3 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

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 Are there any resources on the Net (like URLs) associated with
the BSD family of operating systems?


0.4 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

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.5 Administrivia.

Send all question/answer pairs to
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
Offutt AFB, NE |

0 new messages