2. Installation
Dieses Kapitel installiert die Appliance vom Installationsmedium. Wenn Sie das fertige Abbild (zedmos.img) direkt auf den Zieldatenträger geschrieben haben, gibt es nichts zu installieren — springen Sie zu Erster Start.
2.1 Den Installer starten
Stecken Sie den Stick oder die Disc ein und starten Sie davon. Auf den meisten Maschinen heißt das: beim Einschalten F12, F11, F8 oder Esc drücken und das Wechselmedium wählen; bei manchen muss die Startreihenfolge im Firmware-Setup geändert werden.
Zuerst erscheint der Bootloader mit dem Produktnamen und einem Countdown. Lassen Sie ihn laufen oder drücken Sie Enter, um sofort zu starten. Der Single-User-Modus und die übrigen Loader-Optionen dienen der Wiederherstellung und werden für eine Installation nicht gebraucht.

„Already installed on ada0“? Ist Zedmos bereits auf einer der Platten der Maschine, sagt der Installer das vor allem anderen und bietet an, die Maschine auszuschalten. Das heißt, die Maschine ist vom Stick gestartet statt von ihrer Platte: ausschalten, Stick entfernen, einschalten. Wählen Sie Installer nur, wenn Sie erneut installieren wollen — das löscht diese Platte.
Nichts auf dem Bildschirm? Dann haben Sie ein VGA-Medium auf einer Appliance ohne Videoausgang gestartet. Schreiben Sie stattdessen das serielle Medium und verbinden Sie sich mit 115200 8N1.
2.2 Tastaturbelegung
Der erste Bildschirm ist Keymap Selection.

Wählen Sie die Belegung der Tastatur, die an dieser Appliance hängt — die Liste enthält tr (Türkisch-Q) und tr.f (Türkisch-F) — oder wählen Sie Skip, um die US-Belegung zu behalten.
Diese Wahl wiegt schwerer, als sie aussieht: das Nächste, was Sie tippen, ist ein Passwort, und ein vertipptes Passwort auf einer ungewohnten Belegung ist ein Support-Anruf.
Auf einigen Maschinen bietet der Installer hier zusätzlich einen Firmware Workaround an — er erkennt Modelle mit bekannten BIOS-Eigenheiten beim Starten von GPT-Partitionen. Wenn Sie gefragt werden, nehmen Sie an: der Workaround schadet auf Hardware nicht, die ihn nicht braucht, und ist auf Hardware, die ihn braucht, der Unterschied zwischen Starten und Nicht-Starten.
2.3 Installationsart wählen
Das Hauptmenü bietet acht Aufgaben:

| Eintrag | Bedeutung |
|---|---|
| Install (UFS) | Eine einzelne Platte mit UFS-Wurzeldateisystem. Einfach, geringer Speicherbedarf. Empfohlen, sofern Sie nicht ausdrücklich ZFS wollen. |
| Install (ZFS) | Eine einzelne Platte mit ZFS-Wurzel: Snapshots, Prüfsummen und Boot-Umgebungen — das ist es, was System → Snapshots erlaubt, das gesamte Betriebssystem zurückzurollen. Braucht mehr Arbeitsspeicher. |
| Other Modes >> | Spiegel, RAID-Z, Verschlüsselung und manuelle Partitionierung. Siehe 2.5. |
| Import Config | Installiert und lädt anschließend eine mitgebrachte Konfiguration. Der Weg beim Hardwaretausch: installieren, importieren, fertig. |
| Password Reset | Keine Installation. Startet vom Medium, hängt eine vorhandene Installation ein und setzt deren Root-Passwort zurück. |
| Shell | Eine Kommandozeile, um die Platten anzusehen oder das Installationsprotokoll zu lesen (/tmp/zedmos-install.log). exit führt zurück in dieses Menü. Die Schaltfläche unten im Menü öffnet dieselbe Shell. |
| Force Reboot / Force Halt | Verlassen, ohne zu installieren. |
Für die meisten Appliances: Install (UFS) auf einer kleinen Platte, Install (ZFS) auf einer Maschine mit 8 GB Speicher oder mehr, wenn Sie Boot-Umgebungen wollen.
2.4 Auf einen Datenträger installieren
Datenträger wählen. Der Installer listet die Platten, die er sieht, mit Größe und Modell.

