The OpenBSD 4.9 Release:
Released May 1, 2011
Copyright 1997-2011, Theo de Raadt.
ISBN 978-0-9784475-7-1
4.9 Song: "The Answer"
What's New
How to install
How to upgrade
How to use the ports tree
Ordering a CD set
To get the files for this release:
- Pre-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/4.9/ directory on
one of the mirror sites.
- Briefly read the rest of this document.
- Have a look at The 4.9 Errata page for a list
of bugs and workarounds.
- See a detailed log of changes between the
4.8 and 4.9 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.9.
For a comprehensive list, see the changelog leading
to 4.9.
- New/extended platforms:
- i386 and amd64:
- Enabled the NTFS by default on GENERIC kernels.
- Added a vmt(4) driver for VMWare tools support as a guest.
- SMP kernels can now boot on machines with up to 64 cores.
- Maximum allocation size for i386 bumped to 2G.
- sparc64:
- Support the virtual disk procotol on sun4v machines well enough
to install them from from virtual cdroms.
- Added support for the XVR-300 graphics card.
- hppa:
- ...
- ...
- Improved hardware support, including:
- New vte(4)
driver for RDC R6040 10/100 Ethernet devices.
- New rdcphy(4)
driver for RDC Semiconductor R6040 10/100 Ethernet PHY.
- New rsu(4)
driver for Realtek RTL8188SU/RTL8192SU USB IEEE 802.11b/g/n.
- New urtwn(4)
driver for Realtek RTL8188CU/RTL8192CU USB IEEE 802.11b/g/n.
- New utwitch(4)
driver for YUREX USB twitch/jiggle of knee sensor.
- Support for AR9271, AR9280+AR7010 and AR9287+AR7010 USB IEEE 802.11a/g/n
adapters has been added to athn(4).
- Support for 82583V
has been added to em(4).
- Support for Yukon 88E8059
has been added to msk(4).
- Support for SiS191
has been added to se(4).
- Support for SAS2004
has been added to mpii(4).
- Support for NVIDIA MCP89 SATA
has been added to pciide(4).
- Suppport for Mobility Radeon HD 4200
has been added to radeondrm(4).
- Generic network stack improvements:
- Reworking of the MCLGETI livelock algorithm to improve
forwarding and host performance under high network load.
- Added support for socket splicing.
- Added AES-GMAC support for IPSec.
- SCSI improvements:
- Improved safety when detaching SCSI devices by waiting for
the completion of pending commands.
- Improved hotplug support on mpi(4), mpii(4).
- Continued iopoolification of SCSI drivers, notably on
umass(4) which improves the reliability and performance of
multi-LUN devices.
- Added vscsi(4), a driver for userland handling of scsi device commands.
- Added iscsid(8), an iSCSI initiator.
- Assorted improvements:
- Enabled wide character support in ncurses(3).
- Added nsd(8), an authoritative name server implementation.
- Install/Upgrade process changes:
- Fixed the hppa CD installation process.
- Added some more free firmwares to the CD media that could fit them.
- Make the macppc upgrade script update the boot blocks (oddly, this
had been broken a very long time and noone noticed).
- Teach the install script about the configuration of 802.11 interfaces.
Visible networks can be listed, and even configured for WPA.
- The install script now passes collected entropy better to the
system which is booted next.
- Installer now defaults to not checking non-root filesystems
- OpenSSH 5.8:
- New features:
- Implement Elliptic Curve Cryptography modes for key exchange (ECDH)
and host/user keys (ECDSA) as specified by RFC5656. ECDH and ECDSA
offer better performance than plain DH and DSA at the same
equivalent symmetric key length, as well as much shorter keys.
- sftp(1)
and
sftp-server(8):
add a protocol extension to support a hard link operation. It is
available through the "ln" command in the client. The old "ln"
behaviour of creating a symlink is available using its "-s" option
or through the preexisting "symlink" command.
- scp(1):
Add a new -3 option to scp: Copies between two remote hosts are
transferred through the local host. Without this option the data is
copied directly between the two remote hosts.
- ssh(1):
automatically order the hostkeys requested by the client based on
which hostkeys are already recorded in known_hosts. This avoids
hostkey warnings when connecting to servers with new ECDSA keys,
since these are now preferred when learning hostkeys for the first
time.
- ssh(1)
and
sshd(8):
add a new IPQoS option to specify arbitrary TOS/DSCP/QoS values
instead of hardcoding lowdelay/throughput. (bz#1733)
- sftp(1):
the sftp client is now significantly faster at performing directory
listings, using OpenBSD glob(3) extensions to preserve the results
of stat(3) operations performed in the course of its execution
rather than performing expensive round trips to fetch them again
afterwards.
- ssh(1):
"atomically" create the listening mux socket by binding it on a
temporary name and then linking it into position after listen() has
succeeded. This allows the mux clients to determine that the server
socket is either ready or stale without races. Stale server sockets
are now automatically removed. (also fixes bz#1711)
- ssh(1)
and
sshd(8):
add a KexAlgorithms knob to the client and server
configuration to allow selection of which key exchange methods are
used by
ssh(1)
and
sshd(8)
and their order of preference.
- sftp(1)
and
scp(1):
factor out bandwidth limiting code from
scp(1)
into a generic bandwidth limiter that can be attached using the
atomicio callback mechanism and use it to add a bandwidth
limit option to
sftp(1).
(bz#1147)
- The following significant bugs have been fixed in this release:
- ssh(1)
and
ssh-agent(1):
honour $TMPDIR for client xauth and ssh-agent temporary
directories. (bz#1809)
- ssh(1):
avoid NULL deref on receiving a channel request on an
unknown or invalid channel. (bz#1842)
- sshd(8):
remove a debug() that pollutes stderr on client connecting
to a server in debug mode. (bz#1719)
- scp(1):
pass through ssh command-line flags and options when doing
remote-remote transfers, e.g. to enable agent forwarding which is
particularly useful in this case. (bz#1837)
- sftp-server(8):
umask should be parsed as octal.
- sftp(1):
escape '[' in filename tab-completion.
- ssh(1):
Typo in confirmation message. (bz#1827)
- sshd(8):
prevent free() of string in .rodata when
overriding AuthorizedKeys in a Match block.
- sshd(8):
Use default shell /bin/sh if $SHELL is "".
- ssh(1):
kill proxy command on fatal() (we already killed it on
clean exit).
- ssh(1):
install a SIGCHLD handler to reap expired child process.
(bz#1812)
- Support building against openssl-1.0.0a
- Fix vulnerability in legacy certificate signing introduced in
OpenSSH-5.6 and found by Mateusz Kocielski.
- Mandoc 1.10.9:
- New integrated tbl(7) parser and renderer.
- Support the roff(7) .de, .rm, and .so requests.
- Support all roff code used in the standard pod2man(1) preamble.
- Fully support roff quoting in man(7) documents.
- Mandoc now copes with most formatting errors that used to be fatal.
- Much simplified and improved reporting of errors and warnings.
- Significantly improved -Thtml output quality.
- The ports tree now allows ports to use either mandoc or groff
to render manuals.
- Over 6,400 XXXX ports, major robustness and speed improvements in package tools.
- Many pre-built packages for each architecture:
- i386: 6620
- sparc64: 6225
- alpha: 6000
|
- sh: XXXX
- amd64: 6570
- powerpc: 6272
|
- sparc: 4184
- arm: 5673
- hppa: 5838
|
- vax: 1068
- mips64: 5492
- mips64el: 5499
|
Some highlights:
- Gnome 2.32.1.
- KDE 3.5.10.
- Xfce 4.8.0.
- MySQL 5.1.54.
- PostgreSQL 9.0.3.
- Postfix 2.7.2.
- OpenLDAP 2.3.43 and 2.4.23.
- Mozilla Firefox 3.5.16 and 3.6.13.
- Mozilla Thunderbird 3.1.7.
- OpenOffice.org 3.3.0rc9.
- LibreOffice 3.3.0.4
- Emacs 21.4 and 22.3.
- Vim 7.3.3.
- PHP 5.2.16.
- Python 2.4.6, 2.5.4 and 2.6.6.
- Ruby 1.8.7.330 and 1.9.2.136.
- Mono 2.8.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.5 with xserver 1.8 + patches,
freetype 2.3.12,
fontconfig 2.8.0, Mesa 7.8.2, xterm 258 and more) XXXX
- Gcc 2.95.3 (+ patches), 3.3.5 (+ patches) and 4.2.1 (+patches) XXXX
- Perl 5.12.2 (+ patches) XXXX
- Our improved and secured version of Apache 1.3, with SSL/TLS
and DSO support XXXX
- OpenSSL 1.0.0a (+ patches) XXXX
- Sendmail 8.14.3, with libmilter XXXX
- Bind 9.4.2-P2 (+ patches) XXXX
- Lynx 2.8.6rel.5 with HTTPS and IPv6 support (+ patches) XXXX
- Sudo 1.7.2 XXXX
- Ncurses 5.7 XXXX
- Heimdal 0.7.2 (+ patches) XXXX
- Arla 0.35.7 XXXX
- Binutils 2.15 (+ patches) XXXX
- Gdb 6.3 (+ patches) XXXX
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.9 on your machine:
- CD1:4.9/i386/INSTALL.i386
- CD2:4.9/amd64/INSTALL.amd64
- CD2:4.9/macppc/INSTALL.macppc
- CD3:4.9/sparc64/INSTALL.sparc64
- FTP:.../OpenBSD/4.9/alpha/INSTALL.alpha
- FTP:.../OpenBSD/4.9/armish/INSTALL.armish
- FTP:.../OpenBSD/4.9/hp300/INSTALL.hp300
- FTP:.../OpenBSD/4.9/hppa/INSTALL.hppa
- FTP:.../OpenBSD/4.9/landisk/INSTALL.landisk
- FTP:.../OpenBSD/4.9/loongson/INSTALL.loongson
- FTP:.../OpenBSD/4.9/mvme68k/INSTALL.mvme68k
- FTP:.../OpenBSD/4.9/mvme88k/INSTALL.mvme88k
- FTP:.../OpenBSD/4.9/sgi/INSTALL.sgi
- FTP:.../OpenBSD/4.9/socppc/INSTALL.socppc
- FTP:.../OpenBSD/4.9/sparc/INSTALL.sparc
- FTP:.../OpenBSD/4.9/vax/INSTALL.vax
- FTP:.../OpenBSD/4.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:4.9/i386/floppy49.fs to a floppy and boot via the floppy drive.
Use CD1:4.9/i386/floppyB49.fs instead for greater SCSI controller
support, or CD1:4.9/i386/floppyC49.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.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.2.
OpenBSD/amd64:
The 4.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:4.9/amd64/floppy49.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.9/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.9/sparc64/floppy49.fs or CD3:4.9/sparc64/floppyB49.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.9/sparc64/miniroot49.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.9/alpha/floppy49.fs or
FTP:4.9/alpha/floppyB49.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 miniroot49.fs to the start of the CF
or disk, and boot normally.
OpenBSD/loongson:
Write miniroot49.fs to a USB stick and boot bsd.rd from it
or boot bsd.rd via tftp.
Refer to the instructions in INSTALL.loongson 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:
To install on an O2, burn cd49.iso on a CD-R, put it in the CD drive of your
machine and select Install System Software from the System Maintenance
menu.
On other systems, or if your machine doesn't have a CD drive, you can
setup a DHCP/tftp network server, and boot using "bootp()/bsd.rd.IP##" using
the kernel matching your system type.
Refer to the instructions in INSTALL.sgi for more details.
OpenBSD/socppc:
After connecting a serial port, boot over the network via DHCP/tftp.
Refer to the instructions in INSTALL.socppc 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.9/sparc/bsd.rd
or
> b sd(0,6,0)4.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 floppy49.fs to a floppy.
For more information see FAQ 4.3.2.
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/vax:
Boot over the network via mopbooting as described in INSTALL.vax.
OpenBSD/zaurus:
Using the Linux built-in graphical ipkg installer, install the
openbsd49_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 4.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_4_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 4.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.
www@openbsd.org
$OpenBSD: 49.html,v 1.11 2011/04/22 08:42:04 jj Exp $