The OpenBSD 4.4 Release:
Released Nov 1, 2008
Copyright 1997-2008, Theo de Raadt.
ISBN 978-0-9784475-2-6
To get the files for this release:
- Order a CDROM from our .
- See the information on for
a list of mirror machines.
- Go to the pub/OpenBSD/4.4/ directory on
one of the mirror sites.
- Briefly read the rest of this document.
- Have a look at for a list
of bugs and workarounds.
- See a between the
4.3 and 4.4 releases.
Note: 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 4.4.
For a comprehensive list, see the leading
to 4.4.
- New/extended platforms:
Much more platform support. Machines using the UltraSPARC IV/T1/T2
and Fujitsu SPARC64-V/VI/VII are now supported.
For machines based on the Freescale MPC8349E
System-on-Chip (SoC) platform that use Das U-Boot as a boot loader.
Added shared libraries support.
- Improved hardware support, including:
- Several new/improved drivers for sensors, including:
- New
driver for Fintek F71805F LPC Super I/O Hardware Monitor.
- New
driver for Andigilog aSC7611 Hardware Monitor.
- New
driver for AMD K8 embedded temperature sensor.
- New
driver for JEDEC JC-42.4 memory module thermal sensors.
- New
driver for Analog Devices ADT7462.
- New
driver for AMD K10 (Phenom, Opteron Barcelona et alia) embedded temperature sensor.
- The
driver now has better probing procedure.
- The
driver now support LM76.
- Support for the Intel G33 and G35 chipsets in
.
- New
driver for Attansic L2 10/100 Ethernet devices.
- Preliminary support for UVC USB webcams:
and .
- The
driver replaces the via X.Org driver for VIA video cards.
- AMD Geode video card driver for X.Org.
- New
driver which implements VMware Tools.
- New
driver for AMD Geode LX CS5536 integrated AC'97 audio.
- New
driver for Intel 82598 PCI Express 10Gb Ethernet.
- New
driver provides additional ACPI support for IBM/Lenovo ThinkPad laptops.
- New
driver provides additional ACPI support for ASUS laptops, including the EeePC.
- New
driver supporting the GeckoBOA BC GSC+ port found on some hppa systems.
- New
driver supporting the Freescale Triple Speed Ethernet Controller.
- The
driver now supports RTL8102E and RTL8168 devices.
- The
driver now supports National Semiconductor Saturn devices.
- The
driver has been removed; all platforms use
now.
-
and
now work on most sparc64 machines.
- The
driver now supports mouseCLOCK USB II devices.
- The
driver now supports 88E8040T devices.
- The
driver now supports many more Atheros wireless devices.
- The
driver now supports HP Smart Array P212, P410, P411, P411i
and P812 devices.
- The
driver now supports ELV Elektronik and FTDI 2232L devices.
- The
driver now supports Option GlobeTrotter 3G+, Huawei E220
and more HSDPA MSM devices.
- The
driver now supports ZTE CMDMA MSM devices.
- The
driver now supports Apple USB A1277 devices.
- The
driver now supports more Netmos devices.
- The
driver now supports 2D acceleration on selected boards.
- The
driver firmware for some controllers has been updated.
- The
driver no longer hangs during probe on some machines.
- The
driver has better support for BCM5704 chipsets in fiber
mode which helps with some blade servers.
- The
driver has better support for the BCM5906 chipset on some systems.
- The
driver has much better support for PCI Express chipsets
resulting in much faster transmit performance.
- The
driver has support for the BCM5714/5715/5780 chipsets using fiber interfaces.
- The
driver has support for the BCM5706/5708 chipsets using fiber interfaces.
- The
driver now supports Ralink Technology RT2700 devices.
- Serial ports other than com0 can now be used for console on amd64.
- The serial console on i386 and amd64 has improved compatibility
with server management cards.
- New tools:
- ,
the host status monitoring daemon for use with the NFS file locking daemon.
- Initial import of
,
a drop-in replacement for ypserv to glue in an LDAP directory for
get{pw,gr}ent family of functions.
- Deprecated
and
in favor of
.
- Import of , a small TCP benchmarking tool.
- New functionality:
-
is now able to play and record audio in full-duplex,
mix unlimited number of streams, handle up to 16 channels,
resample streams on the fly, support various 24-bit and 32-bit
encodings and does format conversions on the fly.
- now supports IPv6.
-
now supports basic synchronization of the /var/db/dhcpd.leases
file to allow running multiple instances for redundancy.
- WPA/WPA2-PSK support for several models of wireless cards.
-
now supports NLMv4 and does actually do locking.
-
now supports recursive mget transfers.
-
now uses keep alive packets by default.
-
now accepts empty passwords in URLs.
- now supports -b flag to perform search only on the last
component of the path.
- Allow
in TAO mode to set the write speed.
-
no longer blanks media twice.
- Add ability in
to determine media capabilities and make it figure out if media supports TAO or blanking.
- Initial version of
crypto support.
-
now groks options tftp-config-file and auto-proxy-script in
.
-
option handling much more resistant to abuse.
-
now aware of interface link state and reacts to changes.
- DIOCRLDINFO, DIOCGPDINFO, and DIOCGPART support added to block devices
previously lacking it.
-
no longer supports the '-r' option, and obtains all disklabel information via ioctl's.
-
no longer suggests offsets and sizes that would result in partitions starting or ending
outside the OpenBSD section of the disk.
-
now correctly reads back the 'vendor' field from text disklabels.
-
editor mode '?' and 'p' commands are more compact and the 'l' command has been added
to produce previous verbose output.
- I/O's outside the bounds of the RAW_PART are now prevented, allowing
proper detection of invalid I/O's.
- USB floppies now have a valid cylinder count calculated, rather than 0.
-
can now create filesystems on devices with sector sizes other than 512, although
such filesystems cannot yet be read.
-
now revokes its privileges and runs as its own user _rtadvd.
-
probing displays less useless verbiage and fewer spurious error messages.
-
devices can now be detached.
- ATAPI devices are now identified as such, rather than as SCSIn devices.
- SATA tape drives now work.
-
probing now displays the ID of the initiator on the bus.
-
debug capabilities improved to show commands and input or output data as appropriate.
-
probing makes better use of the TEST UNIT READY command to clear errors and allow
successful attachments.
-
probing can now find more fibre channel attached devices.
- Several mbuf pool cache corruption issues were fixed.
-
now supports IPv6 in standalone mode.
-
now shows week numbers too.
- In ,
implement a sloppy tcpstate tracker which does not look at sequence numbers at all.
-
rule accounting now has a counter to record how many states in total have been
created by a rule.
- The kill states feature in
now supports two additional match targets: Kill by rule label or state ID.
- Make
use sloppy
state keeping for routed sessions (Direct Server Return).
- Added support in
for transparent L7 forwarding in relays.
- Added support for dynamic IPv6-to-IPv4 or IPv4-to-IPv6 TCP relays in
.
- Improved the DNS mode and use OpenBSD's Id shuffle code from
.
in .
- Extend
with bitwise operations.
- Updated the display code for
which adds views for
states, rules and queues.
- Imported initial support for IEEE 802.3ad/LACP in
.
- Assorted improvements and code cleanup:
- A greatly changed buffer cache subsystem which maps cache pages only
when in use, resulting in improved filesystem performance, and
allowing for the effective use of a much larger buffer cache.
- A greatly improved implementation of
, the general purpose memory allocator,
which catches more mistakes, reduces address space fragmentation,
and is faster.
- The system call has been enhanced to support large
filesystems.
- The
function has been added to libc.
- A lot of work has been done on libm to add several functions towards more
C99 compliance.
- Lots of features have been implemented in OpenCVS, which can now be used
to do some real work.
- New APIs for ,
one to fill a buffer with random numbers and the other to return a
uniformly distributed random number without bias.
- Install/Upgrade process changes:
- A new tool
, derived from the old mergemaster port, makes
it easier to merge configuration files changes during an upgrade.
- Fully support OpenBSD inside extended partitions on i386 and amd64.
- During installation 'dhcp' is now the initial default answer during
network configuration.
- Fetching sets via FTP more reliable due to automatic use of keep alive.
- Fetching sets via NFS no longer hangs retrying a non-functional mount.
- Installation ensures hostname.* files are installed with mode 600.
- Serial console configuration now automatically detects speed.
- Serial console support extended to all architectures.
- Partition size display no longer limited to 32 bit sizes.
- Partition sizes now scaled and formatted to use human readable units.
-
configuration questions improved.
- Sparc miniroot root disk detection fixed.
- Invocations of
by the scripts are now less verbose.
- OpenSSH 5.1:
- New experimental fingerprint ASCII art visualisation system for easier
verification of remote keys.
- Added support for
.
- Added an extended test mode (-T) to
.
- Make
support negation of groups in a "Match group" block.
- Increased the ephemeral key size in protocol1 from 768 to 1024 bits.
- Better tests of primes in /etc/moduli
- Refuse to read .shosts or authorized_keys files that are not regular
files.
- Enable ~ escapes for multiplex slave sessions.
- Support CIDR address matching in Match blocks and authorized_keys
from="..." stanzas.
- Make port forwarding code try additional addresses when connecting to
a destination whose DNS name resolves to more than one address.
- Make the maximum number of
sessions run-time controllable via MaxSessions in
.
- now defaults to RSA protocol 2 keys, instead of RSA1.
- Added an extension to sftp protocol to implement
-like operations and add a df command to
.
- Disable execution of ~/.ssh/rc for sessions where a command has been
forced by the sshd_config ForceCommand directive.
- And several bug fixes and performance enhancements.
- Over 5205 ports, minor robustness improvements in package tools.
- Many pre-built packages for each architecture:
- i386: 5033
- sparc64: 4862
- alpha: 4852
| - sh: 1285
- amd64: 4940
- powerpc: 4466
| - sparc: 3381
- arm: 4018
- hppa: 1595
| |
Some highlights:
- Gnome 2.20.3.
- GNUstep 1.14.2.
- KDE 3.5.9.
- Mozilla Firefox 2.0.0.16 and 3.0.1.
- Mozilla Thunderbird 2.0.0.16.
- MySQL 5.0.51a
- OpenMotif 2.3.0.
- OpenOffice.org 2.4.1.
- PostgreSQL 8.3.3.
- Xfce 4.4.2.
- As usual, steady improvements in manual pages and other documentation.
- The system includes the following major components from outside suppliers:
- Xenocara (based on X.Org 7.3 + patches, freetype 2.3.5, fontconfig
2.4.2, Mesa 7.0.3, xterm 234 and more)
- Gcc 2.95.3
(+ )
and 3.3.5
(+ )
- Perl 5.8.8 (+ patches)
- Our improved and secured version of Apache 1.3, with SSL/TLS and DSO support
- OpenSSL 0.9.7j (+ patches)
- Groff 1.15
- Sendmail 8.14.3, with libmilter
- Bind 9.4.2-P2 (+ patches)
- Lynx 2.8.5rel.4 with HTTPS and IPv6 support (+ patches)
- Sudo 1.6.9p17
- Ncurses 5.2
- Latest KAME IPv6
- Heimdal 0.7.2 (+ patches)
- Arla 0.35.7
- Binutils 2.15 (+ patches)
- Gdb 6.3 (+ patches)
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 4.4 on your machine:
- CD1:4.4/i386/INSTALL.i386
- CD2:4.4/amd64/INSTALL.amd64
- CD2:4.4/macppc/INSTALL.macppc
- CD3:4.4/sparc64/INSTALL.sparc64
- FTP:.../OpenBSD/4.4/alpha/INSTALL.alpha
- FTP:.../OpenBSD/4.4/armish/INSTALL.armish
- FTP:.../OpenBSD/4.4/hp300/INSTALL.hp300
- FTP:.../OpenBSD/4.4/hppa/INSTALL.hppa
- FTP:.../OpenBSD/4.4/landisk/INSTALL.landisk
- FTP:.../OpenBSD/4.4/mac68k/INSTALL.mac68k
- FTP:.../OpenBSD/4.4/mvme68k/INSTALL.mvme68k
- FTP:.../OpenBSD/4.4/mvme88k/INSTALL.mvme88k
- FTP:.../OpenBSD/4.4/sgi/INSTALL.sgi
- FTP:.../OpenBSD/4.4/sparc/INSTALL.sparc
- FTP:.../OpenBSD/4.4/vax/INSTALL.vax
- FTP:.../OpenBSD/4.4/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:4.4/i386/floppy44.fs to a floppy and boot via the floppy drive.
Use CD1:4.4/i386/floppyB44.fs instead for greater SCSI controller
support, or CD1:4.4/i386/floppyC44.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:4.4/tools/rawrite.exe. To make the boot floppy under a Unix OS,
use the
utility. The following is an example usage of
,
where the device could be "floppy", "rfd0c", or
"rfd0a".
# dd if= of=/dev/ 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
.
OpenBSD/amd64:
The 4.4 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:4.4/amd64/floppy44.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
/4.4/macppc/bsd.rd
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:4.4/sparc64/floppy44.fs or CD3:4.4/sparc64/floppyB44.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:4.4/sparc64/miniroot44.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:4.4/alpha/floppy44.fs or
FTP:4.4/alpha/floppyB44.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/armish:
After connecting a serial port, Thecus can boot directly from the network
either tftp or http. Configure the network using fconfig, reset,
then load bsd.rd, see INSTALL.armish for specific details.
IOData HDL-G can only boot from an EXT-2 partition. Boot into linux
and copy 'boot' and bsd.rd into the first partition on wd0 (hda1)
then load and run bsd.rd, preserving the wd0i (hda1) ext2fs partition.
More details are available in INSTALL.armish.
OpenBSD/hp300:
OpenBSD/hppa:
OpenBSD/landisk:
Write miniroot44.fs to the start of the CF
or disk, and boot normally.
OpenBSD/mac68k:
Boot MacOS as normal and extract the Macside "BSD/Mac68k Booter" utility from
FTP:4.4/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/sparc:
Boot from one of the provided install ISO images, using one of the two
commands listed below, depending on the version of your ROM.
ok boot cdrom 4.4/sparc/bsd.rd
or
> b sd(0,6,0)4.4/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 floppy44.fs to a floppy.
For more information see .
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/sgi:
Burn cd44.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
openbsd44_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 .
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 4.3 system, and do not want to reinstall,
upgrade instructions and advice can be found in the
.
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 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
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_4_4
[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 4.4 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.