Achtung: Es gibt seit 2021 die Möglichkeit mit dem Raspberry Pi Imager die Konfiguration des Images vor dem ersten Start vorzunehmen. Dabei ensteht eine Datei firstrun.sh in der Boot Partition, die man einfach kopieren und für die Zukunft aufbewahren könnte.
- Download raspbian-lite, aktuell die Version 2017-11-29 immer wieder von hier.
- Mit windisk32imager auf die SD Card schreiben, es entstehen zwei Laufwerke nur das Erste ist unter Windows lesbar.
- Eine leere Datei mit dem Namen ssh in diesem Laufwerk erstellen, sonst geht kein ssh nach dem Start.
- Bei Modellen mit Wlan die Datei wpa_supplicant.conf in dieses Laufwerk kopieren um mit Wlan starten zu können.
- SD Karte auswerfen.
- SD Karte in Raspberry Pi stecken und booten.
- Monitor und Tastatur braucht man nicht. Mit Putty auf Host raspberrypi verbinden und anmelden. User pi, Passwort raspberry
- Dem Sicherheitshinweis folgen und passwd eingeben -> Passwort ändern!
Vorbemerkung
Alle folgende Code Blöcke benötigen root Rechte. Deshalb bitte immer am Besten per sudo su ausführen. Man kann auch einzelne Befehle mit sudo davor ausführen, allerdings wird das bei Pipe Befehlen nicht durchgereicht. Ich empfehle die benötigten Abschnitte vorher in ein oder zwei Scriptdateien zu packen und diese gleich mit auf die SD Karte zu kopieren.Alle Dateien müssen im Linux Format (nur lf als Zeilenende) erzeugt/editiert werden! Unbedingt einen geeigneten Editor verwenden und auf das Format beim speichern achten!
Wlan
Eine Text Datei mit Namen wpa_supplicant.conf und diesem Inhalt bereitstellen: Entweder in die /boot Partition vorm ersten Start oder später ins Verzeichnis /etc/wpa_supplicant/ kopieren.country=DE ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="FRITZ!Box 7490" psk="12345678901234567890" }
Meine Grundeinstellung
Zeitzone, Sprache und Hostname ändern. Entweder Menügeführt mitsudo raspi-configoder per Script / Shell Befehle
# Zeitzone timedatectl set-timezone Europe/Berlin # Konfigurieren lokale Sprache deutsch localedef -f UTF-8 -i de_DE de_DE.UTF-8 localectl set-locale LANG=de_DE.UTF-8 LANGUAGE=de_DE localectl set-keymap de setupcon # Hostname hostnamectl set-hostname mymachine #Neustart reboot
Das war es erstmal, Damit funktioniert bei allen Pi Versionen die eingebaute Hardware, inklusive Wlan und BT beim Pi3 oder Pi Zero W.
UART
Wer für Zusatz Module die serielle Schnittstelle am GPIO braucht, muss etwas zusätzlich konfigurieren.Bei allen Pi Modellen muss dafür der Dienst serial-getty@ttyAMA0 deaktiviert werden.
# serial-getty@ttyAMA0.service deaktivieren systemctl stop serial-getty@ttyAMA0.service systemctl disable serial-getty@ttyAMA0.service systemctl mask serial-getty@ttyAMA0.serviceBei den Modellen ohne BT ist die UART per default aktiviert.
Beim den Modellen mit BT muss die UART aktiviert und BT umkonfiguriert werden.
# serielle Schnittstelle aktivieren und mit BT Schnittstelle tauschen echo "enable_uart=1" >> /boot/config.txt echo "dtoverlay=pi3-miniuart-bt" >> /boot/config.txt echo "core_freq=250" >> /boot/config.txtFür diesen Abschnitt ist ein Neustart erforderlich!
# Neustart erforderlich reboot
BT
Die Funktion von Bluetooth kann mit hcitool überprüft werdenhcitool dev hcitool scan hcitool lescan
Kamera aktivieren
# Kamera aktivieren echo "start_x=1" >> /boot/config.txt echo "gpu_mem=128" >> /boot/config.txt echo "disable_camera_led=1" >> /boot/config.txt # Neustart erforderlich reboot
Sound
Sound ist normal aktiviert (dtparam=audio=on)
Sollen andere User Audio ausgeben dürfen, müssen sie in der Gruppe audio sein (Beispiel)
sudo gpasswd -a fhem audio
Braucht man eine Möglichkeit um mp3 Dateien und ähnliches abzuspielen wird häufig mplayer empfohlen. Eine gute Alternative ist play.
sudo apt-get update sudo apt-get install sox libsox-fmt-all
Dateifreigabe einrichten
Braucht man eine Freigabe für Dateien auf dem Pi, ist das mit Samba schnell erledigt. Achtung diese Freigabe ist völlig offen und ohne jede Anmeldung!apt-get install samba # Pfad erstellen mkdir /var/SonosSpeak chmod 777 /var/SonosSpeak/ # Share Definition in /etc/samba/smb.conf echo '[SonosSpeak]' >> /etc/samba/smb.conf echo ' comment = Audio-Files for SonosPlayer to Speak' >> /etc/samba/smb.conf echo ' path = /var/SonosSpeak' >> /etc/samba/smb.conf echo ' browsable = yes' >> /etc/samba/smb.conf echo ' guest ok = yes' >> /etc/samba/smb.conf echo ' read only = no' >> /etc/samba/smb.conf # restart Service systemctl restart smbdMit dieser Installation hat man auch die Befehle net rpc usw. zur Verfügung.
Wer einen smbclient braucht muss diesen noch installieren.
apt-get install smbclient
Sudoers
Will man einem bestimmten Benutzer Möglichkeiten geben für die man "root" Rechte braucht, geht das ganz einfach.Das folgende Beispiel gibt dem Benutzer fhem die Möglichkeit das System herunterzufahren bzw. neu zu starten.
#!/bin/bash # ergänze eine Datei zum sudoers Script Verzeichnis /etc/sudoers.d/ File="011_fhem-nopasswd" echo "fhem ALL=(ALL) NOPASSWD: /sbin/reboot, /sbin/shutdown, /sbin/halt" >/etc/sudoers.d/$File chmod 0440 /etc/sudoers.d/$File