19.04.2023

OpenBSD

Installation
Partitionieren mit FDISK
Einteilung der Partition mit DISKLABEL
Grundpakete installieren
Bootloader installieren
Boot-Optionen
Dateien und deren Bedeutung
sonstige Hinweise

Seitenanfang

Installation von OpenBSD

OpenBSD
Download OpenBSD
Installationshilfe OpenBSD

Festplattenbezeichnung
IDE	wd0, wd1 ...
SCSI	sd0, sd1 ...
SeitenanfangPartitionieren mit fdisk
help oder ? zeigt Hilfe an
p oder print zeigt aktuelle Partitionstabelle an "p m" Übersicht in Megabyte anzeigen
r oder reinit erzeugt eine grosse OpenBSD Partition (Partition aktivieren) alle Daten gehen verloren
e oder edit Einstellungen ändern
f oder flag festlegen der Bootpartition
w oder write Änderungen der Partitionstabelle schreiben
exit Änderungen nicht speichern und beenden
q oder quit Änderungen speichern und beenden
fdisk: 1> e 0			editieren der Partition 0
         Starting       Ending       LBA Info:                          
 #: id    C   H  S -    C   H  S [       start:      size   ]           
------------------------------------------------------------------------
 0: 00    0   0  0 -    0   0  0 [           0:           0 ] unused    
Partition id ('0' to disable)  [0 - FF]: [A6] (? for help) a6
Do you wish to edit in CHS mode? [n] y
BIOS Starting cylinder [0 - 2087]: [0]
BIOS Starting head [0 - 254]: [0]
BIOS Starting sector [1 - 63]: [1] 1
BIOS Ending cylinder [0 - 2087]: [0] 2087
BIOS Ending head [0 - 254]: [0] 254
BIOS Ending sector [1 - 63]: [1] 63
Erklärung:
- (a6) legt das Dateiformat für die Partition fest (im Beispiel OpenBSD), eine Liste der verfügbaren Formate kann man sich mit (? for help) anzeigen lassen.
fdisk:*1> f 0			# Partition aktivieren
fdisk:*1> w			# Änderungen schreiben
Writing MBR at offset 0.
wd0: no disk label
fdisk: 1> q			# fdisk beenden

Partition a (root) und b (Swap) müssen unbedingt erstellt werden, sonst bricht die Installation ab.

Seitenanfang

Beispiel für eine Partitionierung, die die Besonderheiten des Sicherheitskonzeptes von OpenBSD berücksichtigen

wd0a: / (root) Sollte mehr als genug sein.
wd0b: (swap)  
wd0d: /tmp /tmp wird für das Erzeugen von Software gebraucht
wd0e: /var  
wd0g: /usr User-Anwendungen, System Updats
wd0h: /home User-Dateien.

Einteilung der Partition mit DISKLABEL
> p m		# zeigt Partitionsdaten an (in Megabyte)
> d a		# löscht Partition a (root)
> a a		# neue Partition a erstellen (im Beispiel 200MB gross)
offset: [0]
size: [33543720] 200M
Rounding to nearest cylinder: 409248
FS type: [4.2BSD]
mount point: [none] /
> a b		# neue Swap Partition erstellen (300MB gross)
offset: [409248]
size: [33134472] 300M
Rounding to nearest cylinder: 614880
FS type: [swap]
> a d		# /tmp Partition (200MB)
offset: [1024128]
size: [32519592] 200M
Rounding to nearest cylinder: 409248
FS type: [4.2BSD]
mount point: [none] /tmp
> a e		# /var Partition (500MB)
offset: [1433376]
size: [32110344] 500M
Rounding to nearest cylinder: 1024128
FS type: [4.2BSD]
mount point: [none] /var
> a g		# /usr Partition (3GB)
offset: [2457504]
size: [31086216] 3g
Rounding to nearest cylinder: 6291936
FS type: [4.2BSD]
mount point: [none] /usr
> a h		# /home Partition (5GB)
offset: [8749440]
size: [24794280] 5g
Rounding to nearest cylinder: 10486224
FS type: [4.2BSD]
mount point: [none] /home
> p m		# Anzeige der erstellten Partitionen
device: /dev/rwd0c
type: ESDI
disk: ESDI/IDE disk
label: Virtual HD
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 16383
total sectors: 33554304
free sectors: 14308056
rpm: 3600
16 partitions
#        size   offset    fstype   [fsize bsize   cpg]
  a:   199.8M     0.0M    4.2BSD     2048 16384    16  # /
  b:   300.2M   199.8M      swap
  c: 16383.9M     0.0M    unused        0     0
  d:   199.8M   500.1M    4.2BSD     2048 16384    16  # /tmp
  e:   500.1M   699.9M    4.2BSD     2048 16384    16  # /var
  g:  3072.2M  1200.0M    4.2BSD     2048 16384    16  # /usr
  h:  5120.2M  4272.2M    4.2BSD     2048 16384    16  # /home
