OpenBSD 3.9
Released May 1, 2006
Copyright 1997-2006, Theo de Raadt.
ISBN 0-9731791-7-1
3.9 Song: "Blob!"
- Order a CDROM from our ordering system.
- See the information on The FTP page for
a list of mirror machines.
- Go to the pub/OpenBSD/3.9/ directory on
one of the mirror sites.
- Briefly read the rest of this document.
- Have a look at The 3.9 Errata page for a list
of bugs and workarounds.
- See a detailed log of changes between the
3.8 and 3.9 releases.
All applicable copyrights and credits can be found in the applicable
file sources found in the files src.tar.gz, sys.tar.gz,
xenocara.tar.gz, or in the files fetched via ports.tar.gz. The
distribution files used to build packages from the ports.tar.gz file
are not included on the CDROM because of lack of space.
What's New
This is a partial list of new features and systems included in OpenBSD 3.9.
For a comprehensive list, see the changelog leading
to 3.9.
- Improved hardware support, including:
- Some G5-based Apple
Macintosh machines, including W^X support (currently restricted to 32-bit mode).
- Many more audio drivers in the OpenBSD/macppc
port.
- Support for many system sensors (temperature, voltage, fan speed)
via the following subsystems:
- Dell's Embedded Server Management
(esm)
- Intelligent Platform Management Interface
(ipmi)
- I2C/SMBus sensor subsystems found on most motherboards
(iic)
- Touchpad on recent Apple laptops
(tpms).
- nfe,
a binary blob free driver for the NVIDIA nForce Ethernet interface.
- Opteron systems now have all their PCI buses detected.
- CardBus
and
PCMCIA
support on OpenBSD/amd64.
- ixgb,
Intel PRO/10GbE Ethernet.
- Support for new Intel i82571, i82572 and i82573 PCI Express based devices in the em(4) driver.
- Support for new Broadcom BCM5714, BCM5715 and BCM5903M based devices in the bge(4) driver.
- Support for new Ralink RT2501 and RT2600 based devices in ral.
- Support for ASIX AX88178 Gigabit and AX88772 10/100 based devices in axe(4).
- Support for devices incorporating GCT RF transceivers in rtw.
- Zaurus remote control (zrc) support.
- Initial Sound Blaster Audigy support in the emu(4) driver.
- The Level 1 LXT1001 Gigabit driver has been fixed and now works (lge(4)).
- More HP Smart ARRAY controllers recognized by the ciss(4) driver.
- Support the Intel i915 AGP.
- Support for both older and newer IDE and SATA controllers in the pciide(4) driver, including:
- ATI's IXP 200/300/400 IDE controllers
- Broadcom's ServerWorks HT-1000 IDE controller
- a few older Intel PIIX IDE controllers
- Broadcom's ServerWorks K2 and HT-1000 SATA controllers
- VIA's VT6410 and VT8251 SATA controllers
- some newer NVIDIA SATA controllers
- Added IBSS support to the iwi(4) driver.
- Added bus_dma support to the de(4) and san(4) drivers.
- A lot of fixes and improvements to the uaudio(4) audio driver.
- Support for the SMC SMC91C1xx Ethernet chips in the sm(4) driver as well as MII support.
- New adb(4) and framebuffer (macfb(4)) drivers on OpenBSD/mac68k, plus switch to wscons(4).
- New tools:
- ftp-proxy
has been rewritten, and a tftp version,
tftp-proxy,
has been added.
- sdiff,
a side-by-side file comparison tool.
- getent,
a tool to get entries from the administrative databases.
- New functionality:
- ancontrol
functionality has been completely merged into
ifconfig.
- apmd
can be used to increase or decrease CPU speed automatically,
depending on CPU usage and, if supported, battery status.
- nc(1) now supports HTTP Proxy authentication, making it very useful as a ssh ProxyCommand.
- Userland ppp(8) has IPv6 support.
- A number of fixes and new functionality for trunk(4):
- New active/passive failover mode
- Fixed multicast support, for
carp(4) and
pfsync(4)
over trunk interfaces.
- Interface capabilities depending on the trunk ports, for full-size
vlan(4) MTUs.
- Improved functionality for
ipsecctl(8).
- Added multicast routing to GENERIC.
It is now possible to enable multicast routing in the kernel with the
sysctl(8) option net.inet.ip.mforwarding=1.
- It is now possible to set a default
vlan(4) priority via
ifconfig(8).
- Assorted improvements and code cleanup:
- libpcap
has been updated with most of tcpdump.org's libpcap-0.9.4 API, without
the clutter.
- System libraries on most architectures are now compiled with debugging symbols,
which makes tools like gdb(1)
much more useable.
- Header files have been rewritten to provide better C99 support.
- Linted versions of system libraries are now provided and lint(1) has been substantially overhauled to produce less false positives and find new classes of problems.
- The ieee80211(9)
wireless framework has been cleaned up and changed to use red-black
tree(3)s
instead of hash tables.
- The complete source tree has been audited for wrong usage of the
queue(3)
macros and facilities have been added to detect misuse.
- The
mg(1) editor now includes an editable minibuffer, vastly improved
undo, completion buffers, and many other emacs-like improvements.
- New functionality for
hostapd(8),
the Host Access Point Daemon:
- Support for multiple wireless interfaces and per-interface event rules.
- New rate keyword for event rules, a requirement for using hostapd as a WIDS.
- Replaced hash tables with safer red-black
tree(3)s.
- Improved multicast support and configuration options.
- Various bug fixes and improvements.
- OpenSSH 4.3:
- Generate protocol 2 RSA keys in
ssh-keygen
by default.
- Support for tunneling arbitrary network packets over a connection between
an OpenSSH client and server, as a true VPN.
- Many additional bug fixes, as described in the
release announcement.
- OpenBGPD 3.9:
- Support for inbound and outbound soft reconfiguration.
- Added possibility to remove communities.
- Added new special community value "neighbor-as" which is expanded to
the remote-AS of the current neighbor.
- Support for a unprivileged bgpctl socket added, which can be used for
looking glass style applications.
- Even better IPv6 support.
- OpenOSPFD 3.9:
- Neighbor Finite State Machine has been greatly improved.
- Network redistribution has been reworked.
- CARP interfaces and their behaviour is now respected.
- LSA Retransmission has been greatly improved.
- Each area is now calculated individually when needed.
- OSPF packet reception performance has been improved.
- Neighbor uptimes are now displayed with "ospfctl show neighbor".
- RIB uptimes are now displayed with "ospfctl show rib".
- Over 3200 ports, 3000 pre-built packages, improved package tools (updating
packages from the previous release is now possible).
- As usual, steady improvements in manual pages and other documentation.
- The system includes the following major components from outside suppliers:
- X.Org 6.9.0 (+ patches, and i386 contains XFree86 3.3.6 servers
(+ patches) for legacy chipsets not supported by X.Org)
- Gcc 2.95.3
(+ patches)
and 3.3.5
(+ patches)
- Perl 5.8.6 (+ patches)
- Apache 1.3.29, mod_ssl 2.8.16, DSO support (+ patches)
- OpenSSL 0.9.7g (+ patches)
- Groff 1.15
- Sendmail 8.13.4, with libmilter
- Bind 9.3.1 (+ patches)
- Lynx 2.8.5rel.4 with HTTPS and IPv6 support (+ patches)
- Sudo 1.6.8p9
- Ncurses 5.2
- Latest KAME IPv6
- Heimdal 0.7 (+ patches)
- Arla 0.35.7
- Binutils 2.15 (+ patches)
- Gdb 6.3
How to install
Following this are the instructions which you would have on a piece of
paper if you had purchased a CDROM set instead of doing an alternate
form of install. The instructions for doing an FTP (or other style
of) install are very similar; the CDROM instructions are left intact
so that you can see how much easier it would have been if you had
purchased a CDROM instead.
Please refer to the following files on the three CDROMs or FTP mirror for
extensive details on how to install OpenBSD 3.9 on your machine:
- CD1:3.9/i386/INSTALL.i386
- CD2:3.9/amd64/INSTALL.amd64
- CD2:3.9/macppc/INSTALL.macppc
- CD3:3.9/sparc/INSTALL.sparc
- CD3:3.9/sparc64/INSTALL.sparc64
- FTP:.../OpenBSD/3.9/alpha/INSTALL.alpha
- FTP:.../OpenBSD/3.9/cats/INSTALL.cats
- FTP:.../OpenBSD/3.9/hp300/INSTALL.hp300
- FTP:.../OpenBSD/3.9/hppa/INSTALL.hppa
- FTP:.../OpenBSD/3.9/luna88k/INSTALL.luna88k
- FTP:.../OpenBSD/3.9/mac68k/INSTALL.mac68k
- FTP:.../OpenBSD/3.9/mvme68k/INSTALL.mvme68k
- FTP:.../OpenBSD/3.9/mvme88k/INSTALL.mvme88k
- FTP:.../OpenBSD/3.9/sgi/INSTALL.sgi
- FTP:.../OpenBSD/3.9/vax/INSTALL.vax
- FTP:.../OpenBSD/3.9/zaurus/INSTALL.zaurus
Quick installer information for people familiar with OpenBSD, and the
use of the "disklabel -E" command. If you are at all confused when
installing OpenBSD, read the relevant INSTALL.* file as listed above!
OpenBSD/i386:
Play with your BIOS options to enable booting from a CD. The OpenBSD/i386
release is on CD1. If your BIOS does not support booting from CD, you will need
to create a boot floppy to install from. To create a boot floppy write
CD1:3.9/i386/floppy39.fs to a floppy and boot via the floppy drive.
Use CD1:3.9/i386/floppyB39.fs instead for greater SCSI controller
support, or CD1:3.9/i386/floppyC39.fs for better laptop support.
If you can't boot from a CD or a floppy disk,
you can install across the network using PXE as described in
the included INSTALL.i386 document.
If you are planning on dual booting OpenBSD with another OS, you will need to
read INSTALL.i386.
To make a boot floppy under MS-DOS, use the "rawrite" utility located
at CD1:3.9/tools/rawrite.exe. To make the boot floppy under a Unix OS,
use the
dd(1)
utility. The following is an example usage of
dd(1),
where the device could be "floppy", "rfd0c", or
"rfd0a".
# dd if=<file> of=/dev/<device> bs=32k
Make sure you use properly formatted perfect floppies with NO BAD BLOCKS or
your install will most likely fail. For more information on creating a boot
floppy and installing OpenBSD/i386 please refer to
FAQ 4.3.1.
OpenBSD/amd64:
The 3.9 release of OpenBSD/amd64 is located on CD2.
Boot from the CD to begin the install - you may need to adjust
your BIOS options first.
If you can't boot from the CD, you can create a boot floppy to install from.
To do this, write CD2:3.9/amd64/floppy39.fs to a floppy, then
boot from the floppy drive.
If you can't boot from a CD or a floppy disk,
you can install across the network using PXE as described in the included
INSTALL.amd64 document.
If you are planning to dual boot OpenBSD with another OS, you will need to
read INSTALL.amd64.
OpenBSD/macppc:
Put CD2 in your CDROM drive and poweron your machine while holding down the
C key until the display turns on and shows OpenBSD/macppc boot.
Alternatively, at the Open Firmware prompt, enter boot cd:,ofwboot
/3.9/macppc/bsd.rd
OpenBSD/sparc:
The 3.9 release of OpenBSD/sparc is located on CD3. To boot off of this CD you
can use one of the two commands listed below, depending on the version of your
ROM.
ok boot cdrom 3.9/sparc/bsd.rd
or
> b sd(0,6,0)3.9/sparc/bsd.rd
If your SPARC system does not have a CD drive, you can alternatively boot from floppy.
To do so you need to write CD3:3.9/sparc/floppy39.fs to a floppy.
For more information see FAQ 4.3.1.
To boot from the floppy use one of the two commands listed below,
depending on the version of your ROM.
ok boot floppy
or
> b fd()
Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
will most likely fail.
If your SPARC system doesn't have a floppy drive nor a CD drive, you can either
setup a bootable tape, or install via network, as told in the
INSTALL.sparc file.
OpenBSD/sparc64:
Put CD3 in your CDROM drive and type boot cdrom.
If this doesn't work, or if you don't have a CDROM drive, you can write
CD3:3.9/sparc64/floppy39.fs or CD3:3.9/sparc64/floppyB39.fs
(depending on your machine) to a floppy and boot it with boot
floppy. Refer to INSTALL.sparc64 for details.
Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
will most likely fail.
You can also write CD3:3.9/sparc64/miniroot39.fs to the swap partition on
the disk and boot with boot disk:b.
If nothing works, you can boot over the network as described in INSTALL.sparc64.
OpenBSD/alpha:
Write FTP:3.9/alpha/floppy39.fs or
FTP:3.9/alpha/floppyB39.fs (depending on your machine) to a diskette and
enter boot dva0. Refer to INSTALL.alpha for more details.
Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
will most likely fail.
OpenBSD/cats:
After updating the firmware to at least ABLE 1.95 if necessary, boot
FTP:3.9/cats/bsd.rd from an ABLE-supported device (such as a CD-ROM
or an existing FFS or EXT2FS partition).
OpenBSD/hp300:
OpenBSD/hppa:
OpenBSD/luna88k:
Copy bsd.rd to a Mach or UniOS partition, and boot it from the PROM.
Alternatively, you can create a bootable tape and boot from it. Refer to
the instructions in INSTALL.luna88k for more details.
OpenBSD/mac68k:
Boot MacOS as normal and extract the Macside "BSD/Mac68k Booter" utility from
FTP:3.9/mac68k/utils onto your hard disk. Configure the "BSD/Mac68k
Booter" with the location of your bsd.rd kernel and boot into the installer.
Refer to the instructions in INSTALL.mac68k for more details.
OpenBSD/mvme68k:
You can create a bootable installation tape or boot over the network.
The network boot requires a MVME68K BUG version that supports the NIOT
and NBO debugger commands. Follow the instructions in INSTALL.mvme68k
for more details.
OpenBSD/mvme88k:
You can create a bootable installation tape or boot over the network.
The network boot requires a MVME88K BUG version that supports the NIOT
and NBO debugger commands. Follow the instructions in INSTALL.mvme88k
for more details.
OpenBSD/sgi:
Burn cd39.iso on a CD-R, put it in the CD drive of your machine and
select Install System Software from the System Maintenance menu.
If your machine doesn't have a CD drive, you can
setup a DHCP/tftp network server, and boot using "bootp()/bsd.rd".
Refer to the instructions in INSTALL.sgi for more details.
OpenBSD/vax:
Boot over the network via mopbooting as described in INSTALL.vax.
OpenBSD/zaurus:
Using the Linux built-in graphical ipkg installer, install the
openbsd39_arm.ipk package. Reboot, then run it. Read INSTALL.zaurus
for a few important details.
Notes about the source code:
src.tar.gz contains a source archive starting at /usr/src. This file
contains everything you need except for the kernel sources, which are
in a separate archive. To extract:
# mkdir -p /usr/src
# cd /usr/src
# tar xvfz /tmp/src.tar.gz
sys.tar.gz contains a source archive starting at /usr/src/sys.
This file contains all the kernel sources you need to rebuild kernels.
To extract:
# mkdir -p /usr/src/sys
# cd /usr/src
# tar xvfz /tmp/sys.tar.gz
Both of these trees are a regular CVS checkout. Using these trees it
is possible to get a head-start on using the anoncvs servers as
described here.
Using these files
results in a much faster initial CVS update than you could expect from
a fresh checkout of the full OpenBSD source tree.
How to upgrade
If you already have an OpenBSD 3.8 system, and do not want to reinstall,
upgrade instructions and advice can be found in the
Upgrade Guide.
Ports Tree
A ports tree archive is also provided. To extract:
# cd /usr
# tar xvfz /tmp/ports.tar.gz
# cd ports
The ports/ subdirectory is a checkout of the OpenBSD ports tree. Go
read the ports page
if you know nothing about ports
at this point. This text is not a manual of how to use ports.
Rather, it is a set of notes meant to kickstart the user on the
OpenBSD ports system.
The ports/ directory represents a CVS (see the manpage for
cvs(1) if
you aren't familiar with CVS) checkout of our ports. As with our complete
source tree, our ports tree is available via anoncvs. So, in
order to keep current with it, you must make the ports/ tree
available on a read-write medium and update the tree with a command
like:
# cd [portsdir]/; cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_3_9
[Of course, you must replace the local directory and server name here
with the location of your ports collection and a nearby anoncvs
server.]
Note that most ports are available as packages through FTP. Updated
packages for the 3.9 release will be made available if problems arise.
If you're interested in seeing a port added, would like to help out, or just
would like to know more, the mailing list ports@openbsd.org is a good
place to know.