Lesen Sie das Modell, nicht nur die Größe — eine Appliance hat oft eine interne Platte und den USB-Stick, von dem Sie gestartet sind, und beide stehen in dieser Liste.
Last Chance! Die Bestätigung nennt die Platte noch einmal und sagt, was gleich passiert: die Platte wird gelöscht, das System wird mit dem gewählten Dateisystem installiert, mit 8 GB Swap auf Platten ab 30 GB, sonst 2 GB. Die Vorgabe ist No; Sie müssen sich bewusst für Yes entscheiden.

Das ist der letzte Punkt, an dem noch nichts zerstört ist. Ab hier ist alles auf der genannten Platte weg.
Löschen bedeutet mehr, als eine neue Partitionstabelle zu schreiben. Der Installer räumt auch weg, was das vorherige System in seinen Partitionen hinterlassen hat, etwa die Labels eines alten ZFS-Pools oder die Metadaten eines Spiegels oder RAID-Verbunds. Bevor er irgendetwas kopiert, prüft er, dass nichts dergleichen übrig ist. Das macht es sicher, über eine Maschine zu installieren, auf der eine andere FreeBSD-basierte Firewall lief (OPNsense, pfSense oder ein darauf aufbauendes Produkt), oder über eine frühere ZFS-Installation: ein alter ZFS-Pool, der auf der Platte zurückbleibt, ist das, was der Bootloader anstelle des neuen Systems starten würde. Findet die Prüfung einen, bricht die Installation ab und nennt die Partition, die ihn trägt.
Installation Progress kopiert das System; wie lange, entscheiden Platte und Maschine.

Final Configuration bietet danach zwei Einträge:

- Root Password — setzen Sie es jetzt. Das Passwort, das Sie hier eingeben, wird das Passwort für Konsole und SSH und für die Weboberfläche, damit die Appliance nicht mit der Werksvorgabe hochkommt. Zweimal eingeben; der Installer weist eine Abweichung zurück.

- Complete Install — bestätigt und geht weiter.
Installation Complete nennt die Platte und die Reihenfolge dessen, was jetzt kommt:

- Ausschalten (Power off). Das ist die Vorgabe.
- Den USB-Stick entfernen (oder die DVD).
- Einschalten. Die Appliance startet von ihrer Platte.
Restart now ist für eine Maschine, deren Stick Sie bereits entfernt haben. Shell öffnet eine Kommandozeile und kehrt zu diesem Bildschirm zurück.
Erscheint danach wieder der Installer, ist die Maschine vom Stick gestartet, nicht von der Platte, und der Installer sagt Ihnen das (Already installed on ada0). Entfernen Sie den Stick oder wählen Sie die Platte im Bootmenü der Firmware. Auf einer UEFI-Maschine bittet der Installer die Firmware außerdem, beim nächsten Start die neue Platte zu starten. Das hilft auf Boards, die sonst den Stick vorziehen würden, aber den Stick zu entfernen ist der verlässliche Weg.
2.5 Other Modes
Other Modes übergibt das Plattenlayout an FreeBSDs eigenen Installer und installiert die Appliance anschließend auf das Ergebnis. Vier Möglichkeiten:

| Eintrag | Wofür |
|---|---|
| Auto (ZFS) | Mehrere Platten als Spiegel oder RAID-Z, optional GELI-Verschlüsselung des Pools, dazu die Swap-Größe. Die Wahl für eine Appliance, die einen Plattenausfall überstehen muss. |
| Auto (UFS) | Geführte Einzelplatten-UFS-Installation, dasselbe Ergebnis wie der UFS-Eintrag im Hauptmenü, mit mehr Kontrolle. |
| Manual | Der Partitionseditor. Für ein Layout, das Sie selbst festgelegt haben. |
| Shell | Eine Shell zum Partitionieren von Hand, danach zurück. |
Unabhängig vom Layout wird die Appliance danach auf dieselbe Weise installiert, und die Passwort- und Abschlussbildschirme sind die oben beschriebenen.
Auto (UFS) und Manual verwenden FreeBSDs Partitionseditor, der die ZFS-Labels eines alten Systems nicht entfernt. Der Installer prüft das fertige Layout, bevor er irgendetwas kopiert. Findet er die Labels eines alten Pools, bietet er an, die Platte zu löschen, und Sie legen das Layout auf einer sauberen Platte neu an. Auto (ZFS) entfernt alte Labels selbst.
Verschlüsselung hat einen Preis, den Sie einplanen müssen. Ein GELI-verschlüsselter Pool verlangt bei jedem Start seine Passphrase, getippt auf der Konsole. Eine Appliance in einem verschlossenen Rack in einer anderen Stadt lässt sich damit nicht mehr aus der Ferne neu starten.
2.6 Erster Start
Der erste Start erledigt mehr als die späteren, und er tut es ohne zu fragen:

