[FAQ-Index] [Zum Kapitel 3 - Mit OpenBSD durchstarten] [Zum Kapitel 5 - Das System aus dem Quelltext erzeugen]
OpenBSD wird seit langem für seinen einfachen und geradlinigen Installationsprozess anerkannt, der auf allen Plattformen gleich aufgebaut ist.
Alle Plattformen besitzen eine sehr ähnliche Installationsprozedur, jedoch gibt es auf ein paar Plattformen einige kleine Unterschiede im Detail. In jedem Fall wird dringend dazu geraten, das plattformspezifische INSTALL-Dokument im Plattform-Verzeichnis auf der CD-ROM oder den FTP-Seiten (z. B. i386/INSTALL.i386, macppc/INSTALL.macppc oder sparc/INSTALL.sparc) durchzulesen.
Das OpenBSD-Installationsprogramm ist ein spezieller Kernel mit einigen Werkzeugen und Installationsskripten, die sich auf einem vorgeladenen RAM-Laufwerk befinden. Nachdem dieser Kernel gestartet wurde, wird das Betriebssystem aus einigen komprimierten tar(1) (.tgz) Dateien extrahiert, die sich nicht auf dem vorgeladenen RAM-Laufwerk befinden, und daher aus einer anderen Quelle bezogen werden müssen. Es existieren mehrere Wege, diesen Installationskernel zu starten:
Die bereitgestellten Diskettenabbilder können dazu benutzt werden, um Installationsdisketten auf einem anderen Unix-ähnlichen-, oder einem Windows-System zu erstellen. Ein typischer Dateiname ist floppy52.fs, obwohl für einige Plattformen mehrere Diskettenabbilder vorhanden sind.
Sobald der Installationskernel gestartet ist, gibt es mehrere Möglichkeiten, um die Dateisets der Installations zu beziehen. Wie üblich unterstützt nicht jede Plattform dieselben Optionen.
Bevor du mit der eigentlichen Installation beginnst, solltest du dir darüber im Klaren sein, womit du am Ende dastehen willst. Zumindest die folgenden Punkte sollten bekannt sein:
Als Beispiele werden wir die Installationsmedien betrachten, die für die Plattformen i386 und sparc bereitstehen.
Die i386-Plattform besitzt sechs separate Installationslaufwerksabbilder, aus denen gewählt werden kann:
Die sparc-Plattform besitzt vier separate Installations-Laufwerksabbilder, aus denen gewählt werden kann:
Um eine CD-ROM zu brennen, kannst du eine der Dateien cd52.iso und install52.iso verwenden. Es sei an dieser Stelle dem Leser selbst überlassen, die exakten Details für die zur Verfügung stehenden Anwendungen herauszufinden.
In OpenBSD selbst kann eine CD von einem ISO-Abbild mit Hilfe von cdio(1) erzeugt werden:
# cdio tao cd52.iso |
Den meisten CD-Brennern, die für Windows- und Macintosh-Systeme verkauft werden, ist eine Software beigelegt, die ISO-Abbilder auf »blanke« Medien brennen kann. Sollte deiner eine Ausnahme sein, gibt es verschiedene kostenlose Programme, die diese Aufgabe für dich übernehmen können.
Andere Unix-ähnliche Systeme benutzen Anwendungen wie cdrkit.
Präzise Details und Gerätenamen differieren von Unix-Variante zu Unix-Variante; benutze, was immer für dein System zutrifft.
Um eine formatierte Diskette zu erzeugen, benutze das Kommando fdformat(1), das sowohl formatiert, als auch auf schlechte Sektoren untersucht.
# fdformat /dev/rfd0c Format 1440K floppy `/dev/rfd0c'? (y/n): y Processing VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV done. |
Ist deine Ausgabe wie im obigen Beispiel, dann ist die Diskette in Ordnung. Wenn du andererseits nicht ALLE »V«s siehst, dann ist die Diskette höchstwahrscheinlich fehlerhaft und du solltest eine andere versuchen.
Um das Abbild auf das Laufwerk zu schreiben, benutze dd(1). Ein Beispiel für dd(1):
# dd if=floppy52.fs of=/dev/rfd0c bs=32k |
Ist das Abbild geschrieben, überprüfe mit Hilfe des Kommandos cmp(1), ob das kopierte Abbild mit dem Original identisch ist. Wenn die Diskette mit dem Abbild identisch ist, so wirst du keine Ausgabe erhalten, sondern einfach nur den nächsten Prompt sehen.
# cmp /dev/rfd0c floppy52.fs |
Um eine Diskette in Windows vorzubereiten, benutze die eingebauten Formatierungswerkzeuge, um die Diskette zu formatieren, und verifiziere, dass die Diskette keine schlechten Sektoren hat.
Um das Installationsabbild auf die vorbereitete Diskette zu schreiben, kannst du ntrw.exe benutzen, das sich im Verzeichnis tools jedes OpenBSD FTP-Spiegelservers findet.
Ein Beispiel für ntrw:
C:\> ntrw floppy52.fs a: 3.5", 1.44MB, 512 bytes/sector bufsize is 9216 1474560 bytes written |
Du kannst ebenfalls installieren, indem du bsd.rd von einer existierenden OpenBSD-Partition oder unter Verwendung des PXE-Startprozesses über das Netzwerk startest.
Das System muss sich an einem Monitor-ROM-Prompt befinden, der typischerweise so aussieht: »ok «. Benutzt du eine Sun-Tastatur, drücke und halte »STOP« während du »A« drückst. Wenn du eine serielle Konsole benutzt, sollte dich ein »BREAK« zum Monitor-Prompt zurückbringen.
Benutze das folgende Kommando, um von Diskette zu starten:
ok boot floppy |
Normalerweise kannst du vom CD-ROM-Laufwerk eines Sun-Systems vom »Boot«-Prompt aus starten, indem du »boot cdrom« eingibst:
ok boot cdrom |
Das Installationsprogramm wird ein Partitionsschema basierend auf der Größe deiner Festplatte erstellen. Obwohl dies KEINE perfekte Einteilung für alle ist und sein kann, so bietet es doch einen guten Ansatzpunkt und eine gute grundlegende Strategie, um herauszufinden, was du benötigst.
Wir starten mit einer sehr einfachen Installation, mit kurzen Beschreibungen der gezeigten Optionen und benutzen die Magie von Hypertext-Verweisen, um es dir zu ermöglichen, mehr über die Themen zu lesen, die dich interessieren, und deine Möglichkeiten herauszufinden.
Plattformspezifische Anmerkungen zur Installation finden sich auf den Installations-CDs und FTP-Servern in den Dateien INSTALL.<plat>, wobei <plat> durch deine Plattform ersetzt werden muss, z. B. i386.
Der OpenBSD-Installationsprozess kann an praktisch jeder Stelle durch Drücken von STRG-C abgebrochen und durch den am Shell-Prompt einzugebenden Befehl install ohne Neustart von vorne begonnen werden. Außerdem ist es während eines Großteils der Installation möglich, durch die Eingabe von »!« einen Shell-Prompt zu bekommen; ein Beenden dieses Shell-Prozesses führt automatisch zur Installation zurück.
Bei einem erfolgreichen Startvorgang wirst du eine Menge Textmeldungen vorbeiziehen sehen. Dieser Text (auf vielen Plattformen in weißer Schrift auf blauem Hintergrund) ist die sogenannte »dmesg«, in der der Kernel über gefundene Geräte, und wie diese Geräte mit anderen Geräten verknüpft sind, Auskunft gibt. Eine Kopie dieser Meldungen wird in der Datei /var/run/dmesg.boot gespeichert.
Dann wirst du Folgendes sehen:
... root on rd0a swap on rd0b dump on rd0b erase ^?, werase ^W, kill ^U, intr ^C, status ^T Welcome to the OpenBSD/i386 5.2 installation program. (I)nstall, (U)pgrade or (S)hell? i |
Und damit erreichen wir auch schon die erste Frage. Du bekommst drei Möglichkeiten angeboten:
At any prompt except password prompts you can escape to a shell by
typing '!'. Default answers are shown in []'s and are selected by
pressing RETURN. You can exit this program at any time by pressing
Control-C, but this can leave your system in an inconsistent state.
Choose your keyboard layout ('?' or 'L' for list) [default] Enter
|
In den meisten Fällen wird die vorgewählte Tastaturbelegung (oder der Terminaltyp, sollte die Installation über eine serielle Konsole erfolgen) die Richtige sein; es sollte jedoch nicht einfach der Standard genommen werden, antworte angemessen.
System hostname? (short form, e.g. 'foo') puffy |
Dieser Wert wird, gemeinsam mit dem DNS-Domänennamen (der weiter unten definiert wird), in der Datei /etc/myname gespeichert, welche während eines normalen Startvorgangs dazu benutzt wird, den Hostnamen des Systems zu setzen. Wird der Domänenname des Systems nicht gesetzt, so wird stattdessen der Standardwert »my.domain« benutzt.
Available network interfaces are: fxp0 vlan0. Which one do you wish to configure? (or 'done') [fxp0] Enter |
vlan0 ist die virtuelle VLAN-Schnittstelle. Für unsere Zwecke hier haben wir diese Option ignoriert und uns stattdessen an die physisch vorhandenen Schnittstellen gehalten. Wenn der Rechner mehrere physikalische Schnittstellen besitzt, so sollten sie hier aufgelistet sein. Wie zu sehen ist, werden sie über ihren Gerätetreiber identifiziert und tauchen nicht als generische Ethernetgeräte auf. In unserem Fall meint »fxp0« also das erste Gerät, das den fxp(4)-Treiber benutzt; fxp1 wäre das zweite Gerät etc. ... Mehr zum Thema Gerätenamen findet sich in FAQ 6.
Nachdem das zu konfigurierende Gerät ausgewählt wurde, wirst du es jetzt konfigurieren. In vielen Fällen wirst du es über DHCP automatisch konfigurieren wollen:
IPv4 address for fxp0? (or 'dhcp' or 'none') [dhcp] Enter Issuing hostname-associated DHCP request for fxp0. DHCPDISCOVER on fxp0 to 255.255.255.255 port 67 interval 1 DHCPOFFER from 192.168.1.250 (08:00:20:94:0b:c8) DHCPREQUEST on fxp0 to 255.255.255.255 port 67 DHCPACK from 192.168.1.250 (08:00:20:94:0b:c8) bound to 192.168.1.199 -- renewal in 43200 seconds. |
DHCP wird die IP-Adresse, die Subnetzmaske, den Standardzugang, den DNS-Domänennamen und die DNS-Server automatisch konfigurieren. Wenn DHCP nicht benutzt wird, so müssen alle genannten Dinge von Hand eingegeben werden; siehe auch die detailliertere Diskussion weiter unten.
Sollte es nötig sein, IPv6 oder andere Geräte zu konfigurieren (oder dir deine vorherige Konfiguration nicht mehr gefallen), so kannst du dies nun tun. In unserem Fall sind wir aber fertig:
IPv6 address for fxp0? (or 'rtsol' or 'none') [none] Enter Available network interfaces are: fxp0 vlan0. Which one do you wish to configure? (or 'done') [done] Enter Using DNS domainname example.org Using DNS nameservers at 192.168.1.252 Do you want to do any manual network configuration? [no] Enter |
Wenn »yes« auf die Frage nach der »manual network configuration« geantwortet wird, so wird eine Shell gestartet, an deren Prompt alles das manuell konfiguriert werden kann, was einer Konfiguration bedarf; ein Beenden dieser Shell mit »exit« führt automatisch zurück zum Installationsprogramm.
Password for root account? (will not echo) PaSsWoRd Password for root account? (again) PaSsWoRd |
Benutze ein sicheres Passwort für das Benutzerkonto root. Bedenke: im Internet TRACHTEN SIE danach, in deinen Computer zu gelangen - und sie werden eine ganze Menge häufig benutzter Passwörter ausprobieren, von denen man denkt, dass sie wirklich clever seien.
Später wird es noch die Möglichkeit geben, ein Administrations-Benutzerkonto zu erzeugen, und den Zugang von entfernten Rechnern (Remotezugang via SSH) für das Benutzerkonto root auszuschalten, aber nichtsdestotrotz ist ein gutes Passwort für das Benutzerkonto root sehr wichtig.
Start sshd(8) by default? [yes] Enter |
Üblicherweise will man den sshd(8) laufen haben. Sollte dein Anwendungsgebiet jedoch keinen Bedarf für ihn haben, so ergibt sich ein kleiner theoretischer Sicherheitsgewinn dadurch, ihn nicht zu benutzen.
Start ntpd(8) by default? [no] y NTP server? (hostname or 'default') [default] Enter |
Hier wird die Möglichkeit geboten, den OpenNTPD, OpenBSDs NTP-Implementierung, laufen zu lassen. OpenNTPD braucht wenig Ressourcen und ist ein problemloser Weg, die eingebaute Uhr des Rechners akkurat zu synchronisieren. Die Standardkonfiguration nutzt pool.ntp.org und bindet damit eine große Anzahl frei zugänglicher und über die ganze Welt verstreuter Zeitserver ein.
Ein Grund, warum man den ntpd(8) NICHT benutzen will, kann sein, dass man ein »Multiboot«-System benutzt, auf dem meistens ein anderes System läuft, welches seine Uhr nicht mit einer auf GMT-Zeit eingestellten Hardwareuhr abstimmen kann, da man schwerlich möchte, dass OpenBSD die Uhr des anderen Betriebssystems verstellt.
Do you expect to run the X Window System? [yes] Enter |
Nicht alle Plattformen werden nach X fragen, und die, die es tun, verlangen das Setzen eines sysctl, um X benutzbar zu machen. Antwortet man hier mit »y«, so wird die Datei /etc/sysctl.conf derart modifiziert, dass sich, abhängig von der Plattform, entweder machdep.allowaperture=1 oder machdep.allowaperture=2 darin findet.
Wenn du nicht vorhast, X auf deinem System laufen zu lassen, oder dir darüber nicht sicher bist, so antworte einfach »N«, denn es ist später durch einfaches Editieren von /etc/sysctl.conf, gefolgt von einem Neustart, möglich, das Verhalten entsprechend zu ändern. Es liegt ein potenzieller Sicherheitsvorteil darin, den »aperture«-Treiber xf86(4) nicht zu benutzen, da die Maschinerie einer Grafikkarte potentiell dazu benutzt werden kann, Speicherbereiche ohne Kontrolle des Prozessors zu verändern. Es ist anzumerken, dass nicht-grafische Programme, die X-Bibliotheken und -Werkzeuge benutzen, das Setzen dieses sysctls NICHT benötigen.
Do you want the X Window System to be started by xdm(1)? [no] y |
xdm(1) startet die X-Umgebung während des Systemstarts. Wir empfehlen dies nur dann während der Installation zu setzen, wenn man sich gewiss ist, dass X auf dem System direkt und ohne Anpassungen laufen wird. Anderenfalls sollte man X konfigurieren, bevor man xdm(1) benutzt.
Setup a user? (enter a lower-case loginname, or 'no') [no] Enter |
Es wird dir die Möglichkeit geboten, einen Benutzer für die Systemwartung zu erzeugen, der NICHT root ist. Dieser Benutzer wird Mitglied der Gruppe wheel und kann daher sowohl su(1) benutzen als auch als Empfänger für an root adressierte E-Mails eingesetzt werden. Du wirst nach einem Passwort gefragt.
Wenn du diesen Benutzer erzeugen willst, so gib den gewünschten Namen des Nutzers ein und nicht »y« oder »yes«.
Die passende Unterteilung für das Laufwerk zu finden, ist vielleicht der schwierigste Teil einer OpenBSD-Installation.
Die Einrichtung von Laufwerken unter OpenBSD variiert ein wenig zwischen den Plattformen. Für i386, amd64, macppc, zaurus und armish geschieht es in zwei Ebenen. Zuerst wird der Abschnitt (»slice«) der Festplatte, der OpenBSD beherbergen soll, mit fdisk(8) festgelegt, woraufhin dann dieser »slice« mit Hilfe von disklabel(8) in OpenBSD-Partitionen aufgeteilt wird.
Einige Benutzer mögen ein wenig verwundert oder gar ein bisschen verwirrt über die verwendete Terminologie sein. Es sieht aus, als ob wir das Wort »Partition« auf zwei verschiedene Art und Weisen benutzen. Diese Beobachtung ist korrekt. Es gibt zwei Schichten der Partitionierung auf den oben genannten Plattformen; die erste, die man als die Betriebssystem-Partitionierung bezeichnen könnte, beschreibt, wie verschiedene Betriebssysteme auf einem Computer den ihnen zugewiesenen Bereich der Festplatte als für sich reserviert ausweisen, während die zweite beschreibt, wie die OpenBSD-Partition in einzelne Dateisysteme unterteilt ist. Die erstgenannte Schicht ist als Festplattenpartition für DOS, Windows und jedes andere Betriebssystem sichtbar, das dieses Festplatten-Partitionierungssystem benutzt, währenddessen die zweite Schicht nur für OpenBSD und andere Betriebssysteme, die direkt ein OpenBSD-Dateisystem lesen können, sichtbar ist.
Das neue Installationsprogramm von OpenBSD versucht, die Einrichtung von Laufwerken einfacher zu machen, indem es eine akzeptable Standardeinteilung für die »durchschnittliche« Nutzung anbietet. Sicher werden viele Leute diesen Standard für ihre eigenen Bedürfnisse anpassen oder ihre komplett eigene Laufwerksbelegung definieren wollen, aber neue Benutzer sollten vielleicht mit der Standardkonfiguration starten, bis sie wissen, was sie anders machen müssen. Zu bemerken ist, dass die Standardkonfiguration abhängig von der Größe des Dateisystems ist.
Fürs erste nehmen wir die Voreinstellung für unsere 40 G Platte.
Available disks are: wd0.
Which one is the root disk? (or 'done') [wd0] Enter
Use DUIDs rather than device names in fstab? [yes] Enter
Disk: wd0 geometry: 5221/255/63 [40960 Megabytes]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 06 0 1 1 - 521 254 63 [ 63: 8385867 ] DOS > 32MB
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
Use (W)hole disk or (E)dit the MBR? [whole] Enter
Setting OpenBSD MBR partition to whole wd0...done.
|
Es ist zu erwähnen, dass diese Festplatte eine bereits existierende Partition besitzt - das Auswählen von »whole disk« würde sie entfernen!
Das Auswählen von »whole disk«, und damit die Zuweisung des gesamten Laufwerks für OpenBSD, initiiert eine Reihe wichtiger Dinge:
Mehr Informationen über die fdisk-Partitionierung deines Laufwerks finden sich weiter unten.
Jetzt werden wir unsere OpenBSD fdisk-Partition in OpenBSD-Laufwerkspartitionen mit Hilfe von disklabel(8) unterteilen:
Setting OpenBSD MBR partition to whole wd0...done.
The auto-allocated layout for wd0 is:
# size offset fstype [fsize bsize cpg]
a: 1024.0M 64 4.2BSD 2048 16384 1 # /
b: 199.0M 2097216 swap
c: 40960.0M 0 unused
d: 2822.9M 2504768 4.2BSD 2048 16384 1 # /tmp
e: 4295.0M 8286112 4.2BSD 2048 16384 1 # /var
f: 2048.0M 17082240 4.2BSD 2048 16384 1 # /usr
g: 1024.0M 21276544 4.2BSD 2048 16384 1 # /usr/X11R6
h: 5426.7M 23373696 4.2BSD 2048 16384 1 # /usr/local
i: 1699.7M 34487520 4.2BSD 2048 16384 1 # /usr/src
j: 2048.0M 37968576 4.2BSD 2048 16384 1 # /usr/obj
k: 20367.4M 42162880 4.2BSD 2048 16384 1 # /home
Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a] Enter
|
Das Installationsprogramm hat uns seinen Vorschlag einer »Automatischen Einteilung« für die OpenBSD-Partitionen auf dem Laufwerk präsentiert, was wir in dieser Form akzeptieren werden.
Sollte die vorgeschlagene Einteilung für deine Zwecke nicht angemessen sein, ist es selbstverständlich möglich, den Vorschlag zu bearbeiten oder gar eine komplett eigene Einteilung zu kreieren; mehr Details über die disklabel-Partitionierung finden sich weiter unten.
ANMERKUNG für Wieder-Installierer: Das neue Installationsprogramm löscht nicht das alte disklabel, wenn »(C)ustom Layout« ausgewählt wurde; stattdessen muss jeder Einhängepunkt mit Hilfe der disklabel(8)-Option »m« neu spezifiziert werden.
Nun erzeugt das Installationsprogramm die Partitionen, kreiert darauf Dateisysteme mit Hilfe des Programms newfs(8) und hängt sie danach für die Installation ein (es »mount«et sie):
/dev/rwd0a: 1024.0MB in 2097152 sectors of 512 bytes 6 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0k: 20367.4MB in 41712448 sectors of 512 bytes 101 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0d: 2822.9MB in 5781344 sectors of 512 bytes 14 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0f: 2048.0MB in 4194304 sectors of 512 bytes 11 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0g: 1024.0MB in 2097152 sectors of 512 bytes 6 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0h: 5426.7MB in 11113824 sectors of 512 bytes 27 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0j: 2048.0MB in 4194304 sectors of 512 bytes 11 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0i: 1699.7MB in 3481056 sectors of 512 bytes 9 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0e: 4295.0MB in 8796128 sectors of 512 bytes 22 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/wd0a on /mnt type ffs (rw, asynchronous, local) /dev/wd0k on /mnt/home type ffs (rw, asynchronous, local, nodev, nosuid) /dev/wd0d on /mnt/tmp type ffs (rw, asynchronous, local, nodev, nosuid) /dev/wd0f on /mnt/usr type ffs (rw, asynchronous, local, nodev) /dev/wd0g on /mnt/usr/X11R6 type ffs (rw, asynchronous, local, nodev) /dev/wd0h on /mnt/usr/local type ffs (rw, asynchronous, local, nodev) /dev/wd0j on /mnt/usr/obj type ffs (rw, asynchronous, local, nodev, nosuid) /dev/wd0i on /mnt/usr/src type ffs (rw, asynchronous, local, nodev, nosuid) /dev/wd0e on /mnt/var type ffs (rw, asynchronous, local, nodev, nosuid) |
Du wirst bemerkt haben, dass es so aussieht, als ob wir die Partition c ignoriert hätten. Diese Partition identifiziert das gesamte Laufwerk; versuche nicht, sie zu verändern.
Location of sets? (cd disk ftp http or 'done') [cd] ftp HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none] Enter Server? (hostname, list#, 'done' or '?') [mirror.example.org] obsd.cec.mtu.edu |
Solltest du dich nicht an die Adresse deines favorisierten (oder jedweden) Spiegelservers erinnern können, wird das Installationsprogramm meistens in der Lage sein, dir einen funktionierenden Spiegelserver vorzuschlagen. Anderenfalls drücke »?«, um dir eine Liste von Spiegelservern aufzeigen zu lassen, und wähle die Nummer dessen aus, der dir am meisten zusagt.
Server directory? [pub/OpenBSD/5.2/i386] Enter Login? [anonymous] Enter |
Die öffentlichen FTP-Spiegelserver unterstützen natürlich alle das anonyme Herunterladen von Dateien, aber da du eine lokale Maschine haben könntest, die nach Login und Passwort verlangt, besteht die Möglichkeit zur Eingabe dieser Werte.
Nun kann die Liste der Dateisets angepasst werden.
Select sets by entering a set name, a file name pattern or 'all'. De-select
sets by prepending a '-' to the set name, file name pattern or 'all'. Selected
sets are labelled '[X]'.
[X] bsd [X] etc52.tgz [X] xbase52.tgz [X] xserv52.tgz
[X] bsd.rd [X] comp52.tgz [X] xetc52.tgz
[ ] bsd.mp [X] man52.tgz [X] xshare52.tgz
[X] base52.tgz [X] game52.tgz [X] xfont52.tgz
Set name(s)? (or 'abort' or 'done') [done] Enter
|
Als absolutes Minimum wird ein Kernel (bsd) benötigt, sowie die Dateisets base52.tgz und etc52.tgz. Solange du nicht genau weißt, was du tust, solltest du vielleicht einfach bei der Standardauswahl bleiben. Dateisets können durch das Voranstellen der Zeichen »+« und »-« an- und abgewählt werden; aber auch die Benutzung von Wildcards ist möglich:
Und nun ... starten wir unsere Installation! Dies ist der Punkt, an dem du als Besitzer eines langsamen Computers oder einer langsamen Internetverbindung vielleicht gehen und später wiederkommen möchtest; mit einem schnellen Computer und lokal vorhandenen Dateisets mag diese Prozedur jedoch nur einige Minuten oder auch noch weniger dauern!
bsd 100% |*************************************| 8810 KB 00:05 bsd.rd 100% |*************************************| 6271 KB 00:03 base52.tgz 100% |*************************************| 55415 KB 00:26 etc52.tgz 100% |*************************************| 519 KB 00:00 comp52.tgz 100% |*************************************| 60165 KB 00:28 man52.tgz 100% |*************************************| 9497 KB 00:06 game52.tgz 100% |*************************************| 2567 KB 00:02 xbase52.tgz 100% |*************************************| 11028 KB 00:06 xetc52.tgz 100% |*************************************| 63902 00:00 xshare52.tgz 100% |*************************************| 4511 KB 00:04 xfont52.tgz 100% |*************************************| 38869 KB 00:17 xserv52.tgz 100% |*************************************| 25113 KB 00:15 Location of sets? (cd disk ftp http or 'done') [done] Enter |
Ja, es fragt uns erneut, aus welchen Quellen wir Dateisets beziehen wollen. Dies geschieht, damit fehlende oder vergessene Dateisets, oder solche, deren Installation fehlgeschlagen ist, erneut installiert werden können, und außerdem, um die Installation von selbst angepassten Dateisets zu ermöglichen.
Erneut wählen wir die Voreinstellung, denn wir habe alle benötigten Dateien installiert.
What timezone are you in? ('?' for list) [Canada/Mountain] US/Michigan
|
Sehr oft wird das Installationsprogramm einfach den korrekten Namen für deine Zeitzone erraten, sodass du nur »Enter« zu drücken brauchst.
Solltest du oben OpenNTPD aktiviert haben, so wirst du sehr wahrscheinlich einen Prompt ähnlich dem Folgenden sehen:
Time appears wrong. Set to 'Thu Nov 1 19:50:15 EDT 2012'? [yes] Enter |
Dies wird die Uhrzeit deines Computers akkurat einstellen.
Mehr über das Setzen der Zeitzone findet sich hier.
Saving configuration files...done. Generating initial host.random file...done. CONGRATULATIONS! Your OpenBSD install has been successfully completed! To boot the new system, enter 'reboot' at the command prompt. When you login to your new system the first time, please read your mail using the 'mail' command. # |
Eines der ersten Dinge, die nach der Installation des Systems gelesen werden sollten, ist afterboot(8).
Du könntest auch die folgenden Links nützlich finden:
Which one do you wish to configure? (or 'done') [xl0] Enter IPv4 address for xl0? (or 'dhcp' or 'none') [dhcp] 192.168.1.37 Netmask? [255.255.255.0] 255.255.254.0 IPv6 address for xl0? (or 'rtsol' or 'none') [none] Enter |
Nach diesen Fragen bekommt man die Möglichkeit, die anderen Netzwerkschnittstellen der Maschine zu konfigurieren. Spezifizierst du hier eine andere Schnittstelle, so wiederholen sich obige Fragen.
Available network interfaces are: xl0 vlan0. Which one do you wish to configure? (or 'done') [done] |
Jetzt richten wir den Standardzugang und DNS-Server ein; Dinge, die alle Netzwerkschnittstellen betreffen:
Default IPv4 route? (IPv4 address, 'dhcp' or 'none') 192.168.1.1 add net default: gateway 192.168.1.1 DNS domain name? (e.g. 'bar.com') [my.domain] example.org DNS nameservers? (IP address list or 'none') [none] 192.168.1.250 192.168.1.251 |
Es ist hier möglich, mehrere durch Leerzeichen getrennte DNS-Server anzugeben.
Manchmal wird man etwas darüber hinaus zu tun haben, zum Beispiel die Einrichtung eines drahtlosen Zugangsschlüssels, oder aber die Festlegung von Duplex- oder Geschwindigkeitsangaben (was man nicht machen sollte, wenn es nicht ABSOLUT NÖTIG ist, da das Anpassen der Switch-Konfiguration eine viel bessere Idee ist!). Es wird nun die Möglichkeit geboten, zu einer Shell zu gelangen, wo man jedwede manuelle Konfiguration durchführen kann.
Do you want to do any manual network configuration? [no] y
Type 'exit' to return to install.
# ifconfig xl0 media
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:08:74:2c:df:9c
groups: egress
media: Ethernet autoselect (100baseTX full-duplex)
status: active
supported media:
media 10baseT
media 10baseT mediaopt full-duplex
media 100baseTX
media 100baseTX mediaopt full-duplex
media autoselect
inet 192.168.1.37 netmask 0xfffffe00 broadcast 192.168.1.255
# ifconfig xl0 media 100baseTX mediaopt full-duplex
# ifconfig xl0
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:08:74:2c:df:9c
groups: egress
media: Ethernet 100baseTX full-duplex
status: active
inet6 fe80::208:74ff:fe2c:df9c%xl0 prefixlen 64 scopeid 0x1
inet 192.168.1.37 netmask 0xfffffe00 broadcast 192.168.1.255
# exit
...setup resumes...
|
(zurück dorthin, wo wir vielleicht gewesen sind)
Mehrere Zeitzonendefinitionsdateien werden manchmal dieselbe Jetztzeit angeben, aber vielleicht eine unterschiedliche Historie haben. Zum Beispiel besitzen EST5EDT und US/Michigan HEUTE dieselbe Zeit, aber im Jahre 1975 waren die Regeln unterschiedlich, sodass Berechnungen mit Daten und Zeiten, die das Jahr 1975 betreffen, sich Gedanken über die Unterschiede machen müssen. Aus diesen Gründen solltest du jene Zeitzonendatei benutzen, die die am meisten spezifische und akkurateste für deine Region ist, und nicht nur eine, die im Moment eine korrekte Zeit kreiert.
Das Installationsprogramm von OpenBSD bietet Hilfe zum Auffinden der passenden Zeitzonendatei, solltest du dir nicht sicher sein. Drücke einfach »?« an jedem Prompt und es wird dir Optionen anbieten. Bietet dir die erste Antwortsebene keine passende Datei, wähle einen Kontinent oder ein Land aus, und schaue dir an, welche Optionen sich dort auftun:
What timezone are you in? ('?' for list) [right/EST5EDT] ?
Africa/ Chile/ GB-Eire Israel NZ-CHAT UCT
America/ Cuba GMT Jamaica Navajo US/
Antarctica/ EET GMT+0 Japan PRC UTC
Arctic/ EST GMT-0 Kwajalein PST8PDT Universal
Asia/ EST5EDT GMT0 Libya Pacific/ W-SU
Atlantic/ Egypt Greenwich MET Poland WET
Australia/ Eire HST MST Portugal Zulu
Brazil/ Etc/ Hongkong MST7MDT ROC posix/
CET Europe/ Iceland Mexico/ ROK posixrules
CST6CDT Factory Indian/ Mideast/ Singapore right/
Canada/ GB Iran NZ Turkey
What timezone are you in? ('?' for list) [right/EST5EDT] US
What sub-timezone of 'US' are you in? ('?' for list) ?
Alaska Central Hawaii Mountain Samoa
Aleutian East-Indiana Indiana-Starke Pacific
Arizona Eastern Michigan Pacific-New
What sub-timezone of 'US' are you in? ('?' for list) Michigan
|
Wir haben nun die Zeit auf »US/Michigan« festgelegt. Dies erzeugt einen symbolischen Link in /etc, der auf die ausgewählte »zoneinfo«-Datei in /usr/share/zoneinfo zeigt, etwas wie:
Nun wende deine Aufmerksamkeit für einen Moment dem Verzeichnis »right/« (im Sinne von »korrekt«) zu. Es dupliziert die Standard-»zoneinfo«-Auswahl, beinhaltet jedoch Anpassungen für Schaltsekunden. Mehr dazu kann hier gefunden werden./etc/localtime -> /usr/share/zoneinfo/US/Michigan
(zurück dorthin, wo wir vielleicht gewesen sind)
fdisk(8) wird dazu benutzt, einen Teil der Festplatte für OpenBSD zu reservieren. Es hilft, den Abschnitt des Laufwerks, der von OpenBSD benutzt wird, von denen anderer Betriebssysteme oder Systemfunktionen abzugrenzen.
Sollte es eine Partition auf dem Laufwerk geben, die Bestand haben soll, oder solltest du es wünschen, Speicher für eine weitere Partition zu reservieren, dann wirst du NICHT »(W)hole disk« wählen wollen, sondern die Partitionstabelle mit Hilfe von fdisk(8) zu editieren wünschen. Mehr Informationen zum manuellen Aufruf von fdisk(8) kann hier gefunden werden. Bevor du mit irgendeinem System arbeiten willst, dessen Daten du nicht verlieren möchtest, stelle sicher, das eine gute Sicherungskopie vorhanden ist. Es ist sehr einfach, im folgenden Schritt wichtige Daten zu vernichten, deshalb stelle sicher, das du sie wiederherstellen kannst, sollte es nötig werden.
Wenn du OpenBSD zu einem bestehenden System hinzufügen willst, wirst du vielleicht ein wenig freien Speicher auf deinem System erzeugen müssen, bevor OpenBSD installiert werden kann. Dies wird im Normalfall das Löschen oder möglicherweise die Verkleinerung von bestehenden Partitionen beinhalten. Das Programm gparted wurde zur Verkleinerung von Partitionen vieler populärer Betriebssysteme für nützlich befunden und macht es möglich, OpenBSD auf dem freigegebenen Speicher zu installieren.
In diesem Beispiel gehen wir davon aus, dass wir auf einer leeren 40 G Festplatte ein »Multiboot«-System erzeugen möchten, mit einer 5 G großen, für Windows reservierten Partition am Anfang der Festplatte und für OpenBSD den gesamten Rest reservieren. Beachte, dass auf ein leeres Laufwerk ein gültiger MBR-Startcode und eine Signatur geschrieben werden müssen, bevor von ihm gestartet werden kann.
Für den Fall, dass eine bereits vorhandene Partition um eine OpenBSD-Partition ergänzt werden soll, so ist der Ablauf praktisch identisch. Blättere einfach über jene Abschnitte hinweg, in denen wir die Windows-Partition erzeugen und uns um die Installation des MBR-Startcodes kümmern.
Available disks are: wd0. Which one is the root disk? (or 'done') [wd0] Enter MBR has invalid signature; not showing it. |
Wenn das Laufwerk bereits einen gültigen MBR hätte, würde hier die existierende Partitionstabelle dargestellt werden, was auch ein guter Anhaltspunkt dafür sein kann, ob sich auf dem Laufwerk schon Daten befinden oder nicht.
Use (W)hole disk or (E)dit the MBR? [whole] e
You will now create a single MBR partition to contain your OpenBSD data. This
partition must have an id of 'A6'; must *NOT* overlap other partitions; and
must be marked as the only active partition. Inside the fdisk command, the
'manual' command describes all the fdisk commands in detail.
Disk: wd0 geometry: 4998/255/63 [80293248 Sectors]
Offset: 0 Signature: 0x0
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
Enter 'help' for information
fdisk: 1>
|
Nimm als Erstes Notiz vom fdisk-Prompt. Die Zahl »1« zeigt an, dass es sich um die erste Partitionstabellenebene handelt - würdest du eine erweiterte Partition bearbeiten, so würde hier »2« stehen (oder eine noch größere Zahl). Erweiterte Partitionen sind Partitionen, die ihre eigene Unterpartitionstabelle besitzen, und damit die Vier-Partitionen-Designbeschränkung vom IBM AT umgehen. Erweiterte Partitionen werden hier nicht weiter behandelt.
Als Erstes erzeugen wir Partition »0«, eine 5 G große Windows-Partition (die das NTFS-Dateisystem benutzt), und Partition »1« wird als unsere OpenBSD-Partition den gesamten Rest der Festplatte einnehmen.
fdisk: 1> e 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]: [0] (? for help)
|
Da wir gerade die gültige Partitions-ID für NTFS nicht aus unserer Erinnerung rekapitulieren können, drücken wir »?«, um eine Liste zu erhalten.
Partition id ('0' to disable) [0 - FF]: [0] (? for help) ?
Choose from the following Partition id values:
00 unused 20 Willowsoft 66 NetWare 386 A9 NetBSD
01 DOS FAT-12 24 NEC DOS 67 Novell AB MacOS X boot
02 XENIX / 27 Win Recovery 68 Novell AF MacOS X HFS+
03 XENIX /usr 38 Theos 69 Novell B7 BSDI filesy*
04 DOS FAT-16 39 Plan 9 70 DiskSecure B8 BSDI swap
05 Extended DOS 40 VENIX 286 75 PCIX BF Solaris
06 DOS > 32MB 41 Lin/Minux DR 80 Minix (old) C0 CTOS
07 NTFS 42 LinuxSwap DR 81 Minix (new) C1 DRDOSs FAT12
08 AIX fs 43 Linux DR 82 Linux swap C4 DRDOSs < 32M
09 AIX/Coherent 4D QNX 4.2 Pri 83 Linux files* C6 DRDOSs >=32M
0A OS/2 Bootmgr 4E QNX 4.2 Sec 84 OS/2 hidden C7 HPFS Disbled
0B Win95 FAT-32 4F QNX 4.2 Ter 85 Linux ext. DB CPM/C.DOS/C*
0C Win95 FAT32L 50 DM 86 NT FAT VS DE Dell Maint
0E DOS FAT-16 51 DM 87 NTFS VS E1 SpeedStor
0F Extended LBA 52 CP/M or SysV 8E Linux LVM E3 SpeedStor
10 OPUS 53 DM 93 Amoeba FS E4 SpeedStor
11 OS/2 hidden 54 Ontrack 94 Amoeba BBT EB BeOS/i386
12 Compaq Diag. 55 EZ-Drive 99 Mylex EE EFI GPT
14 OS/2 hidden 56 Golden Bow 9F BSDI EF EFI Sys
16 OS/2 hidden 5C Priam A0 NotebookSave F1 SpeedStor
17 OS/2 hidden 61 SpeedStor A5 FreeBSD F2 DOS 3.3+ Sec
18 AST swap 63 ISC, HURD, * A6 OpenBSD F4 SpeedStor
19 Willowtech 64 NetWare 2.xx A7 NEXTSTEP FF Xenix BBT
1C ThinkPad Rec 65 NetWare 3.xx A8 MacOS X
Partition id ('0' to disable) [0 - FF]: [0] (? for help) 07
|
Nun definieren wir die Start- und Endpunkte:
Do you wish to edit in CHS mode? [n] |
Der CHS-Modus ermöglicht es dir, den Speicherplatz in Zylindern, Köpfen und Sektoren zu spezifizieren. Behalte in Erinnerung, dass für moderne Festplatten die CHS-Nummern absolut nichtssagend sind: einfach nur drei Zahlen, die zu einem Sektor auf der Platte übersetzt werden, der dann auf die physikalische Geometrie der Platte übersetzt wird (welche vielleicht auch noch, über die gesamte Kapazität der Platte hinweg betrachtet, variabel ist).
Antwortest du hier mit »y«, so wirst du für Zylinder, Kopf und Sektor nach Start- und Endwerten gefragt. Solltest du mit »no« antworten (wie wir es tun), so wirst du nach dem Start- und Endsektor und der Größe gefragt. Die Bearbeitung via CHS ist oft einfacher, wenn eine bestehende Partition eingebunden werden soll, während die Angabe von Sektor und Größe oft einfacher ist, wenn man schnell eine Partition einer bestimmten Größe erzeugen möchte.
offset: [0] 64 |
Die fdisk-Plattformen benötigen einen Zwischenraum vor der ersten Partition. Die exakte Größe spielt auf modernen Maschinen keine Rolle, OpenBSD benutzt standardmäßig 64 Sektoren. Dies wird aus Performancegründen für moderne Laufwerke empfohlen, bei älteren Laufwerken spielt es keine Rolle.
size: [0] 5g Rounding to nearest cylinder: 10490382 |
Der Wert »size« (Größe) kann als Anzahl von Sektoren (jeder von 512 Byte Größe) angegeben werden, oder aber als gewünschte Kapazität, wenn als Suffix »k«, »m« oder »g« benutzt wird. Wenn die Bearbeitung mit Hilfe von »offset« (Abstand) und »size« erfolgt, so rundet fdisk die Partitionsgröße derart, dass die Partition auf einer Zylindergrenze endet (OpenBSD kümmert sich nicht darum, und es mag möglich sein, dass sich kein einziges modernes Betriebssystem darum kümmert, aber einige mögen es einmal getan haben).
Jetzt lass uns einen Blick auf unsere neue Partition werfen:
fdisk:*1> p
Disk: wd0 geometry: 4998/255/63 [80293248 Sectors]
Offset: 0 Signature: 0x0
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 07 0 1 1 - 652 254 63 [ 63: 10490382 ] NTFS
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
fdisk:*1>
|
Beachte, dass der Prompt nun ein »*« beinhaltet, wodurch angezeigt wird, dass ungesicherte Änderungen vorliegen.
Wir haben nun die Windows-Partition erzeugt. Im Moment ist sie allerdings nichts weiter als reservierter Speicher auf der Platte. Sie ist nicht formatiert, d. h. kein Dateisystem befindet sich darauf. Darum musst du dich kümmern, wenn du Windows installierst; in jedem Fall haben unser Ziel des Reservierens von Speicher für eine später zu erzeugende Windows-Partition erreicht.
Jetzt erzeugen wir unsere OpenBSD-Partition. In diesem Fall wird die Partitions-ID »A6« lauten.
fdisk:*1> e 1
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
Partition id ('0' to disable) [0 - FF]: [0] (? for help) a6
Do you wish to edit in CHS mode? [n] Enter
offset: [0]
|
Uh! Oh! Was ist unser »offset«? Einfach: Der der vorherigen Partition plus ihrer Größe. In diesem Fall 63+10490382 = 10490445.
offset: [0] 10490445 size: [0] * fdisk:*1> |
Die Eingabe von »*« meint in diesem Fall »den gesamten Rest des Laufwerks«. Wieder hätten wir die Größe in Sektoren oder mit »m«- oder »g«-Suffix spezifizieren können, wenn wir Speicher für etwas anderes hätten übrig lassen wollen.
Jetzt schauen wir auf unsere Partitionstabelle:
fdisk:*1> p
Disk: wd0 geometry: 4998/255/63 [80293248 Sectors]
Offset: 0 Signature: 0x0
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 07 0 1 1 - 652 254 63 [ 63: 10490382 ] NTFS
1: A6 653 0 1 - 4998 5 63 [ 10490445: 69802803 ] OpenBSD
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
fdisk:*1>
|
WIR SIND NOCH NICHT FERTIG!
Von diesem Laufwerk kann noch nicht gestartet werden!
Da es ein komplett neues Laufwerk war, ist der
MBR komplett leer.
Die Meldung »Signature: 0x0« hier zeigt, dass keine gültige Signatur (0xAA55)
vorhanden ist, was indiziert, dass definitiv kein gültiger »Bootcode«
existiert.
Natürlich ist es möglich, zwar eine gültige Signatur, aber dennoch
keinen gültigen »Bootcode« zu haben, z. B. durch zufälliges Pech oder
einem Schaden an dem existierenden »Bootcode«, aber eine ungültige Signatur
indiziert mit hoher Wahrscheinlichkeit, dass der »Bootcode« fehlt, weshalb wir
ihn jetzt mit Hilfe des Kommandos »update« installieren:
fdisk:*1> update Machine code updated. fdisk:*1> |
Wir müssen außerdem eine Partition als »aktiv« »markieren«, sodass der »Boot-ROM« weiß, von welcher Partition er booten soll:
fdisk:*1> f 1 Partition 1 marked active. |
Jetzt lass uns mal schauen, wie es aussieht:
fdisk:*1> p
Disk: wd0 geometry: 4998/255/63 [80293248 Sectors]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 07 0 1 1 - 652 254 63 [ 63: 10490382 ] NTFS
*1: A6 653 0 1 - 4998 5 63 [ 10490445: 69802803 ] OpenBSD
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
fdisk:*1>
|
Eine Checkliste von Dingen, die du sicherstellen solltest, bevor du fdisk(8) verlässt:
(zurück dorthin, wo wir vielleicht gewesen sind)
Alle Partitionen, die native FFS-Partitionen beherbergen, sollten sich innerhalb OpenBSDs fdisk(8)-Partition befinden, jedoch können Nicht-OpenBSD-Partitionen außerhalb OpenBSDs fdisk-Partition liegen (und normalerweise sollten sie das auch).
Mehr Informationen über die Benutzung von disklabel kann hier gefunden werden.
Mehr Informationen darüber, warum Partitionierung gut ist und wie man eine Strategie für einen guten Partitionierungsplan findet, finden sich weiter unten.
Das OpenBSD-Installationsprogramm wird, basierend auf der Größe des Laufwerks versuchen, für dein Laufwerk einen benutzbaren, »für jeden Zweck tauglichen« Partitionierungsplan zu erstellen. Ist das Laufwerk groß genug, wird verbleibender freier Speicher der Partition /home zugeschrieben. Obwohl dies oft nützlich ist, befriedigt es doch nicht die Bedürfnisse aller Nutzer.
Für unser Beispiel nehmen wir an, dass wir einen statischen Webserver für einige unserer Freunde aufbauen. Wir haben eine Maschine, die eine durchschnittliche Internetverbindung besitzt, mit einer 40 G Festplatte, von der das meiste für die Benutzung durch OpenBSD zur Verfügung steht (mit derselben 5 G Windows-Partition wie in dem Beispiel weiter oben. Warum? Vielleicht weil dieses System einen RAID-Controller besitzt, der zwar von OpenBSD unterstützt, jedoch nur aus Windows heraus verwaltet werden kann. Eher wahrscheinlich ist es allerdings, dass der Verfasser dieser »FAQ« sich nicht danach fühlte, viele unterschiedliche Beispiele verwalten zu müssen).
Die Internetseiten, serviert von einem OpenBSD-Webserver, befinden sich in /var/www und nur sehr wenig wird in /home abgespeichert werden, sodass dies eine klare Änderung der Standardvorgabe erfordert. Zum Zwecke der Diskussion nehmen wir weiterhin an, dass wir auf dieser Maschine das Betriebssystem nicht aus den Quellen heraus neu zu erzeugen brauchen (das machen wir woanders). Das System wird ohne X laufen, aber da einige Webanwendungen ein installiertes X erwarten, werden wir es zumindest installieren. Die Maschine ist nicht wirklich schnell, sie kann nicht mehr als 1 G RAM beherbergen, und es ist unwahrscheinlich, dass unsere Anwendung jemals mehr als dies verlangen wird.
Nach ein wenig Nachdenken ist dies unser Plan zur Partitionierung des Systems:
The auto-allocated layout for wd0 is:
# size offset fstype [fsize bsize cpg]
a: 1024.0M 10490445 4.2BSD 2048 16384 1 # /
b: 252.1M 12587597 swap
c: 39205.7M 0 unused
d: 2319.3M 13103933 4.2BSD 2048 16384 1 # /tmp
e: 3653.9M 17853877 4.2BSD 2048 16384 1 # /var
f: 1149.8M 25337016 4.2BSD 2048 16384 1 # /usr
g: 1024.0M 27691862 4.2BSD 2048 16384 1 # /usr/X11R6
h: 3422.6M 29789014 4.2BSD 2048 16384 1 # /usr/local
i: 5122.3M 63 NTFS
j: 1848.7M 36798433 4.2BSD 2048 16384 1 # /usr/src
k: 1848.7M 40584654 4.2BSD 2048 16384 1 # /usr/obj
l: 17540.2M 44370875 4.2BSD 2048 16384 1 # /home
Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a] c
|
Wenn wir nur einige kleine Änderungen vorhätten, könnten wir auch die automatische Einteilung editieren, anstatt mit einem reinen Tisch zu beginnen, aber wir gehen hier den harten Weg.
You will now create an OpenBSD disklabel inside the OpenBSD MBR
partition. The disklabel defines how OpenBSD splits up the MBR partition
into OpenBSD partitions in which filesystems and swap space are created.
You must provide each filesystem's mountpoint in this program.
The offsets used in the disklabel are ABSOLUTE, i.e. relative to the
start of the disk, NOT the start of the OpenBSD MBR partition.
Label editor (enter '?' for help at any prompt)
> p
OpenBSD area: 10490445-80293248; size: 69802803; free: 69802803
# size offset fstype [fsize bsize cpg]
c: 80293248 0 unused
i: 10490382 63 NTFS
>
|
Wie du siehst, sind bereits zwei Partitionen vorhanden - die Partition »c« ist immer präsent und wird automatisch erzeugt, aber disklabel(8) hat ebenfalls die bestehende NTFS-Partition wahrgenommen und ihr eine disklabel-Partition zugewiesen, sodass es theoretisch möglich wäre, sie aus OpenBSD heraus zu benutzen (anzumerken ist jedoch, dass im Moment die Unterstützung für NTFS experimentell ist und einen angepassten Kernel benötigt; die Unterstützung für FAT/FAT32 ist hingegen ziemlich gut).
Wir werden nun unsere Partitionen erzeugen. Wir starten mit der Partition »a«, unserer root-Partition:
> a a offset: [10490445] Enter size: [69802803] 100m Rounding to cylinder: 208845 FS type: [4.2BSD] Enter mount point: [none] / > |
disklabel hat hier automatisch den ersten frei verfügbaren OpenBSD-Sektor auf dem Laufwerk eingesetzt, was genau das ist, was wir wollen. Allerdings hat es als Größenvorgabe den gesamten freien Speicher eingesetzt, was NICHT das ist, was wir wollen. Hier haben wir diesen Wert mit unserer gewünschten Größe überschrieben, die in Sektoren »M« oder »G« angegeben werden kann.
Normalerweise wirst du den Standard-Dateisystemtyp »4.2BSD« für eine FFS- (»Fast File System«) oder FFS2-Partition wollen, obwohl andere Typen, die du nützlich finden könntest, »swap« und »RAID« beinhalten.
Das letzte ist der Einhängepunkt. Unsere Partition »a« ist die root-Partition, durch Definition.
Nun erzeugen wir Auslagerung, das ist unsere Partition »b« (dies ist wieder eine Bedingung - »b« auf dem Startlaufwerk ist Auslagerung):
> a b offset: [10699290] Enter size: [69593958] 1g Rounding to cylinder: 2104515 FS type: [swap] Enter > |
Wieder hat disklabel den Startsektor korrekt kalkuliert und uns als Größe den »kompletten verbleibenden Speicherplatz« vorgeschlagen, was wir wiederum mit unserer gewünschten Größe überschrieben haben. Weil dies die »b«-Partition ist, nahm disklabel an, dass sie für Auslagerungszwecke bestimmt ist, und als wir das bestätigten, hielt es sich gar nicht mehr damit auf, uns nach einem Einhängepunkt zu fragen.
Wir sind nun bereit, die restlichen Partitionen zu erzeugen.
> a d offset: [12803805] Enter size: [67489443] 2g Rounding to cylinder: 4209030 FS type: [4.2BSD] Enter mount point: [none] /usr > a e offset: [17012835] Enter size: [63280413] 100m Rounding to cylinder: 208845 FS type: [4.2BSD] Enter mount point: [none] /tmp > a f offset: [17221680] Enter size: [63071568] 2g Rounding to cylinder: 4209030 FS type: [4.2BSD] Enter mount point: [none] /usr/local > a g offset: [21430710] Enter size: [58862538] 1g Rounding to cylinder: 2104515 FS type: [4.2BSD] Enter mount point: [none] /usr/X11R6 > a h offset: [23535225] Enter size: [56758023] 1g Rounding to cylinder: 2104515 FS type: [4.2BSD] Enter mount point: [none] /home > a j offset: [25639740] Enter size: [54653508] 1g Rounding to cylinder: 2104515 FS type: [4.2BSD] Enter mount point: [none] /var > a k offset: [27744255] Enter size: [52548993] Enter FS type: [4.2BSD] Enter mount point: [none] /var/www > |
Bei der /var/www-Partition (»k«) haben wir einfach den Standardwert genommen und nutzen damit den gesamten freien Speicherplatz auf dem Laufwerk. Mit den modernen monströs riesigen Laufwerken ist dies normalerweise eine schlechte Idee. Wenn du weißt, das du ihn nie benutzen wirst, teile ihn nicht zu, sondern hebe ihn für einen zukünftigen Zweck auf.
Nun lass uns mit Hilfe der Kommandos »p« und »p m« einen Blick auf unser Ergebnis werfen:
> p
OpenBSD area: 10490445-80293248; size: 69802803; free: 0
# size offset fstype [fsize bsize cpg]
a: 208845 10490445 4.2BSD 2048 16384 1 # /
b: 2104515 10699290 swap
c: 80293248 0 unused
d: 4209030 12803805 4.2BSD 2048 16384 1 # /usr
e: 208845 17012835 4.2BSD 2048 16384 1 # /tmp
f: 4209030 17221680 4.2BSD 2048 16384 1 # /usr/local
g: 2104515 21430710 4.2BSD 2048 16384 1 # /usr/X11R6
h: 2104515 23535225 4.2BSD 2048 16384 1 # /home
i: 10490382 63 NTFS
j: 2104515 25639740 4.2BSD 2048 16384 1 # /var
k: 52548993 27744255 4.2BSD 2048 16384 1 # /var/www
> p m
OpenBSD area: 10490445-80293248; size: 34083.4M; free: 0.0M
# size offset fstype [fsize bsize cpg]
a: 102.0M 10490445 4.2BSD 2048 16384 1 # /
b: 1027.6M 10699290 swap
c: 39205.7M 0 unused
d: 2055.2M 12803805 4.2BSD 2048 16384 1 # /usr
e: 102.0M 17012835 4.2BSD 2048 16384 1 # /tmp
f: 2055.2M 17221680 4.2BSD 2048 16384 1 # /usr/local
g: 1027.6M 21430710 4.2BSD 2048 16384 1 # /usr/X11R6
h: 1027.6M 23535225 4.2BSD 2048 16384 1 # /home
i: 5122.3M 63 NTFS
j: 1027.6M 25639740 4.2BSD 2048 16384 1 # /var
k: 25658.7M 27744255 4.2BSD 2048 16384 1 # /var/www
>
|
Genau wie bei fdisk- sollten auch die OpenBSD-disklabel-Partitionen einander nicht überlappen (anders als die Partition »c«, die selbstverständlich alles überlappt).
Schreibe die Änderungen und beende disklabel:
> w > q No label changes. newfs: reduced number of fragments per cylinder group from 13048 to 12992 to enlarge last cylinder group /dev/rwd0a: 102.0MB in 208844 sectors of 512 bytes 5 cylinder groups of 25.38MB, 1624 blocks, 3328 inodes each /dev/rwd0h: 1027.6MB in 2104512 sectors of 512 bytes 6 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each newfs: reduced number of fragments per cylinder group from 13048 to 12992 to enlarge last cylinder group /dev/rwd0e: 102.0MB in 208844 sectors of 512 bytes 5 cylinder groups of 25.38MB, 1624 blocks, 3328 inodes each /dev/rwd0d: 2055.2MB in 4209028 sectors of 512 bytes 11 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0g: 1027.6MB in 2104512 sectors of 512 bytes 6 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0f: 2055.2MB in 4209028 sectors of 512 bytes 11 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0j: 1027.6MB in 2104512 sectors of 512 bytes 6 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0k: 25658.7MB in 52548992 sectors of 512 bytes 127 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/wd0a on /mnt type ffs (rw, asynchronous, local) /dev/wd0h on /mnt/home type ffs (rw, asynchronous, local, nodev, nosuid) /dev/wd0e on /mnt/tmp type ffs (rw, asynchronous, local, nodev, nosuid) /dev/wd0d on /mnt/usr type ffs (rw, asynchronous, local, nodev) /dev/wd0g on /mnt/usr/X11R6 type ffs (rw, asynchronous, local, nodev) /dev/wd0f on /mnt/usr/local type ffs (rw, asynchronous, local, nodev) /dev/wd0j on /mnt/var type ffs (rw, asynchronous, local, nodev, nosuid) /dev/wd0k on /mnt/var/www type ffs (rw, asynchronous, local, nodev, nosuid) Let's install the sets! ... |
(zurück dorthin, wo wir vielleicht gewesen sind)
Eine vollständige OpenBSD-Installation ist in eine Reihe separater Dateisets aufgeteilt. Nicht jede Anwendung benötigt jedes Dateiset, jedoch wird neuen Benutzern geraten, ALLE zu installieren. Hier ist ein Überblick über jedes Einzelne:
WENN du X benötigst, installiere es einfach. Es wird dich nicht mehr schmerzen als die Applikation, für die du es benötigst.
Wenn du dich dazu entscheidest, den Übersetzer nicht zu installieren, so wirst du wahrscheinlich ein anderes System benötigen, um aktualisierte Software zu warten und zu bauen. Es gibt weit mehr Systeme, die durch untaugliche Wartung komprimittiert wurden, als solche, die komprimittiert wurden, weil ein Übersetzer installiert war.
Offensichtlich variiert die Antwort auf diese Frage kolossal in Abhängigkeit von deiner Nutzung des Systems. OpenBSD kann selbst in wenigen 512 MB installiert werden, allerdings ist die Installation auf einem so kleinen Gerät eine Sache für fortgeschrittene Benutzer. Bis du ein wenig Erfahrung besitzt, ist eine 4 G oder 8 G große Festplatte die Empfehlung für den Anfang.
Anders als viele andere Betriebssysteme bestärkt OpenBSD seine Benutzer, ihre Laufwerke in eine ganze Reihe von Partitionen zu unterteilen, anstatt nur eine oder zwei große Partitionen zu nutzen. Es gibt einige Gründen, das Laufwerk zu unterteilen:
Einige weitere Gedanken über Partitionierung:
Vorzugsweise nutzt man eine der vier primären MBR-Partitionen, um OpenBSD zu starten (d. h. dass erweiterte Partitionen eventuell nicht funktionieren).
Anzumerken ist, das Windows 7 und Vista ihre Systempartitionen in der Größe verändern können: öffne die Systemsteuerung, suche nach »Datenträgerverwaltung« und benutze dieses Werkzeug. Ein Rechtsklick auf das »Volume« (Partition) und du wirst bemerken, dass du sie schrumpfen kannst. Die Hauptbeschränkung des Werkzeugs ist, dass die Windows-Auslagerungsdatei nicht bewegt werden kann, d. h. wenn du mehr Speicher brauchst, muss zuerst diese Datei bewegt oder ausgeschaltet werden.
Hier sind mehrere Optionen für das »Multibooting«:
boot hd0a:/bsd
um das System von Festplatte 0, OpenBSD-Partition »a«, Kernel-Binärdatei
/bsd starten zu lassen.
Mit einer Zeile wie »boot hd2a:/bsd« ist es auch möglich, von anderen
Laufwerken zu starten, im Beispiel von der dritten Festplatte des Systems.
Um OpenBSD zu starten, lege die Diskette ein und starte das System neu.
Um das andere Betriebssystem zu starten, entferne die Diskette und starte das
System neu.
(Du kannst natürlich diese Diskette auch zum Erzeugen einer startfähigen CD
benutzen.)
Das Programm boot(8) wird von der Diskette geladen, sucht nach und liest die /etc/boot.conf. Die Zeile »boot hd0a:/bsd« instruiert boot(8), woher der Kernel zu laden ist - in diesem Fall die erste Festplatte, die vom BIOS gesehen wird. Behalte in Erinnerung, dass nur eine kleine Datei (/boot) von der Diskette gelesen wird. Das System lädt den gesamten Kernel von der Festplatte, sodass dies nur fünf Sekunden auf den Prozess des Startens aufschlägt.
# dd if=/dev/rsd0a of=openbsd.pbr bs=512 count=1
Anmerkung: Dies ist wirklich ein guter Zeitpunkt, um daran zu erinnern, dass
das blinde Tippen von Kommandos, die man nicht versteht, eine wirklich
schlechte Idee ist.
Diese Zeile wird auf den meisten Computern, so wie gezeigt, nicht
funktionieren.
Es wird dem Leser überlassen, es auf seine eigene Maschine zu übertragen.
Nun starte NT und schreibe openbsd.pbr nach C:. Füge eine Zeile wie die Folgende an das Ende von C:\BOOT.INI an:
c:\openbsd.pbr="OpenBSD"
Wenn du neu startest, sollte es möglich sein, OpenBSD aus dem NT-Starter-Menü auszuwählen. Es sind viele Informationen zu NTLDR beim NTLDR Hacking Guide verfügbar.
Unter Windows XP kannst du die Startinformationen auch grafisch editieren; lies das XP Boot.ini HOWTO.
Es sind Programme verfügbar, die dir viel von dieser Arbeit abnehmen, zum Beispiel BootPart. Dieses Programm kann unter Windows NT/2000/XP laufen, kann den OpenBSD-PBR auslesen, ihn auf der NT/2000/XP-Partition platzieren und ihn zu der C:\BOOT.INI hinzufügen.
Anmerkung: Der Windows NT/2000/XP »Bootloader« ist ausschließlich dazu in der Lage, Betriebssysteme von der primären Festplatte zu starten. Du kannst ihn nicht dazu benutzen, OpenBSD von der zweiten Platte des Systems zu starten.
Mit Vista hat Microsoft die Unterstützung von NTLDR zugunsten des neueren »Boot Configuration Data« (BCD)-Speichers, der zur Kontrolle der Startumgebung benutzt wird, aufgegeben. Da BOOT.INI für die Anpassung nicht länger zur Verfügung steht, nimmt das Kommandozeilenwerkzeug bcedit seinen Platz ein.
Sobald OpenBSDs PBR auf die Vista-Systempartition kopiert wurde, sind die folgenden drei Kommandos nötig, um OpenBSD auszuwählen und zu starten, wenn das System neu gestartet wird:
C:\Windows\system32> bcdedit /create /d "OpenBSD/i386" /application bootsector
The entry {05a763ce-d81b-11db-b3ec-000000000000} was successfully created.
C:\Windows\System32>
Die GUID, die hier zurückgegeben wurde (05a763ce-d81b-11db-b3ec-000000000000) wird für illustrative Zwecke gezeigt. Beachte die GUID, die gezeigt wird, wenn du das Kommando laufen lässt, da dieser Wert für die folgenden Kommandos gebraucht wird. Das einfache Kopieren der oben gezeigten GUID wird nicht funktionieren.
Die folgenden zwei Kommandos werden ebenfalls benötigt:
C:\Windows\system32> bcdedit /set {05a763ce-d81b-11db-b3ec-000000000000} device boot
The operation completed successfully.
C:\Windows\system32> bcdedit /set {05a763ce-d81b-11db-b3ec-000000000000} path \openbsd.pbr
The operation completed successfully.
C:\Windows\system32>
Diese müssen in einer Shell mit Administratorrechten ausgeführt werden. Sobald du cmd.exe lokalisiert hast, rechtsklicke es, um in der Lage zu sein, "run as administrator" auszuwählen.
Beachte den absolute Pfadnamen der importierten PBR-Datei. Füge keinen Laufwerksbuchstaben hinzu, da angenommen wird, dass die Datei auf der Systempartition platziert wird. bcdedit wird sich über einen explizit spezifizierten Laufwerksbuchstaben nicht beschweren, aber der »Bootmanager« wird später stocken und angeben, dass er den designierten Pfadnamen nicht auflösen kann.
Während des Neustarts wird Vista als Erstes im »Bootmanager« gelistet, direkt gefolgt von OpenBSD. Die Auswahl eines Eintrags startet das entsprechende Betriebssystem.
Wenn nichts geschieht, schaue in der Systemsteuerung nach Startinformationen. Sehr wahrscheinlich ist der Start von Windows so eingestellt, dass er keine Verzögerung benutzt, sodass du das Startmenü nicht zu sehen bekommst. Du kannst dieses Werkzeug auch benutzen, um OpenBSD standardmäßig zu starten.
Für mehr Informationen konsultiere bcdedits Hilfe durch die Eingabe von:
C:\Windows\system32> bcdedit /?
oder durch die Suche in Microsofts Dokumentation und auf ihrer Webseite. Eine gute Einführung kann in dem TechNet-Artikel »Frequently Asked Questions« gefunden werden.
Für diejenigen, die manuelle Konfiguration erschreckend finden, bietet EasyBCD eine grafische Alternative.
Seit der Veröffentlichung von Vista hat Microsoft BCD verbessert, sodass es nun mehrere Versionen von Windows über bcdedit starten kann. Weil dies eine viel größere Kontrolle ermöglicht, sind nun fünf Kommandos nötig, um eine »Multiboot«-Umgebung mit OpenBSD einzurichten.
Nach dem Kopieren des OpenBSD-PBR auf die Systempartition von Windows 7 benutze die folgenden Kommandos, um die erforderlichen Registraturdaten zu initialisieren:
C:\Windows\system32> bcdedit /create /d "OpenBSD/i386" /application bootsector
The entry {0154a872-3d41-11de-bd67-a7060316bbb1} was successfully created.
C:\Windows\system32>
Wie zuvor schon geschildert, ist die gezeigte GUID {0154a872-3d41-11de-bd67-a7060316bbb1} systemabhängig. Merke dir den Wert, den du bei der Ausführung erhältst, und benutze ihn mit den folgenden Kommandos:
C:\Windows\system32> bcdedit /set {0154a872-3d41-11de-bd67-a7060316bbb1} device boot
The operation completed successfully.
C:\Windows\system32> bcdedit /set {0154a872-3d41-11de-bd67-a7060316bbb1} path \openbsd.pbr
The operation completed successfully.
C:\Windows\system32> bcdedit /set {0154a872-3d41-11de-bd67-a7060316bbb1} device partition=c:
The operation completed successfully.
C:\Windows\system32> bcdedit /displayorder {0154a872-3d41-11de-bd67-7060316bbb1} /addlast
The operation completed successfully.
C:\Windows\system32>
Andere »Bootloader«, die Benutzer von OpenBSD erfolgreich benutzt haben: GAG, The Ranish Partition Manager, rEFIt, und GRUB.
Bitte lies INSTALL.linux, das detaillierte Instruktionen beinhaltet, um OpenBSD und Linux gemeinsam zum Laufen zu bringen.
Nur um es den Leuten in Erinnerung zu rufen: Es ist wichtig für die OpenBSD-Entwickler, auf dem Laufenden zu bleiben, welche Hardware läuft, und welche nicht richtig funktioniert, und dies schließt die Hardwaresensoren ein, die in den Maschinen gefunden werden können.
Ein Zitat aus /usr/src/etc/root/root.mail
If you wish to ensure that OpenBSD runs better on your machines, please do us
a favor (after you have your mail system configured!) and type something like:
# (dmesg; sysctl hw.sensors) | \
mail -s "Sony VAIO 505R laptop, apm works OK" dmesg@openbsd.org
so that we can see what kinds of configurations people are running. As shown,
including a bit of information about your machine in the subject or the body
can help us even further. We will use this information to improve device driver
support in future releases. (Please do this using the supplied GENERIC kernel,
not for a custom compiled kernel, unless you're unable to boot the GENERIC
kernel. If you have a multi-processor machine, dmesg results of both GENERIC.MP
and GENERIC kernels are appreciated.) The device driver information we get from
this helps us fix existing drivers. Thank you!
Versichere dich, dass du die E-Mail von einem Benutzerkonto sendest, das nicht nur senden, sondern auch E-Mail empfangen kann, sodass dich Entwickler kontaktieren können, wenn sie wollen, dass du etwas testest oder änderst, um dein Setup zum Laufen zu bringen. Es ist überhaupt nicht wichtig, diese E-Mail von derselben Maschine zu senden, auf der OpenBSD läuft; sollte diese Maschine keine E-Mail empfangen können, so mache einfach das Folgende:
$ (dmesg; sysctl hw.sensors) | mail your-account@yourmail.domund dann »forward«e diese Nachricht an
dmesg@openbsd.orgwobei hier your-account@yourmail.dom für dein reguläres E-Mail-Benutzerkonto steht.
ANMERKUNGEN
Die oben gezeigte Methode ist sehr einfach, aber wenn du dich dazu entschieden hast, E-Mail auf deinem OpenBSD-System nicht zu konfigurieren, so solltest du dennoch deine »dmesg« an die Entwickler schicken. Speichere deine »dmesg« in einer Textdatei.
$ (dmesg; sysctl hw.sensors) > ~/dmesg.txtDann transferiere diese Datei (mit Hilfe von FTP/scp/Diskette/Brieftaube/...) an das System, das du normalerweise für E-Mail benutzt. Da die »dmesg«-Ausgabe, die du einsendest, automatisch abgearbeitet wird, solltest du die folgenden Punkte sicherstellen, wenn du alternative E-Mail-Programme/-Systeme benutzt:
Manchmal erkennt man zu spät, dass man WIRKLICH comp52.tgz (oder eine andere Systemkomponente) benötigt hätte, es aber zum Zeitpunkt der Installation nicht installiert hat. Gute Nachrichten: Es gibt zwei einfache Wege, Dateisets nach der eigentlichen Installation aufzuspielen:
# cd / # tar xzvphf comp52.tgz |
Vergiss NICHT die Option »p« im oben gezeigten Kommando, da sie dafür sorgt, dass die Dateirechte korrekt wiederhergestellt werden!
Ein häufig gemachter Fehler ist, zu denken, dass man pkg_add(1) benutzen kann, um fehlende Dateisets hinzuzufügen. Das funktioniert nicht. pkg_add(1) ist das Verwaltungswerkzeug für Pakete zur Installation von Software Dritter. Es kann mit Paketdateien umgehen, nicht mit generischen tar-Dateien, wie es die Dateisets sind.
Wenn du das Dateiset xbase zum ersten Mal auf deinem System mit Hilfe von tar(1) und ohne Neustart installierst, so muss der Cache für dynamisch gelinkte Bibliotheken durch einen Aufruf von ldconfig(8) nach der Installation aktualisiert werden. Um alle Bibliotheken von X zu dem Cache hinzuzufügen:
Alternativ kann man auch einfach sein System neu starten, da das Skript rc(8), das beim Starten des Systems läuft, diese Schritte automatisch ausführt.# ldconfig -m /usr/X11R6/lib
Ihn einen RAM-Laufwerk Kernel zu nennen, beschreibt das Wurzel-Dateisystem des Kernels - anstatt sich auf einem physischen Laufwerk zu befinden, befinden sich die Werkzeuge, die nach dem Start von bsd.rd vorhanden sind, im Kernel und werden von einem RAM-basierten Dateisystem ausgeführt. bsd.rd enthält ein brauchbares Set an Werkzeugen für die Systemwartung und -installation.
Auf manchen Plattformen ist bsd.rd sogar die bevorzugte Installationstechnik. Du platzierst diesen Kernel auf einem vorhandenen Dateisystem, startest ihn, und führst darauf hin von ihm aus die Installation durch. Auf den meisten Plattformen kannst du, solltest du eine ältere Version von OpenBSD laufen haben, eine neue Version von bsd.rd per FTP beziehen, damit neu starten und eine neue Version von OpenBSD installieren - unter Auslassung jeglicher Wechselmedien.
Hier ist ein Beispiel des Startens von bsd.rd auf einem i386-System:
Using Drive: 0 Partition: 3 reading boot..... probing: pc0 com0 com1 apm mem[639k 255M a20=on] disk: fd0 hd0+ >> OpenBSD/i386 BOOT 3.18 boot> boot hd0a:/bsd.rd . . . normal boot to install . . . |
Wie schon gesagt wirst du in das Installationsprogramm gelangen, aber du kannst auch auf die Shell zurückgreifen, um Wartungsarbeiten auf dem System auszuführen.
Die einfache Regel zum Starten von bsd.rd ist schlicht der Austausch des »Boot-Kernels« von /bsd zu bsd.rd, wie auch immer dies auf deiner Plattform zu bewerkstelligen ist.
machine mem +0x3000000@0x1000000
48 MB (0x3000000) nach den ersten 16 MB (0x1000000)
hinzufügen.
Wenn du ein System mit diesem Problem hättest, würdest du typischerweise den
oben angegeben Befehl am Installationsprompt boot> der Diskette/CD-ROM
eingeben, neu starten und eine Datei /etc/boot.conf anlegen, die den
oben angegebenen Befehl beinhaltet, sodass alle zukünftigen Starts des Systems
den ganzen verfügbaren Speicher erkennen können.
Es wurde ebenfalls berichtet, dass ein ROM-Update dieses Problem auf einigen Systemen löst.
# fdisk -u wd0
Hinweis: Die Option »update« im interaktiven Modus (»-e«) von fdisk wird keine
Signaturbytes schreiben, die benötigt werden, um das Laufwerk Systemstartfähig
zu machen.
Benutzer von sehr langsamen Maschinen können ihre Schlüssel auch auf einem anderen Computer generieren, in einer site52.tgz genannten Datei abspeichern und sie zusammen mit den restlichen Dateisets installieren.
Display the list of known ftp servers? [no] yes Getting the list from 192.128.5.191 (ftp.openbsd.org)... FAILED Failed to change directory. Server IP address or hostname? |
Dies ist normal und ein erwartetes Verhalten während der Vor-Release-Phase des Zyklus. Das Installationsprogramm sucht nach der FTP-Liste auf dem primären FTP-Server in einem Verzeichnis, das bis zum Release-Datum nicht verfügbar ist, sodass du die oben genannte Meldung bekommst.
Verwende einfach eine FTP-Spiegelserverliste, um deinen favorisierten FTP-Spiegelserver zu finden, und gib seinen Namen manuell ein, wenn du danach gefragt wirst.
Hinweis: Du solltest die Meldung nicht sehen, wenn du »-release«, oder von einer CD-ROM installierst.
Obwohl diese Konfiguration funktionieren kann, kann dies ein Wartungsproblem darstellen und sollte korrigiert werden. Um dies zu korrigieren, muss das Dateisystem der Platte normalerweise von Grund auf neu erstellt werden (obwohl, wenn du WIRKLICH weißt, was du tust, könntest du in der Lage sein, nur das disklabel und den MBR neu zu erstellen, und dadurch nur die erste OpenBSD-Partition der Festplatte zu verlieren, und neu erzeugen zu müssen).
Dateisets, die für »-release« benutzt werden, sollten alle ihren gespeicherten Prüfsummen entsprechen.
Es kann vorkommen, dass für Schappschüsse keine korrekte Prüfsumme im Installationskernel gespeichert ist. Dies geschieht aus verschiedenen Gründen während der Erzeugung, und ist kein Grund, in Panik über Entwicklungs-Schnappschüsse auszubrechen. Wenn du dir darüber Sorgen machst, so warte auf den nächsten Schnappschuss.
Dieses Dateiset erlaubt es dem Benutzer, Dateien hinzuzufügen oder Solche zu überschreiben, die von den »normalen Sets« installiert worden sind, und erlaubt daher die Anpassung der Installation oder des Upgrade.
Es ist ebenfalls möglich, hostnamenspezifische Installationssets zu erzeugen und zu benutzen; diese müssen dem Schema siteXX-<hostname>.tgz folgen, zum Beispiel »site52-puffy.tgz«. Dies erlaubt die einfache hostspezifische Anpassung für Installationen, Upgrades oder dem Wiederherstellen nach Katastrophen.
Einige Beispiel-Anwendungen einer siteXX.tgz-Datei:
Beachte, dass das Skript install.site in der Datei siteXX.tgz liegen sollte, während das Skript upgrade.site vor dem Upgrade in das Wurzelverzeichnis gelegt werden kann - oder in eine siteXX.tgz-Datei.
Die Skripte können für viele Dinge verwendet werden:
Die Kombination von siteXX.tgz- und install.site-/upgrade.site-Dateien soll den Benutzern ein breites Angebot an Möglichkeiten zur Anpassung der Installation eröffnen, ohne dass es nötig ist, dass sie ihre eigenen, angepassten Installationssets erzeugen müssen.
Hinweis: Wenn du über einen HTTP-Server installierst, so musst du die Datei(en) site*.tgz in der Datei index.txt des Quellverzeichnisses auflisten, damit sie während der Installation als Option angezeigt wird. Dies gilt nicht für FTP- oder andere Installationsmethoden.
Sollte dies eine akzeptable Situation darstellen, so magst du in dem Kommando dd eine Lösung finden, die das tut, was du brauchst, und dir erlauben, ein Laufwerk in ein anderes zu kopieren, Sektor für Sektor. Dies würde dieselbe Funktionalität bieten wie die kommerziellen Programme, jedoch ohne Kosten.
mount -t msdos /dev/fd0a /mnt
dmesg > /mnt/dmesg.txt
umount /mnt
Falls du ein anderes OpenBSD-System besitzt, kannst du es ebenfalls auf
eine OpenBSD-kompatible Diskette schreiben - oftmals hat die Startdiskette
genügend freien Raum, um die »dmesg« aufzunehmen.
In diesem Fall verzichte auf das gezeigte »-t msdos«.
Generelle Informationen über die Einrichtung eines seriellen Terminals sind an einer anderen Stelle der FAQ verfügbar; um eine Aufzeichnung der Installation abfangen zu können, sind in der Regel folgende Befehle ausreichend.
i386
Gib am »Bootloader«-Prompt Folgendes ein:
boot> set tty com0
Dies teilt OpenBSD mit, dass die erste serielle Schnittstelle (in PC-Dokumentationen oft COM1 oder COMA genannt) als serielle Konsole verwendet werden soll. Die Standardbaudrate ist 9600.
Sparc/Sparc64
Diese Maschinen starten automatisch mit einer seriellen Konsole, wenn sie ohne angeschlossene Tastatur gestartet wurden. Falls du Tastatur und Monitor angeschlossen hast, kannst du das System trotzdem dazu bringen, eine serielle Konsole zu verwenden, indem du folgende Befehle am ok-Prompt aufrufst.
ok setenv input-device ttya
ok setenv output-device ttya
ok reset
[FAQ-Index] [Zum Kapitel 3 - Mit OpenBSD durchstarten] [Zum Kapitel 5 - Das System aus dem Quelltext erzeugen]