Eine saubere Installation legt den Grundstein für Sicherheit und Reproduzierbarkeit. Die OpenBSD-Installation erfolgt über einen interaktiven Dialog, der durch alle notwendigen Schritte führt. Das System bootet von einem Installationsmedium, lädt einen minimalen Kernel und startet das Installationsprogramm. Die gesamte Installation benötigt etwa 15 Minuten auf moderner Hardware.
Der Installer arbeitet mit signierten Sets – vorkompilierte Komponenten des Base-Systems. Jedes Set wird während der Installation über SHA256-Prüfsummen verifiziert. Diese Signaturen garantieren, dass die installierte Software exakt dem entspricht, was das Projekt veröffentlicht hat.
Download und Verifikation
OpenBSD veröffentlicht Releases auf openbsd.org und Mirror-Servern. Für amd64-Systeme stehen install78.img (USB-Stick) und install78.iso (CD/DVD) zur Verfügung. Die Signatur-Datei SHA256.sig heißt für alle Releases gleich – bei mehreren Versionen empfiehlt sich Organisation nach Release und Architektur:
mkdir -p ~/iso/openbsd/7.8/amd64
cd ~/iso/openbsd/7.8/amd64
wget https://cdn.openbsd.org/pub/OpenBSD/7.8/amd64/install78.img
wget https://cdn.openbsd.org/pub/OpenBSD/7.8/amd64/SHA256.sig
wget https://cdn.openbsd.org/pub/OpenBSD/7.8/openbsd-78-base.pub
Jedes Release wird mit signify signiert – OpenBSDs eigenem Signatur-Tool. Die Datei SHA256.sig enthält die signierten Prüfsummen aller Release-Dateien.
$ signify -C -p openbsd-78-base.pub -x SHA256.sig install78.img
Signature Verified
install78.img: OK
signify aus AUR, Debian: signify-openbsd). Alternativ genügt für initiale Tests die SHA256-Prüfung mit sha256sum install78.img und manuellem Vergleich der Prüfsumme aus SHA256.sig.
Der öffentliche Schlüssel /etc/signify/openbsd-78-base.pub ist in bestehenden OpenBSD-Installationen enthalten. Für Erstinstallationen liegt er auf der Website zum Download bereit. Die Verifikation schlägt fehl, wenn die Datei manipuliert wurde oder die Signatur nicht übereinstimmt.
Installationsmedium erstellen
Das install78.img kann direkt auf einen USB-Stick geschrieben werden:
# dd if=~/iso/openbsd/7.8/amd64/install78.img of=/dev/sdX bs=1M
/dev/sdX kann das falsche Laufwerk löschen – Gerätebezeichnung doppelt prüfen.
Das X steht für die Gerätebezeichnung – /dev/sdb oder /dev/sdc je nach System. Der Stick muss nicht formatiert werden; das Image enthält eine vollständige Partitionstabelle und Dateisysteme.
Nach dem Schreibvorgang bootet das System von diesem Medium. Das BIOS oder UEFI muss USB als Boot-Quelle unterstützen. Die meisten modernen Systeme zeigen ein Boot-Menü bei F12 oder einer ähnlichen Taste.
Boot-Prozess und Installer-Start
Nach dem Boot lädt der Bootloader /bsd.rd – den RAM-Disk-Kernel. Dieser Kernel enthält das Installationsprogramm und alle notwendigen Tools in einem temporären Dateisystem. Kein Zugriff auf bestehende Daten erfolgt, solange der Installer nicht explizit Partitionen mountet.
Der Installer zeigt zunächst die System-Konsole mit Kernel-Boot-Messages. Die Ausgabe listet erkannte Hardware: Prozessor, Speicher, Festplatten, Netzwerkkarten. Diese Messages helfen bei Hardware-Problemen – fehlende Treiber werden hier sichtbar.