- Erzeugt die SSH-Hostschlüssel der Appliance und ihr eigenes TLS-Zertifikat.
- Bringt die Schnittstellen hoch: der Uplink fragt per DHCP nach einer Adresse, die interne Schnittstelle kommt auf
192.168.1.1/24hoch. - Startet den DHCP-Server auf der internen Schnittstelle und vergibt
192.168.1.100–192.168.1.199. - Baut das Firewall-Regelwerk und lädt es: das interne Netz darf ins Internet, unaufgeforderter Verkehr vom Uplink wird blockiert.
- Startet den Resolver, den Zeitdienst und den Management-Dienst.
Er endet mit einer Anmeldeaufforderung auf der Konsole.

Die Zeile Network dieser Zusammenfassung betrifft den Weg nach draußen. Hat der Uplink per DHCP keine Adresse bekommen, steht dort no internet route — igc0 got no DHCP lease: prüfen Sie das Uplink-Kabel und den vorgelagerten DHCP-Server. Die Oberfläche bleibt auf der internen Schnittstelle erreichbar, unter der Adresse, die die Zeile Web UI zeigt.
Geben Sie ihr danach noch eine Minute, bevor Sie urteilen: die letzten Dienste starten etwas nach dem ersten beantworteten Ping.
Melden Sie sich an der Konsole als root an. Auf einer per Installer eingerichteten Appliance gilt das Passwort, das Sie bei der Installation gesetzt haben; auf einer aus dem fertigen Abbild geschriebenen ist es zedmos. Das Konsolenmenü erscheint sofort — davon handelt das nächste Kapitel.
Die Oberfläche erreichen Sie von einer Maschine im internen Netz unter https://192.168.1.1/. Ihr Browser warnt wegen des Zertifikats, weil die Appliance es sich selbst ausgestellt hat. Nehmen Sie es vorerst an und tauschen Sie es später aus (System → Trust).
2.7 Wenn das installierte System nicht startet
| Was Sie sehen | Was es bedeutet | Was zu tun ist |
|---|---|---|
| Wieder der Installer, oder Already installed on ada0 | Die Maschine ist vom Stick gestartet, nicht von ihrer Platte. | Ausschalten, Stick entfernen, einschalten. Oder die Platte im Bootmenü der Firmware wählen (F11, F12 oder Esc beim Einschalten; auf UEFI-Maschinen heißt der Eintrag Zedmos). |
zio_read error: 5, ZFS: i/o error - all block copies unavailable, dann eine OK-Eingabeaufforderung | Auf der Platte war vorher ein ZFS-System, und die Labels dieses Pools sind noch darauf. Der Bootloader versucht den alten Pool statt der neuen Installation. Installer vor 26.10.110 haben sie nicht entfernt. | Mit 26.10.110 oder neuer erneut installieren; diese Versionen löschen sie. Für einen älteren Stick siehe unten. |
Das vorherige System startet (eine andere Firewall, oft mit Meldungen wie Bus error oder pager read error) | Dieselbe Ursache, nur war der alte Pool noch lesbar. Solange es läuft, überschreiben das alte und das neue System sich gegenseitig. | Mit 26.10.110 oder neuer erneut installieren. Das alte System nicht weiter benutzen. |
Mit einem Installer älter als 26.10.110: starten Sie vom Stick, öffnen Sie eine Kommandozeile (im Bootmenü Single user wählen und /bin/csh antworten, wenn nach einer Shell gefragt wird) und entfernen Sie dann die alten Labels von der Partition, auf die das neue System kommt. Bei einer Installation auf einer einzelnen Platte ist das die vierte Partition der Platte. gpart show ada0 listet sie auf.
# zpool labelclear -f /dev/ada0p4
Danach erneut installieren.