RasPi als PXE-Server (2): Rettungssysteme

© Mohamad Razi Bin Husin, 123RF

Nothelfer

Wo ist doch gleich die Notfall-CD mit dem Virenscanner, wo der USB-Stick mit dem Recovery-System? Dank PXE auf dem Raspberry Pi gehört die Sucherei nach den Datenträgern ab sofort endgültig der Vergangenheit an.

README

Der erste Teil des Workshops zeigte in der letzten Ausgabe, wie Sie auf dem Raspberry Pi ein einfaches PXE-System einrichten. In diesem Teil des Workshops nutzen wir diese Grundlage, um gängige Notfall-Systeme wie Knoppix oder Desinfec't über das Netzwerk zu starten.

Im ersten Teil des Workshops [1] haben Sie erfahren, wie sich auf dem Raspberry Pi ein PXE-System zum Ausliefern einfacher Boot-Images aufsetzen lässt. Der Aufwand lohnt sich aber bestimmt nicht, um lediglich einen Speichertest oder ein altes MS-DOS zu laden. Deswegen zeigen wir Ihnen im vorliegenden Teil der Serie, wie Sie verschiedene Notfall-Systeme so einrichten, dass sich auch diese aus dem Netzwerk starten lassen (Abbildung 1). Dazu dienen im Folgenden Knoppix und Desinfec't 2013 als Beispiele.

Abbildung 1: So sieht nach den entsprechenden Vorbereitungen der Startbildschirm eines mit PXE über das Netz bootenden Rechners aus.

NFS

Damit der Netzwerkstart der Rettungssysteme später funktioniert, müssen Sie den Raspberry Pi erst einmal in die Lage versetzen, Verzeichnisse über NFS im Netz bereitzustellen, indem Sie die entsprechenden Serverdienste einrichten (Listing 1). Die dabei erscheinende Warnung (Zeile 3) dürfen Sie getrost erst einmal ignorieren: Sie weist lediglich darauf hin, dass der NFS-Server gestartet wurde, ohne dass in der Datei /etc/exports dafür irgendwelche Freigaben definiert sind.

Listing 1

 

$ sudo apt-get update
$ sudo apt-get install nfs-kernel-server nfs-common rpcbind
[warn] Not starting NFS kernel daemon: no exports. ... (warning).

Zu Testzwecken legen Sie ein Verzeichnis dafür an und geben es dann via NFS im Netzwerk frei (Listing 2). Achten Sie hierbei darauf, dass zwischen der Netzwerkadresse (im Beispiel 192.168.100.0/24, was Sie für Ihr Netz anpassen müssen) und den Optionen in der folgenden Klammer kein Leerzeichen stehen darf (Zeile 2). Ansonsten erscheint eine nur schwer interpretierbare Fehlermeldung.

Listing 2

 

$ sudo mkdir -p /srv/data/nfs/dummy
$ sudo echo "/srv/data/nfs/dummy 192.168.100.0/24(ro,root_squash,sync,no_subtree_check)" > /etc/exports