Bild: Installer-Start: Hardware-Erkennung und Installations-Auswahl
Das Installationsprogramm startet automatisch nach dem Kernel-Boot und zeigt die Installations-Optionen:
- (I)nstall - Neuinstallation (Standard-Weg)
- (U)pgrade - Bestehendes System aktualisieren
- (A)utoinstall - Automatische Installation via Konfigurationsdatei
- (S)hell - Shell für manuelle Reparaturen oder Experimente
Für eine Standard-Installation I eingeben und Enter drücken.
Tastaturlayout
Der erste interaktive Dialog fragt nach dem Tastaturlayout. Die Eingabe ? oder L zeigt alle verfügbaren Layouts.

Bild: Tastaturlayout mit de.nodead für technische Arbeit
Für deutsche Tastaturen stehen zwei Varianten zur Verfügung:
- de - Mit Dead Keys (Akzente über zwei Tastendrücke)
- de.nodead - Direkter Zugriff auf Backticks, Zirkumflex und Tilde
de.nodead – direkter Zugriff auf Backticks und Sonderzeichen erleichtert die Terminal-Arbeit und Programmierung erheblich.
System-Hostname
Der Hostname identifiziert das System im Netzwerk. Der Installer fragt nach einem kurzen Namen ohne Domain – beispielsweise server oder desktop. Die vollständige FQDN wird später über DNS oder /etc/hosts aufgelöst.
Netzwerk-Konfiguration
Der Installer fragt nach Netzwerk-Einstellungen. Die erkannten Netzwerk-Interfaces werden aufgelistet – beispielsweise em0 für Intel-Netzwerkkarten oder vio0 bei virtuellen Maschinen.
IPv4 kann über automatische Konfiguration oder statische Zuweisung erfolgen:
IPv4 address for vio0? (or 'autoconf' or 'none') [autoconf]
Für automatische Konfiguration via DHCP einfach Enter drücken. Der Installer erstellt dann:
/etc/hostname.em0:
inet autoconf
Statische IP-Adressen benötigen explizite Konfiguration:
/etc/hostname.em0:
inet 192.168.1.10 255.255.255.0
!route add default 192.168.1.1
Der DNS-Resolver wird in /etc/resolv.conf konfiguriert. Automatische Konfiguration überschreibt diese Datei. Statische Setups benötigen manuelle Einträge:
/etc/resolv.conf:
nameserver 192.168.1.1
lookup file bind
Die Netzwerk-Konfiguration aktiviert sich nach dem ersten Boot. Der Installer testet die Verbindung nicht während der Installation – Set-Downloads zeigen, ob das Netzwerk funktioniert.
Root-Passwort
Der Root-Account erhält während der Installation ein Passwort. OpenBSD aktiviert keinen Passwort-Login für Root über SSH – nur Key-basierte Authentifizierung ist erlaubt. Diese Einschränkung reduziert Brute-Force-Risiken erheblich.
Password for root account? (will not echo)
Password for root account? (again)
Das Passwort wird zweimal abgefragt zur Bestätigung. Die Eingabe erscheint nicht auf dem Bildschirm.
SSH-Daemon
Der Installer fragt, ob der SSH-Daemon automatisch beim Systemstart aktiviert werden soll:
Start sshd(8) by default? [yes]
Bei Bestätigung wird der SSH-Server in /etc/rc.conf.local aktiviert:
/etc/rc.conf.local:
sshd_flags=
Leere Flags bedeuten: Dienst aktiviert mit Standardparametern. Der SSH-Server lauscht auf Port 22 und akzeptiert Verbindungen von allen Interfaces.
Die SSH-Konfiguration kann nach der Installation in /etc/ssh/sshd_config angepasst werden. Typische Anpassungen umfassen Port-Änderungen, Interface-Beschränkungen oder zusätzliche Sicherheitsmaßnahmen.
X Window System
Der Installer fragt nach der geplanten Nutzung des X Window Systems:
Do you expect to run the X Window System? [yes]
Diese Frage beeinflusst nicht die Set-Auswahl – alle Sets einschließlich X11-Komponenten sind standardmäßig aktiviert. Bei Bestätigung folgt jedoch eine zusätzliche Frage zum Display Manager:
Do you want the X Window System to be started by xenodm(1)? [no]
xenodm ist OpenBSDs Display Manager – er startet die grafische Oberfläche automatisch beim Boot und bietet einen grafischen Login-Screen.
- yes - Desktop-System mit automatischem X11-Start und grafischem Login
- no - X11 installiert, aber manueller Start via
startxerforderlich
Server-Installationen wählen bei der ersten Frage no und müssen X11-Sets später bei der Set-Auswahl manuell abwählen (siehe Set-Auswahl weiter unten).
Serielle Konsole
Der Installer bietet an, die Standard-Konsole auf die serielle Schnittstelle umzuleiten:
Change the default console to com0? [no]
Die serielle Konsole (com0) ermöglicht System-Zugriff über RS232/UART ohne Grafikkarte oder Monitor. Dies ist relevant für:
- Headless-Server in Rechenzentren ohne lokale Konsole
- Embedded-Systeme mit serieller Schnittstelle als primärem Interface
- Remote-Diagnose über serielle Konsolen-Server
- IPMI/iLO/iDRAC Lösungen mit SOL (Serial Over LAN)
Systeme mit normaler Grafikkonsole (VGA/HDMI) oder virtuelle Maschinen mit Display benötigen keine serielle Konsole. Der Standard [no] ist für Desktop- und Standard-Server-Installationen korrekt.
Die serielle Konsole kann nach der Installation über /etc/boot.conf aktiviert werden:
/etc/boot.conf:
set tty com0
Die Baudrate (Standard: 9600) und weitere Parameter werden beim Kernel-Boot gesetzt. OpenBSD unterstützt Baudraten von 9600 bis 115200 bps.
Benutzer-Erstellung
Der Installer fordert zur Erstellung eines regulären Benutzers auf:
Setup a user? (enter a lower-case loginname, or 'no') [no]
Dieser Account wird automatisch der Gruppe wheel hinzugefügt und erhält damit die Berechtigung, Root-Befehle über doas auszuführen.

