OpenBSD 4.6
Released Oct 18, 2009
Copyright 1997-2009, Theo de Raadt.
ISBN 978-0-9784475-4-0
4.6 Song: "Planet of the Users"
- 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.6/ directory on
one of the mirror sites.
- Briefly read the rest of this document.
- Have a look at The 4.6 Errata page for a list
of bugs and workarounds.
- See a detailed log of changes between the
4.5 and 4.6 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 4.6.
For a comprehensive list, see the changelog leading
to 4.6.
- New/extended platforms:
- mvme68k
- Added support for the MVME141 and MVME165 boards.
- sparc
- The bootblock load address was moved so that larger kernels
can be loaded.
- sparc64
- Added acceleration support for many of the PCI frame buffer
drivers, such as Sun PGX, PGX64 and XVR-100, and Tech Source
Raptor GFX graphics cards.
- sgi
- Added support for the SGI Octane, SGI Origin 200 and SGI Fuel
families of systems.
- Several bugs in interrupt handling have been fixed, resulting
in much snappier system response.
- Improved hardware support, including:
- Several new/improved drivers for sensors, including:
- The ips(4) driver now has sensor support, complementing the bio support.
- The acpithinkpad(4) driver now has temperature and fan sensor support.
- New endrun(4) driver for the EndRun Technologies timedelta sensor.
- The fins(4) driver now has support for F71806, F71862 and F71882.
- The acpitz(4) driver now shows correct decimals for temperature.
- Added radeonfb(4) to sparc64, an accelerated framebuffer for
Sun XVR-100 boards.
- Added support in re(4) for RTL8103E and RTL8168DP devices.
- Added support for BCM5709/BCM5716 devices in the bnx(4) driver.
- Added support for ICH10 variants of em(4).
- Added support for VIA VX855 chipset in the viapm(4) and pciide(4) drivers.
- Added support for Intel SCH IDE to pciide(4).
- Added support for the Broadcom HT-1100 chipset in the piixpm(4) driver.
- Added support for 82574L based devices in the em(4) driver.
- A number of network drivers including ix(4), sis(4), msk(4), bnx(4), and vr(4) now
use MCLGETI(9) to reduce memory usage and increase performance under load
and attack.
- Added support for VIA CX800 south bridge to the viapm(4) driver.
- Added support in em(4) for the newer 82575 (and maybe 82576) chips.
- zyd(4) now supports devices with Airoha AL2230S radios.
- zyd(4) now works on big-endian machines
- urtw(4) now supports RTL8187B based devices.
- New otus(4) driver for Atheros AR9001U USB 802.11a/b/g/Draft-N
wireless devices.
- New berkwdt(4) driver for Berkshire Products PCI watchdog timers.
- New udl(4) driver for USB video devices.
- Support for a variety of newer models in bge(4).
- Initial version of vsw(4), a driver for the virtual network switch on
sun4v sparc64s.
- Implemented machfb(4), an accelerated driver for the sparc64 PGX/PGX64
framebuffers.
- Added a vcc(4) and vcctty(4) driver for the "Virtual Console Concentrator"
found on the control domain of sun4v systems.
- Implemented 64-bit FIFO modes for ciss(4) devices.
- Enable hardware VLAN tagging/stripping on ix(4).
- Added basic support for Envy24HT chips in the envy(4) driver.
- Many improvements and updates to the isp(4) driver.
- Added support for 88E8057-based Yukon 2 Ultra 2-devices in msk(4).
- The ips(4) driver now works reliably.
- Added raptor(4), an accelerated framebuffer driver for the Tech Source
Raptor GFX cards on the sparc64 platform.
- Enabled schsio(4) on i386 and amd64 and added watchdog timer support.
- New acpivideo(4) driver for ACPI display switching and brightness control.
- New tools:
- Added smtpd(8), a new privilege-separated SMTP daemon.
- Imported the tmux(1) terminal multiplexer, replacing window(1).
- pf(4) improvements:
- Enabled pf(4) by default in the rc.conf(8).
- Removed pf(4) scrub rules, and only do one kind of packet reassembly.
Rulesets with scrub rules need to be modified because of this.
- Regular rules can now have per-rule scrub options.
- Added new "match" keyword which only applies rule options but does
not change the current pass/block state.
- Make all pf(4) operations transactional to improve atomicity of reloads.
- Stricter pf(4) checking for ICMP and ICMPv6 packets.
- Various improvements to pfsync(4) to lower sync traffic bandwidth and
optionally allow active-active firewall setups.
- Fix pf(4) scrub max-mss for IPv6 traffic.
- OpenBGPD, OpenOSPFD and other routing daemon improvements:
- In bgpd(8), rework most of the RDE to allow multiple RIBs.
It is possible to filter per-RIB and attach neighbors to a specific RIB.
- Added an option to bgpd(8) to change the "connect-retry" timer.
- Allow bgpd.conf(5) and bgpctl(8) to contain 32-bit ASN numbers written in
ASPLAIN format.
- Fix bgpd(8) to correctly encode MP unreachable NLRI so IPv6 prefixes get
removed correctly.
- Changed the behaviour of "redistribute default" for ospfd(8) and ripd(8).
A default route has to be present in the FIB to be correctly advertised.
- Make ospfd(8) and ripd(8) track reject and blackhole routes and allow
them to be redistributed even if pointing to 127.0.0.1.
- Allow to specify an alternate control socket for ospfd(8).
- ospfd(8) can now be bound into an alternate routing domain.
- Fix ospfd(8) route metric for "redistribute default".
- Initial version of ldpctl(8) and ldpd(8), a label distribution protocol
daemon for mpls.
- Make dvmrp(8) RDE aware of multicast group members per interface.
- Support for pruning in dvmrp(8).
- Generic Network-Stack improvements:
- Support for virtual routing and firewalling with the addition of routing
domains.
- Add code in ifconfig(8) to bind an interface to a routing domain.
- Add support to ping(8), traceroute(8), arp(8), nc(1) and telnet(1) to
specify which routing domain to use.
- Allow ifconfig(8) to turn off IPv6 completely for an interface and
make rtsold(8) turn on inet6 on the interface.
- Routes track the interface link state.
- route(8) flush accepts "-iface" or "-priority" to only flush routes
matching these conditions.
- Multiple dhclients can now coexist without causing mayhem.
- Make wireless interfaces have an interface priority of 4 by default.
Makes them less preferred then wired interfaces.
- Do not accept IPv4 ICMP redirects by default.
- Added the MAC address to the log entries in dhclient(8).
- Make systat(1) show interface description names in the interface view, and add new NFS server and client views.
- Make tun(4) emulate link state depending on the open and close of the
device fd.
- Use pf state-table information to speed up decision on whether a packet
is to be delivered locally or forwarded.
- More routing socket checks added to make userland applications more
resilient to kernel changes.
- Install/Upgrade process changes:
- New disklabel(8) automatic partition allocator with a variety of
smart heuristics.
- The installer has been nearly rewritten mostly with a focus on
simplifying installation.
- OpenSSH 5.3:
- Do not limit home directory paths to 256 characters. (bz #1615)
- Several minor documentation and correctness fixes.
- Over 5,800 ports, minor robustness improvements in package tools.
- Many pre-built packages for each architecture:
- i386: 5606
- sparc64: 5413
- alpha: 5346
|
- sh: 1261
- amd64: 5544
- powerpc: 5427
|
- sparc: 3711
- arm: 5291
- hppa: 4790
| |
Some highlights:
- Gnome 2.24.3.
- KDE 3.5.10.
- Xfce 4.6.1.
- MySQL 5.0.83.
- PostgreSQL 8.3.7.
- Postfix 2.6.2.
- OpenLDAP 2.3.43.
- Mozilla Firefox 3.0.11 and 3.5.
- Mozilla Thunderbird 2.0.0.22.
- OpenOffice.org 3.1.0.
- Emacs 21.4 and 22.3
- Vim 7.2.190.
- PHP 5.2.10.
- Python 2.4.6, 2.5.4 and 2.6.2.
- 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 + patches, freetype 2.3.9,
fontconfig 2.6.0, Mesa 7.4.2, xterm 243 and more)
- Gcc 2.95.3 (+ patches) and 3.3.5 (+ patches)
- Perl 5.10.0 (+ 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.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.6 on your machine:
- CD1:4.6/i386/INSTALL.i386
- CD2:4.6/amd64/INSTALL.amd64
- CD2:4.6/macppc/INSTALL.macppc
- CD3:4.6/sparc64/INSTALL.sparc64
- FTP:.../OpenBSD/4.6/alpha/INSTALL.alpha
- FTP:.../OpenBSD/4.6/armish/INSTALL.armish
- FTP:.../OpenBSD/4.6/hp300/INSTALL.hp300
- FTP:.../OpenBSD/4.6/hppa/INSTALL.hppa
- FTP:.../OpenBSD/4.6/landisk/INSTALL.landisk
- FTP:.../OpenBSD/4.6/mac68k/INSTALL.mac68k
- FTP:.../OpenBSD/4.6/mvme68k/INSTALL.mvme68k
- FTP:.../OpenBSD/4.6/mvme88k/INSTALL.mvme88k
- FTP:.../OpenBSD/4.6/sgi/INSTALL.sgi
- FTP:.../OpenBSD/4.6/socppc/INSTALL.socppc
- FTP:.../OpenBSD/4.6/sparc/INSTALL.sparc
- FTP:.../OpenBSD/4.6/vax/INSTALL.vax
- FTP:.../OpenBSD/4.6/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.6/i386/floppy46.fs to a floppy and boot via the floppy drive.
Use CD1:4.6/i386/floppyB46.fs instead for greater SCSI controller
support, or CD1:4.6/i386/floppyC46.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.6/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.6 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.6/amd64/floppy46.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.6/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.6/sparc64/floppy46.fs or CD3:4.6/sparc64/floppyB46.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.6/sparc64/miniroot46.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.6/alpha/floppy46.fs or
FTP:4.6/alpha/floppyB46.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 miniroot46.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.6/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.6/sparc/bsd.rd
or
> b sd(0,6,0)4.6/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 floppy46.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/sgi:
Burn cd46.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/socppc:
After connecting a serial port, boot over the network via DHCP/tftp.
Refer to the instructions in INSTALL.socppc 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
openbsd46_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.5 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_6
[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.6 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.