Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!news.mel.connect.com.au!news.mira.net.au!Germany.EU.net!main.Germany.EU.net!Frankfurt.Germany.EU.net!howland.erols.net!newsfeed.internetmci.com!news.sgi.com!news-out.microserve.net!news-in.microserve.net!news.sprintlink.net!news-dc-2.sprintlink.net!news.sprintlink.net!news-atl-21.sprintlink.net!neonramp.com!cynjut.neonramp.com!cynjut.neonramp.com!not-for-mail
From: burgess@cynjut.neonramp.com (Dave Burgess)
Newsgroups: comp.unix.bsd.netbsd.announce,comp.unix.bsd.freebsd.announce,comp.answers,news.answers
Subject: [comp.unix.bsd] NetBSD, FreeBSD, and 386BSD (0.1) FAQ (Part 1 of 10)
Supersedes: <386bsd-faq-1-842594403@cynjut.neonramp.com>
Followup-To: comp.unix.bsd.netbsd.misc
Date: 27 Sep 1996 01:00:06 -0500
Organization: Dave's House in Omaha
Lines: 2151
Approved: news-answers-request@MIT.Edu,cgd@sun-lamp.cs.berkeley.edu
Expires: 10/15/96 01:00:04 CDT
Message-ID: <386bsd-faq-1-843804004@cynjut.neonramp.com>
Reply-To: burgess@cynjut.neonramp.com (386bsd FAQ Maintainer)
NNTP-Posting-Host: cynjut.neonramp.com
Keywords: FAQ 386bsd NetBSD FreeBSD !Linux
X-Posting-Frequency: Posted on/about the 13th and the 27th of every month.
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.netbsd.announce:261 comp.unix.bsd.freebsd.announce:345 comp.answers:19441 news.answers:75720
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
New FAQ by:
Dave Burgess
burgess@cynjut.neonramp.com
Last Update: 28 Aug 1996
Section 0. (Basic FAQ information)
0.0 Master Index.
0.0 Master Index.
0.1 A brief history of the *BSD family.
0.1.1 Which of the 4.3 BSD files were identified as
encumbered? What's all this about `binary-only files'?
Will BSDI continue to ship source code? What did NetBSD
and FreeBSD do about the encumbered files?
0.1.2 How close is NetBSD (or FreeBSD) to BSD 4.4?
0.1.3 Where can I get more information about the *BSD family
of Operating Systems?
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 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.
0.6 Does anyone reading this have any sense of humor at all?
1.0 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 *BSD software projects in progress
1.2.1 Contacting software authors
1.3 Minimum hardware configuration recommended
1.4 Where to get the source and binaries
1.4.1 Where can I get the distribution on floppy or tape?
1.4.2 Where can I get the distribution via FTP?
1.4.3 Where can I get the distribution on CD ROM?
1.5 Electronic Information Groups for *BSD
1.5.1 Usenet newsgroups
1.5.2 Newsgroup archives.
1.5.3 *BSD system mailing lists.
1.5.4 System Updates.
1.6 Documentation available
1.6.1 BSD manuals
1.6.2 BSD books
1.6.3 The Jolitz Book
1.6.4 Dr. Dobbs' journal
1.6.5 Documentation that comes with most of the distributions.
1.6.6 The O'Reilly and Associates BSD 4.4 Set.
1.6.7 Other FAQ's on the net that are relevant
1.7 FTP sites for *BSD
1.7.1 Official distribution sites
1.7.3 Reference sites
1.7.4 Unofficial archive sites that have neat stuff!
1.7.5 Where can I get a non-X cdplayer program for NetBSD?
1.7.6 X Ported Software List
1.8.7 Motif for the *BSD family. (Infomercial to follow)
2.0 Install process
2.0.1 Boot disks (versions and media formats)
2.0.1.2a The floppy booted, but now the hard disk won't boot?
2.0.1.2b I am trying to reinstall. I run install and it loops
asking me if I want to use the whole disk?
2.0.1.4 What are the options on the boot prompt?
2.0.1.5 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
problems.
2.2 Configuration
2.5.1 Partitions
2.5.1.1 What is a 'disklabel' and why do I need one?
2.2.1.2 What other kinds of information do I need if I really
want to tune my hard drive's performance in conjunction
with a newfs?
2.2.2 Common Disk Label Problems.
2.2.2.1 Increasing the *BSD partition size.
2.2.2.2 I can access the DOS partition on my second disk from
Unix but not DOS? Any suggestions?
2.2.2.3 I want to use my entire 2 Gig drive as the root
partition. Why doesn't it work?
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.2.3 How do I get the system to boot from the second hard
drive?
2.2.4 How do I disklabel my second hard drive?
2.2.5 NetBSD and 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.2.6 I am having trouble installing on the EIDE hard drive.
What are some of the things that I need to look into?
2.2.7 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.2.8 What are the options for the bootup prompt?
2.5.9 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.2.10 I am having trouble getting net aliases to work. What
could some of the problems be?
2.2.11 I'm having trouble with the networking code
(specifically the PPP stuff to my ISP). How can I debug
NetBSD's networking?
2.2.12 I want to hard wire my SCSI devices to a particular
device number. Is that possible?
2.3 Common installation problems.
2.3.1 Swap space not identified correctly.
2.3.2 Endless reboot cycles.
2.4 The computer just sits there, or 'that isn't right'.
2.4.1 The boot disk works all right on one computer but not
another.
2.4.2 Really strange errors in the various *BSD flavors.
2.4.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.4.2.2 Using the new code in NetBSD, I get a "panic: pdti
206067" in pmap_enter(). What should I do?
2.4.3a I get the error "isr 15 and error: isr 17" on an NE2000
card.
2.4.3b I have some card on IRQ2 and it doesn't work; why?
2.4.3c I am getting lousy performance out of my network card.
What are some of the other possibilities?
2.4.4 What is the difference between IRQ2 and IRQ9? Are they
really the same, or are they really different?
2.4.5 Some of my SCSI devices (like a tape drive) don't work;
why?
2.4.6 I try to run 'ps' or 'w' and get ': cannot get namelist'
from the TinyBSD kernel. What did I do wrong?
2.4.7 I get a 'Floating point constant out of range' when I
try to compile package 'n'. What is broke?
2.4.8 I want to use the Adaptec 1542C SCSI controller. What
are the problems/tricks you need to know to get it
working?
2.4.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.5 Other common problems that are attributed to the
installation process but are caused other places.
2.5.1 I want to use more than 16 Megabytes of memory. Will any
of the BSD based systems support it?
2.5.2 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.1.1 Why does the kernel code for NetBSD still use the old
K&R style declarations when the ANSI declarations are SO
much better?
3.1.1.2 How do I port NetBSD to another platform?
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 keep getting "wd0c: extra interrupt". What does it
mean?
3.1.8 I keep getting silo overflow messages, but the system
doesn't seem to mind. Is there a problem?
3.1.9 I found a bug in the kernel. How do I report it?
3.1.10 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 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 I'm getting all kinds of errors when I try to build a
new version of GCC. How can I upgrade GCC to the most
current version?
3.2.6 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 Has the method for system call changed?
3.2.11 Does anyone have a system building script that takes
things like building a new config and multiple config
files into account?
3.2.12 How do I upgrade from my release version of NetBSD (and
probably FreeBSD) to the '-current' development sources?
3.2.13 Is there a Makefile that does all that happy
world-building stuff?
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.3.4 What does the error 'netscape: uname() failed; can't
tell what system we're running on' from the BSDi version
of 'netscape' really mean?
3.3.5 Under NetBSD and FreeBSD, xlock (or any other program
that uses passwords) fails to validate user passwords.
Anyone know why?
3.4 Compiler and Library routines
3.4.1 Where is libcompat.a?
3.5 I want to run 'XYZA' which is dynamically linked and
from 'some other operating system'. What special things
do I have to do to get it working?
3.6 You promised to talk about timezones below. Are you
going to?
3.6.1 How do you change the timezone on NetBSD (FreeBSD
also?)?
3.6.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.7 How can I implement CVS to track MY changes to the
kernel source tree, yet still follow the -current
development tree?
3.8 Optional Op-codes for NetBSD, FreeBSD, and other
systems.
4.0 Introduction
4.1 Common Kernel-related problems
4.1.1 Where are the commands "rpcinfo" and "rpcgen"?
4.1.2 How can I fix NFS to work with my NE2000 board?
4.1.3 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?
4.1.6.1 Sometimes I have trouble with my system resetting the
terminal to seven bit mode. Isn't BSD eight bit clean?
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.1.9 What are the correct permissions for the /tmp, /usr/tmp,
and /var/tmp directories?
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.7 Kernel Loadable Modules
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.3.3 I'm getting annoyed with having this "conflicting types
for `sys_errlist'" problem show up nearly every time I
build a program. What do I need to do?
4.4 System Administration Questions
4.4.1 Where can I get good books about NetBSD or FreeBSD?
4.4.2 I am concerned about system security. What should I do
to protect my system from net attacks?
4.4.3 How can I log failed login attempts?
4.4.4 Can I use a Concatenated Filesystem with NetBSD?
4.4.4.1 Why, when I type "ccdconfig ccd0 16 none /dev/wd0a >
/dev/wd1a", do I get back "ccdconfig: ioctl (CCDIOCSET):
/dev/ccd0d: Device not configured"?
4.4.5 I am really new to Unix System Administration. I need
some real basic help.
4.4.5.1 What is the System Administrator's username?
4.4.5.2 I can't log in as 'su'. What does that message mean when
I log in as root.
4.4.5.3 Are there any books I can 'bootstrap' myself with?
4.4.5.4 How about some code examples?
4.5 Daemon questions
4.5.1 I'd like to use amd to mount a file system (/dev/sd0f
aka /usr/local) on another machine as "/usr/local".
What's the magic?
4.5.2 I am having trouble with my nameserver refusing to
acception 'nslookup's from my SunOS machine after I
installed the resolver fix. The exact error message is
"*** Can't find server name for address 194.100.46.2:
Query refused". Can you help?
4.5.3 Are there any alternatives to 'NIS' available for
NetBSD, etal.?
4.6 Adding new users.
4.6.1 Where can I FTP the 'adduser' program?
4.5.2 Where is the 'adduser' program?
5.0 Introduction
5.1 Available Kernel Replacements
5.1.2 pcvt
5.1.3 syscons
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/FAX Modems
5.3.3.1 How do I add a modem to *BSD:
5.3.3.2 Adding a modem to NetBSD.
5.3.3.3 Adding a modem to FreeBSD.
5.3.3.4 Adding a Dial-in/Dial-out FAX to NetBSD or FreeBSD.
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.4.14 I am trying to restore a tape from a FreeBSD machine on
a Sun. What kinds of problems should I expect?
5.4.15 What are the jumper settings for the Archive Viper tape
drive?
5.4.16 My Viper-150 autodetects fine; however, the first
attempt to read a tape fails after a boot due to an
"illegal SCSI command". What could be the problem?
5.4.17 Why haven't we changed the defaults in rdump and
rrestore to something that makes sense? I was trying to
dump a filesystem to a remote tape and ran into an error
complaining about being unable to execute /etc/rmt.
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?
5.6 I want to use my ZIP drive. Are there any weird things I
need to know?
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 *BSD and MS-DOS.
Why?
6.2.4 Is there any hope of ever running MS-DOS applications
under any of the free BSD systems?
6.2.5 How do I get Linux executables to run under NetBSD?
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 I am getting really poor performance out of my network,
especially when talking to older networks or when
performing short file transfers. What's the problem?
6.4.7 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.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 How do I configure my nameserver?
7.6 Terminals
7.7 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.8 Can network attached assets be used by/from NetBSD?
FreeBSD? OpenBSD?
7.8.1 Is it possible to Network boot a NetBSD machine from a
network on a diskless Sparc?
7.8.2 I have been working with FreeBSD 1.5.1 with some
machines configured as diskless. How can I do the same
for 2.0R (i.e., Which are the magic words to put in the
Kernel configuration file?)
8.0 What hardware works!
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
wrong?
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.7.1 How can I print big files (especially from SAMBA, the
WfWg network program)?
8.8 Tape Drives.
8.8.1 What are the jumper configurations for the Exbyte 8200
DAT tape drive?
8.9 QIC-40/80 tape drives
8.10 CD-ROMs
8.10.1 How can I mount my CD-ROM so that it appears to be
writable?
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.1.1 I want to make sure I have every set up right for my
news partition. What newfs options do I need to use to
get this information stored OK without future problems?
9.2 How did you get emacs to compile?
9.2 Has anyone tried to get Postgres to work?
9.3 How about the BSD Song?
0.1 A brief history of the *BSD family.
In the beginning, there was Research Unix. Bell Labs, in a
moment of utter abandon said "Let us produce progeny of Unix.
yea verily, that we might garner a market share with this white
elephant." In order to beget as many pretenders to the Unix
throne as possible, they removed most of the copyright notices
and released huge gobbets of code to Universities throughout the
United States. From that humble decision came the very spark of
what has arguably become the most successful, completely free
Unix-style operating system you can make money on.
There were several version of BSD roaming around, but they all
had one thing in common. You HAD to have a source code license
to the original Unix source to get a working version going. The
bulk of the code was written at Berkeley, much of it by
long-haired computer geeks, complete with bad complexions and
pocket protectors. Many Master's Degrees were built on what was
to follow.
Then, suddenly, someone realized the amount of source code from
the original Unix distribution was pretty much down to zilch.
They decided that making the distribution available to the whole
world (not just the select Unix license holders) seemed like a
pretty 'groovy' (to use the vernacular) idea. From that came
the Net distribution.
William and Lynne Jolitz, with their standard flair and panache,
decided to write the pieces that needed to be written. From
that decision came 386BSD Version 0.0. Generally considered to
be unusable, it was nonetheless a major coup, in that one no
longer needed the dreaded 'source license' to produce working
operating system images.
386BSD 0.1 eventually came to be. Linux, the other entrant in
the Free Unix-style OS family, had been running for about a year
by then. Many people, wanting to stick with code that they
already knew and which was in use in the commercial sector,
decided to start using (and fixing) the 386BSD 0.1 code. 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 made 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. Now, more or less overcome by events, the original
386BSD, with its relationship to the AT&T/Berkeley out-of-court
settlement, has become a rare piece of code to find. With some
of the code considered 'suspect', it was removed from FTP sites
world-wide.
To replace the original 386BSD, three newer versions of the
system are available, under new names. NetBSD is the oldest,
FreeBSD followed shortly thereafter. Both systems have evolved
into programs that are superior to their progenitor and both
have sizable (if a little rabid) followings. The third entry in
the group is a fairly recent entrant, called OpenBSD.
Most of the statements made in this FAQ will apply to all three
of the replacement systems, 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 or any
of the members of the PC BSD family.
There have been many attempts to polarize the *BSD 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,
FreeBSD, and OpenBSD.
It should be remembered that when the *BSD family started out, Bill
and Lynne used a source called the "Berkeley Net Release/2" tape
as their foundation. While this provided a stable starting point,
it also built a possible bomb into the system. Due to a 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. These files are the
primary reason you won't find the original 386BSD Version 0.1
available for FTP anymore.
0.1.1 Which of the 4.3 BSD files were identified as encumbered? What's
all this about `binary-only files'? Will BSDI continue to ship
source code? What did NetBSD and FreeBSD do about the
encumbered files?
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.
For NetBSD and FreeBSD, 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.1.2 How close is NetBSD (or FreeBSD) to BSD 4.4?
If you take a look at the README files that accompany each of
these packages, you will find that each is based as closely as
possible to BSD 4.4-Lite. The core development team for FreeBSD
used the 4.4 Lite distribution and re-engineered the missing
pieces to come up with the the current version of FreeBSD. The
NetBSD developers started with the existing 386BSD files, and
compared them to the unencumbered, freely releaeable files from
BSD 4.4. For both groups, any files which were not available
(through being encumbered) were written from scratch to provide
the functionality that was needed. Either way, both systems are
close to BSD 4.4. Of course, each has differences that make it
different from the other, and different from regular BSD 4.4.
0.1.3 Where can I get more information about the *BSD family of
Operating Systems?
Here are the current members of the *BSD family. These are
presented in alphabetical order, to avoid implying anything.
386BSD - An older version of BSD now targetted exclusively at
the research and academic community. CD distributions only,
sold by Dr. Dobb's Journal.
FreeBSD - A version of BSD for Intel platforms only and targeted
at a broad user base. See http://www.freebsd.org for details or
ftp://ftp.freebsd.org/pub/FreeBSD for the latest release.
NetBSD - A version of BSD for many different platforms, from
Intel to the 68K to the DEC ALPHA. See http://www.netbsd.org for
more details or ftp://ftp.netbsd.org/pub/NetBSD for the latest
release.
OpenBSD - A variant of NetBSD. See http://www.openbsd.org for
more details or ftp://ftp.openbsd.org/pub/OpenBSD for the latest
release.
0.2 About this FAQ.
This FAQ consists of several 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. NetBSD for the Mac FAQ
Section 9. NetBSD for the Amiga FAQ
...
Section n. NetBSD for the Timex Sinclair FAQ
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...]
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 vs.
initab) 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. One of the stated goals for both
NetBSD and FreeBSD is Spec 1170 compliance. While no one has
jumped up with the check to pay for the testing of compliance,
the spec is still there and being persued with vigor.
There is a document available via the World Wide Web at
http://www.leo.org/pub/comp/os/bsd/cracauer/ that tries to
describe the differences in FreeBSD and NetBSD, I haven't
personally reviewed it, but it is worth another shot to try and
get this pointless debate stopped.
Linux, NetBSD, FreeBSD, and OpenBSD share two vitally important
facets. All are free and all include source. They are all
excellent, and all fill a niche that the others (specifically
commercial language and OS vendors) would gladly leave available.
Also, don't forget one of the most important things; get what
your friends have. Then they can help you.
Finally, remember that this FAQ and the BSD Newsgroups are
intended as places for *BSD users and developers to meet and
discuss topics which are germain to the further development of
these systems. For more information about Linux, you can read
the comp.os.linux.* newsgroups.
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.
As of 1 July 1996 (two years later) the systems have evolved
considerably. NetBSD and FreeBSD have been joined by OpenBSD in
the *BSD family. In addition, each of the BSD systems and each
of the Linux distributions has had considerable chances to
evolve. Several updates to the original article are included
below, so that the comparison still remains valid. Thanks to <>
for his updates on the Linux side of this debate.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
For those of you that find it, I hope that it answers some of
your questions. The original 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 )
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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).
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. Enhanced IDE controllers and
devices (including ATAPI CD-ROMs) and generic XT controllers (8
bit controllers with MFM or RLL). Supported SCSI cards include
7000FASST; Adaptec 152X/2825, 1542, 1740, 274X/284X/294X;
AdvanSys; Always IN2000; AM53/79C974 PCI; BusLogic;
DTC3180/3280; EATA ISA/EISA (DPT PM2011/021/012/022/122/322);
EATA-DMA (DPT, NEC, AT&T, SNI, AST, Olivetti, Alphatronix);
EATA-PIO (old DPT PM2001, PM2012A); Future Domain 16xx;
Generic NCR5380/53c400; NCR53c406a; NCR53c7,8xx;
IOMEGA Parallel Port ZIP drive; PAS16; Qlogic FAS;
Qlogic ISP (EXPERIMENTAL); Seagate ST-02; Future Domain TMC-8xx;
Trantor T128/T128F/T228; UltraStor 14F/34F; UltraStor 24F
The various IDE chipsets (CMD640, Intel 430FX [Triton], RZ1000,
ALI M1439/M1445, DTC-2278, Holtek HT6560B, QDI QD6580, UMC 8672);
removable IDE interfaces (PCMCIA); RAM disk (can be root
filesystem); Multiple devices (Linear [append], RAID-0 [striping]).
The following file systems are supported in Linux:
Quota, Mandatory lock, Minix FS, Standard Linux (EXT, EXT2,
XIAFS), DOS (FAT, VFAT, umsdos (Unix like fs on top of FAT)),
/proc, Sun NFS, SMB, NCP (for NetWare volumes), ISO9660 cdrom,
The following CD-ROM drives are supported:
SCSI, IDE/ATAPI, Others (Aztech/Orchid/Okano/Wearnes/TXC/CyDROM;
Goldstar R420; Matsushita/Panasonic/Creative,
Longshine, TEAC; Mitsumi; Optics Storage DOLPHIN 8000AT;
Philips/LMS CM206; Sanyo CDR-H94A; ISP16/MAD16/Mozart soft
configurable cdrom interface card; Sony CDU31A/CDU33A; Sony CDU535)
SCSI and QIC-02 tapes are also supported.
(*Ed Note: Virtually all of the CD-ROMs listed in the 'others'
category are either originally manufactured by Matsushita
(Panasonic in the US), Sony, or Mitsumi.)
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.)
The following types of network interfaces are supported in Linux:
EQL (serial line load balancing)
SDLA (Sangoma S502/S508)
PLIP (parallel port IP)
PPP, SLIP (CSLIP, keepalive, linefill, six-bit SLIP)
Radio network interfaces:
BAYCOM ser12 and par96 kiss emulation driver for AX.25
Gracilis PackeTwin support
Ottawa PI and PI/2
STRIP (Metricom starmode radio IP)
WaveLAN
WIC Radio IP bridge (EXPERIMENTAL)
Z8530 SCC kiss emulation driver for AX.25
Ethernet (10 or 100 Mbit):
3COM (3c501, 3c503, 3c505, 3c507, 3c509/3c579, 3c590 series
[592/595/597] "Vortex")
AMD Lance and PCnet (AT1500 and NE2100); AMD PCInet32
(VLB and PCI)
Western Digital/SMC (WD80*3, SMC Ultra, SMC 9194)
Cabletron E21xx, DEPCA, DE200, DE201, DE202, DE422,
EtherWORKS 3 [DE203, DE204, DE205], EtherExpress 16,
EtherExpressPro, FMV-181/182/183/184,
HP PCLAN+ (27247B, 27252A, 27245, other 27xxx series),
HP 10/100VG PCLAN (ISA, EISA, PCI), ICL EtherTeam 16i/32,
NE2000/NE1000, NI5210, NI6510, SK_G16)
EISA, VLB, PCI and on board controllers (Ansel Communications,
Apricot Xen-II onboard, DE425, DE434, DE435, DE450, DE500,
DECchip Tulip [dc21x4x] PCI, Digi Intl. RightSwitch SE-X)
Pocket and portable adaptors (AT-LAN-TEC/RealTek, D-Link DE600,
D-Link DE620)
Token Ring driver (IBM Tropic chipset based)
ARCnet (arc0e ["Ether-Encap" packet format],
arc0s [RFC1051 packet format])
ISDN (ICN 2B and 4B, PCBIT-D, Teles/NICCY1016PC/Creatix)
The following TCP/IP options are supported in Linux:
Forwarding/gatewaying
Multicasting
Firewalling
Firewall packet logging
Accounting
Tunneling
Aliasing support
PC/TCP compatibility
Reverse ARP
Disable Path MTU Discovery [normally enabled]
Drop source routed frames
Allow large windows
The following entwork protocols are also supported:
IPX
Appletalk DDP
Amateur Radio AX.25 Level 2
AX.25 over Ethernet
Amateur Radio NET/ROM
Sound cards supported:
ProAudioSpectrum 16, SoundBlaster (SB, SBPro, SB16, clones),
Generic OPL2/OPL3 FM synthesizer, Gravis Ultrasound, MPU-401
(not for SB16), 6850 UART Midi, PSS (ECHO-ADI2111), 16 bit
sampling option of GUS, GUS MAX, Microsoft Sound System, Ensoniq
Soundscape, MediaTriX Audio TriX Pro, MAD16 and/or Mozart based
cards, Crystal CS4232 based (Pnp), Turtle Beach Wave Front (Maui,
Tropez) synthesizers
Other cards supported by Linux:
Digiboard PC/Xx, Cyclades async mux, Stallion multiport serial
(EasyIO or EC8/32, EC864, ONboard, Brumby), SDL RISCom/8 card,
Parallel printer, Bus mouse (ATIXL, Logitech, Microsoft), PS/2
mouse, C&T 82C710 mouse port (as on TI Travelmate), QIC-02 tape
drives, Travan QIC-80, Advanced Power Management BIOS, Watchdog
Timer, WDT Watchdog timer, and Enhanced Real Time Clock
FreeBSD:
CPU:
Any i386sx or better with at least 4 Meg of RAM (8 Meg
for X Windows).
Disk Controllers:
WD1003 (any generic MFM/RLL)
WD1007 (any generic IDE/ESDI)
IDE, including ATA
Adaptec 152x series ISA SCSI controllers
Adaptec 154x series ISA SCSI controllers
Adaptec 174x series EISA SCSI controller in standard and
enhanced mode.
Adaptec 274x/284x/2940/3940 (Narrow/Wide/Twin) series
EISA/VLB/PCI SCSI controllers
Adaptec AIC-6360 based boards, which includes the
AHA-152x and SoundBlaster SCSI cards.
Note: You cannot boot from the SoundBlaster cards as
they have no on-board BIOS, which is necessary for
mapping the boot device into the system BIOS I/O
vectors. They are perfectly usable for external
tapes, CDROMs, etc, however. The same goes for
any other AIC-6x60 based card without a boot ROM.
Some systems DO have a boot ROM, which is generally
indicated by some sort of message when the system is
first powered up or reset. Check your system/board
documentation for more details.
Buslogic 545S & 545c
Note: that Buslogic was formerly known as "Bustec".
Buslogic 445S/445c VLB SCSI controller
Buslogic 742A, 747S, 747c EISA SCSI controller.
Buslogic 946c PCI SCSI controller.
Buslogic 956c PCI SCSI controller.
NCR 53C810 and 53C825 PCI SCSI controller.
NCR5380/NCR53400 (``ProAudio Spectrum'') SCSI controller.
DTC 3290 EISA SCSI controller in 1542 emulation mode.
UltraStor 14F, 24F and 34F SCSI controllers.
Seagate ST01/02 SCSI controllers.
Future Domain 8xx/950 series SCSI controllers.
WD7000 SCSI controllers.
With all supported SCSI controllers, full support is
provided for SCSI-I & SCSI-II peripherals, including Disks,
tape drives (including DAT) and CD ROM drives.
Filesystems:
FFS (also called UFS by some vendors)
QUOTA (allow quota checking on FFS)
NFS (Sun Network File System, compatible with PC-NFS)
MSDOSFS (MS-DOS Filesystems)
CD9660 (ISO-9660 CD-ROM. including RockRidge extensions)
PROCFS (/proc file system)
MFS (memory file systems, like RAM disk, but backed by
swap)
SMB (using SAMBA, read-only to LM shares)
CD-ROMs:
Soundblaster SCSI and ProAudio Spectrum SCSI (cd)
Mitsumi (all models) proprietary interface (mcd)
Matsushita/Panasonic (Creative) CR-562/CR-563
proprietary interface (matcd)
Sony proprietary interface (scd)
ATAPI IDE interface (experimental and should be
considered ALPHA quality!) (wcd)
Ethernet cards:
Allied-Telesis AT1700 and RE2000 cards
SMC Elite 16 WD8013 ethernet interface, and most other
WD8003E, WD8003EBT, WD8003W, WD8013W, WD8003S,
WD8003SBT and WD8013EBT based clones.
SMC Elite Ultra is also supported.
DEC EtherWORKS III NICs (DE203, DE204, and DE205)
DEC EtherWORKS II NICs (DE200, DE201, DE202, and DE422)
DEC DC21140 based NICs (SMC???? DE???)
DEC FDDI (DEFPA/DEFEA) NICs
Fujitsu FMV-181 and FMV-182
Intel EtherExpress
Isolan AT 4141-0 (16 bit)
Isolink 4110 (8 bit)
Novell NE1000, NE2000, and NE2100 ethernet interface.
3Com 3C501 cards
3Com 3C503 Etherlink II
3Com 3c505 Etherlink/+
3Com 3C507 Etherlink 16/TP
3Com 3C509, 3C579, 3C589 (PCMCIA) Etherlink III
Toshiba ethernet cards
PCMCIA ethernet cards from IBM and National
Semiconductor are also supported.
Note: FreeBSD does not currently suppport PnP (plug-n-play)
features present on some ethernet cards. If your card
has PnP, it (PnP) should be disabled.
Miscellaneous devices:
AST 4 port serial card using shared IRQ.
ARNET 8 port serial card using shared IRQ.
BOCA IOAT66 6 port serial card using shared IRQ.
BOCA 2016 16 port serial card using shared IRQ.
Cyclades Cyclom-y Serial Board.
STB 4 port card using shared IRQ.
SDL Communications Riscom/8 Serial Board.
Adlib, SoundBlaster, SoundBlaster Pro, ProAudioSpectrum,
Gravis UltraSound and Roland MPU-401 sound cards.
QIC-02 and QIC-36 tape drives (wt0)
NetBSD:
Architecture: ISA or EISA bus. MCA does not work (although there
is work under way to provide MCA support). Local busses (VESA
and PCI) are also supported.
All NetBSD implementation use the following file system types:
FFS # UFS
QUOTA # UFS quotas
LFS # log-structured file system
MFS # memory file system
NFSCLIENT # Network File System client
NFSSERVER # Network File System server
CD9660 # ISO 9660 + Rock Ridge file system
MSDOSFS # MS-DOS file system
FDESC # /dev/fd
KERNFS # /kern
NULLFS # loopback file system
PORTAL # portal filesystem (still experimental)
PROCFS # /proc
UMAPFS # NULLFS + uid and gid remapping
UNION # union file system
CONCAT # Concatenated (multiple physical
# devices appear as single unit) and
# Striped (RAID style Striping)
Many of these filesystem types can be mixed and used
together (Union Filesystems over CD-ROMs to give appearance
of writable CD-ROMs).
All NetBSD systems also support the following networking
options:
GATEWAY # packet routing and forwarding
INET # IP + ICMP + TCP + UDP
IPFILTER_LKM # Add LKM hooks for packet filtering
IPFIREWALL # Add code to system for IP Firewall
NS # XNS
ISO,TPIP # OSI
EON # OSI tunneling over IP
CCITT,LLC,HDLC # X.25
atari:
A4000/A1200 IDE controller.
SCSI host adapters:
33c93 based boards: A2091, A3000 and GVP
series II.
53c80 based boards: 12 Gauge, IVS and
Wordsync/Bytesync.
53c710 based boards: A4091, Magnum, Warp
Engine and Zeus.
FAS216 based boards: FastLane Z3, Blizzard.
Video controllers:
ECS, AGA and A2024 built in on various amigas.
Retina Z2 and Retina Z3.
Picasso II.
GVP Spectrum.
Piccalo.
A2410.
Cybervision 64.
Ethernet controllers:
A2065 Ethernet
Hydra Ethernet
ASDG Ethernet
A4066 Ethernet
Ariadne Ethernet
Quicknet Ethernet
Arcnet controllers:
A2060 Arcnet
Tape drives:
Most SCSI tape drives, including Archive Viper,
Cipher SCSI-2 ST150.
CD-ROM drives:
Most SCSI CD-ROM drives
Serial cards:
MultiFaceCard II and III
A2232
Amiga floppy drives.
Amiga parallel port.
Amiga serial port.
Amiga mouse.
hp300:
CPUs:
68020-based: 318, 319, 320, 330, and 350.
68030-based: 340, 345, 360, 370, 375, and 400(*).
68040-based: 380, 425(*), and 433(*).
Disks:
HP-IB/CS80: 7912, 7914, 7933, 7936, 7937, 7945, 7957,
7958, 7959, 2200, and 2203.
SCSI-I(**), including magneto-optical and CD-ROM.
Tape drives:
Low-density HP-IB/CS80 cartridge: 7914, 7946, and
9144.
High-density HP-IB/CS80 cartridge: 9145.
HP-IB/CS80 1/2": 7974A, 7978A/B, 7979A, 7980A, and 7980XC.
SCSI: HP DAT, Exabyte, and SCSI QIC drives such as
the Archive Viper.
RS232 interfaces:
98644 built-in single port (dca).
98642 4-port (dcm).
98638 8-port (dcm).
Network interfaces:
98643 built-in and add-on LAN cards.
Displays:
98544, 98545, and 98547 color and monochrome Topcat.
98548, 98549, and 98550 color and monochrome Catseye.
98700 and 98710 Gatorbox.
98720 and 98721 Renaissance.
98730 and 98731 DaVinci.
A1096A monochrome Hyperion.
Input devices:
98730 and 98731 DaVinci.
A1096A monochrome Hyperion.
Input devices:
General interface supporting all HIL devices:
keyboard, 2 and 3 button mice(***), and ID module.
Miscellaneous:
Battery-backed real-time clock.
98624 built-in HP-IB interface.
98625A and 98625B `fast' HP-IB interface.
98658A built-in and add-on SCSI interface.
Printers and plotters on RS232 and HP-IB.
SCSI autochanger.
(*) 400-series machines configured for Domain/OS are not
fully supported, notably, the keyboard doesn't work and
the ROMs must be in `HP-UX mode'.
(**) SCSI-II drives are known to work, though this may require
changing a jumper on some drives. See your disk's
documentation for details.
(***) Serial mice connected to a `HIL to quad' converter are
also known to work.
i386:
Floppy controllers.
MFM, ESDI, IDE, and RLL hard disk controllers.
SCSI host adapters:
[Adaptec host adapters only on kcadp floppy]
Adaptec AHA-154xA, -B, -C, and -CF
Adaptec AHA-174x
Adaptec AIC-6260 and AIC-6360 based boards, including
the Adaptec AHA-152x and the SoundBlaster SCSI
host adapter. (Note that you cannot boot from
these boards if they do not have a boot ROM;
only the AHA-152x and motherboards using this
chip are likely to be bootable, consequently.)
Adaptec AHA-294x[W] cards and some onboard PCI
designs using the AIC7870 chip. This driver
does *not* currently work with non-PCI AIC-7xxx
boards or the Adaptec 3940.
Buslogic 54x (Adaptec AHA-154x clones; driver on
kcadp floppy)
[Other host adapters only on kcoth floppy]
BusLogic 445, 74x, 9xx (But not the new
"FlashPoint" series of BusLogic SCSI adapters)
Symbios Logic (NCR) 53C8xx-based PCI SCSI host
adapters
Ultrastor 14f, 24f, and 34f
Seagate/Future Domain ISA SCSI adapter cards,
including ST01/02
Future Domain TMC-885
Future Domain TMC-950
MDA, CGA, VGA, SVGA, and HGC Display Adapters. (Note that
not all of the display adapters NetBSD/i386 can work
with are supported by X. See the XFree86 FAQ for
more information.)
Serial ports:
8250/16450-based ports
16550-based ports
AST-style 4-port serial boards [*]
BOCA 8-port serial cards [*]
Cyclades Cyclom-{4, 8, 16}Y serial boards [*]
IBM PC-RT 4-port serial boards [*]
Parallel ports:
All standard AT-style parallel ports (with or
without IRQ 7 support).
Ethernet adapters:
AMD LANCE and PCnet-based ISA Ethernet adapters [*],
including:
Novell NE1500T
Novell NE2100
Kingston 21xx
AMD PCnet-based PCI Ethernet adapters, including:
BOCALANcard/PCI
AT&T StarLAN 10, EN100, and StarLAN Fiber
3COM 3c501
3COM 3c503
3COM 3c505 [*]
3COM 3c507
3COM 3c509 and 3c579 (But not the PCI 3c59X series)
Digital DC21x4x-based PCI Ethernet adapters, including:
SMC EtherPower 10, 10/100 (PCI only!)
Znyx ZX34X
Cogent EM100
Digital DE450
Digital DE500
BICC Isolan
Intel EtherExpress 16
SMC/WD 8003, 8013, and the SMC "Elite16" ISA boards
SMC/WD 8216 (the SMC "Elite16 Ultra" ISA boards)
Novell NE1000, NE2000
Tape drives:
Most SCSI tape drives
QIC-02 and QIC-36 format (Archive- and Wangtek-
compatible) tape drives [*] [+]
CD-ROM drives:
Mitsumi CD-ROM drives [*] [+]
[Note: The Mitsumi driver device probe is known
to cause trouble with several devices!]
Most SCSI CD-ROM drives
IDE/ATAPI CD-ROM drives (not completely tested,
patches available from
ftp://lix.polytechnique.fr/pub/manu
Mice: ( while the kernel supports mice, there is very
little software written which uses the mouse.
'X' is the primary user for these supported
mice.)
"Logitech"-style bus mice [*] [+]
"Microsoft"-style bus mice [*] [+]
"PS/2"-style mice [*] [+]
Serial mice (no kernel support necessary)
Sound Cards:
SoundBlaster [*] [+]
Gravis Ulrasound and Ultrasound Max [*] [+]
[The following drivers are not extensively tested]
Personal Sound System [*] [+]
Windows Sound System [*] [+]
ProAudio Spectrum [*] [+]
Drivers for hardware marked with "[*]" are NOT included on the
distribution floppies. Except as noted above, all other drivers
are present on both kernel-copy disks. Also, at the present time,
(as of 1 Nov 1995) the distributed kernels support only one SCSI
host adapter per machine. NetBSD normally allows more, though,
so if you have more than one, you can use all of them by
compiling a custom kernel once NetBSD is installed.
Support for devices marked with "[+]" IS included in the
"generic" kernels, although it is not in the kernels which are
on the distribution floppies.
NetBSD/i386 does NOT currently support (in version 1.1), but
get many questions about:
- Adaptec AIC-7770-based SCSI host adapters (including the
Adaptec AHA-274x, AHA-284x families).
- NCR 5380-based SCSI host adapters.
- APM power management -- if your system supports it, turn it off!
- PCMCIA ("PC Card") devices, including some miniature "IDE" hard
disks.
- QIC-40 and QIC-80 tape drives. (Those are the tape drives
that connect to the floppy disk controller.)
- WD-7000 SCSI host adapters.
- PCI-PCI bridges and cards which include them, such as the
AHA-394x SCSI host adapter and some DC21x4x-based
multi-Ethernet cards.
- 3Com 3c59x series PCI Ethernet and Fast Ethernet adapters.
- Multiprocessor Pentium and Pentium Pro systems. (Ed. Note:
They run fine, you just don't get the advantages SMP
provides yet. There is an SMP working group putting
the final touches on SMP support.)
- Intel EtherExpress 100 Fast Ethernet adapters.
- Digital DEFPA PCI FDDI adapters (the PC support barely missed
the November release; it works in other ports, and will
work in the next release)
We are planning future support for many of these devices. (Ed
Note: Version 1.2 is due out shortly, many of these devices are
fully supported there.)
mac68k:
Supported models:
Mac II, Mac IIx, Mac IIcx, Mac IIci, Mac SE/30,
Mac IIsi, Mac IIvx, Mac IIvi, Performa 600
Supported devices on all of the above systems include:
Internal SCSI bus and most SCSI tapes, hard
drives, and CD-ROMs
Internal sound--enough to beep on some machines, anyway
Most basic NuBUS video cards (there have been some
problems with some 24-bit color cards) Both internal
serial ports
ADB keyboards and mice
Ethernet cards based on the National Semiconductor
8390 (Asante, Apple, and a few others) [problems
reported on the Performa 600, though].
Some systems will boot and are usable from an external
terminal (serial tty or SL/IP):
LC III
Performa 550
and possibly others
What isn't supported, but often asked about:
68040-based Macs. Work is in progress on getting
a Quadra 700 running. This requires a new scsi
driver and a new ethernet driver.
PowerPC-based Macs. Work will begin on this,
sometime soon. It will be separate from this
port, though. The PowerPC is a much different
processor.
{Ed Note: Work on the Quadra and the Power-PC
have begun.]
mvme68k:
Motorola makes a number of m68k VME cards. This port
currently only works on the m68030 based VME147
card (diskless only for now).
requirements:
- VME147 card
- a machine to connect the console to
- network connection
- NFS server (to serve root and swap)
pc532: [This machine should not be confused with the
Intel Pentium system with the same name. This
is a completely different machine which uses a
32032 CPU and PC peripherals.]
4 - 32 Megs of memory
8 serial lines done by 4 scn2681 chips
The NCR DP8490 SCSI chip (scsi only)
Most SCSI disks work (fixed and floppy)
A few SCSI tapes work
Some SCSI CD-ROM drives work
The Matthias Pfaller Parallel Port.
pmax: [The specifics of the PMAX are a little vague at
this point. We'll add these in later.]
sparc:
CPUs:
sun4c (e.g. the SS1, SS1+, SS2, IPC, ELC, IPX,
and SLC)
sun4 (e.g. the 4/100, 4/200, and 4/300. note
that support for the 4/400 processor is
incomplete)
*NOT* on these machines (yet):
sun-4/400 (lacking support for the I/O cache, and
has ethernet problems)
sun4m (e.g. sparc classic, 4, 5, 10, and 20)
sun4d (e.g. sparc center 2000)
Work on porting NetBSD/sparc to the sun4m
platform is currently in progress, but was
not ready in time for the 1.1 release.
Video:
sun4c sbus video:
cgsix, cgthree, and bwtwo frame buffers
sun4 video (not thoroughly tested?):
P4 on-board bwtwo and VME cgtwo card
Serial ports:
ttya and ttyb (can be used as console if needed)
Ethernet:
on-board AMD Lance ethernet ("le0")
Sbus AMD Lance ethernet cards
On-board Intel 82586 ethernet (ie0 on 4/100's
and 4/200's)
VME Intel 82586 ethernet cards
SCSI:
on-board "esp" SCSI controller (sun4c's, and
the 4/300)
sbus "esp" SCSI controller
Sun "SUN-3"/"si" VME SCSI controller (polled
mode only, slow)
Sun "SCSI Weird"/"sw" on-board controller
(4/110 only, polled)
VME disks:
Xylogics 7053 VME/SMD disk controller ("xd")
Xylogics 450/451 VME disk controller ("xy")
[note: VME/IPI disks are not supported]
Sun floppy disk drive on sun4c's
Sun keyboard and mouse
Sun4c audio
Hardware the we do NOT currently support, but get many
questions about:
sun4m, including multiprocessor machines
interrupt driven SCSI driver for sun-4/100's and
sun-4/200's
sun3:
CPUs:
3/50, 3/60, 3/110, 3/75, 3/150, 3/160, 3/260, 3/280
Serial ports (RS232):
built-in ttya, ttyb
Video adapters:
bwtwo, cgtwo, cgfour
Network interfaces:
On-board Lance Ethernet (le)
On-board or VME Intel Ethernet (ie)
SCSI:
(Most SCSI disks, tapes, CD-ROMs, etc.)
On-board "si" (SCSI-3) [Note 1]
VME "si" (SCSI-3) board [Note 1]
SMD Disks: (the big, heavy ones 8^)
Xylogics 450/451 [Note 2]
Xylogics 753/7053 [Note 2]
Input devices:
Sun keyboard and mouse
Miscellaneous:
Battery-backed real-time clock.
Note 1:
The "si" driver now supports DMA and
disconnect/reselect but due to the immaturity
of the DMA code, those features are disabled by
default. To enable DMA (and get faster SCSI
performance) patch the variable si_options in
the file /usr/src/sys/arch/sun3/dev/ncr_si.c as
indicated.
Note 2:
SMD disk support is almost ready, but could not be
tested in time for this release. Drivers are
provided for the Xylogics 450/451 and Xylogics
753/7053 VME boards only as source code. They
compile but have never touched a disk.
Harddisk Storage requirements :
*BSD:
Base System 16 MB
Full binary distribution 46 MB
Full source " 72 MB
Kernel Source 7 MB
Swap 8 MB
For all of the *BSD systems, 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. The main
distributions are Redhat (commercial release), Slackware,
Yggdrasil, and Debian. As a general rule, the Linux
distributions take less space than a similar *BSD distribution.
Some other features:
virtual terminals/consoles:
All of the *BSD and Linux systems have virtual consoles
available.
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. UPDATE '96: With the change to ELF and COFF,
Linux shared libraries are now as easy to use as the BSD
libraries.
Networking:
*BSD networking is more mature than the Linux networking.
Berkeley invented TCP/IP, and since all of the BSD systems are
based on the original Berkeley code, this should go without
saying. In the development process of Linux 1.3.x/2.0, most of
the networking code was rewritten and parts of the BSD networking
code were ported to Linux in an attempt to fix any remaining
instabilities. The Linux 2.0 networking code seems fairly
solid, but 2.0 is too recent to pass final judgement. Eric
Schenk at the University of Toronto recently posted on several
Usenet newsgroups and a couple of mailing-lists some comments
about the innards of the Linux networking code. He seemed to
indicate that even the TCP protocol implementation is far
from complete. I am looking for the specifics (his note/URL),
but I can't find it at the moment.
Loadable Kernel Modules:
LKMs have been supported in *BSD since the late 386bsd+Patchkit
days. Linux has supported LKMs for some time.
File System Intrusion:
One feature of Linux that is currently not implemented in any of
the *BSD systems 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 as fast as a native Filesystem, but
for trial it should be O.K.
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 more mature.
+ The system is standard BSD.
+ System will natively execute Linux, FreeBSD, SysV, and iBCS2
executables for all of the platforms supported
- Releases of new versions not partiuclarly regular.
- 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. Most CD distributions include X and TeX
implementations on the CD, and they are available from the
primary FTP sites for each of the systems.
Linux:
+ Uses fewer resources
+ Has more support for 'unusual' devices
- Every distribution is a little bit different
- Development is too fast without net access (typically no
specific "version" releases.)
I include here some info from other posts, which should help
the new user to show the differences:
burgess@cynjut.neonramp.com 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
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, older, more modern).
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.
(Ed Note: Linux started out with Minix, but only sort of. The
first file system it supported was the Minix file system. The
rest of the 'standard Linux' filesystems came along later. POSIX
wasn't the original design document. Linus wanted to see if he
could do it: apparently he could.)
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 three (four if you count
BSDI) different developer communities that take code from
each other, but appear to hate each other's guts. 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, FreeBSD, or OpenBSD you can automatically download the
changes for the -current from one or two places for each release.
FreeBSD and NetBSD use 'sup' and OpenBSD uses 'anoncvs', a more
powerful versioning and updating system. 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. (Ed Note: This is, in
fact, the case. Linux networking has matured considerably this
was originally written).
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 here
is the list of features that I find appealing:
- COFF and ELF compatiblity:
When this was originally written, neither had ELF or
COFF support built in. They both do now.
- Windows executable emulation:
This is probably more useful, and it's being done
jointly by developers from both BSD and Linux cooperatively.
(After two years, this is still not completed.)
- DOS compatibility:
The existing releases of *BSD don't have DOS
compatability, but the imminent releases of FreeBSD and
NetBSD both do. This emulator is the same one BSDI
uses, so is exactly the same as the commercial BSD/OS
version. The Linux DOS emulator has a long history, but
is generally considered 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 (generally)
show up on the other side. (Ed Note: The floppy tape
driver is a good example of one that didn't make it to
all of the BSD systems. FreeBSD has it, but NetBSD
doesn't.)
- Linux uses DOS partitions (including extended partitions).
- BSD creates its own partitions inside a single non-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).
There is another difference: the use of the network share
directories.
The Linux file system standard (which is supported by convention
by most Linux developers) currently says that no program
should look directly into /usr/share, that symlinks should be
provided from other places, such as /etc/termcap. This provides
the ability to have a heterogeneous /usr/share that anyone can
access, but which does not NEED to be available for the system
to operate.
On the other hand, there is a movement to have the /usr/share
directory tree available to all programs that need it in the
*BSD camps. It is more a matter of opinion than a matter of
substance as to which is better; it is simply another
difference, and one that is not likely to change in the near
future.
Bob Woods writes:
"My very slight experince with trying to port some ISA
ethernet and ISDN drivers from Linux to NetBSD left me with
the impression that none of the code is of very high quality.
I didn't get very close to much of the code still maintained
only by Linus, but more than one of these drivers was
absolutely atrocious. I ended up dropping my plans to port the
driver, and would be writing from scratch if the project had
not been cancelled."
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", "OpenBSD", or "Windows 95" 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 old 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.
NetBSD 1.1 and FreeBSD 2.1.5 are now able to run any of the
following:
- Linux executables (static or dynamic)
- BSDI executables
- 386 Common Object File Format (COFF) executables
- Each other's executables
In addition, there are several other CPUs that NetBSD works
with, and these have compatability code for the native operating
system for those CPUs built in. Macintosh and Amiga can even
run each others executables under NetBSD (although not necessarily
Mac or Amiga native apps).
In addition, the -current x86 *BSD family core teams has been
working on improving and porting the BSDI DOS emulator. This
means that soon, FreeBSD, OpenBSD, and NetBSD will all be
capable of running native DOS apps,
0.3 Are there any resources on the Net (like URLs) associated with
the BSD family of operating systems?
Yup:
http://www.public.iastate.edu:~gendalia/FAQ/FAQ.list.html
http://www.freebsd.org/
http://www.openbsd.org/
http://rfhs1012.fh.uni-regensburg.de/~feyrer/
http://www.cd.chalmers.se/~nh/netbsd.html
http://www.flame.org/netbsd/projects
ftp://ftp.uni-regensburg.de/pub/NetBSD-Amiga/.index.html
ftp://ftp.cdrom.com:/pub/FreeBSD/packages/WWW.tgz
ftp://ftp.netbsd.org:pub/NetBSD/mailing-lists
ftp://flick.lerc.nasa.gov:~ftp/pub/NetBSD/packages/i386
ftp://ftp.iastate.edu:/pub/Netbsd/FAQ
http://sirius.ics.es.osaka-u.ac.jp/~kamahara/NetBSD-X68060
IF you are going to be using IRC in the near future and want to
talk to some of the movers and shakers in NetBSD, the next time
you log in look for one of the following people:
Handle Channel
'hubertf' #netbsd
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
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.5 Administrivia.
Send all question/answer pairs to burgess@cynjut.neonramp.com,
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?
0.6 Does anyone reading this have any sense of humor at all?
I'm not sure. While reasearching the great 'Linux vs. everyone
else sucks' debate, I received this in E-Mail. The author's
identity has been removed to protect him from the mail-bombs.
For the humor impaired, stop reading now!
----------------------------------------------------------------
Many people ask the question "Which is better? FreeBSD, NetBSD,
OpenBSD, or Linux?" Up until now, not many people are willing
to answer thoroughly and give reasons. I, being a brave soul,
am. This mini-FAQ lists the most significant differences
between Linux, NetBSD, and FreeBSD in a fair and evenhanded
manner. Permission is given to redistribute this mini-FAQ
freely, with attribution. If anyone wants to take the burden
of posting it periodically on the appropriate newsgroups, be
my guest.
This is based on a message I wrote some months ago. I've
tried to update it substantially to reflect the changing
nature of x86 OS's.
-------------
Q) Which is better? NetBSD, OpenBSD, Linux, or FreeBSD?
A) NetBSD is the best of the three because of it's superb
error handling capabilities (this is the "Net" referred to
in the name). With NetBSD, it's almost impossible to make
a mistake, either in installation, or operation, because the
system will "catch" you as you "fall". NetBSD works on a
wide range of processors, including the Intel 386, 486, and
586, the Sun, Sparc, SGI, MIPS, Macintosh, Motorola 6809,
Krupf, ADC Kentrox, Whirlpool, Amana, Zilog Z80,
Timex-Sinclair, and the Braun. Currently, the NetBSD team
is devoting all of their energies towards finishing the
all-important IBM RT port.
Linux is the successor to an operating system called "Minix".
Linux was developed by Linus Pauling, a Finnish communist.
Linux tries to uphold traditional Marxist values in several
ways; firstly by using GNU tools from the FSF foundation
wherever possible. The Linux kernel is developed by committee,
and the operating system reflects this: rather than having one
"init" process which fathers all others, a group of co-resident
processes with equal powers are created simultaneously. "Kill"
commands are treated as formal protests. Linux networking has
come a long way since it's implementation, and there is no truth
whatsoever to the rumor that sudden losses of IP connectivity
are in any way related to future plans to limit users to 1.5
hours of SLIP or PPP unless they send in the registration fee.
FreeBSD was a radical offshoot of the Linux project; you could
consider it to be of the Trotskyite school. FreeBSD supports
an extremely wide range of PC hardware, as long as it was
obtained at less than cost. FreeBSD is used by Amnesty
International and many other human rights organizations.
FreeBSD supports every peripheral available for the IBM PC
except the ones you have. The FreeBSD team was actually
responsible for porting "Doom" to Linux, in a successful
effort to slow down constructive work by distracting the
central committee with frivolous games. FreeBSD has the
nicest installation of any of the x86 unices -- you install
the boot disks, which then initialize the modem and call
Jordan "Perky" Hubbard, who then comes to your house with the
rest of the disks and completes the installation. The FreeBSD
CD-ROM plays various Nick Cave and Tom Waits songs Jordan is
known to be fond of.
386bsd was written by Bill Jolitz in a fit of pique. It was
based entirely on Sun's widely-respected "Solaris" operating
system, as revenge against Sun's Bill Joy, who rudely chose a
name with the same initials as Jolitz. A new version of 386bsd
will be released very soon. Unfortunately, it will only run on
386es, and thus is unsuitable for anyone with a 486 or Pentium.
486bsd should be released "sometime in 2138," according to
industry insider James Monroe, Sr.
DID YOU KNOW?
=============
1) The Free and Net BSD teams split up in the year 1632. The
cause of the split is uncertain, but it seems to have something
to do with someone named "Janice." They still get together for
drinks occasionally, and remember old times. Every so often,
after tying on a few too many, they end up waking up next to
each other and feel ashamed over their night of pleasure. The
kids still blame themselves.
2) The Linux kernel has actually not changed at all since January,
'94? Linus just increments "version.c" once every 48 hours and
unleashes the "change" on an unsuspecting Internet, bringing FTP
servers to their knees. A book, "The Design and Implementation
of the Linux Operating System," my Gary Marshall James T. Kirk
McUsenet, was rejected by Addison-Wesley on the grounds that they
didn't feel the public was prepared to purchase a book written
on looseleaf paper with diagrams in crayon.
3) All three systems claim to be "POSIX" compliant. However, the
POSIX people have denied knowing anything about it. Scuttlebutt
in the industry is that POSIX will soon be outdated, and will be
replaced by GNOPIX, a FSF standard which implements the TOPS-20
operating system in Scheme.
--
Dave Burgess (The man of a thousand E-Mail addresses)
*bsd FAQ Maintainer / SysAdmin for the NetBSD system in my spare bedroom
"Just because something is stupid doesn't mean there isn't someone that
doesn't want to do it...."