Bild: Benutzer-Erstellung: Root ist Ziel von Brute-Force-Angriffen
Nach der Benutzer-Erstellung fragt der Installer nach der Root-SSH-Konfiguration:
WARNING: root is targeted by password guessing attacks, pubkeys are safer.
Allow root ssh login? (yes, no, prohibit-password) [no]
Die drei Optionen bedeuten:
- no (Standard) - Root-Login über SSH komplett deaktiviert
- prohibit-password - Root-Login nur mit SSH-Keys, keine Passwörter
- yes - Root-Login mit Passwort erlaubt (nicht empfohlen)
[no] blockiert jeglichen Root-SSH-Zugang. Reguläre Benutzer loggen sich ein und nutzen doas für Root-Befehle. Dies ist die sicherste Konfiguration gegen Brute-Force-Angriffe.
Die Einstellung wird in /etc/ssh/sshd_config gespeichert:
# [no] gesetzt:
PermitRootLogin no
# [prohibit-password] gesetzt:
PermitRootLogin prohibit-password
# [yes] gesetzt:
PermitRootLogin yes
Die Konfiguration kann nach der Installation in /etc/ssh/sshd_config geändert werden. Server-Installationen wählen typischerweise [no] oder prohibit-password.
/etc/doas.conf wird vom Installer nicht automatisch erstellt. Nach der Installation muss diese Datei manuell angelegt werden, damit doas funktioniert.
Timezone
Der Installer fragt nach der Zeitzone:
What timezone are you in? ('?' or 'L' for list) [Europe/Berlin]
Die Eingabe ? zeigt verfügbare Regionen, L listet alle Zeitzonen. Für Deutschland ist Europe/Berlin korrekt. Die Zeitzone wird in /etc/localtime gespeichert.
Festplatten-Auswahl
Der Installer listet alle verfügbaren Datenträger – typischerweise sd0 für die erste Festplatte. Bei mehreren Festplatten erscheinen sd1, sd2 und weitere.
Available disks are: sd0.
Which disk is the root disk? ('?' for details) [sd0]
Verschlüsselung (optional)
Vor der Partitionierung bietet der Installer Full Disk Encryption über softraid(4):
Encrypt the root disk with a (p)assphrase or (k)eydisk? [no]
- (p)assphrase - Verschlüsselung mit Passwort
- (k)eydisk - Verschlüsselung mit USB-Stick als Schlüssel
- [no] - Keine Verschlüsselung (Standard)
Bei verschlüsselten Systemen wird die Passphrase bei jedem Boot abgefragt. Dies schützt Daten bei physischem Zugriff auf die Festplatte, erhöht aber den Aufwand beim Systemstart.
Partitionstabelle wählen
Der Installer erkennt den Boot-Modus und fragt nach der Partitionstabelle:
Use (W)hole disk MBR, whole disk (G)PT or (E)dit? [whole]
- (W)hole disk MBR - Für Legacy BIOS-Systeme
- (G)PT - Für UEFI-Systeme
- (E)dit - Manuelle Konfiguration für spezielle Anforderungen
Wichtig: Der Boot-Modus muss zur Partitionstabelle passen. Ein System im Legacy BIOS-Modus benötigt MBR, ein UEFI-System nutzt GPT.
Partitionierung
OpenBSD nutzt Disklabels für die Partitionierung. Ein Datenträger /dev/sd0 erhält ein Disklabel mit bis zu 16 Partitionen (a bis p). Partition a enthält typischerweise das Root-Dateisystem, b wird für Swap genutzt. OpenBSD abstrahiert dabei MBR und GPT – das Disklabel-System funktioniert auf beiden.
Der Installer bietet automatische und manuelle Partitionierung:
Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a]
Automatisch erstellt ein Standard-Layout:

