Released May 1, 2015
Copyright 1997-2015, Theo de Raadt.
ISBN 978-0-9881561-5-9
5.7 Song: "Source Fish"
- 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/5.7/ directory on
one of the mirror sites.
- Have a look at the 5.7 errata page for a list
of bugs and workarounds.
- See a detailed log of changes between the
5.6 and 5.7 releases.
- signify(1) pubkeys for this release:
base: RWSvUZXnw9gUb70PdeSNnpSmodCyIPJEGN1wWr+6Time1eP7KiWJ5eAM
fw: RWSuRBL44FVkb2QuvtlwOJmzS9UJtbKZd7GEYcol8HPXu4On/Ct1LoZr
pkg: RWTJ1iHLn/zcvJJSbxJIEU9ChlfAlU16XoLLxmxciliOFWfTLyOv0vQs
All applicable copyrights and credits are in the src.tar.gz,
sys.tar.gz, xenocara.tar.gz, ports.tar.gz files, or in the
files fetched via ports.tar.gz.
What's New
This is a partial list of new features and systems included in OpenBSD 5.7.
For a comprehensive list, see the changelog leading
to 5.7.
- Improved hardware support, including:
- New xhci(4) driver for USB 3.0 host controllers.
- New umcs(4) driver for MosChip Semiconductor 78x0 USB multiport serial adapters.
- New skgpio(4) driver for Soekris net6501 GPIO and LEDs.
- New uslhcom(4) driver for Silicon Labs CP2110 USB HID based UART.
- New nep(4) driver for Sun Neptune 10Gb Ethernet devices.
- New iwm(4) driver for Intel 7260, 7265, and 3160 wifi cards.
- The rtsx(4) driver now supports RTS5227 and RTL8411B card readers.
- The bge(4) driver now supports jumbo frames on various additional BCM57xx chipsets.
- The ciss(4) driver now supports HP Gen9 Smart Array/Smart HBA devices.
- The mpi(4) and mfi(4) drivers now have mpsafe interrupt handlers running without the big lock.
- The ppb(4) driver now supports PCI bridges that support subtractive decoding (fixes PCMCIA behind the ATI SB400 PCI bridge), and devices with 64-bit BARs behind PCI-PCI bridges as seen on SPARC T5-2 systems.
- The puc(4) driver now supports Winchiphead CH382 devices.
- The sdmmc(4) driver now supports eMMC storage devices larger than 2GB.
- The sdhc(4) driver can properly resume on Ricoh controllers.
- The sdhc(4) driver now supports Ricoh R5U822 and R5U823 card readers.
- The mfii(4) driver now supports the Megaraid 3008 (Fury) and 3108 (Invader) cards.
- The myx(4) driver runs less code under the big lock.
- The msk(4) driver now supports Yukon Prime, Yukon Optima 2, Yukon 88E8079, and various EC U and Supreme chipsets.
- The umass(4) driver now supports Archos 24y Vision devices.
- The athn(4) driver now supports Atheros UB94 devices.
- The azalia(4) driver now supports Realtek ALC885 codecs and Bay Trail HD Audio devices.
- The ix(4) driver now supports onboard Ethernet devices in SPARC T5 machines.
- The upd(4) driver now handles UPSes with broken report descriptors.
- The ums(4) driver now supports the USB Tablet device emulated by Qemu.
- The umsm(4) driver now supports MEDION S4222 devices.
- The pciide(4) driver now supports Intel C610 chipsets.
- The ukbd(4) driver now supports "wellspring" Apple keyboards.
- The pms(4) driver now supports click-and-drag with Elantech v4 touchpads.
- The umodem(4) driver now supports Arduino Leonardo devices.
- The sk(4) driver now supports receive ring scaling.
- Replaced custom jumbo allocators in
sk(4),
nge(4),
lge(4), and
ti(4) with
MCLGETI(9).
- Wireless network scanning problems with the iwn(4) driver have been fixed.
- Support for RS* IGP Radeon devices in the radeondrm(4) driver has been fixed.
- PowerMac7,2 and PowerMac7,3 can now boot with a multiprocessor kernel.
- Removed hardware support:
- The lofn(4) and nofn(4) drivers for Hifn crypto accelerator devices have been removed.
- The art(4) driver for Accoom Networks Artery T1/E1 devices has been removed.
- The urio(4) driver for Diamond Multimedia Rio MP3 players has been removed.
- Generic network stack improvements:
- The routing table is now used for most of the address lookup operations superseding the RB-tree and IPv4 address list.
- The SipHash algorithm is now used for PCB hashing,
trunk(4) loadbalancing,
pf(4) and
bridge(4).
- Traffic destinated to link-local IPv6 addresses can now be seen with
tcpdump(8).
- A carp(4) now needs to be configured with an explicit carpdev parent interface.
- The
mbuf(9)
layer has been made mpsafe.
- Introduce mbuf_list and mbuf_queue structures and APIs.
- Support changing the IPv6 input queue length via
sysctl(1) and net.inet6.ip6.ifq.
- Installer improvements:
- The etc and xetc sets are now part of base and
xbase and are not distributed separately anymore. They are extracted
from base and xbase during installation and upgrades.
Note that this includes the rc and rc.conf files!
- The installer now supports
trunk(4)
interfaces during upgrades.
- The discovery of the responsefile location for unattended installation and
upgrades has been extended to be more flexible.
- Ask for the location if DHCP discovery fails for location or mode.
- Provide a default URL if the 'next-server' DHCP option is found.
- Use /auto_install.conf or /auto_upgrade.conf if present.
- Automatically start the installer in unattended mode if either one of these
files is present when the system boots.
- Ignore hostname.if.* files when upgrading.
- Configure all physical interfaces before any dynamic interface types (e.g. trunks, vlans) when upgrading.
-
fdisk(8) now zeros out GPT signatures found when writing out an MBR that has been re-initialized and has no EFI or EFISYS partition.
- Fixed manipulation of 'ro' and 'rw' fstab options to avoid damage to other options that happen to contain 'ro' or 'rw'.
- The ramdisk binary (one binary contains all the commands) is now compiled without optimization and security features. The benefit is a substantial saving in space, allowing more features in the future.
- Routing daemons and other userland network improvements:
- nginx has been removed from base -- use the package if you need it.
- sliplogin has been removed.
- Sendmail has been removed from base -- use the package if you need it.
- IPv6 router solicitations are now sent by the kernel ("inet6 autoconf"); rtsol(8) and rtsold(8) are no longer necessary and have been removed.
- Enhancements and bugfixes in arp(8) and ndp(8)
- The effects of the AI_ADDRCONFIG flag on getaddrinfo(3) results are limited to DNS queries. This avoids erratic behavior with transient network problems, "raw" addresses and localhost entries in /etc/hosts.
- gethostbyname(3) now no longer fails when more than 16 addresses/aliases are returned. The original pre-asr limit of 35 has been restored, with additional results being truncated.
- tftp(1) now supports sending or receiving files larger than 65536 blocks in size.
- ntpd(8) now supports authenticated TLS constraints.
- Security improvements:
- Stricter enforcement of W^X in the kernel address space, especially on architectures with the right featureset (amd64, in particular, has seen substantial improvements).
- Support for loadable kernel modules has been removed.
- procfs has been removed.
- Comprehensive audit of the tree to use the reallocarray(3) idiom throughout.
- Many conversions from select(2) to poll(2).
- /var/tmp is now a symbolic link to /tmp, as a first step towards reducing the "fill it up" attack surface against the /var partition.
- memcpy(3) with overlapping arguments now aborts a program (with a syslog report), allowing these problems to be found. Overlapping copies should use memmove(3). Sometime after 5.7 release, having learned more about the situation and repairing instances that are discovered by users during release use, we will go back to the optimized version.
- Change
rand(3),
random(3),
drand48(3),
lrand48(3),
mrand48(3),
srand48(3)
to return non-deterministic strong random values by default, sourced from
arc4random(3).
New functions
srand_deterministic(3),
srandom_deterministic(3),
seed48_deterministic(3) and
lcong48_deterministic(3)
are added for cases where determinism needs to be requested.
- At resume (or unhibernate) time, use a variety of methods to reseed the random number generator. This also works on VMs which wake up (if a wakeup event is seen).
- All architectures have been transitioned to static PIE, meaning the statically linked binaries in /bin and /sbin now have randomly located text segments.
- Allow larger .openbsd.randomdata ELF segments.
- Sync kernel AES code and ssh(1) AES code to the one shipped with OpenSSL/LibreSSL.
- Removed passwd(1) support for all password ciphers except blowfish(3).
- Use sha512 instead of md5 for tcp(4) initial sequence number.
- Use sha512 instead of md5 in the random number generator.
- Delete secret or secret-derived data in many base utilities with explicit_bzero(3).
- Assorted improvements:
- New rcctl(8) utility to control daemons.
- fw_update(1) has been rewritten to be faster and smarter.
- Cleanup libevent(3),
the compatibility layer for other operating systems has been removed.
The API is still compatible with upstream libevent 1.4.15-stable.
- openssl(1)
s_client now supports a -proxy parameter for connecting over an HTTP proxy.
- gzsig has been removed.
- Switch to fast assembly versions of some libc functions on amd64.
- Frequency scaling has been moved from apmd(8) to the kernel with an improved algorithm.
- Switch last workq API uses to
taskq API and remove all traces of workq.
- Use
services(5) names in the default pf rules in force during startup.
-
what(1) now correctly displays $OpenBSD$ expansions.
-
dhcpd(8) now removes addresses from its pf table a single time when they expire, rather than at every timeout after the expiry.
-
dhcpd(8) now ensures that the pf table process exits when the main process does.
-
dhcpd(8) has more informative log entries for DHCPACKs issued in response to DHCPINFORM messages.
- Added POSIX types blkcnt_t (int64) and blksize_t (int32), and used them for st_blocks (formerly int64_t) and st_blksize (formerly u_int32_t) in struct stat.
- Improved typography for
banner(6).
- Allow hangman
to play against any ELF file.
-
dhclient(8) adjusts MTU when the interface-mtu DHCP option is provided.
- Various memory leaks in
dhclient(8) plugged, providing more stability for long running (in terms of time or renewals) instances.
- The
dhclient(8)
command line options -q (quiet) and -d (don't daemonize) are now mutually exclusive.
- The communication between the privileged and unprivileged
dhclient(8) processes was reworked to further minimize information sharing.
-
dhclient(8) ensures lease timeouts (renew, rebind, expire) are sane and uses default values closer to RFC suggestions.
-
dhclient(8) no longer crashes when a lease expires and cannot be renewed or replaced.
-
dhclient(8) improved tracking network interface link states.
- Improved network error tracking and accounting in
dhclient(8).
- Private number conversion functions in
dhclient(8) eliminated in favour of standard library functions.
- Further signal race cleanups in
ftp(1).
- BIND has been retired, encouraging use of
nsd(8) and
unbound(8).
- Significant namespace cleanup in the /usr/include files, especially related to <sys/param.h> and <limits.h>.
- softraid(4) RAID1 and CRYPTO volumes are now bootable on the sparc64 platform.
- relayd(8) now uses "TLS" rather than "SSL" terminology to reflect the deprecation of the latter.
- relayd(8) now supports the random and source-hash modes with redirections.
- relayd(8) now supports the OPENBSD-RELAYD-MIB via agentx with snmpd(8).
- Added interfaces for setting the close-on-exec flag and/or non-blocking mode on new file descriptors: pipe2(2), dup3(2), accept4(2), mkostemp(3), mkostemps(3), the SOCK_CLOEXEC and SOCK_NONBLOCK flags for socket(2) and socketpair(2), and the MSG_CMSG_CLOEXEC flag for recvmsg(2). In addition, posix_spawn_file_actions_adddup2(3) now always clears the close-on-exec flag.
- Added interfaces for setting the close-on-exec flag on new FILE handles and for requesting exclusive creation via the the 'e' and 'x' mode letters for fopen(3), fdopen(3), freopen(3), and popen(3).
- Many library functions and programs changed to use the above for safety or simplicity.
- Added chflagsat(2), sockatmark(3), and stravis(3).
- Merged performance and safety fixes for fts(3) from FreeBSD.
- Merged fixes for file descriptor leaks in various rpc(3) functions from NetBSD.
- Added a kern.global_ptrace sysctl(1) to disable, by default, the ability to ptrace(2) processes that aren't your descendent.
- kdump(1) now always displays both the numeric and the textual forms for users, groups, timestamps, and sysctl ids, eliminating the -r option. It also auto-selects between decimal and hex format for arguments, renders more types of flags, and is more robust when parsing corrupt ktrace files.
- chmod(1)/chgrp(1)/chown(8) now comply with POSIX's requirements when they encounter symlinks when the -R option is used, and are safe from race conditions when doing so.
- The dmesg(8) utility can now display the console message buffer in addition to the system message buffer.
- inetd(8) now uses libevent instead of
select(3).
- Reworking of the kernel
pool(9)
implementation to provide mpsafety and pave the way for performance improvements.
- Removed the
workq API
after replacing it with the
task API.
- Add support for creating kernel threads that cannot sleep to
taskq_create(9).
- Completed the implementation of the atomic (eg,
atomic_cas_uint(9),
atomic_swap_uint(9),
atomic_add_int(9),
atomic_sub_int(9),
atomic_inc_int(9), and
atomic_dec_int(9))
and membar
(membar_sync(9))
APIs across all supported architectures.
- OpenBSD httpd(8):
- SSLv2/3 is not supported anymore; renamed all occurrences of "SSL" to "TLS".
- Various TLS improvements with better support for ECDHE/DHE forward secrecy.
- Improved support for virtual hosts by supporting name- and IP- based aliases.
- Added support for basic authentication by checking against files created with htpasswd(1).
- Added support for custom error codes, blocking and dropping of connections.
- Added support for redirections and macros in specified target URLs.
- Added the "root strip" option to sanitize PATH_INFO for some CGI scripts.
- Added an option to specify an alternative log directory instead of /var/www/logs.
- Various FastCGI improvements; httpd(8) is now compatible with many well-known web applications.
- Various other fixes and improvements.
- OpenSMTPD 5.4.4:
- SSLv3 is not supported anymore.
- Added support for a new message and headers parser.
- Added support for append-domain.
- Restricted address lookups to configured address families.
- Domain is no longer required when mailing a local user.
- Various other fixes and improvements.
- OpenSSH 6.8
- Potentially-incompatible changes:
- sshd(8):
UseDNS now defaults to 'no'. Configurations that match
against the client host name (via
sshd_config(5)
or authorized_keys) may need to re-enable it or convert to
matching against addresses.
- New/changed features:
- Much of OpenSSH's internal code has been re-factored to be more
library-like. These changes are mostly not user-visible, but
have greatly improved OpenSSH's testability and internal layout.
- Add FingerprintHash option to
ssh(1)
and
sshd(8),
and equivalent command-line flags to the other tools to control
algorithm used for key fingerprints. The default changes from MD5
to SHA256 and format from hex to base64. Fingerprints now have the
hash algorithm prepended. Please note that visual host keys will also
be different.
- ssh(1),
sshd(8):
Experimental host key rotation support. Add a protocol extension
for a server to inform a client of all its available host keys after
authentication has completed. The client may record the keys in
known_hosts, allowing it to upgrade to better host key
algorithms and a server to gracefully rotate its keys. The client
side of this is controlled by a UpdateHostkeys config option
(default off).
- ssh(1):
Add a
ssh_config(5)
HostbasedKeyType option to control which host public key types
are tried during host-based authentication.
- ssh(1),
sshd(8):
fix connection-killing host key mismatch errors when
sshd(8)
offers multiple ECDSA keys of different lengths.
- ssh(1):
when host name canonicalisation is enabled, try to parse host names
as addresses before looking them up for canonicalisation. Fixes
bz#2074 and avoiding needless DNS lookups in some cases.
- ssh-keygen(1),
sshd(8):
Key Revocation Lists (KRLs) no longer require OpenSSH to be
compiled with OpenSSL support.
- ssh(1),
ssh-keysign(8):
Make ed25519 keys work for host based authentication.
- sshd(8):
SSH protocol v.1 workaround for the Meyer, et al., Bleichenbacher
Side Channel Attack. Fake up a bignum key before RSA decryption.
- sshd(8):
Remember which public keys have been used for authentication and
refuse to accept previously-used keys. This allows
AuthenticationMethods=publickey,publickey to require that
users authenticate using two different public keys.
- sshd(8):
add
sshd_config(5)
HostbasedAcceptedKeyTypes and PubkeyAcceptedKeyTypes
options to allow
sshd(8)
to control what public key types will be accepted. Currently defaults
to all.
- sshd(8):
Don't count partial authentication success as a failure against
MaxAuthTries.
- ssh(1):
Add RevokedHostKeys option for the client to allow text-file
or KRL-based revocation of host keys.
- ssh-keygen(1),
sshd(8):
Permit KRLs that revoke certificates by serial number or key ID without
scoping to a particular CA.
- ssh(1):
Add a "Match canonical" criteria that allows
ssh_config(5)
Match blocks to trigger only in the second config pass.
- ssh(1):
Add a -G option to
ssh(1)
that causes it to parse its configuration and dump the result to
stdout, similar to "sshd -T".
- ssh(1):
Allow Match criteria to be negated
(e.g. "Match !host").
- The regression test suite has been extended to cover more OpenSSH
features. The unit tests have been expanded and now cover key
exchange.
- The following significant bugs have been fixed in this release:
- ssh-keyscan(1):
ssh-keyscan(1)
has been made much more robust again servers that hang or violate
the SSH protocol.
- ssh(1),
ssh-keygen(1):
Fix regression bz#2306: Key path names were being lost as comment
fields.
- ssh(1):
Allow
ssh_config(5)
Port options set in the second config parse phase to be
applied (they were being ignored). (bz#2286)
- ssh(1):
Tweak config re-parsing with host canonicalisationmake the
second pass through the config files always run when host name
canonicalisation is enabled (and not whenever the host name changes).
(bz#2267)
- ssh(1):
Fix passing of wildcard forward bind addresses when connection
multiplexing is in use. (bz#2324)
- ssh-keygen(1):
Fix broken private key conversion from non-OpenSSH formats. (bz#2345)
- ssh-keygen(1):
Fix KRL generation bug when multiple CAs are in use.
- Various fixes to manual pages. (bz#2273, bz#2288 and bz#2316)
- LibreSSL
- User-visible features:
- Reluctantly add server-side support for TLS_FALLBACK_SCSV.
- Import BoringSSL's crypto bytestring and crypto bytebuilder
APIs.
- Jettison DTLS over SCTP.
- Move
openssl(1)
from /usr/sbin/openssl to /usr/bin/openssl.
- Two important cipher suites, GOST and Camellia, have been reworked
or reenabled, providing better interoperability with systems around
the world.
- libtls: New API for loading CA chains directly from memory instead
of a file, allowing verification with privilege separation in a
chroot(8)
without direct access to CA certificate files.
- libtls: Ciphers default to TLSv1.2 with AEAD and PFS.
- libtls: Improved error handling and message generation.
- Added X509_STORE_load_mem API for loading certificates from
memory. This facilitates accessing certificates from a chrooted
environment.
- New AEAD "MAC alias" allows configuring TLSv1.2 AEAD ciphers by
using 'TLSv1.2+AEAD' as the cipher selection string.
- New
openssl(1)
command 'certhash' replaces the c_rehash script.
- Application-Layer Protocol Negotiation (ALPN) support.
- Code improvements:
- Dead and disabled code removal including MD5, Netscape workarounds,
non-POSIX IO, SCTP, RFC 3779 support, "#if 0" sections, and more.
- The ASN1 macros are expanded to aid readability and maintainability.
- Various NULL pointer asserts removed in favor of letting the
OS/signal handler catch them.
- Dozens of issues found with the Coverity scanner fixed.
- Security updates:
- Fix a Bleichenbacher style timing oracle with bad PKCS padding.
- Fix memory leaks.
- Address POODLE attack by disabling SSLv3 by default.
- SHA256 Camellia cipher suites for TLS 1.2 from RFC 5932.
- Earlier libtls support for non-blocking sockets and randomized
session ID contexts.
- Ensure the stack is marked non-executable for assembly sections.
- Multiple CVEs fixed including CVE-2014-3506, CVE-2014-3507,
CVE-2014-3508, CVE-2014-3509, CVE-2014-3510, CVE-2014-3511,
CVE-2014-3570, CVE-2014-3572, CVE-2014-8275, CVE-2015-0205
and CVE-2015-0206.
- mandoc 1.13.3:
- man(1),
apropos(1), and
mandoc(1)
now have a unified user interface, all with the same options,
and are in fact all implemented by the same binary program.
- For man(1),
this implies new options -l and -IKOTW,
and it now finds manual pages by the names in their NAME sections
even if they lack matching file names.
- For apropos(1),
this implies new options -acfhklw and -IKOTW.
- For mandoc(1),
this implies new options -acfhkl.
- mandoc(1)
now automatically detects and transparently accepts input encoded
in utf-8 and iso-8859-1, and provides a new option -K to explicitly
specify the input encoding.
- The mandoc(1)
default output mode now is -Tlocale rather than -Tascii.
- eqn(7)
now supports in-line equations,
and terminal rendering of equations is considerably improved.
- mandoc(1) -Thtml
now generates polyglot HTML5 and renders
eqn(7)
using MathML.
- mandoc(1)
can no longer fail with fatal errors, no matter how broken the input
file may be, and the -Wfatal message level no longer has any effect.
A new diagnostic level -Wunsupp is provided. Besides, many
diagnostic messages are now more specific.
- Many crashes were fixed that Jonathan Gray found with the
American Fuzzy Lop (afl).
- Syslogd:
- OpenBSD syslogd(8)
is based on
libevent
now.
- Sending and receiving UDP messages works with both IPv4 and IPv6.
- Syslog messages can also be sent over TCP or TLS.
The syntax to specify the loghost is documented in
syslog.conf(5).
- Sending over TCP and TLS is reliable.
If a connection terminates, syslogd tries to reconnect.
When the message buffer in memory gets full, the number of dropped
messages is counted and logged.
- With TLS, the x509 certificate of the syslog server is verified.
- The maximum message size has been increased according to newer RFC.
- Ports and packages:
- Many pre-built packages for each architecture:
- i386: 8722
- sparc64: 8184
- alpha: 6811
- sh: 0
|
- amd64: 8745
- powerpc: 8286
- m88k: 1148
- sparc: 4026
|
- arm: 0
- hppa: 6718
- vax: 1550
|
- mips64: 1595
- mips64el: 6914
|
- Some highlights:
- Chromium 40.0.2214.115
- Emacs 21.4 and 24.4
- GCC 4.8.4 and 4.9.2
- GHC 7.8.4
- GNOME 3.14.2
- Go 1.4.1
- Groff 1.22.3
- JDK 1.7.0.71
- KDE 3.5.10 and 4.14.3
- LLVM/Clang 3.5 (20140228)
- LibreOffice 4.3.5.2
- MariaDB 10.0.16
- Mono 3.12.0
- Mozilla Firefox 31.4.0esr and 35.0.1
- Mozilla Thunderbird 31.4.0
|
- Node.js 0.10.35
- OpenLDAP 2.3.43 and 2.4.40
- PHP 5.3.29, 5.4.38, 5.5.22 and 5.6.5
- Postfix 2.11.4
- PostgreSQL 9.4.1
- Python 2.7.9 and 3.4.2
- R 3.1.2
- Ruby 1.8.7.374, 1.9.3.551, 2.0.0.598, 2.1.5, and 2.2.0
- Sendmail 8.15.1
- Tcl/Tk 8.5.16 and 8.6.2
- TeX Live 2013
- Vim 7.4.475
- Xfce 4.10
|
|
- 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.7 with xserver 1.16.4 + patches,
freetype 2.5.5, fontconfig 2.11.1, Mesa 10.2.9, xterm 314,
xkeyboard-config 2.13 and more)
- Gcc 4.2.1 (+ patches) and 3.3.6 (+ patches)
- Perl 5.20.1 (+ patches)
- SQLite 3.8.6 (+ patches)
- NSD 4.1.1
- Unbound 1.5.2
- Sudo 1.7.2p8
- Ncurses 5.7
- Binutils 2.15 (+ patches)
- Gdb 6.3 (+ patches)
- Less 458 (+ patches)
- Awk Aug 10, 2011 version
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 HTTP (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 mirror site for
extensive details on how to install OpenBSD 5.7 on your machine:
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:
The OpenBSD/i386 release is on CD1.
Boot from the CD to begin the install - you may need to adjust
your BIOS options first.
If your machine can boot from USB, you can write install57.fs or
miniroot57.fs to a USB stick and boot from it.
If you can't boot from a CD, floppy disk, or USB,
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.
OpenBSD/amd64:
The OpenBSD/amd64 release is on CD2.
Boot from the CD to begin the install - you may need to adjust
your BIOS options first.
If your machine can boot from USB, you can write install57.fs or
miniroot57.fs to a USB stick and boot from it.
If you can't boot from a CD, floppy disk, or USB,
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:
Burn the image from a mirror site to a CDROM, and power on 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
/5.7/macppc/bsd.rd
OpenBSD/sparc64:
5.7 Errata 001:
Unfortunately, 5.7 cannot boot from CDROM on some machines due
a bootloader bug.
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:5.7/sparc64/floppy57.fs or CD3:5.7/sparc64/floppyB57.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:5.7/sparc64/miniroot57.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:5.7/alpha/floppy57.fs or
FTP:5.7/alpha/floppyB57.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/hppa:
OpenBSD/landisk:
Write miniroot57.fs to the start of the CF
or disk, and boot normally.
OpenBSD/loongson:
Write miniroot57.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/luna88k:
Copy `boot' and `bsd.rd' to a Mach or UniOS partition, and boot the bootloader
from the PROM, and the bsd.rd from the bootloader.
Refer to the instructions in INSTALL.luna88k for more details.
OpenBSD/octeon:
After connecting a serial port, boot bsd.rd over the network via DHCP/tftp.
Refer to the instructions in INSTALL.octeon for more details.
OpenBSD/sgi:
To install, burn cd57.iso on a CD-R, put it in the CD drive of your
machine and select Install System Software from the System Maintenance
menu. Indigo/Indy/Indigo2 (R4000) systems will not boot automatically from
CD-ROM, and need a proper invocation from the PROM prompt.
Refer to the instructions in INSTALL.sgi for more details.
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 5.7/sparc/bsd.rd
or
> b sd(0,6,0)5.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 floppy57.fs to a floppy.
For more information see this page.
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
openbsd57_arm.ipk package. Reboot, then run it. Read INSTALL.zaurus
for a few important details.
How to upgrade
If you already have an OpenBSD 5.6 system, and do not want to reinstall,
upgrade instructions and advice can be found in the
Upgrade Guide.
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.
Ports Tree
A ports tree archive is also provided. To extract:
# cd /usr
# tar xvfz /tmp/ports.tar.gz
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 up to date with the -stable branch, you must make
the ports/ tree available on a read-write medium and update the tree
with a command like:
# cd /usr/ports
# cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_5_7
[Of course, you must replace the server name here with a nearby anoncvs
server.]
Note that most ports are available as packages on our mirrors. Updated
ports for the 5.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.