From: David Harris (dharris@svcs1.UUCP) Subject: Jolitz: The Road Not Taken Newsgroups: comp.unix.bsd View this article only Date: 1992-03-19 01:21:03 PST John Sokol asked me (on March 15) to post this message from William Jolitz. I changed a few cases of 3-character underlining into capitals and removed excess blank lines to make it more readable online. I think this story deserves coverage by computer journalists. Personal interest and technical importance are intermingled in this situation. -Dave Harris --------------------------- Start -------------------------------------- 386BSD Release 0.0 The Road Not Taken William F. Jolitz I shall be telling this with a sigh Somewhere ages and ages hence: Two roads diverged in a wood, and I --- I took the one less traveled by, And that has made all the difference. "The Road Not Taken" [1916] -- Robert Frost 386BSD Release 0.0 has been greatly motivated by the frustrations of many who have written and phoned me about their inability to obtain access to 386BSD, whether licensed or not. I had hoped that through the groups I was working with, interested parties could have access to SUPPORTED ver- sions of 386BSD, but this was not to be. So, in making a break with the past, I paused in my series of 386BSD porting articles, took the unencumbered but incomplete NET/2 kernel available from UC Berkeley, and fin- ished the missing pieces necessary to make a bootable run- ning kernel that provides a self-supporting development environment. In describing this process (see DDJ May-June 1992), as well as providing the actual source code, I hope this will finally break the logjam that has frustrated and perplexed our many readers. In 1989, when Lynne and I began this project, 386BSD was simply intended to be a port of BSD to the 386. While we did not wish to add to anyone's proprietary license revenues by folding in new encumbered code (especially pertaining to the 386), removing or redesigning new code to replace old encumbered code was out of the scope of this project. Since I was willing to work gratis on 386BSD (preparing the Read the rest of this message... (141 more lines) Message 2 in thread From: Rob Kolstad (kolstad@BSDI.COM) Subject: Re: Jolitz: The Road Not Taken Newsgroups: comp.unix.bsd View this article only Date: 1992-03-21 04:07:01 PST I believe, in the interest of fairness to all concerned, that the net should have some additional information about Bill Jolitz's recent posting. I joined BSDI on December 1, 1991. Here's what I know: Bill Jolitz was one of the founders of Berkeley Software Design, Inc. (BSDI). As with any profit-making venture, he had to have known from the beginning that BSDI systems would be made available in source form, but would not be freely redistributable -- those were tenets of the company. Bill was a full time employee of BSDI for 11 months of 1991 -- from January 1, 1991 through November 30, 1991, actively contributing to both the "encumbered" product and the modules which were donated to Berkeley. All code that Bill developed through June 30, 1991 was contributed to the BSD project, as was all work performed by the two other BSDI employees during that period. That work was included as part of the Berkeley NET2 distribution, the most recent distribution made by Berkeley. This donation forms a significant portion of "386BSD Release 0.0". The code written by Jolitz and other BSDI employees was not developed without compensation, nor was it developed solely by Jolitz. BSDI is not attempting to impede creation of free BSD systems. Moreover, BSDI has made significant contributions to make them possible. My comments on the requirements for sustaining the viability of an operating system are on record. Rob Kolstad Program Manager -- /\ Rob Kolstad Berkeley Software Design, Inc. /\/ \ kolstad@bsdi.com 7759 Delmonico Drive / / \ 719-593-9445 Colorado Springs, CO 80919 Message 3 in thread From: Keith Bostic (bostic@hermes.Berkeley.EDU) Subject: Re: Jolitz: The Road Not Taken Newsgroups: comp.unix.bsd View this article only Date: 1992-03-21 04:07:01 PST It has become necessary for the UC Berkeley Computer Systems Research Group (CSRG) to reply to William Jolitz's allegations since they have been made public in this newsgroup. Some of his statements, and more importantly, his implications, concerning the CSRG are not true. We do not intend to debate each individual allegation which he has made. There are, however, significant issues that must be clarified. For those unfamiliar with the 4BSD distributions, the University policy is as follows. The 4BSD system is distributed for reproduction costs. Each recipient is granted a non-exclusive license to use, modify and redistribute the system as long as obligations to USL (previously AT&T) regarding proprietary source code are met. As the NET/1 and NET/2 distributions contained no source code proprietary to USL, they may be used, modified, and redistributed freely. Every line of code that Jolitz had contributed to the University at the time of the NET/2 release was part of that release. Every line of code that Jolitz contributed to the University since the NET/2 release will be part of the next 4BSD distribution. Furthermore, no vendor has had early or different distribution rights to University software or any software contributed to the University by Jolitz or any other party. The University has never stated that the work contributed by Jolitz is proprietary to the University. The contribution agreement which Jolitz signed explicitly gave the University nonexclusive access to the code, and explicitly noted that copyright was retained by Jolitz. Finally, the CSRG has never stated that it will discontinue development of a version of BSD for the 386 architecture. As with many other portions of the system, most of the development will be done by outside contributors, or derived from systems like Jolitz's 386 release. We have always intended that 4.4BSD run on the 386 machines and see no reason that this will not happen. Kirk McKusick Keith Bostic Message 4 in thread From: Mike Karels (karels@BSDI.COM) Subject: Re: Jolitz: The Road Not Taken Newsgroups: comp.unix.bsd View this article only Date: 1992-03-23 13:48:34 PST I wish it were not necessary for me to reply to the recent posting made on behalf of Bill Jolitz ("The Road Not Taken"), but given the nature of the comments about me, my past relationship with Bill, and my work, I am compelled to respond. I do not understand Bill's complaint with CSRG, with me or with BSDI, nor do I understand why he is now saying the things that he is. The recent posting is not at all an accurate reflection of past events. I do not want to correct it point by point, as I will not continue this argument in a public forum. However, there is nothing for which I should apologize. I have not lied to Bill or other friends, and I have not asked anyone to act unethically or immorally. Bill was a founder of BSDI as well as its first full-time paid employee; he can hardly be surprised that BSDI is selling a supported system based on the freely available Berkeley code, of which he contributed the 386 port. I did not exert pressure on Bill to work for BSDI, although I did introduce him to the other founders. When he became unhappy working for BSDI, I had a number of long conversations with him about the problems. Although I never fully understood the problems, his complaints centered on business and personal relationships within the company rather than the fact that the company planned to charge for its product. Bill's complaints about CSRG are unjustified, and only originated in January after I decided to leave Berkeley to work for BSDI. CSRG released all of the code contributed by Bill in source form. His complaint is the lack of a supported binary release from the University. However, Berkeley releases have never been supported in the normal commercial sense, and have never been packaged and documented for easy installation on machines as diverse as 386 AT systems. While I was in CSRG, we never considered doing another binary release after NET2 until the alpha release of 4.4BSD. Although the NET2 release contained most of the BSD kernel, several critical modules were missing because they were derived from licensed code. CSRG could have taken the shortest path to filling in those modules, but those modules were among the oldest in the kernel. Rather than reimplementing those pieces as they had been, CSRG chose to redesign them properly, which is in progress. I regret that this disagreement was made public at USENIX and in this news group. I will not continue this discussion in public. Mike Karels Berkeley Software Design, Inc. karels@BSDI.COM From: Widjaja Sugiri (wis@uts.amdahl.com) Subject: Jolitz BSD386 - diff file Newsgroups: comp.unix.bsd View this article only Date: 1992-03-12 18:55:31 PST Thanks for the interest that you're all shown. I did managed to drop the diff file and other files from Bill Jolitz diff disk. Some of you might wonder why the files are only about 250K. These are diff file, information file, and questionare file + registration file only. If you put together with net-2 files and Bill Jolitz binary files, then it might come to ~45 Meg. So for now, you just have to set up your crossi environment until somebody put Jolitz distribution ( including the binaries ) on the net. OK, here is the list at the moment: iceberg.cs.wwu.edu at ? / phil@cs.wwu.edu will announce it. banjo.concert.net at ? / abc@concert.net will announce it. ferkel.ucsb.edu at ? / jim@ferkel.ucsb.edu will announce it. terminator.cc.umich.edu at ~ftp/unix ~ Widjaja ps: I'm not affiliated to Bill Jolitz. I just happened to be one of the guy who got diff file from John Sokol. Message 2 in thread From: Alan B Clegg (abc@banjo.concert.net) Subject: Re: Jolitz BSD386 - diff file Newsgroups: comp.unix.bsd View this article only Date: 1992-03-13 07:13:43 PST The diff files and the 4.3bsd-net2 release are now available for anonymous FTP on banjo.concert.net [192.101.21.6] in the /pub/BSD directory. I have not yet attempted to apply the patches to the release so I don't know how well it works... Anyone with access to the "executable installation system" that would like to make it available to the rest of us, let me know. I would also like to make images of the binary distribution available if I can get hold of it... -abc -- abc@concert.netAlan Clegg - Network Programmer KD4JML (just my luck!)MCNC -- Center for Communications Message 3 in thread From: Phil Nelson (phil@henson.cc.wwu.edu) Subject: Re: Jolitz BSD386 - diff file Newsgroups: comp.unix.bsd View this article only Date: 1992-03-13 13:16:37 PST wis@uts.amdahl.com (Widjaja Sugiri) writes: >Some of you might wonder why the files are only about 250K. These >are diff file, information file, and questionare file + registration >file only. If you put together with net-2 files and Bill Jolitz binary >files, then it might come to ~45 Meg. So for now, you just have to >set up your crossi environment until somebody put Jolitz distribution >( including the binaries ) on the net. >OK, here is the list at the moment: > iceberg.cs.wwu.edu at ? / phil@cs.wwu.edu will announce it. It is in the directory pub/BSD386. --Phil From: richard oxbrow (raob@mullian.ee.mu.oz.au) Subject: 368BSD - ftp site for *.AU (ie australia) Newsgroups: comp.unix.bsd, comp.unix.sysv386, aus.sources View this article only Date: 1992-03-14 08:35:00 PST Available for anonymous ftp late tonight (Saturday) : 386BSD The Australian Site is ftp.ee.mu.OZ.AU [128.250.1.80] Read the rest very carefully.. I suggest you also look carefully at the distribution and atleast have a glance at the .rhosts file in the binary distribution 8-). This has been done to protect the USA - IP link 8-) hopefully plaza.aarnet.au will shadow this (hint) later. richard/.. From cs.mu.OZ.AU!munnari.oz.au!uunet!franz.com!jdi Fri Mar 13 19:22:06 EST 1992 Here are the release notes for the 386BSD 0.0 distribution. Please note the warnings that this is a very experimental release. For example it cannot coexist with DOS at all (Unix takes over the whole physical hard disk). We're working on putting the distribution on an ftp site; it's slightly complicated since there are both 3+1/2 inch and 5+1/4 inch distributions, in a raw binary (compressed tar) format, as well as a binary boot floppy. You should see an announcement soon. -- John PS: I have no relationship with the release other than shlepping myself down to Cupertino to scarf it from John Sokol. -- slice -- Release Notes on 386BSD W. Jolitz 386BSD Release 0.0: ------ ------- - - This is 386BSD Release 0.0, 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 ear- lier freely redistributable and modifiable 386BSD source code done by William F. Jolitz and contributed to the Uni- versity of California at Berkeley for distribution. Originally conceived by Bill and Lynne Jolitz in 1989, the 386BSD project is an attempt to foster new research and development in operating systems and networking technology by broadening access to base technology. In cooperation with the University of California, an advanced operating system was redesigned by William F. Jolitz to work on common 386-based PC's for use by smaller colleges and other groups that did not have the resources to otherwise obtain it. In addition, starting with the NET/2 release, this software has been released in a form that does not require license agree- ments, non-disclosure, or other controls that would limit it's use in undergraduate teaching programs. Unlike NET/2, 386BSD Release 0.0 is a complete and operational system, including binaries and an executable installation system, but still available under the same "freely redistributable" terms of the original NET/2 release. Our forthcoming book on the internals of 386BSD will complete the picture for educational and research pro- grams to make use of this technology with students with the necessary academic freedom. We have been writing a series of articles about 386BSD that have appeared in Dr. Dobbs Journal since January of -- ----- ------- 1991. Future announcements, and information on 386BSD may be found within its covers. The DDJ BBS should have copies of binary and source code when available. Also, you can contact us via the magazine. Contents: -------- Release 0.0 consists of: Source Distribution A collection of 8 or 10 high-density floppy disks, which is a multi-volume compressed TAR format archive of the source language files with which to recreate the system. When extracted, the files consume 386BSD RELEASE NOTES 1 March 1992 approximately 31 MB of space. In addition, at least 28 MB of space is taken up by the binary files created when recompiling. Binary Distribution A collection of 6 or 8 high-density floppy disks, also in compressed multi-volume TAR form, containing the executable, data, and documentation files of a working 386BSD system, including C and C++ compilers and libraries. When extracted, the files occupy approxi- mately 20 MB of disk space. Note that at least 5 MB of swap space, plus an operating reserve of another 10% of the total accumulated disk space mentioned should be considered as minimum to operate this system. Distribution Installation Floppy System A single floppy system is provided, again on a high- density diskette. This completely standalone system manages to allow a potential 386/486 based PC to be qualified for use with 386BSD, simply by attempting to boot it as an ordinary floppy. Once operational, it can be used to configure the PC's hard disk and load the binary floppy distribution. In addition, this floppy provides a means to rescue and repair the software on the hard disk in the event of a calamity. Difference Floppy A single 360 KB MS-DOS floppy containing all the dif- ferences and new files necessary to make the NET/2 tape operational, for those who already have the tape and wish to "do it themselves". It also serves to illus- trate just what is necessary to make the NET/2 tape usable and worthwhile. Release 0.0 does not contain any proprietary code, nor any encryption software. It was created from NET/2, GNU and other public software, and our creative minds. Scope and Goals of this Release: ----- --- ----- -- ---- ------- This release was motivated by the fact that access to 386BSD has not been provided to all interested parties on a timely basis by the University or other sources, as we had originally intended. Thus, we have done a minimalist ver- sion to demonstrate feasibility, provide accessibility, and assure our readers and supporters that this project will be finished, available to all, and not just appropriated by private concerns. Since it is minimalist by design, many features, utilities and other functionality will be desir- able to add, although the system is complete enough to be self-sufficient and self-developing. 386BSD RELEASE NOTES 2 March 1992 In addition, we have not repaired numerous known bugs present -- we have merely attempted to work around them and in spite of them. Also, new subsystems created after the NET/2 tape and contributed to Berkeley have not been added back in, because we did not want to blur the distinctions of what is required to make NET/2 operational, and because CSRG will not allow us access to this contributed work, although other groups have been allowed access. Future releases hopefully will remedy these nuisances. We also expect the involvement of a wider community of users will aid us in improving future releases of 386BSD. Devices Supported in this Release: ------- --------- -- ---- ------- This release is intended to support a minimal 386/486 SX/DX ISA(ATBUS) system, with the traditional hard and floppy disk controller (MFM,ESDI,IDE). Also, the usual dis- play adapters (MDA/CGA/VGA/HGC) are supported, along with the communications ports (COM). Ethernet controllers sup- ported are Western Digital 8003EB, 8003EBT, 8003S, WD8003SBT, 8013EBT, and Novell NE2000. Clones also appear to work quite well. Tape drive support is available for QIC-02 controllers as well, allowing use of 3M cartridges of QIC-60 through QIC-150 format. As configured on the binary distribution, the system requires a floating point coprocessor (387 of any make), hard disk and controller, floppy disk drive (either 5.25 or 3.5 high density only), and display adapter. If the serial port or a Western Digital Ethernet card (port 0x280, IRQ 3, iomem 0xd000) is present, the system can make use of it as well. It is recommended that the system have at least 2MB of memory or more, but it will run on much smaller systems to a limited degree by paging (the C++ compiler uses about 1 MB of memory in operation). A 4 MB system with an 200 MB+ IDE disk is a comfortable configuration, although by sharing the sources via NFS, networked systems with 40 MB drives are quite useful. Machines Tested: -------- ------ At the moment, this software has only been tested on the following configurations: 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. 386BSD RELEASE NOTES 3 March 1992 Please fill out the enclosed registration form and sur- vey so we can add more to this test base list. It is expect- ed that all Compaq, Toshiba, Chips and Technology-based, and OPTI-based systems should work with little trouble. See up- coming DDJ articles on installation troubles for further in- fo. We can be contacted for limited help with the system, but, realize that this work is currently unfunded and we can only devote a tiny amount of time to it. As a hint to fixing troubles, defeating options like shadow ram or RAM BIOS is an excellent place to start. Installation Procedures: ------------ ---------- Currently, the system does not coexist with MS-DOS, but requires the entire machine. SINCE IT IS STILL EXPERIMENTAL SOFTWARE, YOU SHOULD BE PREPARED AT ANYTIME TO LOSE DISK DRIVE CONTENTS, so you had better save backup dumps offline of any information you wish to be preserved (1 in 100 of you will do this, of course, but you were warned). First, make a copy of all of the diskettes and save them away. Make many copies of the distribution installation diskette, and salt them away in various places, as it is im- possible to recover the system without one otherwise. The distribution installation diskette has predefined shell variables that correspond to the device name for the floppy drive ($FD), the raw device name ($RFD), the amount of storage ($FTRK) per track (in kilobytes), and the disktab entry type ($FT). These are present to parameterize the dif- ferences between 3.5 inch and 5.25 inch versions of the boot floppy. Format the drive, if it is not already. Determine the geometry (sectors/track, tracks/cylinder, number of cylin- ders, etc), and create a disktab entry describing the disk drive in the /etc/disktab file on the floppy. This can be done by allowing the floppy to be written to (it defaults to disabling writing) by the command: mount -u $FD / You can edit the file with the elvis editor, a clone of ----- the encumbered Berkeley vi text editor done by Steve Kirk- -- endall. You may wish to use one of the existing disktab en- tries as a template for a new entry you are making. Please include any disktab entrys you make in the survey form so we can include them in the next release. Note: after you have written the disk, please execute the "sync" command so that the file will be forced back to the diskette. Next, use the disklabel command to write a bootstrap --------- and disk label data structure on the hard disk itself. This 386BSD RELEASE NOTES 4 March 1992 will destroy any information present on the beginning cylin- der of the hard disk drive. A sample disklabel command: disklabel -r -w wd0 cp3100 (label winchester drive 0 as a conners 3100) disklabel -r wd0 (display the label on winchester drive 0) Next, create empty filesystems for the root (partition a of the drive) and usr (partition h) with the newfs com- ----- mand: newfs wd0a (root partition high level format) newfs wd0h (usr partition high level format) Mount the root partition and transfer the contents of the distribution installation floppy to the hard drive. This step frees up the floppy for use in loading the multi-volume distribution while running off the hard disk drive: mount /dev/wd0a /mnt (associate the mnt directory with the new root filesystem) (cd /; tar -cf - .) | (cd /mnt; tar -xf -) (copy floppy to hard disk) sync (flush out written blocks) Reboot the system by the traditional cntrl-alt-del three-fingered reset, and remove the floppy and set it aside. The system should now come up off the hard disk drive. Next, we load the distribution by inserting the first floppy (volume 1 of the binary distribution) and typing: mount /dev/wd0h /usr (make usr filesystem available, as it will also be loaded) mr $FTRK $RFD | tar -xzf - (floppy extract compressed floppy archive) A prompt will ask for successive floppies to be insert- ed into the drive. At the conclusion, the "sync" command should be used, and the system rebooted. The installation is now complete, and the same procedures may be used at this point to extract the source distribution if desired. Operation: --------- At the moment, 386BSD comes up single user, and re- quires manual starting of the system daemons, as well as filesystem checks. In use, one would minimally wish to type after booting: fsck -p mount -a update /etc/netstart 386BSD RELEASE NOTES 5 March 1992 This will improve in forthcoming versions of 386BSD. Be aware that the user is running as the super-user, and care should be taken given the maximum privileges present. Known bugs: ----- ---- Many bugs and unimplemented portions of the system ex- ist and can be annoying. The most irritating are the tty driver bugs that are related to boundaries in the ring buffers, which cause the input queue to become truncated or wrapped, as well as freezing the input queue when a transi- tion to RAW mode occurs near a boundary (generally, the first time the command "more" prompts). Usually, hitting control-C clears this situation. Sometimes, an endless end-of-file on input from the terminal occurs that may require the system to be reset. There is a pipe bug, believed to be in the block I/O code, that breaks large pipe transfers into ~3 KB maximum sized chunks. Occasionally, a missing interrupt bug causes the system to jam waiting for an interrupt that has been botched. Init does not handle signals and process groups correctly, nor does it support multiuser operation (you can start up other users by hand, or over the network as incom- ing terminal sessions!). Execve will not run shell scripts, nor will it work with arglists greater than 2 KB. There is no facility for program debugging (e.g. ptrace). Raw DMA transfers to non-page aligned, non-consecutive within 64 KB physical boundaries don't work correctly. The console ter- minal emulator destroys screen contents occasionally. A re- dundant swap free fragment bug is present under intensive paging operations, and resource constipation due to hundreds of processes on tiny machines does occur. Operation on less than 2MB may be erratic or impossible due to a base page memory botch present. All of these bugs are understood. Some of the fixes re- quire redesign while others require code from the article series!, but we are sure more are present. Bug fixes will be put into subsequent versions. Key Missing Utilities: --- ------- --------- Among the most annoying missing utilities are: awk, grep, sort, diff, test, and expr. The utility software has been cudgeled to ignore these for the moment, but eventually these must be rectified. All of the NET/2 utilities have been made to work with 386BSD, including those not present in this release due to space considerations. You will find it fairly painless to add software to this base system, which is still at heart a full 32-bit POSIX compliant oper- ating system with program development environment. 386BSD RELEASE NOTES 6 March 1992 Note also that DES encryption and Kerberos have pur- posely been left off the system to allow for international use, as 386BSD incorporates software (such as NFS) which has been done by researchers in other countries and contributed to Berkeley. For those international readers who have con- sidered obtaining the NET/2 tape from UCB, it might interest them to know that an export license (GTDA) has been granted for a version of the NET/2 tape. Future ------ Your interest, involvement, and support in this project and its goals will determine the future of 386BSD and suc- cessive releases. We would like to take this much further, but we need considerable assistance of all kinds to allow 386BSD to grow further. We realize the shortcomings of Re- lease 0.0, but are intensely proud of what we have accom- plished in providing you with a chance to become involved with a system that has enough tools to develop itself. 386BSD RELEASE NOTES 7 March 1992 richard oxbrow |internet raob@mullian.ee.mu.OZ.AU dept. ee eng, uni of melbourne |uunet ..!uunet!munnari!mullian!raob parkville, victoria 3052 |fax +[613] 344 6678 australia |phone +[613] 344 6782 Message 2 in thread From: David J. Hughes (bambi@bu.oz.au) Subject: Re: 368BSD - ftp site for *.AU (ie australia) Newsgroups: comp.unix.bsd, comp.unix.sysv386, aus.sources View this article only Date: 1992-03-15 18:46:42 PST raob@mullian.ee.mu.oz.au (richard oxbrow) writes: >Available for anonymous ftp late tonight (Saturday) : 386BSD >The Australian Site is >ftp.ee.mu.OZ.AU [128.250.1.80] kirk.bu.oz.au has been holding the public 386BSD code as it has become available. Currently it has the boot binaries from Per's work and the diff's to build the sources from the Net2 distribution. Jolitz's BSD386 will be available when the new (more stable) release is made either today or tomorrow. bambi ___ David J. Hughes bambi@bu.oz.au / \ / / / / __/ __ __ ____/ / / __ Senior Network Programmer / \ / \ / \ / / / / / \ / Comms Development & Operation \____/ \__// / \__/ \___/ / / / AUSTRALIA (+61 75 951450)