Bild: Auto-Layout: Trennung von System-Komponenten für erhöhte Stabilität
- a:
/(root) - Basis-System und Kernel - b:
swap- Auslagerungsspeicher - d:
/tmp- Temporäre Dateien - e:
/var- Variable Daten, Logs, Spool - f:
/usr- Programme und Bibliotheken - g:
/usr/X11R6- X Window System - h:
/usr/local- Lokal installierte Software - i:
/usr/src- Quellcode des Systems - j:
/usr/obj- Build-Verzeichnis - k:
/home- Benutzer-Verzeichnisse
Diese Aufteilung trennt System-Komponenten von Benutzer-Daten. Ein volles /var beeinträchtigt nicht das Root-Dateisystem. Logs und Spool-Verzeichnisse bleiben isoliert.
Manuelle Partitionierung ermöglicht eigene Layouts. Der Editor disklabel -E /dev/sd0c zeigt die aktuelle Konfiguration und erlaubt Änderungen. Neue Partitionen entstehen mit dem a-Befehl (add), bestehende werden mit d gelöscht.
Jede Partition benötigt:
- Größe in Sektoren oder mit Suffix (G für Gigabyte)
- Offset – Startposition auf der Festplatte
- Mount-Point für Dateisystem-Partitionen
- FS-Type – 4.2BSD für FFS (Fast File System)
Der Installer berechnet Offsets automatisch, wenn nur Größen angegeben werden. Die Änderungen werden erst nach Bestätigung auf die Festplatte geschrieben.
Set-Auswahl und Installation
OpenBSD organisiert das Base-System in Sets – komprimierte tar-Archive mit Systemkomponenten:
- bsd – Kernel für die primäre Architektur
- bsd.rd – RAM-Disk-Kernel für Installation und Wartung
- bsd.mp – Multi-Processor-Kernel (nur amd64)
- base78.tgz – Basis-System (Shell, Utilities, Libraries)
- comp78.tgz – Compiler und Entwicklungstools
- man78.tgz – Manual-Pages
- game78.tgz – BSD-Spiele
- xbase78.tgz – X Window System Basis
- xfont78.tgz – X11 Fonts
- xserv78.tgz – X Server
- xshare78.tgz – X11 Zusatzdateien
Set-Source wählen
Der Installer fragt nach der Installations-Quelle:
Location of sets? (cd0 disk http nfs or 'done') [http]
Für Netzwerk-Installation via HTTP wird nach einem optionalen Proxy gefragt, dann folgt die Mirror-Server-Auswahl. Der Installer schlägt automatisch einen passenden Mirror vor oder zeigt eine Liste verfügbarer Server.
Sets auswählen

