Summary of the NetBSD BOF at Usenix, Summer 94 [These notes were taken by Amy Baron, and edited by Adam Glass. They represent a summary of the slides *AND* verbal comments during their presentation. Since the slides were slightly dated by the time they were presented at the conference, this summary contains more pertinent information than the slides, particularly regarding release timing. The slides on the other hand are more complete (and prettier). This document and the slides can be retrieved via anonymous ftp to sun-lamp.cs.berkeley.edu:pub/NetBSD/misc/usenix-94summer ] Here is a quick summary of the NetBSD BOF that was held at the Usenix Summer '94 conference in Boston. Chris Demetriou gave the presentation with the "core team" and many supporting volunteers in the audience, and while this is not a verbatim account, I have gotten down the key points and ideas from the BOF. So, you ask, what exactly is NetBSD? Well, NetBSD is a free and complete BSD operating system. NetBSD cannot be called "UNIX" exactly because that would be a trademark infringment, but it is very much BSD UNIX in implemention and feel. NetBSD was originally derived from the Berkeley Net/2 release, but now the kernel is based on 4.4 Lite BSD. User-land software is being upgraded on an incremental basis. A full source distribution of NetBSD is freely available, as are binaries for the many platforms it supports. NetBSD is supported entirely by volunteer efforts. NetBSD has many goals. Primarily they are focused on providing totally free BSD system for as many machine architectures as possible, while making quality improvements to the code. While doing this, they would like to avoid encumbering licenses as much as possible. They want NetBSD to be a system that can be used for any purpose the you desire. Another goal of NetBSD is to be a true part of the BSD community, and hopefully help carry on the BSD "torch" now that CSRG is no more. Many improvments have been made to the user-land software in NetBSD. These include (but certainly are not limited to!): - Shared Libraries! NetBSD now has SunOS-style shared libraries, which can mean a big win in terms of disk space. - 70% compiliant with POSIX.2, much of which is due to the efforts of J.T. Conklin. Missing POSIX bits that remain are some inter- nationalization features, occasional missing flags and the like. - NetBSD has flexible name resolution, using YP/BIND, host files, etc. - POSIX Threads by Chris Provenzano - Many bugs from 4.4 Lite have been fixed, and patches sent back to CSRG - Missing commands have been added - rarpd, bootp, sa, and more. - Work has been done on keeping contributed software current - such as gcc with a mind towards ssytem stability. Loads of kernel improvements have been made as well. Once again, here are a few but not limited to: - Many architectures have been added - more than Berkeley had, even! - Existing ports have been enhanced - i386 (Ours works, theirs doesn't), and the sparc port's SunOS compat has been improved. - Lame machine dependencies have been isolated - which makes porting simpler - 95% POSIX.1 compliant. - Kernel subsystems fixed - tty handling is better, exec handling changed. The tty system now uses ring buffers instead of clists, and NetBSD now has bi-directional hardware flow. - flexible exec() implementation that makes it easy to add support for foreign binary formats such as ECOFF. - Loadable kernel modules, Sun style, are being supported - SysV semaphores, message queues, and a free implementation of shared memory. - Bugs fixed - 4.4 Lite isn't perfect, fixes passed back to CSRG. But wait, there are even more: - Multicast support added - Many filesystems have been added: MS-DOS and AmigaDOS - Machine dependent SCSI system is now used and shared by 5/8 of the ports, unlike in 4.4 Lite where each port has its own SCSI system. - Diskless boot scheme - Shared core dump format and this list could go on... One of the features of NetBSD is that it is supported on many platforms. The current set of working ports is: - i386/i486/Pentium - amiga - all amigas with an MMU supported - DECstation - has ULTRIX compat, booting single user - HP 300 - even the 040 models - Macintoshes - some models, primarily of the Mac II series - sparc - sun4c based machines, can run SunOS binaries better than Solaris - Sun3 - a few bugs to be resolved Ports in progress are: - sparc - for the sun4m machines (sparc 5's, 10's, etc) - VAX - by some guys out in Sweden... - Sequent There have also been mumblings of a DEC alpha port, and a PowerPC port. The general philosophy behind porting NetBSD is, if you would like a port done, feel free to do it! You will generally need a significant amount of clue, 2 machines, documentation, dedication, and perhaps most importantly, time. The NetBSD core team can also provide porters if you don't feel you are up to it. Generally the NetBSD project likes to keep one machine so that the port doesn't grow stale. Compatibility with other systems has been improved in NetBSD. It is possible to run BSDI 1.1 binaries, almost any SunOS binaries (including ones linked with the SunOS shared libraries), and significant progress has been made on ULTRIX compat. SVR4 compat is also being worked on. NetBSD is also source code compatible with 4.4 Lite. POSIX compliance (as described early) is already far advanced. Overall, it is very easy to port software to NetBSD. Another goal of NetBSD has been to integrate 4.4 Lite. So far, the kernel has been upgraded, and any implied user-level changes. These are the most difficult changes. The rest of user-land will be upgraded incrementally. All ports have been modified to work with the new kernel. Bugs found have been sent back to CSRG w/attached fixes.. Future plans for NetBSD include finishing the 4.4 Lite integration, supporting additional platforms, and continuing to enhance the per- formance of the system. Networking c further performance improvements. NetBSD would like to fulfill user demands as best as possible, and minimize bugs in the product. NetBSD is supported by a cast of thousands, and is not going to go away anytime soon! The next release of NetBSD, version 1.0, will be out very soon. Due to the terms of USL's settlement with UC Berkeley, Net/2 derived code must stop being distributed by July 31, thus a code freeze is set for the 24th of June, with a hopeful release by July 15th! In the meantime, NetBSD is available from: ftp.netbsd.org:pub/NetBSD as well as several mirror sites. NetBSD-current is in pub/NetBSD/NetBSD-current, and SUP binaries and source are located in pub/sup . To join the mailing lists, mail: majordomo@sun-lamp.cs.berkeley.edu and please mail comments to : netbsd-comments@sun-lamp.cs.berkeley.edu or speak with us! The members of the NetBSD team would like to thank the following - the lawyers of UC Berkeley, who fought USL to free 4.4 BSD, UC Berkeley's late CSRG who made this all possible by bringing us BSD to begin with, and all of the other contributers who have made everything possible. Long live BSD !