Return to BSD News archive
Xref: sserve comp.os.386bsd.announce:293 comp.answers:4309 news.answers:19425 Path: sserve!newshost.anu.edu.au!munnari.oz.au!bunyip.cc.uq.oz.au!harbinger.cc.monash.edu.au!yeshua.marcam.com!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!news.cac.psu.edu!news.pop.psu.edu!ctc.com!news.mic.ucla.edu!ux1.lmu.edu!cynjut.ogisd.ess.harris.com!jocas-al.brooks.af.mil!hrd769.brooks.af.mil!not-for-mail From: burgess@hrd769.brooks.af.mil (Dave Burgess) Newsgroups: comp.os.386bsd.announce,comp.answers,news.answers Subject: [comp.os.386bsd] BNR/2 derived BSD for PCs FAQ (Part 1 of 10) Followup-To: comp.os.386bsd.misc Date: 31 Mar 1994 21:37:25 -0000 Organization: Armstrong Laboratory, Brooks AFB, TX Lines: 602 Approved: news-answers-request@MIT.Edu Distribution: world Expires: 04/18/94 Message-ID: <386bsd-faq-1-765149856@hrd769.brooks.af.mil> Reply-To: 386bsd-faq@hrd769.brooks.af.mil (386bsd FAQ Maintainer) NNTP-Posting-Host: hrd769.brooks.af.mil Posted-By: auto-faq 2.4 Archive-name: 386bsd-faq/part1 Frequently Asked Questions 386BSD, NetBSD, FreeBSD, and other BNR/2 derived Operating Systems. EXTREMELY UNOFFICIAL Original FAQ by: Terry Lambert terry_lambert@gateway.novell.com terry@icarus.weber.edu New FAQ by: TSgt Dave Burgess NCOIC, Configuration Management Section, US Strategic Command burgessd@j64.stratcom.af.mil Last Update: 08 Feb 1994 Section 0. (Basic FAQ information) 0.0 Introduction The 386BSD 0.1 operating system is a derivative 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 is an 'unofficial' patchkit which is available from many anonymous FTP sources which makes 386BSD more stable and usable. Many problems associated with the use of 386BSD Version 0.1 can be 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. 386BSD comes in three distinct pieces, each of which is exclusive of the other two. These distributions are called the 'bindist', 'srcdist', and 'etcdist'. The bindist can 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 includes MANY additional programs (all with source) which extend the functionality of 386BSD. The srcdist is the source code for 386bsd, along with all of the header files not included in the bindist. All of the distributions and compilation files will 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. 0.1 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 0.2 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. Here are a brief list of differences between 386bsd and other systems: 1. 386bsd will not run DOS applications (yet). There is currently no DOS emulator. People are working on it. If you want to help, contact Nate (nate@bsd.coe.montana.edu) and tell him. He will put you in contact with the right people. 2. 386bsd is not binary compatible with anything but the other free BSD systems (NetBSD, FreeBSD, and their kith). If you want to add binary compatibility with some other system, contact Bill and Lynne, or Nate, and volunteer. NetBSD 0.8 was actually 386bsd in a new suit. The documentation that comes with NetBSD goes into a great deal of detail about this. BTW, this binary compatibility has become backwards compatibility. The newer versions of NetBSD are implementing a new type of executable format, wherein references to NULL will cause a core dump. The format of the executable is said to be close to (if not compatible with) BSDI's BSD/386 product. There is even a caveat on this compatibility. Anything that uses the original 'dbm' code (passwd database, etc.) will not work because all of the newer BSDs, including NetBSD and FreeBSD, are using the new dbm code that was released as part of BSD 4.4. 3. FreeBSD is 386bsd 0.1 with the patchkit applied, and many of the utilities in the system have been updated. This system is not quite as leading edge as NetBSD and is intended to be used as a stable operating environment. The emphasis seems to be on better packaging and improved operation. 4. 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. 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. 0.2.1 Are all of the BNR/2 derived systems binary compatible? If not, what are the differences? NetBSD/1 runs 386BSD, FreeBSD, NetBSD/1 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. This caveat is also true of FreeBSD, though it cannot run BSDI or NetBSD/1 0.9 executables. Also, due to better (read: properly) enforced address space protections, some incorrectly written programs which seemed to work under 386BSD or NetBSD/1 0.8 will core dump under NetBSD/1 0.9, even when recompiled. The default executable format produced by the NetBSD 0.9 `ld' i is not downward compatible with FreeBSD or 386BSD. It is essentially the same as BSDI's QMAGIC format and Sun's normal format--with no padding between the exec header and the first page of text, and with the first page of the address space always unmapped when loaded--except that the magic numbers are in the conventional `magic + machine id' format, and are in network (big-endian) order. 0.3 How to add your pet answer to the FAQ. This is the trickiest part of this section of the FAQ. There are only two criteria for getting an entry made into the FAQ: 1. Your answer should answer a question that seems to come up with some regularity, or at least perplexes a group of people from time to time. 2. Your answer should be technically correct. In other words, answers like 'RTFM' and 'everybody knows that' are not really good candidates for the FAQ. These answers should spell out, in a reasonable level of detail, precisely how to fix the the question asked, or explain the basis for the answer and leave the implementation of the answer to the questioner. All answers MUST include a question. This is not as obvious as it would seem at first glance. An answer could solve many problems, especially in the realms of system halts or other catastrophes. Since I (Dave) am no Unix guru, I rely HEAVILY on the input of other people to make the FAQ a success. Many questions in the FAQ have been made largely irrelevant through the patchkits, but that doesn't means they may not reappear. That is why the old FAQ questions are still here. New FAQ questions should be added. I will try to attribute the question/answer to the author, but I personally think this is a waste of good disk space. As long as the answers get out, that should be reward enough :-) 0.4 Administrivia. Send all question/answer pairs to burgess@hrd769.brooks.af.mil. 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. To get the absolutely most up-to-date (like to the minute) FAQ set, you will need access to anonymous FTP. FTP to hrd769.brooks.af.mil and get the entire set out of ~/pub/FAQ. I have implemented the advanced FTP server, so you can request the files be compressed and/or tarred. The file 'master.index' is the list of all of the questions in the entire set. It is included in FAQ_00 (below). 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.5 Master Index. 0.0 Introduction 0.1 About this FAQ. 0.2 Is 386bsd better than (your favorite operating system name here)? 0.2.1 Are all of the BNR/2 derived systems binary compatible? If not, what are the differences? 0.3 How to add your pet answer to the FAQ. 0.4 Administrivia. 0.5 Master Index. 1.0 What is 386BSD? (Taken from the INSTALL.NOTES by the Jolitz's) 1.0.1 What are these other Free BSD systems? 1.0.2 I just downloaded all of 386bsd version 0.1 and I get can't get [some feature] to work? Do you have any suggestions? 1.1 Feature summary 1.2 The future of 386BSD. 1.3 386BSD software projects in progress 1.3.1 Contacting software authors 1.4 Minimum hardware configuration recommended 1.5 Where to get the source and binaries 1.5.1 Forms available (floppy, FTP, CD-ROM) 1.5.1.1 Where can I get the distribution on floppy or tape? 1.5.1.2 Where can I get the distribution via FTP? 1.5.1.3 Where can I get the distribution on CD ROM? 1.6 Electronic Information Groups for 386BSD 1.6.1 Usenet newsgroups 1.6.2 Newsgroup archives. 1.6.3 BNR/2 Derived bsd 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 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 2.0 Install process 2.0.1 Tiny boot disk (versions and media formats) 2.0.1.1 Where does extract go when I reboot? 2.0.1.2 I put the floppy in and try to boot, and nothing happens. What now? 2.0.1.3a The floppy booted, but now the hard disk won't boot? 2.0.1.3b I am trying to reinstall. I run install and it loops asking me if I want to use the whole disk? 2.0.1.4 There are a bunch of flashing colored things on the screen. Now what? 2.0.2 Fix-it boot disk 2.1 Binary distribution 2.2 Source distribution 2.3 Additional software distribution 2.4 Patch-kit 2.5 Configuration 2.5.1 Partitions 2.5.1.1 What is a 'disklabel' and why do I need one? 2.5.2 Common Disk Label Problems. 2.5.2.1 Swap space. 2.5.2.2 Increasing the 386bsd partition size. 2.5.2.3 I can access the DOS partition on my second disk from Unix but not DOS? Any suggestions? 2.5.3 How do I set up the system so that I can boot from more than one operating system/file-loader without using floppies? 2.5.4 How do I disklabel my second hard drive? 2.5.5 386bsd/NetBSD/FreeBSD cannot handle disk geometry translations, but it turns out that my disk geometry is translated. It has five zones, each with a different sec/track! What kind of things can I do about the disk translation my hard disk controller uses? 2.6 Common installation problems. 2.6.1 Swap space not identified correctly. 2.6.2 Endless reboot cycles. 2.7 The computer just sits there, or 'that isn't right'. 2.7.1 The boot disk works all right on one computer but not another. 2.7.2 The screen has "flashing multicolored characters and ptdi81061 prompt" error? 2.7.3a I get the error "isr 15 and error: isr 17" on an NE2000 card. 2.7.3b I have some card on IRQ2 and it doesn't work; why? 2.7.3c I am getting lousy performance out of my network card. What are some of the other possibilities? 2.7.4 What is the difference between IRQ2 and IRQ9? Are they really the same, or are they really different? 2.7.5 Some of my SCSI devices (like a tape drive) don't work; why? 2.7.6 I try to run 'ps' or 'w' and get ': cannot get namelist' from the TinyBSD kernel. What did I do wrong? 2.7.7 I get a 'Floating point constant out of range' when I try to compile package 'n'. What is broke? 2.7.8 I want to use the Adaptec 1542C SCSI controller. What are the problems/tricks you need to know to get it working? 2.7.9 Did anyone ever find out on how to use the 3c509 etherlink III card yet for bsd? 2.8 Other common problems that are attributed to the installation process but are caused other places. 2.8.1 Why don't the man pages for "magic" and "file" work? 2.8.2 Why is apropos broke? 2.8.3 I want to use more than 16 Megabytes of memory. Will any of the Net/2 derived BSD systems support it? 2.8.4 I tried to use a device in my computer that should be there. When I did, I got a "Device not configured error." What do I do now? 3.0 System Internals 3.1 Kernel 3.1.1 How do I build a kernel? 3.1.2 I want to do one of the following things: * add a device not in the distributed kernel (third com port, additional disk or tape, line printer driver, etc). * use a patch from the net or the patchkit to fix a kernel bug. * add another swap device. * recompile the kernel to remove extraneous devices so that it takes up less space. * configure more pseudo-terminals to allow for more xterms or network logins. 3.1.3 I don't have the source distribution -- how can I rebuild the kernel? 3.1.4 Now that I have a kernel, how do I install it? 3.1.5 After installing the patchkit and recompiling the kernel with the option "WD8013", I am no longer able to reboot the machine. A cold boot (power on) runs fine, but after a reboot no boot drive is found by the BIOS. Besides having a 16-bit WD/SMC Ethernet card installed the machines try to boot using either a Adaptec 1742 or 1542 SCSI board to boot from. 3.1.6 My system is comaplaining about stray interrupt 7. Is my machine going to explode or anything? 3.1.7 I found a bug in the kernel. How do I report it? 3.1.8 Can someone please give a reasonably clear set of instructions as to how to get a "current" version of NetBSD running? 3.2 What exactly is this config file, anyway? What are all of these cryptic notations? 3.2.1 Okay, fine. Why shouldn't I just add every device I can find to the kernel, so I'll never have to recompile this again? 3.2.2 What should I remove from the kernel? 3.2.3 I can't get enough remote login sessions or xterm sessions. I also can only get four seesions working at a time. What can I do? 3.2.4 How do I get ddb, the kernel debugger, compiled into the kernel and running? 3.2.5 Can I have more than one config file? Should I rename it to something else? Any other hints? 3.2.6 What is the meaning of the trap codes I get in panic messages? Sometimes this message appears in the form "trap type nn". 3.2.7 I have been getting a lot of "virtual memory exhausted" errors when I am compiling a program with a really big static array. I have 128Meg of memory and 8Gig of swap. How can this be happening? 3.2.8 Where can I learn more about all this? 3.2.9 Does anyone have a system building script that takes things like building a new config and multiple config files into account? 3.3 X11/XFree86/XS3 3.3.1 What options should I define to get the X extensions included? 3.3.2 Where can I get the FAQ for 'X'? 3.3.3 Why does X drop characters when using xdm? When I run xdm from the console, it keeps losing keystrokes and the shift keys don't always work. Why? 3.4 Compiler and Library routines 3.4.1 Which C compiler is shipped with my Net/2 derived BSD? 3.4.2 Where is libcompat.a? 4.0 Introduction 4.1 Common Kernel-related problems 4.1.1 Where are the commands "rpcinfo" and "rpcgen"? 4.1.2 Where can I get a working "netstat"? 4.1.3 How can I fix NFS to work with my NE2000 board? 4.1.4 How can I get "ps" and "w" to work? 4.1.5 Where are re_comp and re_exec? 4.1.6 Where are stty() and gtty()? 4.1.7 The system hangs with the HD light on after intense disk usage. The system hangs when trying to fsck -p both of my IDE hard drives at boot-up. 4.1.8 How do you implement quotas on Net/2 derived BSD systems? 4.2 Available kernel add-ons 4.2.1 The Patch-Kit 4.2.2 Shared Libraries 4.2.3 Sound Blaster Drivers 4.2.4 Bus Mouse Drivers 4.2.5 PPP Support 4.2.6 re_comp and re_exec library functions 4.2.7 Intel i82586 Ethernet Controller driver 4.2.8 PC Speaker driver for Nethack 5.0 Introduction 5.1 Available Kernel Replacements 5.1.1 keycap/codrv 5.1.2 pcvt 5.1.3 syscons 5.1.4 Fast Symbolic Links 5.1.5 npx fixes 5.1.6 CGD's COM drivers 5.1.7 Tom Ivar Helbekkmo's wd.c replacement 5.1.8 Interruptless LPT Driver Kit 5.2 Floppy Disk problems. 5.2.1 How do I get a bootable floppy? 5.2.2 How do I maximize the space on a mountable floppy disk. 5.3 Unit Record 5.3.1 Printers 5.3.2 Terminals/Keyboards 5.3.3 Modems 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.7a 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.8b 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.9 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.10 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.11 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.12 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.13 What else should I know? For example, it seems that a new tape must stretched. How is this done? 5.5 Network 5.6 Marc Mengel's <mengel@fnal.gov> driver list 6.0 Working with DOS and BNR/2 related software. 6.1 Formatting a floppy 6.2 Sharing the Disk with MS-DOS 6.2.1 How can I partition my drive to support both MS-DOS and *bsd? 6.2.2 I can install using the whole disk, but I can't install when I try to share the drive between 386bsd and MS-DOS. Why? 6.2.3 I can use either MS-DOS or 386BSD on my hard drive, but shutdown -todos doesn't seem to work. 6.2.4 Is there any hope of ever running MS-DOS applications under any of the free BSD systems? 6.3 Accessing the MS-DOS filesystem 6.4 NFS/PC-NFS support 6.4.1 Can I use 8K packets for NFS? When I try, I have all kinds of problems. 6.4.2 How do I get around the NFS "Permission denied" error? 6.4.3 What does the message "BAD MNT RPC: RPC Authentication error; why = Invalid client credential" mean when I try to mount something from another machine? 6.4.4 What does the message "Bad MNT RPC: RPC: Authentication error; why = Client credential too weak" mean when I try to mount something from another machine? 6.4.5 I get a lot of 'ring buffer overflow' messages using NFS and the ed0 driver. Is there a problem? 6.4.6 Is there any PC software that will allow me to use my enormous PC with all of the unsupported hardware as a PC-NFS server? 7.0 Communications 7.1 SLIP 7.2 CSLIP 7.3 PPP 7.4 TCP/IP 7.5 UUCP 7.5.1 TIP/CU 7.5.2 What is the magic incantation that allows the modem to dial? 7.6 Terminals 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 System brand names 8.2 Motherboards 8.3 Video cards 8.4 Mice 8.5 Serial Cards 8.5.1 How do I configure multiport cards? 8.5.2 Now that I have FreeBSD 1.0 installed, how do I set up the serial ports for bi-directional use? 8.6 Disk Controllers 8.7 SCSI Controllers 8.8 Network Cards 8.9 Printers 8.10 TAPE Drives 8.11 QIC-40/80 tape drives 8.12 CD-ROMs 9.0 What GNU software has been tested and is working with Net/2 derived BSD systems for the 386? 9.1 Has anyone ever gotten news to work?