Bild: Set-Auswahl: X11-Komponenten für Server-Installation deaktiviert
Alle Sets sind standardmäßig aktiviert – unabhängig von der X Window System Frage. Server-Installationen sollten X11-Sets manuell abwählen:
Set name(s)? (or 'abort' or 'done') [done] -x*
Das Pattern -x* entfernt alle Sets, die mit x beginnen. Zusätzlich kann -game* die Spiele-Sets entfernen.
Ein minimales Server-System benötigt nur:
bsd, bsd.rd, bsd.mp, base78.tgz, comp78.tgz, man78.tgz
Desktop-Systeme installieren alle Sets für vollständige Funktionalität.
Verifikation und Installation
Die Sets werden vom gewählten Mirror heruntergeladen. Der Installer lädt zuerst die Signatur-Datei SHA256.sig und verifiziert dann jedes Set während des Downloads.

Bild: Download und SHA256-Verifikation aller installierten Sets
Jedes Set wird nach dem Download über SHA256-Prüfsummen verifiziert. Manipulierte oder beschädigte Sets werden abgelehnt, die Installation stoppt mit einem Fehler.
Der Installer zeigt den Fortschritt für jedes Set einzeln – erst Download, dann Verifikation, schließlich Installation. Die gesamte Set-Installation dauert je nach Netzwerkgeschwindigkeit zwischen 5 und 15 Minuten.
Nach der Installation bestätigt der Installer die Quelle:
Location of sets? (cd0 disk http nfs or 'done') [done]
Mit Enter für [done] fortfahren.
Zeit-Synchronisation
Der Installer prüft die Systemzeit und bietet bei Abweichungen eine Korrektur an:
Time appears wrong. Set to 'Sat Nov 1 21:26:24 CET 2025'? [yes]
Die korrekte Systemzeit ist wichtig für Zertifikats-Validierung und Sicherheits-Updates. Bei automatischer Netzwerk-Konfiguration erkennt der Installer meist die korrekte Zeitzone.
Installations-Abschluss
Nach der Set-Installation führt der Installer finale Konfigurationsschritte durch:
- Konfigurationsdateien speichern
- Device-Nodes erstellen
- Multiprocessor-Erkennung (wechselt zu bsd.mp falls verfügbar)
- Firmware-Updates suchen (fw_update)
- Kernel-Relinking für ASLR-Randomisierung
Der Installer zeigt abschließend:

Bild: Installation abgeschlossen – System bereit für ersten Boot
CONGRATULATIONS! Your OpenBSD install has been successfully completed!
When you login to your new system the first time, please read your mail
using the 'mail' command.
Exit to (S)hell, (H)alt or (R)eboot? [reboot]
Neustart vorbereiten
Der Installer bietet drei Optionen:
- (S)hell - Zur Shell wechseln für manuelle Änderungen
- (H)alt - System herunterfahren
- (R)eboot - Sofortiger Neustart
Vor dem ersten Boot das Installationsmedium entfernen!
Empfohlene Vorgehensweise:
Heingeben für Halt- Installationsmedium entfernen:
- VM: ISO/Image aus virtuellem Laufwerk werfen
- Hardware: USB-Stick abziehen oder CD entnehmen
- System manuell neu starten
Bei sofortigem Reboot mit R bootet das System erneut vom Installationsmedium und startet den Installer erneut.
Erste Schritte nach der Installation
Nach dem Neustart bootet das System vom internen Speicher. Der Bootloader zeigt den Namen des geladenen Kernels – standardmäßig /bsd oder /bsd.mp bei Multiprocessor-Systemen. Ein Login-Prompt erscheint auf der Konsole.

