Listing 7
#!/bin/bash # Pakete hinzufügen/löschen apt-get update apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -y install bc jed zip apt-get -y --auto-remove remove scratch squeak-vm # Benutzer anlegen addgroup --gid 4000 tux echo -e "init#pw\ninit#pw" | adduser --gecos "" --home /home/tux --uid 4000 --gid 4000 tux chage -d 0 tux # Deaktivierung chmod -x "$0"
Den Anfang macht ein Update der Paketverwaltung und die (De-)Installation wichtiger beziehungsweise unnötiger Pakete (Zeilen 5 bis 7). Das Skript legt danach den User tux an, mitsamt eines Initialpassworts, das der Benutzer beim ersten Login ändern muss. Zu guter Letzt deaktiviert sich das Skript selbst (Zeile 20 entfernt das Ausführungsbit), denn es soll ja nur einmal laufen.
Damit das Skript auch tatsächlich beim Booten startet, müssen Sie es in das Vorlagenverzeichnis kopieren (/Pfad/zum/Vorlagenverzeichnis/usr/local/sbin/apiinst2). Der Pfad muss genauso heißen, denn nur dann sorgt apiinst während der Erstellung der SD-Karte dafür, dass das Skript tatsächlich automatisch beim Booten lädt. Im Github-Projekt finden Sie eine etwas ausgefeiltere Vorlage als das Beispiel aus Listing 7.
Das Offline-Skript Apiinst bietet zudem eine Reihe von Funktionen für Fortgeschrittene an. So unterstützt es zum einen mehr als ein Vorlagenverzeichnis. Das Aufteilen der in der Offline-Phase kopierten Dateien auf mehrere Verzeichnisse bringt in dem Fall Vorteile, sobald Sie unterschiedliche Zielsysteme (Raspbian, Bananian, Server, Desktop und so weiter) bestücken möchten, aber einige Dateien über alle Systeme gleich bleiben sollen (typischerweise benutzerspezifische Dateien).
Außerdem lassen sich an verschiedenen Stellen – etwa vor und nach dem Kopieren der Vorlagenverzeichnisse – eigene Skripte einhängen. Müssen Sie etwa eine ganze Reihe von RasPis gleichartig installieren und wollen nur jeweils den Hostnamen und die Zertifikate ändern, lässt sich das über ein derartiges Skript lösen.
Fazit
Ohne etwas Vorarbeit funktioniert die automatische Installation eines oder mehrerer RasPis nicht. Den Aufwand müssen Sie gegen einen möglichen Zeitgewinn bei den nächsten Installationen abwägen. Nur der profitiert, der regelmäßig einen RasPi neu aufsetzen und einrichten muss. Nach getaner Vorarbeit lässt sich ein Raspberry Pi aber sehr schnell (wieder) zum Laufen bringen, sodass mehr Zeit für wichtigere Dinge bleibt.
Der Autor
Bernhard Bablok ([email protected]) arbeitet bei der Allianz Managed&Operations Services SE als SAP-HR-Entwickler. Hört er nicht Musik oder ist mit dem Rad respektive zu Fuß unterwegs, dann beschäftigt er sich mit Themen rund um Linux, Programmierung und neuerdings Kleincomputer.
Infos
- Win32 Disk Imager: http://sourceforge.net/projects/win32diskimager
- Apiinst-Github-Repo: https://github.com/bablokb/apiinst





