RELEASE NOTES FreeBSD Release 3.0-RELEASE This is our first release of 3.0-CURRENT and is aimed primarily at early adopters and developers. Some parts of the documentation may not be updated yet and should be reported if and when seen. Naturally, any installation failures or crashes should also be reported ASAP by sending mail to freebsd-bugs@FreeBSD.org or using the send-pr command (those preferring a WEB based interface can also see http://www.freebsd.org/send-pr.html). For information about FreeBSD and the layout of the 3.0-RELEASE directory (especially if you're installing from floppies!), see ABOUT.TXT. For installation instructions, see the INSTALL.TXT and HARDWARE.TXT files. This is also hardly the last release on the 3.0-current (HEAD) branch and daily snapshot releases will continue as normal following this release. Please install them from: ftp://current.freebsd.org/pub/FreeBSD If you wish to get the latest post-3.0-RELEASE technology. Table of contents: ------------------ 1. What's new since 2.2.X-RELEASE 1.1 KERNEL CHANGES 1.2 SECURITY FIXES 1.3 USERLAND CHANGES 2. Supported Configurations 2.1 Disk Controllers 2.2 Ethernet cards 2.3 ATM 2.4 Misc 3. Obtaining FreeBSD 3.1 FTP/Mail 3.2 CDROM 4. Upgrading from previous releases of FreeBSD 5. Reporting problems, making suggestions, submitting code 6. Acknowledgements 1. What's new since 2.2.X-RELEASE --------------------------------- All changes described here are unique to the 3.0 branch unless specifically marked as [MERGED] features. 1.1. KERNEL CHANGES ------------------- o The 2.2.x SCSI subsystem has been almost entirely replaced with a new "CAM" (Common Access Method) SCSI system which offers improved performance, better error recovery and support for more SCSI controllers. o The Host ATM Research Platform ("HARP") software by Network Computing Services, Inc. has been integrated into the system. See /usr/src/share/examples/atm for more info. o The SMP (Symmetric MultiProcessing) branch has been merged. The kernel is mostly non-reentrant as yet, but work is under way. o A port to the DEC Alpha architecture has entered "ALPHA" (haha) status. See the alpha/ directory on CD #4 for the appropriate release bits if you're trying to install FreeBSD on an ALPHA from CD or in ../alpha/3.0-RELEASE if you're installing from a FreeBSD FTP site. o The code from 4.4BSD-Lite2 has been (finally) merged. o Secure RPC is now supported (and usable with NFS et al). o Sun's WEBNFS standard is now supported. o The MSDOS filesystem code now handles VFAT and FAT32 partitions. [MERGED: Also in 2.2.7 and later releases on 2.2-STABLE branch] o ATAPI/IDE CD burner support (BETA). o ATAPI/IDE tape drive support (BETA). o Support for using VESA video modes. It is now possible to select and use the modes provided by the BIOS on modern videocards. This enables fx. 132x60 sized consoles and highres graphics in a generic manner on hardware that supports it. There is also support for running the console in rastermode, which allows XFree86 to run a simple 16color server in 800x600 on otherwise unsupported video hardware. o Support for AdvanSys SCSI controllers o Support for QLogic SCSI and Fibre Channel controllers. o Support for Adaptec 7890, 7891, 7895, 7896 and 7897 based controllers (new 2940/2950/3940/3950 et al). o The ed0 (wd8xxxx, 3c503, NE2000, HP Lan+) Ethernet device's default IRQ has changed from IRQ 5 to IRQ 10. The ed1 Ethernet device has been removed. Use the Userconfig utility to change ed0's values to match your network card's settings. [MERGED: Both changes are in 2.2.6 and later releases on 2.2-STABLE branch] o The code responsible for maintaining time of day has been rewritten. New features are: true support for nanoseconds in both kernel and userland, continuous rather than stepwise adjustment by NTPD and support for synchronizing to high precision external time signals. o Support for the PPS API described in draft-mogul-pps-api-02.txt for TTL rising edge inputs via the parallel printer port has been added to the printer driver. o Use the new if_multiaddrs list for multicast addresses rather than the previous hackery involving struct in_ifaddr and arpcom. Get rid of the abominable multi_kludge. o The new if_media selection method for ethernet drivers has been brought in, obtained from Jason Thorpe's implementation for NetBSD. [MERGED: Also in 2.2.5 and later releases on 2.2-STABLE branch] o Multi-session ISO-9660 CD-ROMs are now fully supported. By default, the last session will be mounted (including for root mounts). For non-root mounts, mount_cd9660(8) can take an argument to mount a particular session instead of the default one. o The UPAGES are gone from the per-process address space which allows complete address space and page table sharing by reference count. o Newly forked child processes return directly to user mode rather than return up through the fork() syscall tree. This eliminates the kernel stack copy at fork time and simplifies certain other internal operations. It is also needed to support the removal of the UPAGES. (The idea for this originally came from NetBSD, but we did it for different reasons.) o vfork() is now fully functional by taking advantage of the new sharing semantics and a significant speedup has been measured. This can be disabled via the kern.fast_vfork sysctl variable in case of problems. Statically linked binaries from older releases and other BSD platforms are a problem since there was a bug in the 4.4BSD (net2, Lite and Lite2) popen() implementation. rfork() also has access to these facilities, intended for supporting kernel assisted threads. o With the contribution of Berkeley Software Design, Inc., Jonathan Lemmon, Mike Smith, Sean Eric Fagan, and John Dyson, VM86 support has been added to the kernel, and BSD/OS's contributed dosemu has been ported. o The SA_NOCLDWAIT flags has been implemented, featuring the System V option where a process can express its wish to never get zombies or SIGCHLD for dead children. o An implementation of poll(2) is in place, the core of which is derived from the NetBSD implementation. Both the select() and poll() syscalls use the poll device, file and vnode ops routines. o An implementation of issetugid(2) that is similar to the OpenBSD call of the same name. We set the flag in more cases than OpenBSD - our implementation is slightly more paranoid. o Async IO is implemented (under non-SMP at this stage) with additional support for kernel assisted threads. o Some other misc syscalls for compatability with other systems: getsid(2), setpgid(2), nanosleep(2). o A new syscall signanosleep(2) which is like nanosleep(2), but a specific signal mask is used to determine which signals will wake the sleep. In a nutshell this is 'wait for a given set of signals for up to a certain amount of time'. o sleep(3) and usleep(3) are now implemented in terms of signanosleep(2) and now have correct SIGALRM interaction semantics and sleep(3) correctly returns the time remaining. o An in-kernel linker is implemented and intended to replace the lkm system and the bogosity that goes with it. o All supported network protocols have been updated to avoid the ``big switch'' pr_usrreq(), and to pass a process pointer down to each user request that might need process credentials or want to sleep, replacing the previous hodgepodge of inspecting curproc (which only occasionally did the right thing) and the SS_PRIV socket state flag. The latter has now been eliminated, along with the SO_PRIVSTATE socket option which cleared it. Protocols are now also given the opportunity to override the generic send, receive, and poll routines, which will make it possible for a more efficient, protocol-specific implementation of these entry points in later releases. Finally, many parts of the network code have been modified to cease storing socket addresses and other metainformation in mbufs, in preparation for the eventual elimination thereof. The mechanism by which socket addresses are now returned is still highly subject to change as we experiment to discover the most efficient method. o Responses to multicast ICMP ECHO REQUEST (``ping'') and ADDRESS MASK REQUEST packets can now be disabled via sysctl. The netstat program will print out statistics on how many times this happens. o A subtle and seldom encountered bug in ffs has been fixed. o The VFS name cache has been reworked to be more accountable and efficient. o The generic part of VOP_LOOKUP() has been put it in system-wide function which filesystems can rely on for the canonical stuff. o Vnode freelist handling has been hauled over. Vnodes are only on the freelist if nobody cares about them. o The kernel provides assistance to getcwd() from data stored in the name cache if possible. o An interrupt driven configuration hook mechanism has been implemented. This allows drivers to postpone part of their configuration until after interrupts are fully enabled. This speeds booting because busy-waiting is avoided for things like sub device probing (eg: SCSI bus probes). o The timeout(9) system in the kernel has been overhauled. This gives O(1) insertion and removal of callouts and an O(hash chain length) amount of work to be performed in softclock. The original paper is at: http://www.cs.berkeley.edu/~amc/research/timer/ o Changes in driver buffer queuing to deal with ordered transactions. This is intended for sequencing data and metadata writes in the filesystem code once fully supported. o EISA Shared interrupts are now supported, working with the framework originally for supporting PCI shared interrupts. o Support for the Comtrol Rocketport card. o IPFW's packet and byte counters have been expanded from 32 to 64 bits, a `FWD' operation has been added to ipfw to support transparent proxying and the divert operation has changed slightly - see the man pages for natd(8) and ipfw(8) for more information. o New Plug and Play (PnP) support that allows you to (re)configure PnP devices. Also support modems being detected by the PnP part and automatically attached. [MERGED: Also in 2.2.6 and later releases on 2.2-STABLE branch] o Import of new sound code from Luigi Rizzo. This code is still being developed, but has support for a number of different cards. [MERGED: Also in 2.2.6 and later releases on 2.2-STABLE branch] o The psm, mse and sysmouse drivers are improved to provide better mouse support. In particular, the psm driver now supports various ``wheeled'' mice. [MERGED: Also in 2.2.6 and later releases on 2.2-STABLE branch] o Added support for SMC EtherPower II 10/100 Fast Ethernet card (aka SMC9432TX based on SMC83c170 EPIC chip). [MERGED: Also in 2.2.7 and later releases on 2.2-STABLE branch] o Added support for ATAPI floppy drives (LS-120). [MERGED: Also in 2.2.7 and later releases on 2.2-STABLE branch] o Added support for IBM Etherjet and other Crystal Semiconductor CS89x0-based NICs. [MERGED: Also in 2.2.7 and later releases on 2.2-STABLE branch] o Added support for Texas Instruments TNET100 'ThunderLAN' PCI NIC. [MERGED: Also in 2.2.8 and later releases on 2.2-STABLE branch] o Added full bus master DMA support for 3c900 and 3c905 adapters and added support for the 3c905B. [MERGED: Also in 2.2.8 and later releases on 2.2-STABLE branch] 1.2. SECURITY FIXES ------------------- [MERGED: all changes soon after specified date in 2.2-STABLE branch] 97/7/29 Lots of lpr/lpd security fixes merged from OpenBSD. 97/8/22 buffer overflows in tip corrected (benign since tip isn't set[ug]id) 97/8/26 buffer overflow in glob fixed, no know exploits 97/8/27 vacation security problem with sendmail corrected (SNI) 97/8/29 inetd sleeps less when children exit, making DoS attacks much harder. 97/8/29 fts now race-proof and find -execdir added (-current only) 97/8/31 games setuid -> setgid. Makes any games exploits benign (only score files vulnerable). Please report any problems to eivind@FreeBSD.org (score-file ownership problems are known) 97/12/3 Add Intel's suggested fix for the F00F bug. If you don't have a Pentium, the NO_F00F_HACK kernel option will disable it. 98/1/20 More robust protection against LAND attacks now incorporated. The suidperl vulnerability mentioned in the CERT advisory CA-97.17 is also believed to be fixed. KerberosIV is now merged. 1.3. USERLAND CHANGES --------------------- The default binary type (and compiler toolchain) has been switched from a.out to ELF. This gives us access to much newer compiler technology (much of which didn't support a.out), allows for smaller executables and provides much better support for languages like C++, among many other advantages. Older a.out libraries and binaries will, of course, continue to work and provisions have been made for having both varieties installed if and as necessary for transitional purposes. Perl4 has now been replaced by Perl5 as a standard part of the system. The default username length has increased to 16 characters. Caution: Old utmp/wtmp files will NOT work with this change since the data records will be of the old size. For a conversion utility to aid with this, see /usr/src/tools/3.0-upgrade. /etc/sysconfig now replaced by more compact /etc/rc.conf file [MERGED: Also in 2.2.1 and later releases on 2.2-STABLE branch] fdisk(8) now numbers disk slices from 1 to 4 rather than from 0 to 3. This brings it in line with the numbers used in the device names in /dev. The Amd automounter has been updated from the 1993 4.4BSD version to the latest current version of am-utils. Map options have changed somewhat, and a new configuration file, /etc/amd.conf, is supported. See ``man 5 amd.conf''. The ``picobsd'' package for creating custom FreeBSD boot floppies and "mini systems" has been brought into /usr/src/release/picobsd. See file:/usr/src/release/picobsd/README.html for further information. When operating over the network, finger(1) no longer closes the socket immediately after sending its request, but instead waits for the remote end to close first. (The specification is ambiguous, so we are following the behavior which interoperates with the most servers.) This means that it is now possible to use the MIT directory and finger people at certain broken Linux machines. There is a new flag to fetch(1) which allows it to talk to certain broken HTTP implementations which react badly to a request message immediately followed by a close of the connection. netstat(1) now uses sysctl(3) to retrieve more statistics groups and uses the correct, unsigned format for printing most of them out. A new VGA library (/usr/src/lib/libvgl) now exists for doing simple VGA graphics to syscons ttys (sort of like Linux's libSVGA). [MERGED: Also in 2.2.5 and later releases on 2.2-STABLE branch] Xntpd's syslogging has been moved out into a facility of its own (LOG_NTP, userland name "ntp"). A new pair of ioctl's has been added: SIOC[SG]IFGENERIC. The intent is to provide for a hook to pass arbitrary ioctl subcommands down to a network interface driver. This is for example necesseray for PPP drivers to communicate things like CHAP names and secrets, or variable options between the driver and a userland utility. sppp(4) has been improved a fair bit since FreeBSD 2.2.X. It now employs a full-fledged PPP state machine, offers a lot more of LCP and IPCP negotiation, making it ready for dial-on-demand connections (like those that are often running over ISDN). It also offers PAP or CHAP authentication. The userland counterpart spppcontrol(8) is also the first program that utilizes the abovementioned SIOC[SG]IFGENERIC ioctl commands. moused(8) has been modified to support various mice with a ``wheel''. It also automatically recognizes mice which support the PnP COM device standard, so that the user is no longer required to supply a mouse protocol type on the command line. [MERGED: Also in 2.2.6 and later releases on 2.2-STABLE branch] ppp(8) supports many additional features including the PPP Multilink Protocol (rfc1990), PPP Callback (with CBCP extensions) and client side DNS negotiation. Refer to the README.changes file in the source directory for details of possible configuration conflicts. Pthread read/write locks as defined by the Single UNIX Specification, Version 2, have been added to the POSIX threads library, libc_r. System files are now owned by user `root', group `wheel'. UID 0 is far more protected than `bin'. Especially over NFS. /bin/sh signal and trap handling reworked. Among other things, this makes tty-mode emacs work when called from system(2), i.e. by a mail agent. Several syntax bugs have been fixed. [MERGED: Also in 2.2.8 and later releases on 2.2-STABLE branch] systat(1), iostat(8), rpc.rstatd(8), and vmstat(8) have been overhauled to use the new devstat(3) library and devstat(9) statistics subsystem. Among other enhancements, these utilities (well, with the exception of rpc.rstatd(8)) now print out more useful statistics, and can see statistics for all devices in the system, not just the first 8. 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. What follows is a list of all peripherals currently known to work with FreeBSD. Other configurations may also work, we have simply not as yet received confirmation of this. 2.1. Disk Controllers --------------------- WD1003 (any generic MFM/RLL) WD1007 (any generic IDE/ESDI) IDE ATA Adaptec 1535 ISA SCSI controllers Adaptec 154x series ISA SCSI controllers Adaptec 174x series EISA SCSI controller in standard and enhanced mode. Adaptec 274X/284X/2920/2940/2950/3940/3950 (Narrow/Wide/Twin) series EISA/VLB/PCI SCSI controllers. Adaptec AIC7850, AIC7880, AIC789x, on-board SCSI controllers. AdvanSys SCSI controllers (all models). 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 DPT SCSI/RAID controllers (most variants). SymBios (formerly NCR) 53C810, 53C825, 53c860 and 53c875 PCI SCSI controllers: ASUS SC-200 Data Technology DTC3130 (all variants) NCR cards (all) Symbios cards (all) Tekram DC390W, 390U and 390F Tyan S1365 QLogic SCSI and Fibre Channel controllers. DTC 3290 EISA SCSI controller in 1542 emulation mode. With all supported SCSI controllers, full support is provided for SCSI-I & SCSI-II peripherals, including hard disks, optical disks, tape drives (including DAT and 8mm Exabyte), medium changers, processor target devices and CDROM drives. WORM devices that support CDROM commands are supported for read-only access by the CDROM driver. WORM/CD-R/CD-RW writing support is provided by cdrecord, which is in the ports tree. The following CD-ROM type systems are supported at this time: (cd) SCSI interface (also includes ProAudio Spectrum and SoundBlaster SCSI) (matcd) Matsushita/Panasonic (Creative SoundBlaster) proprietary interface (562/563 models) (scd) Sony proprietary interface (all models) (wcd) ATAPI IDE interface SCSI TAPE SUPPORT: The CAM SCSI tape driver doesn't yet handle older (and many times broken) tape drives very well. If you've got an older SCSI-1 tape drive, like an Exabyte 8200 or older QIC-type tape drive, it may not work properly with the CAM tape driver. This is obviously a known problem, and we're working on it. Newer tape drives that are mostly SCSI-2 compliant should work fine. e.g., DAT (DDS-1, 2 and 3), DLT, and newer Exabyte 8mm drives should work fine. If you want to find out if your particular tape drive is supported, the best way to find out is to try it! The following drivers were supported under the old SCSI subsystem, but are NOT YET supported under the new CAM SCSI subsystem: Tekram DC390 and DC390T controllers (maybe other cards based on the AMD 53c974 as well). NCR5380/NCR53400 ("ProAudio Spectrum") SCSI controller. UltraStor 14F, 24F and 34F SCSI controllers. Seagate ST01/02 SCSI controllers. Future Domain 8xx/950 series SCSI controllers. WD7000 SCSI controller. Adaptec 1510 series ISA SCSI controllers (not for bootable devices) Adaptec 152x series ISA SCSI controllers Adaptec AIC-6260 and AIC-6360 based boards, which includes the AHA-152x and SoundBlaster SCSI cards. [ Note: There is work-in-progress to port the AIC-6260/6360 and UltraStor drivers to the new CAM SCSI framework, but no estimates on when or if they will be completed. ] Unmaintained drivers, they might or might not work for your hardware: Floppy tape interface (Colorado/Mountain/Insight) (mcd) Mitsumi proprietary CD-ROM interface (all models) 2.2. Ethernet cards ------------------- Allied-Telesis AT1700 and RE2000 cards AMD PCnet/PCI (79c970 & 53c974 or 79c974) SMC Elite 16 WD8013 ethernet interface, and most other WD8003E, WD8003EBT, WD8003W, WD8013W, WD8003S, WD8003SBT and WD8013EBT based clones. SMC Elite Ultra. SMC Etherpower II. Texas Instruments ThunderLAN PCI NICs, including the following: Compaq Netelligent 10, 10/100, 10/100 Proliant, 10/100 Dual-Port Compaq Netelligent 10/100 TX Embedded UTP, 10 T PCI UTP/Coax, 10/100 TX UTP Compaq NetFlex 3P, 3P Integrated, 3P w/ BNC Olicom OC-2135/2138, OC-2325, OC-2326 10/100 TX UTP DEC EtherWORKS III NICs (DE203, DE204, and DE205) DEC EtherWORKS II NICs (DE200, DE201, DE202, and DE422) DEC DC21040, DC21041, or DC21140 based NICs (SMC Etherpower 8432T, DE245, etc) DEC FDDI (DEFPA/DEFEA) NICs Fujitsu MB86960A/MB86965A HP PC Lan+ cards (model numbers: 27247B and 27252A). Intel EtherExpress 16 Intel EtherExpress Pro/10 Intel EtherExpress Pro/100B PCI Fast Ethernet 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), 3C590/592/595/900/905/905B PCI and EISA (Fast) Etherlink III / (Fast) Etherlink XL Toshiba ethernet cards Crystal Semiconductor CS89x0-based NICs, including: IBM Etherjet ISA PCMCIA ethernet cards from IBM and National Semiconductor are also supported. Note that NO token ring cards are supported at this time as we're still waiting for someone to donate a driver for one of them. Any takers? 2.3 ATM ------- o ATM Host Interfaces - FORE Systems, Inc. PCA-200E ATM PCI Adapters - Efficient Networks, Inc. ENI-155p ATM PCI Adapters o ATM Signalling Protocols - The ATM Forum UNI 3.1 signalling protocol - The ATM Forum UNI 3.0 signalling protocol - The ATM Forum ILMI address registration - FORE Systems's proprietary SPANS signalling protocol - Permanent Virtual Channels (PVCs) o IETF "Classical IP and ARP over ATM" model - RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5" - RFC 1577, "Classical IP and ARP over ATM" - RFC 1626, "Default IP MTU for use over ATM AAL5" - RFC 1755, "ATM Signaling Support for IP over ATM" - RFC 2225, "Classical IP and ARP over ATM" - RFC 2334, "Server Cache Synchronization Protocol (SCSP)" - Internet Draft draft-ietf-ion-scsp-atmarp-00.txt, "A Distributed ATMARP Service Using SCSP" o ATM Sockets interface 2.4. Misc --------- AST 4 port serial card using shared IRQ. ARNET 8 port serial card using shared IRQ. ARNET (now Digiboard) Sync 570/i high-speed serial. Boca BB1004 4-Port serial card (Modems NOT supported) Boca IOAT66 6-Port serial card (Modems supported) Boca BB1008 8-Port serial card (Modems NOT supported) Boca BB2016 16-Port serial card (Modems supported) Comtrol Rocketport card. Cyclades Cyclom-y Serial Board. STB 4 port card using shared IRQ. SDL Communications Riscom/8 Serial Board. SDL Communications RISCom/N2 and N2pci high-speed sync serial boards. Stallion multiport serial boards: EasyIO, EasyConnection 8/32 & 8/64, ONboard 4/16 and Brumby. Adlib, SoundBlaster, SoundBlaster Pro, ProAudioSpectrum, Gravis UltraSound and Roland MPU-401 sound cards. (snd driver) Most ISA audio codecs manufactured by Crystal Semiconductors, OPTi, Creative Labs, Avance, Yamaha and ENSONIQ. (pcm driver) Connectix QuickCam Matrox Meteor Video frame grabber Creative Labs Video Spigot frame grabber Cortex1 frame grabber Hauppauge Wincast/TV boards (PCI) STB TV PCI Intel Smart Video Recorder III Various Frame grabbers based on Brooktree Bt848 chip. HP4020, HP6020, Philips CDD2000/CDD2660 and Plasmon CD-R drives. PS/2 mice Standard PC Joystick X-10 power controllers GPIB and Transputer drivers. Genius and Mustek hand scanners. Xilinx XC6200 based reconfigurable hardware cards compatible with the HOT1 from Virtual Computers (www.vcc.com) Support for Dave Mills experimental Loran-C receiver. FreeBSD currently does NOT support IBM's microchannel (MCA) bus. 3. Obtaining FreeBSD -------------------- You may obtain FreeBSD in a variety of ways: 3.1. FTP/Mail ------------- You can ftp FreeBSD and any or all of its optional packages from `ftp.freebsd.org' - the official FreeBSD release site. For other locations that mirror the FreeBSD software see the file MIRROR.SITES. Please ftp the distribution from the site closest (in networking terms) to you. Additional mirror sites are always welcome! Contact freebsd-admin@FreeBSD.org for more details if you'd like to become an official mirror site. 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@ftpmail.vix.com' - putting the keyword "help" in your message to get more information on how to fetch files using this mechanism. Please do note, however, that this will end up sending many *tens of megabytes* through the mail and should only be employed as an absolute LAST resort! 3.2. CDROM ---------- FreeBSD 3.0-RELEASE and 2.2.x-RELEASE CDs may be ordered on CDROM from: Walnut Creek CDROM 4041 Pike Lane, Suite D Concord CA 94520 1-800-786-9907, +1-925-674-0783, +1-925-674-0821 (FAX) Or via the Internet from orders@cdrom.com or http://www.cdrom.com. Their current catalog can be obtained via ftp from: ftp://ftp.cdrom.com/cdrom/catalog Cost per -RELEASE CD is $39.95 or $24.95 with a FreeBSD subscription. FreeBSD SNAPshot CDs, when available, are $39.95 or $14.95 with a FreeBSD-SNAP subscription (-RELEASE and -SNAP subscriptions are entirely separate). With a subscription, you will automatically receive updates as they are released. Your credit card will be billed when each disk is shipped and you may cancel your subscription at any time without further obligation. Shipping (per order not per disc) is $5 in the US, Canada or Mexico and $9.00 overseas. They accept Visa, Mastercard, Discover, American Express or checks in U.S. Dollars 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. 4. Upgrading from previous releases of FreeBSD ---------------------------------------------- If you're upgrading from a previous release of FreeBSD, most likely it's 2.2.x or 2.1.x (in some lesser number of cases) and some of the following issues may affect you, depending of course on your chosen method of upgrading. There are two popular ways of upgrading FreeBSD distributions: o Using sources, via /usr/src o Using sysinstall's (binary) upgrade option. In the case of using sources, there are simply two targets you need to be aware of: The standard ``world'' target, which will upgrade a 2.x system to 3.0, or the ``aout-to-elf'' target, which will both upgrade and convert the system to ELF binary format. In the case of using the binary upgrade option, the system will go straight to 3.0/ELF but also populate the //lib/aout directories for backwards compatibility with older binaries. In either case, going to ELF will mean that you'll have somewhat smaller binaries and access to a lot more compiler goodies which have been already been ported to other ELF environments (our older and somewhat crufty a.out format being largely unsupported by most other software projects), but on the downside you'll also have access to far fewer ports and packages since many of those have not been adapted to ELF yet. This will occur in time, but those who wish to retain access to the greatest number of packages and 3rd-party binaries should probably stick with a.out. The kernel is also still in a.out format at this time so that older LKMs and library interfaces can continue to work, but a full transition to ELF will occur at some point after 3.0-RELEASE. Those wishing to generate dynamic kernel components should therefore use the newer KLD mechanism rather than the older LKM format - the LKM format is not long for this world and will soon be unsupported! [ other important upgrading notes should go here] 5. 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 or use the CGI script at http://www.freebsd.org/send-pr.html. 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. Bugs filed in this way are also visible on our WEB site in the support section and are therefore valuable both as bug reports and as "signposts" for other users concerning potential problems to watch out for. 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: freebsd-bugs@FreeBSD.org Note that send-pr itself is a shell script that should be easy to move even onto a totally different system. We much prefer if you could use this interface, since it make it easier to keep track of the problem reports. However, before submitting, please try to make sure whether the problem might have already been fixed since. Otherwise, for any questions or tech support issues, please send mail to: freebsd-questions@FreeBSD.org Additionally, being a volunteer effort, we are always happy to have extra hands willing to help - there are already far more desired enhancements than we'll ever be able to manage by ourselves! To contact us on technical matters, or with offers of help, please send mail to: freebsd-hackers@FreeBSD.org Please note that these mailing lists can experience *significant* amounts of traffic and if you have slow or expensive mail access and are only interested in keeping up with significant FreeBSD events, you may find it preferable to subscribe instead to: freebsd-announce@FreeBSD.org All of the mailing lists 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. For a complete list of FreeBSD project staffers, please see: http://www.freebsd.org/handbook/staff.html or, if you've loaded the doc distribution: file:/usr/share/doc/handbook/staff.html Special mention to: The donors listed at http://www.freebsd.org/handbook/donors.html Justin M. Seger for almost single-handedly converting the ports collection to ELF. Doug Rabson and John Birrell for making FreeBSD/alpha happen and to the NetBSD project for substantial indirect aid. Peter Wemm for the new kernel module system (with substantial aid from Doug Rabson). And to the many thousands of FreeBSD users and testers all over the world, without whom this release simply would not have been possible. We sincerely hope you enjoy this release of FreeBSD! The FreeBSD Project