Bild: Erster Boot: System-Dienste starten, Login-Prompt erscheint
OpenBSD startet bewusst mit minimalem Diensteset, um die Angriffsfläche zu reduzieren. Das System startet nur SSH und cron – wie im ersten Artikel erklärt. Keine weiteren Netzwerk-Dienste laufen. Die Firewall pf ist aktiv, blockiert aber nichts – das Default-Ruleset ist leer.
Post-Installation Mail lesen
Das System sendet wichtige Informationen per Mail an den ersten Benutzer:
$ mail
Die Mail enthält Willkommensinformationen, First-Boot-Logs und Installations-Details. Diese Informationen helfen bei der initialen System-Konfiguration.
doas-Konfiguration aktivieren
Nach dem ersten Login muss /etc/doas.conf manuell erstellt werden:
$ su -
Password: [root-passwort]
# echo "permit persist :wheel" > /etc/doas.conf
# exit
$ doas whoami
root
Das persist-Flag speichert die Authentifizierung für einige Minuten – wiederholte doas-Aufrufe benötigen kein erneutes Passwort.
Erst nach diesem Schritt funktioniert doas für reguläre Benutzer.
Updates installieren
Updates sollten direkt nach der Installation eingespielt werden:
$ doas syspatch
Das Tool lädt Sicherheitspatches vom offiziellen Server und installiert diese. Der erste Aufruf aktualisiert häufig syspatch selbst und fordert einen erneuten Aufruf:
$ doas syspatch
syspatch: updated itself, run it again to install missing patches
$ doas syspatch
Installing patch 003_unbound
Installing patch 004_libssl
Installing patch 005_smtpd
Ein Neustart kann notwendig sein, wenn Kernel-Patches enthalten sind. Das Tool informiert darüber am Ende der Installation.
/pub/OpenBSD/patches/.
Die Paketverwaltung wird über pkg_add initialisiert:
$ doas pkg_add -u
Der erste Aufruf lädt die Package-Liste vom Mirror. Nachfolgende Software-Installationen erfolgen über pkg_add package-name. Die nächsten Artikel behandeln Paketverwaltung und Systemkonfiguration im Detail.
rc.conf und Boot-Konfiguration
Die Datei /etc/rc.conf.local überschreibt System-Defaults aus /etc/rc.conf. Standard-Services sind deaktiviert – lokale Aktivierungen erfolgen in rc.conf.local:
/etc/rc.conf.local:
httpd_flags=
ntpd_flags=-s
Leere Flags aktivieren den Dienst mit Standardparametern. Der HTTP-Server httpd startet ohne zusätzliche Parameter. Der NTP-Daemon erhält das -s-Flag für initiale Zeitsynchronisation.
Dienste starten über RC-Skripte in /etc/rc.d/. Die Datei /etc/rc.conf definiert Standard-Flags – meist leer oder deaktiviert. Lokale Änderungen in rc.conf.local überschreiben diese Werte beim Boot.
Das System liest beide Dateien während des Boot-Prozesses. Services starten in definierter Reihenfolge basierend auf Abhängigkeiten. Die nachfolgenden Artikel erklären Service-Management und Daemon-Konfiguration ausführlich.
Verwendete Informationen
Diese Anleitung bezieht sich auf:
- OpenBSD: 7.7, 7.8
- Architektur: amd64 (primär), allgemeine Konzepte gelten für alle Plattformen
- Kontext: Server- und Desktop-Installation
- Stand: November 2025
Die Installation bildet das Fundament für die folgenden Artikel. Der nächste Artikel behandelt die Systemkonfiguration – Netzwerk, Zeitsynchronisation und grundlegende Administration.