Soekris mit OpenBSD

Betrifft OS:
OpenBSD

Diese Anleitung zeigt, wie man OpenBSD (Version 3.9) auf einer Soekris Engineering net4801 installiert, das Betriebssystem bootet nach der Installation von der CF-Karte und ist nicht abhängig von anderen Rechnern.

Die Anleitung sollte auch für andere OpenBSD-Versionen und mit etwas Abstraktion auch für andere OpenSource-Betriebssystem helfen, die Installation der Soekris Engineering net4501 und ähnlicher Geräte geht ähnlich bis gleich. Im Zweifel helfen ein Blick in die FAQ und die man-pages, die hier auch verlinkt sind.

Vorwort

Deutsch / Englisch

Der größte Teil der Dokumentation von OpenBSD ist auf Englisch, daher sind Englischkenntnisse notwendig, auch wenn der Artikel in Deutsch gehalten ist.

Der Artikel nutzt „der Soekris“ wie in „der Rechner“.

Voraussetzungen

Die Grundvoraussetzung ist der Wille zu lesen und ein Grundverständnis, wie OpenBSD installiert wird.

technische Voraussetzungen

Soekris

Der Soekris samt Netzteil und einer CF-Karte mit 256 MB Speicherplatz (oder größer), wahlweise lowcost oder industrial grade.

Installationsserver

Idealerweise hat man bereits einen Rechner, der folgende Services anbietet

  • dhcp-Server (für den pxeboot, siehe unten)
  • tftp-Server mit Daten in /tftpserver/
  • ftp-Server für die Installationsdaten in /pub/OpenBSD/3.9/i386
    • unter dem Pfad ist der Inhalt der OpenBSD-CD (gemountet oder kopiert)

Die Anleitung geht als Installationsserver von einem i386-PC (IBM Thinkpad T20) unter OpenBSD 3.9 aus.

Verkabelung

  • Soekris und Installationsserver werden seriell miteinander verbunden.
    • Nullmodemkabel (seriell) zum Installationsserver. Es funktionieren auch USB-auf-seriell-Adapter wie sie von Digitus, Conrad und anderen angeboten werden.
  • Soekris und Installationsserver werden per Ethernet verbunden
    • Ein Ethernetkabel (Crossover-Kabel zum Server oder „normales“ Kabel zu einem gemeinsamen Ethernet mit dem Installations Server)

pxeboot

Die wichtigste man-page ist pxeboot - i386-specific second-stage PXE bootstrap. Hier ist auch eine Musterkonfiguration für den dhcpd enthalten.

tftpd

Damit die Console richtig angesprochen werden kann, hilft eine Datei auf dem Installationsserver in /tfpdserver/etc/boot.conf

set tty com0
stty com0 19200

Die erste Zeile setzt die Console auf die serielle Schnittstelle com0 und die 2. Zeile die Geschwindigkeit auf 19200.

Zum Booten werden dann noch die Dateien aus ~ftp/pub/OpenBSD/3.9/i386/ nach /tftpserver kopiert:

bsd.rd
pxeboot

serielle Konsole

Wenn das serielle Kabel am Installationsserver auf der ersten seriellen Schnittstelle ist, kann man mit

# cu -s 19200 -l /dev/tty00

auf den Soekris zugreifen.

Installation

Verkabeln

Das Kabel für die Konsole der Soekris muss ein serielles Nullmodemkabel sein.

Es muss eine Ethernetverbindung zwischen Soekris und DHCP-Server bestehen. Das kann sowohl über ein Crosslink-Kabel als auch über einen Hub/Switch/… erfolgen.

Booten der Soekris

… Seconds to automatic boot.   Press Ctrl-P for entering Monitor.

Ctrl-P

comBIOS Monitor.   Press ? for help.

> boot f0

BootManage UNDI, PXE-2.0 (build 082)
BootManage PXE-2.0 PROM 1.0, NATSEC 1.0, SDK 3.0/082 (OEM52)
Copyright (C) 1989,2000 bootix Technology GmbH, D-41466 Neuss.
PXE Software Copyright (C) 1997, 1998, 1999, 2000 Intel Corporation.
Licensed to National Semiconductor

Mögliche Fehler

PXE-E51: No DHCP or proxyDHCP offers were received.

  1. Verkabelung testen
  2. notfalls zurück zur DHCP-Konfiguration oben