> q		# beenden und Änderungen schreiben
Write new label?: [y]
- die c Partition ist die gesamte Festplatte, abgesehen von a (root), b (swap) und c (gesamte Festplatte), kann der Rest der Partitionen verwendet werden, wie man will.
- Mountpoints erstellen
The root filesystem will be mounted on wd0a.
wd0b will be used for swap space.
Mount point for wd0d (size=204624k)? (or 'none' or 'done') [/tmp]
Mount point for wd0e (size=512064k)? (or 'none' or 'done') [/var]
Mount point for wd0g (size=3145968k)? (or 'none' or 'done') [/usr]
Mount point for wd0h (size=5243112k)? (or 'none' or 'done') [/home]
Mount point for wd0d (size=204624k)? (or 'none' or 'done') [/tmp] done
No more disks to initialize.

You have configured the following partitions and mount points:

wd0a /
wd0d /tmp
wd0e /var
wd0g /usr
wd0h /home

The next step creates a filesystem on each partition, ERASING existing data.
Are you really sure that you're ready to proceed? [no] y
- Dateisystem wird jetzt formatiert und eingerichtet

- Hostname für das System einrichten, der Eintrag in der /etc/myname wird erstellt.
System hostname? (short form, e.g. 'foo') BSD-Host

- jetzt wird das Netzwerk konfiguriert
Configure the network? [yes]

- Installation des Systems mit den nötigen Paketen
Server? (IP address, hostname, list#, 'done' or '?') ftp.de.openbsd.org
Server directory? [pub/OpenBSD/3.5/i386] /unix/OpenBSD/3.5/i386
File name? (or 'done') [bsd.rd] +x*	# nimmt noch alle Pakete für x
Seitenanfang

Grundpakete installieren

bsd Dies ist der Kernel. (Zwingend notwendig)
base32.tgz Enthät das Basis-System von OpenBSD (Zwingend notwendig)
etc32.tgz Enthält alle Dateien in /etc (Zwingend notwendig)
comp32.tgz Enthält den Compiler und alle tools und libs. (Empfohlen)
man32.tgz Enthält alle man pages (Empfohlen)
misc32.tgz Enthält alle misc info und setup Dokumentation
game32.tgz Enthält die klassischen Unix-Spiele für OpenBSD
xbase32.tgz Enthält die Basis-Installation für X11
xfont32.tgz Enthält den X11 Font-Server und Fonts
xserv32.tgz Enthält die X11 X Server
xshare32.tgz Enthält manpages, locale settings, includes, etc für X
File name? (or 'done') [bsd.rd] done
Ready to install sets? [yes]
Seitenanfang

Bootloader installieren

bevor man neu startet, sollte man bei I386 Systemen noch den Bootloader auf die Platte schreiben.
fsck /dev/wd0a
mount /dev/wd0a /mnt
cp /usr/mdec/boot /mnt/boot
/usr/mdec/installboot -v /mnt/boot /usr/mdec/biosboot wd0

Seitenanfang

Boot-Optionen

- default Boot HD (Partition 0)
boot hd0a:/bsd

- booten von Floppy
fd0a:/bsd

- booten von CDROM
cd0a:/bsd

Seitenanfang

Dateien und deren Bedeutung

Netzwerk  
/etc/myname Hostname
/etc/mygate IP des DefaultGateway
/etc/hostname.<device> IP Adresse des Rechners z.B. /etc/hostname.de0
/etc/resolv.conf DNS Server
Init Scripte  
/etc/rc.conf System daemon configuration database
/etc/rc.local  
/etc/rc.securelevel Sicherheitseinstellungen
/etc/rc.shutdown wird bei beenden des Rechners abgearbeitet
/etc/netstart Netzwerk Init Script
System  
/etc/kbdtype Tastatur Einstellung
/etc/shells Liste der verfügbaren shells
/etc/adduser.conf Standardeinstellungen für neu anzulegende User
   
   
Seitenanfang

sonstige Hinweise

-Hilfe nach der Installation
man afterboot

- User einrichten (Default-Einstellungen für neue User legt man in der /etc/adduser.conf fest)
adduser newuser

- su nutzen
damit man den User mittels su wechseln kann, muss der User in der Gruppe wheel sein.

- CDROM mounten
mount /dev/cd0a /mnt

- Standardshell ändern für existierende User mit "chsh" die Zeile SHELL= anpassen

- Prompt einrichten
sh
export PS1='$PWD $ '

bash
export PS1='\u@\h:\w\$ '

- Netzwerk einrichten
/etc/hostname.de0
inet 192.168.2.101 255.255.255.0 NONE
bei Änderungen am Netzwerk "sh /etc/netstart" ausführen.