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

10/2017
Addon-Boards

Diese Ausgabe als PDF kaufen

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

Neuigkeiten

  • Neues auf der Heft-DVD

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

  • Aufgewacht!

    Der Raspberry Pi fährt auf Kommando herunter, doch zum Aufwachen fehlt ihm eine Echtzeituhr. Mit einer RTC und ein paar Schaltungen steuern Sie den Schlaf- und Wachrhythmus des Mini-Rechners.

  • Schneller Wechsel

    Mit dem Messkopf ExpEYES Junior erfassen Sie auf einfache Weise die Flimmerfrequenz von verschiedenen Lichtquellen.

  • Knirps

    Der 3,2 Zoll kleine Monitor von Joy-it, zusammen mit dem RasPi kaum größer als eine Packung Zündhölzer, bietet eine interessante Alternative zu einer reinen Headless-Konfiguration. Er erleichtert das Überwachen des Boot-Vorgangs und das Verfolgen von Ausgaben, die nur ein Paar Zeichen oder Zeilen umfassen.

  • Minimalistisch

    Die Raspberry-Pi-Familie bekommt regelmäßig Zuwachs, doch einige Familienmitglieder fristen ein Schattendasein, wie das Compute Module. Das kompakte Board eignet sich bestens für Embedded-Lösungen.

  • Meisencam

    Mit einem RasPi, einer NoIR-Pi-Cam und etwas Elektronik bauen Sie für unter 100 Euro ein digitales Auge, mit dem Sie behutsam Singvögel in der Natur beim Brüten beobachten.

  • Mit einfachen Mitteln

    YunoHost bietet eine große Anzahl von Diensten auf einer bewährten Debian-Server-Plattform, die Sie selbst hosten können.

  • An einem Tisch

    Gemeinsames Arbeiten auf einer mobilen Plattform im lokalen Netzwerk – dazu brauchen Sie nicht mehr als einen SBC und die Software Etherpad Lite.

  • Netz aufspannen

    Ein WLAN-Access-Point bietet einen zusätzlichen Einstieg ins LAN und erlaubt im Zusammenhang mit dem RasPi vielfältige Einsatzszenarien.

  • Diätkost

    Für ältere Modelle des RasPi erweist sich Raspbian mittlerweile als zu schwergewichtig. Mit dem schlanken DietPi helfen Sie diesen Modellen wieder auf die Sprünge.