freebsd-dev/release/sysinstall/help/relnotes.hlp
1997-09-23 03:28:15 +00:00

541 lines
20 KiB
Plaintext

RELEASE NOTES
FreeBSD Release 3.0-SNAPSHOT
This is a SNAPSHOT release of FreeBSD 3.0-CURRENT and is aimed primarily
at release testers. 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-SNAPSHOT release
directory (especially if you're installing from floppies!), see ABOUT.TXT.
For installation instructions, see the INSTALL.TXT and HARDWARE.TXT files.
1. What's new since 2.2.X-RELEASE
------------------------------------
KERNEL CHANGES:
The code from 4.4BSD-Lite2 has been (finally) merged.
The SMP (Symmetric MultiProcessing) branch has been merged.
The kernel is mostly non-reentrant as yet, but work is under way.
Secure RPC is now supported (and usable with NFS et al).
Sun's WEBNFS standard is now supported.
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.
The new if_media selection method for ethernet drivers has been brought
in, obtained from Jason Thorpe's implementation for NetBSD.
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.
The UPAGES are gone from the per-process address space which allows
complete address space and page table sharing by reference count.
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.)
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.
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.
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.
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.
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.
Async IO is implemented (under non-SMP at this stage) with additional
support for kernel assisted threads.
Some other misc syscalls for compatability with other systems: getsid(2),
setpgid(2), nanosleep(2).
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'.
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. Some programs (notably apache httpd) bogusly
depend on a sleep() "absorbing" a SIGALRM from a timer that expires during
the life of the sleep.
An in-kernel linker is implemented and intended to replace the lkm system
with the bogosity that goes with it.
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.
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.
It is possible to compile in a font for syscons.
The bootblocks can set VESA videomode 0x102 (800x600x16) before loading
the kernel, this allows XFree86 to work in this resolution on most
moderately recent graphics hardware, including many laptops.
A set of patches are making their way to -current that allows syscons
to operate in this mode too; contact phk@FreeBSD.org.
A subtle and seldom bug in ffs has been fixed.
The VFS name cache has been reworked to be more accountable and efficient.
The generic part of VOP_LOOKUP() has been put it in system-wide function
which filesystems can rely on for the canonical stuff.
Vnode freelist handling has been hauled over. Vnodes are only on the
freelist if nobody care about them.
The kernel provides assistance to getcwd() from data stored in the name
cache if possible.
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).
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/
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.
EISA Shared interrupts are now supported, working with the framework
originally for supporting PCI shared interrupts.
SECURITY CHANGES:
7/29 Lots of lpr/lpd security fixes merged from OpenBSD.
8/22 buffer overflows in tip corrected (benign since tip isn't
set[ug]id)
8/26 buffer overflow in glob fixed, no know exploits
8/27 vacation security problem with sendmail corrected (SNI)
8/29 inetd sleeps less when children exit, making DoS attacks much
harder.
8/29 fts now race-proof and find -execdir added (-current only)
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)
The suidperl vulnerability mentioned in the CERT advisory CA-97.17 is
also believed to be fixed.
USERLAND CHANGES:
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
(new since 2.2.1).
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.
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 statitistics groups, and
uses the correct, unsigned format for printing most of them out.
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/2940/3940 (Narrow/Wide/Twin) series ISA/EISA/PCI SCSI
controllers.
Adaptec AIC7850 on-board 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, such being 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, and in such cases you *will* also be able to boot from them.
Check your system/board documentation for more details.
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
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
Tekram DC390 and DC390T controllers (maybe other cards based on the
AMD 53c974 as well).
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.
WD7000 SCSI controller.
With all supported SCSI controllers, full support is provided for
SCSI-I & SCSI-II peripherals, including Disks, tape drives (including
DAT and 8mm Exabyte) and CD ROM drives.
The following CD-ROM type systems are supported at this time:
(cd) SCSI interface (also includes ProAudio Spectrum and
SoundBlaster SCSI)
(mcd) Mitsumi proprietary interface (all models)
(matcd) Matsushita/Panasonic (Creative SoundBlaster) proprietary
interface (562/563 models)
(scd) Sony proprietary interface (all models)
(wcd) ATAPI IDE interface (should be considered BETA quality).
Unmaintained drivers, they might or might not work for your hardware:
Adaptec 1510 series ISA SCSI controllers (not for bootable devices)
Adaptec 152x series ISA SCSI controllers
Floppy tape interface (Colorado/Mountain/Insight)
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 is also supported.
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 (not recommended due to driver instability)
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 PCI and EISA
(Fast) Etherlink III / (Fast) Etherlink XL
Toshiba ethernet cards
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. 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)
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.
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
HP4020i, Philips CDD2000 and PLASMON WORM (CDR) drives.
PS/2 mice
Standard PC Joystick
X-10 power controllers
GPIB and Transputer drivers.
Genius and Mustek hand scanners.
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-SNAP 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-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 from:
ftp://ftp.cdrom.com/cdrom/catalog
Cost per -RELEASE CD is $39.95 or $24.95 with a FreeBSD subscription.
FreeBSD 3.0-SNAP CDs 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. 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!
5. 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
CalWeb Internet Services for the loan of a P6/200 machine for
speedy package building.
Everyone at Montana State University for their initial support.
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