Installation: Raspberry Pi OS auf dem Raspberry Pi
Auf der Pi das Raspberry Pi OS zu installieren geht sehr einfach. Hierzu gibt es mittlerweile ein hilfreiches Programm, über das Ihr unter Windows, Mac oder Linux Eure SD Karte für den Pi mit dem Betriebssystem bespielen könnt.
Zuerst muss dazu sich eine microSD Karte angeschafft werden. Ich verwende hierfür eine 64GB Karte
Ihr benötigt zudem einen Kartenleser, damit Ihr die Karte an Eurem Rechner vorbereiten könnt. Formatiert werden muss die Karte nicht.
Raspberry Pi OS herunterladen und "installieren"
Ladet den Raspberry Pi Imager für Euer Betriebssystem herunter:
Raspberry Pi Software Downloads
Installiert das Programm und startet den Imager:
Klickt auf "OS wählen" und wählt die für Euch passende Version aus.
Da ich einen Raspi mit mehr als 2GB Ram besitze, verwende ich die 64bit Version. Zudem die lite, da ich den Raspi nicht mit einem Desktop benötige.
Bei der SD Karte wählt dann die eingelegte SD Karte aus. Danach unten auf das Zahnrad, damit wir noch ein paar zusätzliche Einstellungen vornehmen können:
Gebt dann den Hostnamen (also Namen für Euer Gerät ein) und aktiviert den SSH:
Legt einen User an, und das Passwort, wenn Ihr etwas weiterscrollt:
Danach die Zeitzone und die Sprache:
Den Einrichtungsassistent können wir überspringen, den rufen wir dann manuell auf:
Klickt dann auf Speichern und dann können wir die Karte mit dem OS beschreiben:
Wenn fertig, könnt Ihr das Programm schließen und Eure Karte aus dem Kartenleser nehmen.
Booten und konfigurieren
That's it! Jetzt könnt Ihr die Karte in die Pi einstecken und mit dem Lan verbinden. Normal braucht Ihr keinen Monitor und keine Tastatur, da wir über SSH uns anmelden können. Aber wer möchte, startet mit einem über HDMI angeschlossenen Monitor und einer USB Tastatur. Jetzt Strom auf die Kiste geben und starten lassen. Da sich die Pi eine IP über Euren Router zugewiesen bekommt, schaut einfach auf Eurem Router nach, welche IP sie für das Erste besitzt. Dann könnt Ihr Euch z.B. via putty einloggen.
Nachdem Ihr Euch mit Eurem User angemeldet habt, wechselt zum root Account:
sudo su
Dann ändert das root Passwort auf ein individuelles ab:
passwd
Falls Ihr noch Dinge an der Grundkonfiguration des Raspis ändern wollt, könnt Ihr das über ein
raspi-config
erledigen. Allerdings sollte die Grundeinstellung bereits so schon passen.
Kleine Nacharbeiten
Kleine Helfer nachinstallieren
Loggt Euch nochmal als pi ein und werdet root:
sudo su
Aktualisiert erstmal die Kiste:
apt update
apt upgrade
Ich installiere gerne noch folgende Programme nach:
apt install mc htop
Netzwerkkonfiguration
Danach nehmen wir uns noch unsere Netzwerkkonfiguration vor, solltet Ihr Eurer pi eine feste IP zuweisen wollen:
nano /boot/cmdline.txt
Die Datei besteht nur aus einer Zeile. Setzt hier nur hinten Eure gewünschte IP dazu:
ip=192.168.X.X
(die X durch Eure echte IP Werte ersetzen)
Danach die Änderung speichern!
ALTERNATIV:
Solltet Ihr mit obiger Methode 2 IP Adressen hinterlegt haben (eine statische, eine von Eurem DHCP Server geliefert), dann könnt Ihr anstatt wie kürz vorher beschrieben wie folgt vorgehen: Entfernt die IP aus Eurer /boot/cmdline.txt. Editiert die Datei /etc/dhcpcd.conf und fügt folgende Zeilen zum Schluss ein:
interface eth0
static ip_address=192.168.XXX.XXX/24
static routers=192.168.XXX.1
static domain_name_servers=192.168.XXX.1
Verwendet entsprechend die passende IPs.
ipv6 deaktivieren
Wenn Ihr ipv6 nicht benötigt, dann fügt in der /boot/cmdline.txt folgendes hinten in die Zeile ein:
ipv6.disable=1
Die Swap Datei
Jetzt kümmern wir uns noch um die SWAP Datei. Diese richten wir auf doppelte Größe Eures RAMs ein. Also wenn Ihr ein pi mit 1024 MB habt, dann auf 2048MB Swap. 2048MB ist im Übrigen das Maximum.
Editiert zunächst die Datei /etc/dphys-swapfile:
nano /etc/dphys-swapfile
Sucht folgende Zeile:
CONF_SWAPSIZE=100
Der Wert 100 wird dann auf die gewünschte Größe geändert. Speichert die Änderung und führt noch folgende Befehle als root aus:
dphys-swapfile setup
dphys-swapfile swapon
Sprache und Tastatur
Um die Sprache, Zeitzone und Tastatur auf der Konsole einzustellen, könnt Ihr folgende Befehle ausführen.
Zeitzone:
dpkg-reconfigure tzdata
Sprache:
dpkg-reconfigure locales
(hier de_de UTF8 verwenden und die eng Markierung herausnehmen)
Tastatur:
dpkg-reconfigure keyboard-configuration
(hier die Tastatur auf German stellen. Den Rest einfach übernehmen)
Die Systemzeit
Hinweis: Dieser Abschnitt ist eventuell bei neueren Raspbian Versionen obsolet. Solltet Ihr nach einer Weile starke Zeit Abweichungen feststellen, dann probiert folgende Anleitung aus. Die aktuelle Zeit könnt Ihr Euch mit dem Befehl
date
ausgeben lassen.
Da der Raspberry Pi keine echte hardwaregestützte Systemzeit besitzt, kann es sein, dass sich der Pi mal in der Zeit verirrt. Man versucht das zwar mit dem Programm "fake-hwclock" zu stützen, aber ich habe leider selbst schon erlebt, dass nach einem Reboot die Zeit nicht mehr stimmt.
Der NTP Dämon soll zwar dafür sorgen, dass die Zeit immer wieder korrigiert wird, aber wir wollen auch hier etwas nachhelfen.
Zum einen werden wir dafür sorgen, dass nach einem Reboot die Zeit mit einem Zeitserver aktualisiert wird. Ebenso dann beim Laufenden System alle 12 Stunden.
Installiert dazu erstmal ntpdate:
apt-get install ntpdate
Legt nun ein neues Script an:
nano /usr/local/bin/timefix
Füllt dieses Skript wie folgt:
#!/bin/sh
rm /var/log/timefix.log
echo "old time" >> /var/log/timefix.log
date >> /var/log/timefix.log
echo "" >> /var/log/timefix.log
/etc/init.d/ntp stop
echo "[...] updating time clock"
/usr/sbin/ntpdate ptbtime1.ptb.de >> /var/log/timefix.log
echo "Done!"
/etc/init.d/ntp start
echo "" >> /var/log/timefix.log
echo "new time" >> /var/log/timefix.log
date >> /var/log/timefix.log
Dieses Skript muss ausführbar gemacht werden:
chmod +x /usr/local/bin/timefix
Nun legen wir in der crontab fest, dass das Skriptalle 12 Stunden gestartet werden soll:
crontab -e
Für fügen folgende Zeilen ein:
# Timefix every 12 hours
0 */12 * * * /usr/local/bin/timefix > /dev/null
Damit die Zeit kurz nach dem Booten ausgeführt wird editieren wir die /etc/rc.local . Dort fügen wir VOR dem exit 0 folgendes ein:
/etc/init.d/ntp stop
echo "wait 10 seconds"
sleep 10
echo "updating timeclock"
/usr/sbin/ntpdate ptbtime1.ptb.de
/etc/init.d/ntp start
Das war es dann schonmal. Mit einem
reboot
startet die Kiste neu.
Langsamer ssh login
Wenn Ihr jetzt nur noch die pi als Server verwenden wollt, dann könnt Ihr ab jetzt die Tastatur und den Monitor weg lassen und Euch via ssh an die dafür vergebene IP Adresse einloggen und weiter konfigurieren.
Wenn es beim Login am ssh dauert, bis die Passwortabfrage kommt, dann kann es sein, dass der DNS nicht korrekt eingestellt ist. Überprüft mit einem
cat /etc/resolv.conf
ob der DNS korrekt auf der Kiste eingetragen ist. Falls nicht, editiert die Konfiguration entsprechend:
nano /etc/resolv.conf
Backup der Installation
Wenn man viel (gerade am Anfang) mit dem Pi experimentiert, dann macht es Sinn, seine Basisinstallation zu sichern. Man benötigt entweder ein weiteres Linux dazu (und einen Kartenleser), oder eine zweite Karte mit einem installierten Linux, um das Backup direkt am Pi zu machen. Beides verläuft ähnlich. Ich erkläre das an der Variante am Pi mit einer zusätzlichen externen Festplatte.
Startet den Pi mit einem Linux und steckt danach den Kartenleser mit Eurer Karte an, auf der sich Euer zu sicherndes System befindet. Mit einem
fdisk -l
findet Ihr heraus, um welches Device es sich bei Eurer Karte handelt. Bei mir ist es beispielsweise /dev/sdd
Ich lege unter /home (meine Festplatte) ein weiteres Verzeichnis an:
mkdir /home/image
Jetzt kopiere ich die komplette Karte in ein Image. Achtung, bei einer 16GB Karte sind das eben auch 16GB!
dd bs=1M if=/dev/sdd of=/home/image/wheezy.img
Dies dauert dann eine Weile.
Die Sicherung spielen wir dann wieder mit einem
dd bs=1M if=/home/image/wheezy.img of=/dev/sdd
Jetzt noch ein Kniff. In meinem Fall kopiere ich beispielsweise von einer 16GB Karte auf eine 32GB Karte. D.h. nun sind rund 16 GB nicht benutzt. Wheezy verteilt sich ja auf 2 Partitionen. D.h. die zweite (root) Partition kann nach hinten expandiert werden.
Dazu checken wir erstmal die die zweite Partition:
e2fsck -f /dev/sdd2
Danach können wir die Partition hochziehen:
resize2fs /dev/sdd2
Steckt die Karten nun um und testet die "geclonte" Karte auf dem PI.