Mittwoch, 31. Januar 2018

Installation Raspberry Pi

Es ist immer wieder ein gefragtes Thema, es ist einige Zeit ins Land gegangen, ich halte eigentlich meinen Artikel vom September 2016 aktuell - aber jetzt ist Zeit für neues! Kurz knackig und ohne Prosa soll es werden.
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.
  1. Download raspbian-lite, aktuell die Version 2017-11-29 immer wieder von hier.
  2. Mit windisk32imager auf die SD Card schreiben, es entstehen zwei Laufwerke nur das Erste ist unter Windows lesbar.
  3. Eine leere Datei mit dem Namen ssh in diesem Laufwerk erstellen, sonst geht kein ssh nach dem Start. 
  4. Bei Modellen mit Wlan die Datei wpa_supplicant.conf in dieses Laufwerk kopieren um mit Wlan starten zu können. 
  5. SD Karte auswerfen.
  6. SD Karte in Raspberry Pi stecken und booten.
  7. Monitor und Tastatur braucht man nicht. Mit Putty auf Host raspberrypi verbinden und anmelden. User pi, Passwort raspberry
  8. 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 mit
sudo raspi-config
oder 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.service
Bei 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.txt 
Für diesen Abschnitt ist ein Neustart erforderlich!
# Neustart erforderlich 
reboot

BT

Die Funktion von Bluetooth kann mit hcitool überprüft werden
hcitool 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 smbd
Mit 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

Keine Kommentare:

Kommentar veröffentlichen