weiter

CLIENT MAC ADDR: 00 00 24 ** ** **
CLIENT IP: 192.168.***.***  MASK: 255.255.255.0  DHCP IP: 192.168.***.***

GATEWAY IP: 192.168.***.***
TFTP.

Mögliche Fehler

PXE-T01: File not found
PXE-E3B: TFTP Error - File Not found

  1. zurück zur TFTPServer Konfiguration.

weiter

probing: pc0 com0 com1 pci pxe![2.1] mem[639K 127M a20=on]
disk: hd0+*
net: mac 00:00:24:**:**:**, ip 192.168.***.***, server 192.168.***.***
» OpenBSD/i386 PXEBOOT 1.07
switching console to com0

Booten von OpenBSD

Möglicher Fehler

Hat man boot.conf vergessen auf den tftpserver zu legen, dann bekommt man den boot-prompt, da kann man

boot> boot bsd.rd
eingeben und er bootet:
booting tftp:bsd.rd: …
und danach ist aber die Console weg … da pc0 statt com0 verwendet wird.

weiter

» OpenBSD/i386 PXEBOOT 1.07
switching console to com0

Damit ist aktuell leider nichts zu sehen, trotzdem kann man Daten eingeben:

boot bsd.rd
und nach wenigen Sekunden meldet sich:

Copyright (c) 1982, 1986, 1989, 1991, 1993
      The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2006 OpenBSD. All rights reserved.
http://www.OpenBSD.org
OpenBSD 3.9-current (RAMDISK_CD) #1074: Fri Apr 14 12:31:08 MDT 2006
  deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/RAMDISK_CD
cpu0: Geode(TM) Integrated Processor by National Semi ("Geode by NSC" 586-class) 267 MHz

oder ähnliches.

und jetzt ist es fast ganz normales installieren.

Installation von OpenBSD

Hier nur ein paar Besonderheiten, die Installation ist im Beileger der OpenBSD haarklein beschrieben. Und ansonsten hilft die Installation Guide.

Partionierung

Der OpenBSD-Kernel erwartet eine Swap-Partion, aber sie darf beliebig groß sein, ein Sektor ist genug. Beim Vorschlag für size einfach einen Sektor abziehen, Beispiel: Bei einer 256MB-CF-Karte kann das so aussehen:

Initial label editor (enter '?' for help at any prompt)

> p

device: /dev/rwd0c
type: ESDI
disk: ESDI/IDE disk
label: SanDisk SDCFB-25
bytes/sector: 512
sectors/track: 32
tracks/cylinder: 16
sectors/cylinder: 512
cylinders: 980
total sectors: 501760
 free sectors: 501728
 rpm: 3600

16 partitions:
#             size        offset  fstype [fsize bsize  cpg]
  a:        501728            32  unused      0     0
  c:        501760             0  unused      0     0

> d a
> a a
offset: [32] 
size: [501728] 
FS type: [4.2BSD] 
mount point: [none] /
> a b
offset: [501759] 
size: [1] 
FS type: [swap] 
> q

Geduld mit der CF-Karte, Formatieren dauert einfach lange, besonders bei großen Karten.

Installationssets

Die Dokumente und Manualpages werden wir nicht auf dem Soekris lesen wollen, X ist auch nicht wirklich notwendig also:

Set name? (or 'done') [bsd.mp] -m* 
und auch für den Compiler (rund 90 MB) ist kein Platz,
<xterm>Set name? (or 'done') [bsd.mp] -comp* 

      [X] bsd
      [X] bsd.rd
      [ ] bsd.mp
      [X] base39.tgz
      [X] etc39.tgz
      [ ] misc39.tgz
      [ ] comp39.tgz
      [ ] man39.tgz
      [ ] xbase39.tgz
      [ ] xetc39.tgz
      [ ] xshare39.tgz
      [ ] xfont39.tgz
      [ ] xserv39.tgz

Set name? (or 'done') [bsd.mp] done
Ready to install sets? [yes] 

Geduld mit der CF-Karte, Kopieren dauert einfach lange.

Platzbedarf

Default-Pakete wie oben beschrieben ergeben dann:

# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/wd0a      240M    136M   92.2M    60%    /

Für 128 MB-Karten müsste man da noch etwas optimieren.

weiter

Dieser Artikel beschäftigt sich nicht mit

Quellen