RELEASE NOTES FreeBSD Release 2.0.5 1. Technical overview --------------------- FreeBSD is a freely available, full source 4.4 BSD Lite based release for Intel i386/i486/Pentium (or compatible) based PC's. It is based primarily on software from U.C. Berkeley's CSRG group, with some enhancements from NetBSD, 386BSD, and the Free Software Foundation. Since our release of FreeBSD 2.0 some 8 months ago, the performance, feature set, and stability of FreeBSD has improved dramatically. The largest change is a revamped VM system with a merged VM/file buffer cache that not only increases performance, but reduces FreeBSD's memory footprint, making a 4MB configuration a more acceptible minimum. Other enhancements include full NIS client and server support, transaction TCP support, dial-on-demand PPP, an improved SCSI subsystem, early ISDN support, support for FDDI and Fast Ethernet (100Mbit) adapters, improved support for the Adaptec 2940 (WIDE and narrow) and many hundreds of bug fixes. We've also taken the comments and suggestions of many of our users to heart and have attempted to provide what we hope is a more sane and easily understood installation process. Your feedback on this (constantly evolving) process is especially welcome! In addition to the base distributions, FreeBSD offers a new ported software collection with some 270 commonly sought-after programs. The list of ports ranges from http (WWW) servers, to games, languages, editors and almost everything in between. The entire ports collection requires only 10MB of storage, all ports being expressed as "deltas" to their original sources. This makes it much easier for us to update ports, and greatly reduces the disk space demands made by the older 1.0 ports collection. To compile a port, you simply change to the directory of the program you wish to install, type make and let the system do the rest. The full original distribution for each port you build is retrieved dynamically off of CDROM or a local ftp site, so you need only enough disk space to build the ports you want. Each port is also provided as a pre-compiled "package" which can be installed with a simple command (pkg_add) by those who do not wish to compile their own ports from source. See the file: /usr/share/FAQ/Text/ports.FAQ for a more complete description of the ports collection. Since our first release of FreeBSD 1.0 nearly two years ago, FreeBSD has changed almost entirely. A new port from the Berkeley 4.4 code base was done, which brought the legal status of the system out of the shadows with the blessing of Novell (the new owners of USL and UNIX). The port to 4.4 has also brought in a host of new features, filesystems and enhanced driver support. With our new unencumbered code base, we have every reason to hope that we'll be able to release quality operating systems without further legal encumbrance for some time to come! FreeBSD 2.0.5 represents the culmination of 2 years of work and many thousands of man hours put in by an international development team. We hope you enjoy it! For a list of contributors and a general project description, please see the file "CONTRIB.FreeBSD" which should be bundled with your binary distribution. Also see the "REGISTER.FreeBSD" file for information on registering with the "Free BSD user counter". This counter is for ALL freely available variants of BSD, not just FreeBSD, and we urge you to register yourself with it. The core of FreeBSD does not contain DES code which would inhibit its being exported outside the United States. There is an add-on package to the core distribution, for use only in the United States, that contains the programs that normally use DES. The auxiliary packages provided separately can be used by anyone. A freely (from outside the U.S.) exportable European distribution of DES for our non-U.S. users also exists and is described in the FreeBSD FAQ. If password security for FreeBSD is all you need, and you have no requirement for copying encrypted passwords from different hosts (Suns, DEC machines, etc) into FreeBSD password entries, then FreeBSD's MD5 based security may be all you require! We feel that our default security model is more than a match for DES, and without any messy export issues to deal with. If you're outside (or even inside) the U.S., give it a try! 1.1 What's new in 2.0.5? ---------------------- The following features were added or substantially improved between the release of 2.0 and this 2.0.5 release. In order to facilitate better communication, the person, or persons, responsible for each enhancement is noted. Any questions regarding the new functionality should be directed to them first. KERNEL: Merged VM-File Buffer Cache --------------------------- A merged VM/buffer cache design greatly enhances overall system performance and makes it possible to do a number of more optimal memory allocation strategies that were not possible before. Owner: David Greenman (davidg@FreeBSD.org) and John Dyson (dyson@implode.root.com) Network PCB hash optimization ----------------------------- For systems with a great number of active TCP connections (WEB and ftp servers, for example), this greatly speeds up the lookup time required to match an incoming packet up to its associated connection. Owner: David Greenman (davidg@FreeBSD.org) Name cache optimization ----------------------- The name-cache would cache all files of the same name to the same bucket, which would put for instance all ".." entries in the same bucket. We added the parent directory version to frustrate the hash, and improved the management of the cache in various other ways while we were at it. Owner: Poul-Henning Kamp (phk@FreeBSD.org) David GreenMan (davidg@FreeBSD.org) Less restrictive swap-spaces ---------------------------- The need to compile the names of the swap devices into the kernel has been removed. Now swapon will accept any block devices, up to the maximum number of swap devices configured in the kernel. Owner: Poul-Henning Kamp (phk@FreeBSD.org) David GreenMan (davidg@FreeBSD.org) Hard Wired SCSI Devices ----------------------- Prior to 2.0.5, FreeBSD performed dynamic assignment of unit numbers to SCSI devices as they were probed, allowing a SCSI device failure to possibly change unit number assignment and prevent filesystems on still functioning disks from mounting. Hard wiring allows static allocation of unit numbers (and hence device names) to scsi devices based on SCSI ID and bus. SCSI configuration occurs in the kernel config file. Samples of the configuration syntax can be found in the scsi(4) man page or the LINT kernel config file. Owner: Peter Dufault (dufault@hda.com) Sources involved: sys/scsi/* usr.sbin/config/* Slice Support ------------- FreeBSD now supports a "slice" abstraction which makes it more completely interoperable with other operating system partitions. This support will allow FreeBSD to inhabit DOS extended partitions. Owner: Bruce Evans (bde@FreeBSD.org) Sources involved: sys/disklabel.h sys/diskslice.h sys/dkbad.h kern/subr_diskslice.c kern/subr_dkbad.c i386/isa/diskslice_machdep.c i386/isa/wd.c scsi/sd.c dev/vn/vn.c Support for Ontrack Disk Manager Version 6.0 -------------------------------------------- Support has been added for disks which use Ontrack Disk Manager. The fdisk program does NOT know about it however, so make all changes using the install program on the boot.flp or the Ontrack Disk Manager tool under DOS. Owner: Poul-Henning Kamp (phk@FreeBSD.org) Bad144 is back and working -------------------------- Bad144 works again, though the semantics are slightly different than before in that the bad-spots are kept relative to the slice rather than absolute on the disk. Owner: Bruce Evans (bde@FreeBSD.org) Poul-Henning Kamp (phk@FreeBSD.org) NEW DEVICE SUPPORT: SCSI and CDROM Devices Matsushita/Panasonic (Creative) CD-ROM driver --------------------------------------------- The Matsushita/Panasonic CR-562 and CR-563 drives are now supported when connected to a Sound Blaster or 100% compatible host adapter. Up to four host adapters are supported for a total of 16 CD-ROM drives. The audio functions are supported with the Karoke variable speed playback. Owner: Frank Durda IV bsdmail@nemesis.lonestar.org Sources involved: isa/matcd Adaptec 2742/2842/2940 SCSI driver ----------------------------- The original 274x/284x driver has evolved considerably since the 2.0 release. We now offer full support for the 2940 series as well as the Wide models of these cards. The arbitration bug (as well as many others) that caused the driver problems with fast devices has been corrected and there is even experimental tagged queuing support (kernel option "AHC_TAGENABLE"). John Aycock has also released the sequencer code under a "Berkeley style" copyright making the driver entirely clean of the GPL. Owner: Justin Gibbs (gibbs@FreeBSD.org) Sources involved: isa/aic7770.c pci/aic7870.c i386/scsi/* sys/dev/aic7xxx/* NCR5380/NCR53400 SCSI ("ProAudio Spectrum") driver -------------------------------------------------- Owner: core Submitted by: Serge Vakulenko (vak@cronyx.ru) Sources involved: isa/ncr5380.c Sony CDROM driver ----------------- Owner: core Submitted by: Mikael Hybsch (micke@dynas.se) Sources involved: isa/scd.c Serial Devices SDL Communications Riscom/8 Serial Board Driver ----------------------------------------------- Owner: Andrey Chernov (ache@FreeBSD.org) Sources involved: isa/rc.c isa/rcreg.h Cyclades Cyclom-y Serial Board Driver ------------------------------------- Owner: Bruce Evans (bde@FreeBSD.org) Submitted by: Andrew Werple (andrew@werple.apana.org.au) and Heikki Suonsivu (hsu@cs.hut.fi) Obtained from: NetBSD Sources involved: isa/cy.c Cronyx/Sigma sync/async serial driver ------------------------------------- Owner: core Submitted by: Serge Vakulenko Sources involved: isa/cronyx.c Networking Diskless booting ---------------- Diskless booting in 2.0.5 is much improved. The boot-program is in src/sys/i386/boot/netboot, and can be run from an MSDOS system or burned into an EPROM. Local swapping is also possible. WD, SMC, 3COM and Novell ethernet cards are currently supported. DEC DC21140 Fast Ethernet driver -------------------------------- This driver supports any of the numerous NICs using the DC21140 chipset including the 100Mb DEC DE-500-XA and SMC 9332. Owner: core Submitted by: Matt Thomas (thomas@lkg.dec.com) Sources involved: pci/if_de.c pci/dc21040.h DEC FDDI (DEFPA/DEFEA) driver ----------------------------- Owner: core Submitted by: Matt Thomas (thomas@lkg.dec.com) Sources involved: pci/if_pdq.c pci/pdq.c pci/pdq_os.h pci/pdqreg.h 3Com 3c505 (Etherlink/+) NIC driver ----------------------------------- Owner: core Submitted by: Dean Huxley (dean@fsa.ca) Obtained from: NetBSD Sources involved: isa/if_eg.c Fujitsu MB86960A family of NICs driver ------------------------------------- Owner: core Submitted by: M.S. (seki@sysrap.cs.fujitsu.co.jp) Sources involved: isa/if_fe.c Intel EtherExpress driver ------------------------- Owner: Rodney W. Grimes (rgrimes@FreeBSD.org) Sources involved: isa/if_ix.c isa/if_ixreg.h 3Com 3c589 driver ----------------- Owner: core Submitted by: "HOSOKAWA Tatsumi" (hosokawa@mt.cs.keio.ac.jp), Seiji Murata (seiji@mt.cs.keio.ac.jp) and Noriyuki Takahashi (hor@aecl.ntt.jp) Sources involved: isa/if_zp.c IBM Credit Card Adapter driver ------------------------------ Owner: core Submitted by: "HOSOKAWA Tatsumi" (hosokawa@mt.cs.keio.ac.jp), Sources involved: isa/pcic.c isa/pcic.h EDSS1 and 1TR6 ISDN interface driver ------------------------------------ Owner: core Submitted by: Dietmar Friede (dfriede@drnhh.neuhaus.de) and Juergen Krause (jkr@saarlink.de) Sources involved: gnu/isdn/* Miscellaneous Drivers Joystick driver --------------- Owner: Jean-Marc Zucconi (jmz@FreeBSD.org) Sources involved: isa/joy.c National Instruments "LabPC" driver ----------------------------------- Owner: Peter Dufault (dufault@hda.com) Sources involved: isa/labpc.c WD7000 driver ------------- Owner: Olof Johansson (offe@ludd.luth.se) Pcvt Console driver ------------------- Owner: Joerg Wunsch (joerg@FreeBSD.org) Submitted by: Hellmuth Michaelis (hm@altona.hamburg.com) Sources involved: isa/pcvt/* BSD-audio emulator for VAT driver --------------------------------- Owner: Amancio Hasty (ahasty@FreeBSD.org) and Paul Traina (pst@FreeBSD.org) Sources involved: isa/sound/vat_audio.c isa/sound/vat_audioio.h National Instruments AT-GPIB and AT-GPIB/TNT GPIB driver -------------------------------------------------------- Owner: core Submitted by: Fred Cawthorne (fcawth@delphi.umd.edu) Sources involved: isa/gpib.c isa/gpib.h isa/gpibreg.h Genius GS-4500 hand scanner driver ---------------------------------- Owner: core Submitted by: Gunther Schadow (gusw@fub46.zedat.fu-berlin.de) Sources involved: isa/gsc.c isa/gscreg.h CORTEX-I Frame Grabber ---------------------- Owner: core Submitted by: Paul S. LaFollette, Jr. ( Sources involved: isa/ctx.c isa/ctxreg.h Video Spigot video capture card ------------------------------- Owner: Jim Lowe 1.2 Experimental features --------------------------------------------- The unionfs and LFS file systems are known to be severely broken in 2.0.5. This is in part due to old bugs that we haven't had time to resolve yet and the need to update these file systems to deal with the new VM system. We hope to address these issues in a later release of FreeBSD. FreeBSD now supports running iBCS2 compatible binaries (currently SCO UNIX 3.2.2 & 3.2.4 and ISC 2.2 COFF format are supported). The iBCS2 emulator is in its early stages, but it is functional, we haven't been able to do exhaustive testing (lack of commercial apps), but almost all of SCO's 3.2.2 binaries are working, so is an old INFORMIX-2.10 for SCO. Further testing is nessesary to complete this project. There is also work under way for ELF & XOUT loaders, and most of the svr4 syscall wrappers have been written. Owner: Soren Schmidt (sos) & Sean Eric Fagan (sef) Sources involved: sys/i386/ibcs2/* + misc kernel changes. ======= 2. Supported Configurations --------------------------- FreeBSD currently runs on a wide variety of ISA, VLB, EISA and PCI bus based PC's, ranging from 386sx to Pentium class machines (though the 386sx is not recommended). Support for generic IDE or ESDI drive configurations, various SCSI controller, network and serial cards is also provided. Following is a list of all disk controllers and ethernet cards currently known to work with FreeBSD. Other configurations may very well work, and we have simply not received any indication of this. 2.1. Disk Controllers WD1003 (any generic MFM/RLL) WD1007 (any generic IDE/ESDI) WD7000 IDE 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 (Narrow/Wide/Twin) series ISA/EISA/PCI SCSI controllers Adaptec AIC-6260 and 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're 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. [Note that Buslogic was formerly known as "Bustec"] Buslogic 545S & 545c 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. 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. The following CD-ROM type systems are supported at this time: (cd) SCSI (also includes ProAudio Spectrum and SoundBlaster SCSI) (mcd) Mitsumi proprietary interface (matcd) Matsushita/Panasonic (Creative) proprietary interface (scd) Sony proprietary interface Note: CD-Drives with IDE interfaces are not supported at this time. Some controllers have limitations with the way they deal with >16MB of memory, due to the fact that the ISA bus only has a DMA address space of 24 bits. If you do your arithmetic, you'll see that this makes it impossible to do direct DMA to any address >16MB. This limitation is even true of some EISA controllers (which are normally 32 bit) when they're configured to emulate an ISA card, which they then do in *all* respects. This problem is avoided entirely by IDE controllers (which do not use DMA), true EISA controllers (like the UltraStor, Adaptec 1742A or Adaptec 2742) and most VLB (local bus) controllers. In the cases where it's necessary, the system will use "bounce buffers" to talk to the controller so that you can still use more than 16Mb of memory without difficulty. 2.2. Ethernet 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 MB86960A family of NICs 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. 2.3. Misc AST 4 port serial card using shared IRQ. ARNET 8 port serial card using shared IRQ. BOCA ATIO66 6 port serial card using shared IRQ. Cyclades Cyclom-y Serial Board. STB 4 port card using shared IRQ. Mitsumi (all models) CDROM interface and drive. SDL Communications Riscom/8 Serial Board. Soundblaster SCSI and ProAudio Spectrum SCSI CDROM interface and drive. Matsushita/Panasonic (Creative SoundBlaster) CDROM interface and drive. Adlib, SoundBlaster, SoundBlaster Pro, ProAudioSpectrum, Gravis UltraSound and Roland MPU-401 sound cards. FreeBSD currently does NOT support IBM's microchannel (MCA) bus, but support is apparently close to materializing. Details will be posted as the situation develops. 3. Obtaining FreeBSD. --------------------- You may obtain FreeBSD in a variety of ways: 1. FTP/Mail You can ftp FreeBSD and any or all of its optional packages from `ftp.freebsd.org' - the offical FreeBSD release site. For other locations that mirror the FreeBSD software see the file MIRROR.SITES. Please ftp the distribution from the nearest site to you netwise. If you do not have access to the internet and electronic mail is your only recourse, then you may still fetch the files by sending mail to `ftpmail@decwrl.dec.com' - putting the keyword "help" in your message to get more information on how to fetch files from freebsd.cdrom.com. Note: This approach will end up sending many *tens of megabytes* through the mail, and should only be employed as an absolute LAST resort! 2. CDROM FreeBSD 2.0.5 may be ordered on CDROM from: Walnut Creek CDROM 4041 Pike Lane, Suite D Concord CA 94520 1-800-786-9907, +1-510-674-0783, +1-510-674-0821 (fax) Or via the internet from orders@cdrom.com or http://www.cdrom.com. Their current catalog can be obtained via ftp as: ftp://ftp.cdrom.com/cdrom/catalog. Cost is $39.95. Shipping (per order not per disc) is $5 in the US, Canada, or Mexico and $10.00 overseas. They accept Visa, Mastercard, American Express, and ship COD within the United States. California residents please add 8.25% sales tax. Should you be dissatisfied for any reason, the CD comes with an unconditional return policy. Reporting problems, making suggestions, submitting code. ----------------------------------------------------------- Your suggestions, bug reports and contributions of code are always valued - please do not hesitate to report any problems you may find (preferably with a fix attached if you can!). The preferred method to submit bug reports from a machine with internet mail connectivity is to use the send-pr command. Bug reports will be dutifully filed by our faithful bugfiler program and you can be sure that we'll do our best to respond to all reported bugs as soon as possible. If, for some reason, you are unable to use the send-pr command to submit a bug report, you can try to send it to: bugs@FreeBSD.org Otherwise, for any questions or suggestions, please send mail to: questions@FreeBSD.org Additionally, being a volunteer effort, we are always happy to have extra hands willing to help - there are already far more enhancements to be done than we can ever manage to do by ourselves! To contact us on technical matters, or with offers of help, you may send mail to: hackers@FreeBSD.org Since these mailing lists can experience significant amounts of traffic, if you have slow or expensive mail access and you are only interested in keeping up with significant FreeBSD events, you may find it preferable to subscribe to: announce@FreeBSD.org All but the freebsd-bugs groups can be freely joined by anyone wishing to do so. Send mail to MajorDomo@FreeBSD.org and include the keyword `help' on a line by itself somewhere in the body of the message. This will give you more information on joining the various lists, accessing archives, etc. There are a number of mailing lists targeted at special interest groups not mentioned here, so send mail to majordomo and ask about them! 6. Acknowledgements ------------------- FreeBSD represents the cumulative work of many dozens, if not hundreds, of individuals from around the world who have worked very hard to bring you this release. It would be very difficult, if not impossible, to enumerate everyone who's contributed to FreeBSD, but nonetheless we shall try (in alphabetical order, of course). If your name is not mentioned, please be assured that its omission is entirely accidental. The Computer Systems Research Group (CSRG), U.C. Berkeley. Bill Jolitz, for his initial work with 386BSD. The FreeBSD Core Team (in alphabetical order by first name): Andreas Schulz Andrey A. Chernov Bruce Evans David Greenman Garrett A. Wollman Gary Palmer Geoff Rehmet Jack Vogel John Dyson Jordan K. Hubbard Justin Gibbs Paul Richards Poul-Henning Kamp Rich Murphey Rodney W. Grimes Satoshi Asami Søren Schmidt Special mention to: Walnut Creek CDROM, without whose help (and continuing support) this release would never have been possible. Dermot McDonnell for his donation of a Toshiba XM3401B CDROM drive. Additional FreeBSD helpers and beta testers: J.T. Conklin Julian Elischer Frank Durda IV Peter Dufault Sean Eric Fagan Jeffrey Hsu Terry Lambert L Jonas Olsson Chris Provenzano Dave Rivers Guido van Rooij Steven Wallace Atsushi Murai Scott Mace Nate Williams And everyone at Montana State University for their initial support. Jordan would also like to give special thanks to Poul-Henning Kamp and Gary Palmer, both of whom put in long hours helping him to construct the new installation utility. Poul, being a proud new father, was especially pressed for time and yet somehow managed to put in a significant amount of effort anyway. This release could not have happened without him! Thank you both! Thanks also to everyone else who helped, especially those not mentioned, and we sincerely hope you enjoy this release of FreeBSD! The FreeBSD Core Team $Id: RELNOTES,v 1.2 1995/06/04 07:07:23 jkh Exp $