Anschließend müssen Sie die drei frisch installierten Dienste noch aktivieren. Um dabei Hinweise auf fehlende IPv6-Unterstützung zu vermeiden, öffnen Sie vorab die Datei /etc/netconfig in einem Editor und kommentieren darin die beiden mit udp6 und tcp6 beginnenden Zeilen durch Voranstellen einer Raute (#) aus. Anschließend starten Sie nacheinander den Rcpbind-Daemon, die NFS-Utilities und den NFS-Kernel-Daemon (Listing 3).

Listing 3

 

$ sudo service rpcbind start
[ ok ] Starting rpcbind daemon....
$ sudo service nfs-common start
Starting NFS common utilities: statd idmapd.
$ sudo service nfs-kernel-server start
[ ok ] Exporting directories for NFS kernel daemon....
[ ok ] Starting NFS kernel daemon: nfsd mountd.
$ sudo showmount -e
Export list for pi.homenet.de:
/srv/data/nfs/dummy   192.168.100.0/24

Ärgerlicherweise legen die Installationsroutinen für rpcbind und nfs-common in den Init-Verzeichnissen lediglich Kill-Skripts an, jedoch keine Start-Skripte. Daher starten die beiden Dienste nicht automatisch beim Systemstart, mit der Folge, dass auch der NFS-Server nicht anläuft. Das lässt sich aber leicht in Ordnung bringen. Dazu gilt es, die bestehenden Skripte zu löschen und dann in der richtigen Form neu anzulegen.

Zum Löschen kommt das Kommando insserv mit dem Parameter -r ("remove") zum Einsatz (Listing 4). Nach dessen Anwendung sollten Sie mit find noch einmal prüfen, ob wirklich alle Init-Skripte entfernt wurden: Gelegentlich übersieht Insserv ein Skript, das es dann von Hand zu löscht gilt (Zeilen 5 und 10).

Listing 4

 

$ sudo insserv -r nfs-kernel-server
$ find /etc/rc* -name *nfs-kernel-server
$ sudo insserv -r nfs-common
$ find /etc/rc* -name *nfs-common
/etc/rcS.d/K12nfs-common
$ sudo rm -f /etc/rcS.d/K12nfs-common
$ find /etc/rc* -name *nfs-common
$ sudo insserv -r rpcbind
$ find /etc/rc* -name *rpcbind
/etc/rcS.d/K11rpcbind
$ sudo rm -f /etc/rcS.d/K11rpcbind
$ find /etc/rc* -name *rpcbind

Anschließend legen Sie die Skripte mit Insserv neu an (Listing 5, Zeilen 1 bis 3). Danach sollten Start-Skripte für die Runlevel 2, 3, 5 und 6 sowie Kill-Skripte für die Runlevel 0, 1 und 6 vorhanden sein (Zeilen 4 bis 29).

Listing 5

 

$ sudo insserv rpcbind
$ sudo insserv nfs-common
$ sudo insserv nfs-kernel-server
$ find /etc/rc* -name *rpcbind
/etc/rc0.d/K05rpcbind
/etc/rc1.d/K05rpcbind
/etc/rc2.d/S11rpcbind
/etc/rc3.d/S11rpcbind
/etc/rc4.d/S11rpcbind
/etc/rc5.d/S11rpcbind
/etc/rc6.d/K05rpcbind
/etc/rcS.d/S11rpcbind
$ find /etc/rc* -name *nfs-common
/etc/rc0.d/K05nfs-common
/etc/rc1.d/K05nfs-common
/etc/rc2.d/S12nfs-common
/etc/rc3.d/S12nfs-common
/etc/rc4.d/S12nfs-common
/etc/rc5.d/S12nfs-common
/etc/rc6.d/K05nfs-common
/etc/rcS.d/S12nfs-common
$ find /etc/rc* -name *nfs-kernel-server
/etc/rc0.d/K01nfs-kernel-server
/etc/rc1.d/K01nfs-kernel-server
/etc/rc2.d/S14nfs-kernel-server
/etc/rc3.d/S14nfs-kernel-server
/etc/rc4.d/S14nfs-kernel-server
/etc/rc5.d/S14nfs-kernel-server
/etc/rc6.d/K01nfs-kernel-server

Nach einem Neustart des Raspberry Pi läuft dann der NFS-Dienst wie gewünscht. Von einem entfernten Rechner aus prüfen Sie mit folgendem Befehl, welche Verzeichnisse der RasPi via NFS bereitstellt:

$ sudo showmount -e pi.homenet.de

Dabei ersetzen Sie pi.homenet.de durch den Hostnamen oder die IP-Adresse Ihres Raspberry Pi.

Knoppix via PXE booten

Klaus Knoppers auf den Live-Betrieb spezialisierte Linux-Distribution drängt sich für das Booten via PXE geradezu auf. Als Komponenten dazu benötigen Sie neben dem Linux-Kernel die Datei miniroot.gz, die eine RAM-Disk mit einem Minimalsystem enthält. Aus einem laufenden Knoppix erzeugen Sie diese Dateien mithilfe des Knoppix-Terminalservers.

Legen Sie sich die Knoppix-Live-DVD [2] und einen USB-Stick zurecht, und starten Sie dann Knoppix von der DVD. Sobald der Boot-Prompt erscheint (boot:), wählen Sie aus, ob Sie ein 32- oder 64-Bit-System starten wollen: Drücken Sie nur die Eingabetaste, fährt das 32-Bit-System hoch; geben Sie vorher die Boot-Option knoppix64 an, bootet das 64-Bit-Knoppix.

In der grafischen Oberfläche von Knoppix wählen Sie aus dem Hauptmenü den Punkt Knoppix | Knoppix Terminal-Server starten (Abbildung 2). Daraufhin erscheinen einige Dialoge, welche die für den Betrieb des Terminalservers notwendigen Informationen erfragen. Hier können Sie überall einfach auf OK klicken.

Abbildung 2: Den Knoppix-Terminalserver starten Sie über den Hauptmenüpunkt Knoppix.

Lediglich im Dialog zu den zu unterstützenden Netzwerkkarten-Typen (Abbildung 3) sollten Sie sich vorab vergewissern, dass alle Treiber geladen werden, die Sie für die Netzwerkadapter der verwendeten Clients benötigen. Dazu kommentierte Klaus Knopper auf unsere Nachfrage: "Normalerweise sind bereits alle PCI- und PCIe-Netzwerkkarten, die überhaupt bootfähig sind, ausgewählt."

Abbildung 3: In diesem Dialog des Knoppix-Terminalserver gilt es, die benötigten Netzwerkkartentreiber auszuwählen.

Die weiteren Dialoge können Sie wieder mit OK quittieren, bis schließlich der Knoppix-Terminalserver startet. Anschließend finden Sie im Verzeichnis /tftpboot die gewünschte RAM-Disk-Datei miniroot.gz, die Sie nun auf den bereitgelegten USB-Stick kopieren (Abbildung 4).

Abbildung 4: Kopieren Sie aus dem gestarteten Knoppix-System die Datei /tftpboot/miniroot.gz auf einen USB-Stick.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

02/2018
Digital Signage

Diese Ausgabe als PDF kaufen

Preis € 7,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Neues auf der Heft-DVD

    Nur mit dem optimalen System und der richtigen Software nutzen Sie das volle Potenzial des Raspberry Pi. Mit der Heft-DVD erhalten Sie nicht nur die neusten Distributionen für den RasPi und Co., sondern gleichzeitig auch die passenden Programme zu den Artikeln.

  • Ferngebootet

    Das Booten über das Netzwerk beherrscht auch der RasPi 3 – und bietet damit sehr viel mehr Flexibilität, als Sie mit SD-Cards erzielen können.

  • Bleibende Werte

    Ein EEPROM dient dazu, Daten auch nach Abschalten der Energiezufuhr zu speichern, etwa als Kanalspeicher in Autoradios. Wir zeigen, wie Sie einen solchen Speicher beschreiben und wieder auslesen.

  • Auf Wolke 1

    Mit einem schnellen Netzwerkanschluss und einer SATA-Schnittstelle dient sich der Odroid HC1 als NAS-Alternative an – allerdings nicht für jedermann.

  • Wohnungsfunker

    Der kompakte Router GL.iNet dockt problemlos am Raspberry Pi an und erweitert diesen um einen Access Point samt Server-Funktion.

  • Satter Sound

    Mit zwei ICs am I2S-Bus und ein paar zusätzlichen Bauteilen erweitern Sie den Raspberry Pi um eine Soundkarte, die keine Kontaktmöglichkeit mit gängigem HiFi-Equipment scheut – von Klinke und RCA bis IEC60958, Koax-S/PDIF oder optischem TOSLINK.

  • Wer klopfet an?

    Wechselsprechanlagen mit Bild- und Tonübertragung gibt es zwar von der Stange, allerdings zu gesalzenen Preisen. Günstiger und obendrein flexibler ist ein Eigenbau mit Pi Zero und RasPi 3.

  • Wiedergeburt

    Mit dem Keyrah-Tastaturadapter und einem Raspberry Pi machen Sie aus einem defekten C64 eine optimale Emulator-Station, bei der Sie die originale Tastatur und die Joystick-Ports nutzen.

  • Kleine Nachtmusik

    Waveform8 beseitigt einige Ecken und Kanten des Vorgängers Tracktion – und macht die DAW endgültig fit für den Einsatz auf dem Raspberry Pi.

  • Recycling

    Mit einer Dockingstation lassen sich ausgemusterte IDE/SATA-Festplatten im 2,5- und 3,5-Zoll-Format am Raspberry Pi betreiben. Mit dem Samba-Server gliedern Sie den Mini-Rechner dann als Datenspeicher in Ihr lokales Netzwerk ein.