The OpenBSD 4.7 Release:
Released May 19, 2010
Copyright 1997-2010, Theo de Raadt.
ISBN 978-0-9784475-5-7
4.7 Song: "not yet titled"
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:
- 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.7/ directory on
one of the mirror sites.
- Briefly read the rest of this document.
- Have a look at The 4.7 Errata page for a list
of bugs and workarounds.
- See a detailed log of changes between the
4.6 and 4.7 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.7.
For a comprehensive list, see the changelog leading
to 4.7.
- New/extended platforms:
- OpenBSD/alpha
- Added support for the DS15/DS25/ES45.
- OpenBSD/loongson
New platform for systems based on the Loongson 2E and 2F
MIPS-compatible processors. Supported machines include:
- Lemote Fuloong 2F mini-PC
- Lemote Lynloong all-in-one-PC
- Lemote Yeeloong netbook (8.9" and 10.1" models)
- EMTEC Gdium Liberty 1000 netbook
- OpenBSD/sgi
- Added support for multi-node SGI Origin systems, in M mode.
- Added support for the SGI Origin 350, Onyx 350, Onyx 4 and Tezro
systems.
- Added SMP support on the SGI Octane.
- Support for many more onboard devices on Octane and Origin
systems. (see below)
- OpenBSD/socppc
- Added support for the RouterBOARD RB600A.
- OpenBSD/sparc64
- Preliminary support for running OpenBSD in a guest domain
on top of an OpenBSD control domain on sun4v machines.
- Improved hardware support, including:
- Revamped SCSI midlayer and improved driver support.
- UDF 2.5 and 2.6 (HDDVD and Blu-ray) disks support.
- Added mpath(4),
a driver that steals paths to scsi devices if they could be
available via multiple paths and then made available
via mpath(4).
- New aibs(4)
driver for ASUSTeK AI Booster hardware monitoring.
- New uthum(4)
driver for the TEMPerHUM USB temperature and humidity sensors.
- New utrh(4)
driver for USBRH temperature and humidity sensors.
- New uyurex(4)
driver for the Maywa-denki & KAYAC YUREX twitch/jiggle of knee sensor.
- New urndis(4)
driver for remote NDIS Ethernet over USB devices (phones).
- New xf86-video-wsudl(4)
Xorg driver for USB DisplayLink devices supported by
udl(4).
- New mpii(4)
driver for LSI Logic Fusion MPT Message Passing Interface II based SAS 2 controllers.
- New athn(4)
driver for Atheros IEEE 802.11a/g/n wireless network devices.
- New alc(4)
driver for Atheros AR8131/AR8132 10/100/Gigabit Ethernet devices.
- New lisa(4)
driver for STMicroelectronics LIS331DL MEMS motion sensors.
- New gcu(4)
driver for Intel EP80579 Global Configuration Unit.
- New lom(4)
driver for LOMLite and LOMLite2 as found on many of Sun's UltraSPARC-IIi
servers.
- New vsw(4)
driver for virtual switches on sun4v machines.
- New vds(4)
driver for virtual disk servers on sun4v machines.
- Support for EP80579 integrated Ethernet and ICH9 M V has been added to
em(4).
- Support for 82599 and SFP+ 82598 devices has been added to
ix(4).
- Support for the Sun GigabitEthernet SBus Adapter 1.0/1.1 has been added
to ti(4).
- Support for SBus variants of the QLogic Fibre Channel host adapters has
been added to isp(4).
- Support for SBus variants of the Sun Gigabit Ethernet has
been added to gem(4).
- New uhts(4)
driver for USB touchscreens.
- Improved touchscreen support in
the xf86-input-ws(4)
Xorg driver and improved calibration using the new device
properties from Xinput.
- Support for ON CAT6095 and ON CAT34TS02 temperature sensors added to
sdtemp(4).
- Several improvements and bug fixes to existing ethernet
drivers, including
em(4),
re(4),
ti(4)
and vge(4).
- Support for the PIC PCI-X controller added to the SGI
xbridge(4) driver.
- Support for the onboard Fast Ethernet interface found on SGI Octane and
many SGI Origin family systems,
iec(4).
- Support for more SGI input and video devices on Octane and Origin systems, with
iockbc(4),
impact(4),
and odyssey(4).
- Improved PCI resource allocation; more hardware left unconfigured a
machine's firmware (including hotplugged hardware) should work now.
- New tools:
- Filesystem Midlayer improvements:
- Dynamic Buffer Cache now supported to a max size set with sysctl kern.bufcachepercent
- Dynamic VFS name cache rewrite, now uses Red/Black trees instead of linked lists.
- Numerous NFS client stability fixes.
- pf(4) improvements:
- OpenBGPD, OpenOSPFD and other routing daemon improvements:
- BGP MPLS VPN (RFC 4364) support added to the bgpd RIB.
- It is now possible to enable/disable specific BGP capabilities.
- ospf6d the RIB can be synced with the kernel routing tabale now.
Additionally support for AS-ext LSA has been added.
- ospf6d(8) is now installed by default. It is still work-in-progress but testing is highly appreciated.
- ldpd -- the MPLS label distribution protocol daemon -- is now installed by default. A custom kernel with option MPLS is needed to use it.
- Generic Network-Stack improvements:
- brconfig is now integrated into
ifconfig(8)
- Two bugs in IPsec/HMAC-SHA2 were fixed, resulting in an incompatibilityr
with the HMAC-SHA-256/384/512 hash algorithms with previous versions of
OpenBSD and other IPsec implementations sharing the bugs.
- Assorted improvements:
- malloc(2)
now has an S flag to turn on the options that help debugging
and improve security.
- updated terminfo(3)
database and ncurses(3)
library.
- added support for lazy binding in ld.so(1)
on hppa.
- added POSIX silent check option (-C) to
sort(1).
- added POSIX extended regular expression support to
sed(1) (-E option).
- added GNU-compatible macro prefix option (-P) to
m4(1).
- Install/Upgrade process changes:
- OpenSSH 5.4:
- New features:
- SSH protocol 1 is disabled by default.
- Remove the libsectok/OpenSC-based smartcard code and add support
for PKCS#11 tokens.
- Add support for certificate authentication of users and hosts using
a new, minimal OpenSSH certificate format (not X.509).
- Added a 'netcat mode' to
ssh(1).
- Add the ability to revoke keys in
sshd(8)
and
ssh(1).
- Rewrite the
ssh(1)
multiplexing support to support non-blocking operation of the mux
master.
- Add a 'read-only' mode to
sftp-server(8)
that disables open in write mode and all other fs-modifying
protocol methods. (bz#430)
- Allow setting an explicit umask on the
sftp-server(8)
commandline to override whatever default the user has. (bz#1229)
- Many improvements to the
sftp(1)
client.
- New RSA keys will be generated with a public exponent of 65537
instead of the previous value 35.
- Passphrase-protected SSH protocol 2 private keys are now protected
with AES-128 instead of 3DES.
- The following significant bugs have been fixed in this release:
- Fixed a minor information leak of environment variables specified
in authorized_keys if an attacker happens to know the public key
in use.
- When using ChrootDirectory, make sure we test for the
existence of the user's shell inside the chroot and not outside.
(bz#1679)
- Cache user and group name lookups in sftp-server using
user_from_[ug]id(3)
to improve performance on hosts where these operations are slow.
(bz#1495)
- Fix problem that prevented passphrase reading from being
interrupted in some circumstances. (bz#1590)
- Ignore and log any Protocol 1 keys where the claimed size is not
equal to the actual size.
- Make HostBased authentication work with a
ProxyCommand. (bz#1569)
- Avoid run-time failures when specifying hostkeys via a relative
path by prepending the current working directory in these cases.
(bz#1290)
- Do not prompt for a passphrase if we fail to open a keyfile, and
log the reason why the open failed to debug. (bz#1693)
- Document that the PubkeyAuthentication directive is
allowed in a
sshd_config(5)
Match block. (bz#1577)
- When converting keys, truncate key comments at 72 chars as per
RFC4716. (bz#1630)
- Do not allow logins if /etc/nologin exists but is not
readable by the user logging in.
- Output a debug log if
sshd(8)
can't open an existing authorized_keys. (bz#1694)
- Quell
tc[gs]etattr(3)
warnings when forcing a tty (ssh -tt), since we usually don't
actually have a tty to read/set. (bz#1686)
- Prevent
sftp(1)
from crashing when given a "-" without a command; also, allow
whitespace to follow a "-". (bz#1691)
- After
sshd(8)
receives a SIGHUP, ignore subsequent HUPs while
sshd(8)
re-execs itself; prevents two HUPs in quick succession from
resulting in
sshd(8)
dying. (bz#1692)
- Clarify in
sshd_config(5)
that StrictModes does not apply to
ChrootDirectory; permissions and ownership are always
checked when chrooting. (bz#1532)
- Set close-on-exec on various descriptors so they don't get leaked
to child processes. (bz#1643)
- Fix very rare race condition in x11/agent channel allocation
- Fix incorrect exit status when multiplexing and channel ID 0 is
recycled. (bz#1570)
- Fail with an error when an attempt is made to connect to a server
with ForceCommand=internal-sftp with a shell session.
(bz#1606)
- Warn but do not fail if
stat(2)ing
the subsystem binary fails. (bz#1599)
- Change "Connecting to host..." message to "Connected to host."
and delay it until after the sftp protocol connection has been
established. (bz#1588)
- Use the HostKeyAlias rather than the hostname specified
on the commandline when prompting for passwords. (bz#1039)
- Correct off-by-one in percent_expand(). (bz#1607)
- Fix passing of empty options from
scp(1)
and
sftp(1)
to the underlying
ssh(1);
also add support for the stop option "--".
- Fix an incorrect magic number and typo in PROTOCOL. (bz#1688)
- Don't escape backslashes when displaying the SSH2 banner. (bz#1533)
- Don't unnecessarily dup() the in and out fds for
sftp-server(8).
(bz#1566)
- Force use of the correct hash function for random-art signature
display. (bz#1611)
- Do not fall back to adding keys without constraints when the agent
refuses the constrained add request. (bz#1612)
- Fix a race condition in
ssh-agent(1)
that could result in a wedged or spinning agent. (bz#1633)
- Flush stdio before exec() to ensure that everying has made it out
before the streams go away. (bz#1596)
- Set FD_CLOEXEC on in/out sockets in
sshd(8).
(bz#1706)
- Over 5,800 ports, major robustness and speed improvements in package tools.
- Many pre-built packages for each architecture:
- i386: 5951
- sparc64: 5745
- alpha: 5489
|
- sh: 1261
- amd64: 5889
- powerpc: 5783
|
- sparc: 3584
- arm: 839
- hppa: 5179
|
- vax: 1785
- mips64: 3677
- mips64el: 3661
|
Some highlights:
- Gnome 2.28.2.
- KDE 3.5.10.
- Xfce 4.6.1.
- MySQL 5.1.42.
- PostgreSQL 8.4.2.
- Postfix 2.6.5.
- OpenLDAP 2.3.43.
- Mozilla Firefox 3.0.18 and 3.5.8.
- Mozilla Thunderbird 2.0.0.23.
- OpenOffice.org 3.1.1.
- Emacs 21.4 and 22.3
- Vim 7.2.267.
- PHP 5.2.13.
- Python 2.4.7, 2.5.4 and 2.6.3.
- Ruby 1.8.6.369.
- 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.4 with xserver 1.6.5 + patches,
freetype 2.3.9,
fontconfig 2.6.0, Mesa 7.4.2, xterm 250 and more)
- Gcc 2.95.3 (+ patches) and 3.3.5 (+ patches)
- Perl 5.10.1 (+ patches)
- Our improved and secured version of Apache 1.3, with SSL/TLS
and DSO support
- OpenSSL 0.9.8k (+ patches)
- Groff 1.15
- Sendmail 8.14.3, with libmilter
- Bind 9.4.2-P2 (+ patches)
- Lynx 2.8.6rel.5 with HTTPS and IPv6 support (+ patches)
- Sudo 1.7.2
- Ncurses 5.7
- 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.7 on your machine:
- CD1:4.7/i386/INSTALL.i386
- CD2:4.7/amd64/INSTALL.amd64
- CD2:4.7/macppc/INSTALL.macppc
- CD3:4.7/sparc64/INSTALL.sparc64
- FTP:.../OpenBSD/4.7/alpha/INSTALL.alpha
- FTP:.../OpenBSD/4.7/armish/INSTALL.armish
- FTP:.../OpenBSD/4.7/hp300/INSTALL.hp300
- FTP:.../OpenBSD/4.7/hppa/INSTALL.hppa
- FTP:.../OpenBSD/4.7/landisk/INSTALL.landisk
- FTP:.../OpenBSD/4.7/loongson/INSTALL.loongson
- FTP:.../OpenBSD/4.7/mvme68k/INSTALL.mvme68k
- FTP:.../OpenBSD/4.7/mvme88k/INSTALL.mvme88k
- FTP:.../OpenBSD/4.7/sgi/INSTALL.sgi
- FTP:.../OpenBSD/4.7/socppc/INSTALL.socppc
- FTP:.../OpenBSD/4.7/sparc/INSTALL.sparc
- FTP:.../OpenBSD/4.7/vax/INSTALL.vax
- FTP:.../OpenBSD/4.7/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.7/i386/floppy47.fs to a floppy and boot via the floppy drive.
Use CD1:4.7/i386/floppyB47.fs instead for greater SCSI controller
support, or CD1:4.7/i386/floppyC47.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.7/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 4.7 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.7/amd64/floppy47.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.7/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.7/sparc64/floppy47.fs or CD3:4.7/sparc64/floppyB47.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.7/sparc64/miniroot47.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.7/alpha/floppy47.fs or
FTP:4.7/alpha/floppyB47.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 miniroot47.fs to the start of the CF
or disk, and boot normally.
OpenBSD/loongson:
Write miniroot47.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 cd47.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.7/sparc/bsd.rd
or
> b sd(0,6,0)4.7/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 floppy47.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/vax:
Boot over the network via mopbooting as described in INSTALL.vax.
OpenBSD/zaurus:
Using the Linux built-in graphical ipkg installer, install the
openbsd47_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.6 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_7
[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.7 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: 47.html,v 1.34 2010/03/14 02:19:52 claudio Exp $