FreeBSD The Power to Serve

FreeBSD 3.0 Release Notes

                                 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 or using the
send-pr command (those preferring a WEB based interface can also see
this page).

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

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:

If you wish to get the latest post-3.0-RELEASE technology.

Table of contents:
1. What's new since 2.2.X-RELEASE

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.

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 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

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 doscmd 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:

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''
  [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]

[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
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
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 (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.

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

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

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)

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
        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


  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)

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

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

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)
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 (

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
`' - 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 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
`' - 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 or
Their current catalog can be obtained via ftp from:

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

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 /<basepath>/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  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:


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:


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:


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:


All of the mailing lists can be freely joined by anyone wishing
to do so.  Send mail to 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:

or, if you've loaded the doc distribution:


Special mention to:

        The donors listed at

        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

Last modified on: February 21, 2021 by Danilo G. Baio