From: Karl Lehenbauer (karl@NeoSoft.com) Subject: 386BSD - Frequently Asked Questions (last updated 25-Apr-92) Newsgroups: comp.unix.bsd View: (This is the only article in this thread) | Original Format Date: 1992-04-25 13:26:24 PST [Editor's note: I'd like to spruce this up a bunch, make it fit the FAQ standard and make it more task-oriented, but it's been a while since it's been posted, and there've been several updates, so here goes... KL] Contents: PURPOSE AUDIENCE DISCLAIMER WHAT IT IS WARNING * WARNING * WARNING CURRENT STATE OF THE SOFTWARE REQUIRED HARDWARE OPTIONAL HARDWARE FTP SITES PATCHES COMPATIBILITY BOOTING HINTS QUESTIONS AND ANSWERS BUGS JOB JAR KNOWN DEVELOPMENT ACTIVITIES WHERE TO UPLOAD STUFF YOU'VE PORTED GETTING 386BSD VIA UUCP CONTRIBUTED SOURCES BIBLIOGRAPHY OF 386BSD ARTICLES PURPOSE ======= The purpose of this document is to collate some of the most important information about 386BSD in one place, creating a concise document containing the essential information, and make it widely available. The hyper-intense interest this software is generating is causing a lot of redundant requests for information to be posted, mailed, etc. AUDIENCE ======== The audience for this document is anyone who wants to work with 386BSD, a port of the free Net-2 release of the Berkeley 4.3 BSD operating system, with the missing pieces filled in by William and Lynne Jolitz, along with the contributions of hundreds of other people who, over the years, produced many of the utilities used to fill in for pieces of 4.3 BSD that were still proprietary to AT&T, including a lot of stuff from GNU and from the net. This FAQ is not intended to compete with the BSD FAQ, which contains info more generic to Berkeley Unix. DISCLAIMER ========== I am not involved in this project other than as yet another person interested in seeing it fly. (Thanks to NeoSoft for sparing me the time to work on this.) I have assembled this information from the same sources almost everyone else has access to, namely the comp.unix.bsd newsgroup, the 386BSD mailing list, and poking around the various FTP sites. I solicit updates for this posting, and will continue to produce it as long as there is a need and I have the time. If someone more officially involved would like to take over, please feel free to do so, and to use the contents of this posting as well. Regards, Karl Lehenbauer karl@NeoSoft.com WHAT IT IS ========== (culled from Bill Jolitz's release notes) 386BSD Release 0.0, is the first edition from the 386BSD project. It comprises an entire and complete UNIX-like operating system for the Intel 80386/486- based IBM PC, and is based almost entirely on the NET/2 release from the University of California, which contained much of the earlier freely redistributable and modifiable 386BSD source code done by William F. Jolitz and contributed to the University of California at Berkeley for distribution. 386BSD is a virtual-memory, 32-bit native mode operating system, and includes TCP/IP networking support up to and including the Network File System (NFS). 386BSD is freely redistributable and includes complete source code. CURRENT STATE OF THE SOFTWARE ============================= Release 0.0 is in a totally alpha state. Don't bother unless you know how, or want to learn how, to debug a kernel and work with a buggy, unreliable operating system. 386BSD is nonetheless a full 32-bit POSIX-compliant operating system and development environment, and we all have high hopes for its future. Although it can still be crashed fairly easily, 386BSD is running with ever- greater reliability as kernel hackers from all over the world dig in, find and fix bugs, and post their fixes to the net. Already, an extraordinary range of software is included, and most of it actually works. Support for TCP/IP over ethernet and QIC-02 compatible tape drives is included, among other things. WARNING * WARNING * WARNING =========================== Do not even test-boot 386BSD from floppy with a hard disk present on the system if you do not want to risk trashing your hard disk! If 386BSD crashes, it may write a core dump on your hard disk! shep@ginger.lcs.mit.edu reminds us: Disabling or unconfiguring the hard disk in the BIOS configuration screen will *not* protect your hard disk from 386BSD because 386BSD contains its own disk controller driver and does not use the BIOS calls to access the disk. REQUIRED HARDWARE ================= You must currently have the following listed hardware to run 386BSD. Please do not post to the net or to the mailing list asking for compatibility with obviously desirable equipment such as SCSI devices, unlisted ethernet boards, floating point support without a coprocessor, and so forth -- if it's not in the release notes, it doesn't exist yet. Keep monitoring comp.unix.bsd for updates. Here is a quick list of things that you must have to run 386BSD right now: o ISA bus-based IBM PC or compatible with Intel 80386,  80386SX, 80486, 80486SX processor or equivalent. o 80387 Floating Point Coprocessor (386, 386SX or 486SX only)  (some BIOSes have 387 emulation capabilities, and  that might work, but it is untested.) o 3.5" (1.44 MB) or 5.25" (1.2 MB) high-density floppy disk drive o at least 2 MB RAM o ST-506, ESDI or IDE disk drive and controller of at least  70 megabytes (i.e., SCSI is not yet officially supported,  although SCSI drivers and startup have been posted and it  should be possible to get up under SCSI.)  (Future releases will accomodate smaller drives.) o A disk drive *solely* for 386BSD (There is no support for PC-style disk partitioning in 386BSD.) o An MDA, CGA, VGA or HGC video card. OPTIONAL HARDWARE ================= Serial ports: The standard COM port, although it is apparently somewhat unreliable. Ethernet boards: Western Digital WD 8003EB, 8003EBT, 8003S, WD8003SBT, 8013EBT, and Novell NE2000. Tape drives: Tape drive support is available for QIC-02 controllers, allowing use of 3M cartridges of QIC-60 through QIC-150 format. DOWNLOAD RECOMMENDATIONS ======================== Before downloading 20+ megabytes worth of stuff, only to find out that you can't use it, gather and read all of the documentation, the little README and INSTALLATION file(s) in the top-level directory and various subordinate ones, then download the boot floppy only and see if you can boot it on your machine. (Remember, even test-booting the floppy can trash your hard disk!) If it appears to work, go ahead and download everything else. Nothing is guaranteed. Even if you have all of the above, do not be surprised if it doesn't work. FTP SITES ========= The FTP SITES section of this document is being discontinued as others are maintaining more complete lists and posting them periodically. I have included my smaller list for now for people who may only have this document and not seen the others. Please try to find one of the more complete FTP lists and download from a site that is logically close to you. PLEASE FTP WITHIN YOUR OWN COUNTRY! USA and UK sites, please don't clog Australia's link, etc. This information was composed by Shannon D. Appel (appel@xcf.Berkeley.EDU). Please send updates to Shannon. AUSTRALIA: kirk.bu.oz.au131.244.1.1/pub/386bsd ftp.ee.mu.OZ.AU128.250.1.80/pub/386bsd Kirk is the "official site" for 386BSD in Australia. EUROPE: ftp.fu-berlin.de130.133.4.50/?? ftp.lysator.liu.se130.236.23.254/pub/386bsd ftp.stacken.kth.se130.237.237.3/pub/OS/386bsd hpb.mcc.ac.uk130.88.200.7/pub/386bsd nic.funet.fi128.214.6.100/pub/unix/4.3bsd/i386-jolitz rusmv1.rus.uni-stuttgart.de129.69.1.12/soft/unix/386BSD src.doc.ic.ac.uk146.169.2.1/unix/386bsd-public NORTH AMERICA: agate.berkeley.edu128.32.136.1/pub/386BSD banjo.concert.net192.101.21.6/pub/386BSD capella.eetech.mcgill.ca132.206.71.161/pub/386BSD col.hp.com15.255.240.16 /mirrors/agate.berkeley.edu/pub/386BSD dsuvax.dsu.edu138.247.32.2/pub/os/386BSD ferkel.ucsb.edu128.111.72.60/pub/bsd/386bsd ftp.cis.ksu.edu129.130.10.80/pub/386BSD ftp.uu.net137.39.1.9/pub/OS/386BSD gatekeeper.dec.com16.1.0.2/pub/micro/386bsd iceberg.cs.wwu.edu140.160.140.160 /pub/BSD386 terminator.cc.umich.edu141.211.164.8/unix/386bsd TEKTRONIX:[only available to people in the tek.com domain] pamela128.181.120.240 /?? PATCHES ======= Patches are available from many of the aforementioned sites. Jo Torsmyr maintains a pretty complete set available from anon ftp host cesar.ifi.unit.no (129.241.163.49) in the directory /pub/386bsd/patches. COMPATIBILITY ============= cgd@agate.berkeley.edu (Chris Demetriou) Toshiba 5200/100 with WE8003 Ethernet card Bill Jolitz: Toshiba laptop clone, 386SX/387SX, 3MB RAM, VGA LCD(Cirrus), Megahertz T2LL Ethernet, Conners CP3100 IDE 100MB drive. Compaq DeskPro, 386/387, 9MB RAM, Compaq VGA, ESDI Maxtor 8380 drive(type 38), WD8003EBT Ethernet, Compaq QIC-150 cartridge drive. Karl Lehenbauer: GENE II clone motherboard with DTK BIOS, Conner 200 MB IDE drive, no-name VGA & IDE controller, WD8003. BOOTING HINTS ============= It can be quite depressing to download 386BSD and find that it will not work on your system. Anyone who has run PC Unix systems on clones, particularly a few years ago, is familiar with this problem -- just because a machine can run DOS doesn't mean it can run Unix. Although over time 386BSD is likely to support more and more different variants of PC clones, it will probably never support as many, or as many different kinds of hardware, as, say, Unix from SCO or Interactive. In any case, here are a few things to try if you can't get it to boot: 1. Get a 387 or 486DX. 2. Remove all extraneous hardware. Since 386BSD doesn't have any built-in support for your whiz-bang fax modem, voicemail card, Soundblaster, and so forth, unplug them from your system. 3. Trouble has been reported with Hercules mono clone cards. Try a different card. 4. It has been reported that it is sometimes possible to boot by disconnecting (uncabling) the hard drive, booting off the floppy, then connecting the hard drive while the system is powered up. This operation may void your warranty. Don't do this unless you know what you're doing. 5. Substitute a different BIOS. If you can find one, we've seen this make some systems work that otherwise wouldn't. Remember to make sure you can boot and run DOS first. 6. Make absolutely certain you've gotten your disktab entry right. If you got one from someone else, it must match your drive -- don't guess, because if it's not perfect it about for sure will not work. 7. Try a different machine. 8. RTFM!!!!! Read the release notes with a fine-tooth comb. Print them out, write on them, and have them next to you while you're trying to install. A lot of the questions in the newsgroup are clearly answered in the release notes. Shame on those of you who are dinking with something clearly labelled "guru and apprentice guru only" and not even reading the release notes! Remember, don't just try booting 386BSD on a brand-new machine configuration. Eliminate unknowns by at least making sure you can install and boot DOS from your hard disk. Better yet if you know you can actually boot and run a commercial Unix on that system. If it won't run DOS, for sure it won't run 386BSD. If it won't run SCO or Interactive, about for sure it won't run 386BSD. If it will run DOS and SCO or Interactive, no guarantees, but at least you have a chance... QUESTIONS AND ANSWERS ===================== Q: I have a 486, do I need a 387 or 487? A: If you have a "genuine 486", also known as a 486DX, you do not need a floating point coprocessor. If you have a 486SX, you do need one. Q: It hangs on the "" part of the boot message, does this mean something's wrong with my video card? A: The "color" hang appears to be related to the system waiting on an interrupt back from the disk controller, which never comes. It does not appear to be video-card related. BUGS ==== If "more" and "bash" hang and require control-C or "control-Z f g" to clear, you need to get the patches and install them. If you get OS panics on commands that result in large command lines, you need to get the kernel patches. Control-C seems to clear some apparent hangs. Some NFS hangs were caused bug a bug for which a patch was recently posted to comp.unix.bsd. Slow machines may take a long time to do things. Hook up your drive activity LED. During compiles of big C files with optimization you may think the system has hung when actually it hasn't. The "make" program seems a bit fragile. xargs doesn't seem to work right. JOB JAR ======= This sections lists things that are missing for 386BSD and need to be done. Rather than trying to establish some clearinghouse for coordinating this work, pick something and work on it. If you get beyond the fantasy stage, post to the net and see who else is working on it, and maybe work with them. These just reflect Karl's opinion of what needs to be done. Support for the standard partitioning scheme, so 386BSD can co-reside on a hard disk alongside DOS, commercial Unix systems, and the like. Floating point support without requiring an FPU. Keith White posted that he has  ported floating point emulation from Linux, but it is alpha. SCSI device driver. Glen Overby is working on a Seagate ST-0[12] A driver for the Adaptec 1542B has been released to the net. Also, Pace Willisson has posted an Adaptec 1542B SCSI driver to alt.sources. Any bug fixes to improve stability. 5.25" 1.2 MB install set. (DONE!) Tape install. Network install. Definitive, integrated installation notes. "ps" program. (DONE!) "init" program. (IMPROVED) Friendly disktab editor. (I posted one written in Tcl) Tools! Tools! Tools! X11R5. Good instructions for firing up NFS. Pie in the sky: A boot prom for ethernet cards to enable a diskless boot of 386BSD from a server. WHERE TO UPLOAD STUFF YOU'VE PORTED =================================== Chris Demetriou sez: If you compile something, and think the world needs it: (1) put into agate.berkeley.edu:~ftp/pub/incoming, and (2) send me mail telling me it's there, and what it is. David J. Hughes has created a public upload area for 386bsd on kirk.bu.oz.au in /pub/386bsd/public-upload. GETTING 386BSD VIA UUCP ======================= Steven Donegan sez: For any of those people who don't have ftp access, don't mind spending money on their phone bill and hopefully have a Telebit TB+ or other Telebit PEP- compatible modem, his site is offering the 0.1 (or 0.0new) software for the taking. Call 714-894-2246, login is nuucp - no passwordword, an ls -LR file of the archives here is on-line in /u/public/README and all files listed there are in /u/public. Steve has the 1.2 MB (5.25") distribution only. CONTRIBUTED SOURCES =================== From: cgd@agate.berkeley.edu (Chris Demetriou) Binaries that people send me ultimately live in agate.berkeley.edu:~ftp/pub/386BSD/other currently there are: gnu-utils:the GNU binaries which have been there for a while. mg:microemacs kermit:kermit (but buggy, i guess...) mtools:mtools (tools to access and manipulate DOS-formatted floppies) BIBLIOGRAPHY ============ From: rich@Rice.edu (Richard Murphey) Here's a list of the articles on 386BSD by William Frederick Jolitz and Lynne Greer Jolitz in Dr. Dobb's Journal. Any suggestions on what books or articles are essential to understanding 386BSD would be welcome! Leffler, the IBM AT technical reference, and 80386 data sheets are mentioned in the first article. Any others? Rich Jan. 91 Porting Unix to the 386: A Practical Approach: Designing the software specification. Sep. 91, Porting Unix to the 386: The Basic Kernel: Multiprogramming and Multitasking, Part One. Oct. 91, Porting Unix to the 386: The Basic Kernel: Multiprogramming and Multitasking, Part Two. Nov. 91, Porting Unix to the 386: The Basic Kernel: Device Autoconfiguration. Feb. 92 Porting Unix to the 386: Device Drivers: Drivers for the basic kernel. Mar. 92 Porting Unix to the 386: Device Drivers: Entering, exiting, and masking processor interrupts. Apr. 92 Porting Unix to the 386: Device Drivers: Getting into and out of interrupt routines. Other books and references: Crawford and Gelsinger. "Programming the 80386." Sybex, 1987. IBM. "Technical Reference Guide Personal Computer AT." 19??. Leffler, McKusick, Karels and Quarterman. "The Design and Implementation of the 4.3 BSD UNIX Operating System." Addison-Wesley, 1989. isbn 0-201-06196-1. Leffler and McKusick. "The Design and Implementation of the 4.3 BSD UNIX Operating System Answer Book." isbn 0-201-54729-9. "The Design and Implementation of the 4.3 BSD UNIX Operating System" can be ordered directly from Addison-Wesley with a credit card. The toll-free number is 800-447-2226. -- -- Email info@NeoSoft.com for info on getting Internet access. "Silent gratitude isn't very much use to anyone." -- G. B. Stearn