Raspberrypi: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
 
(99 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Übersicht über aktuelle Projekte
== Aktuelles ==
 
* Verfügbarkeit: https://rpilocator.com/
 
== Der raspi-Superserver ==
 
* Bei einer Server-Infrastruktur im OrgaMon Umfeld nehme ich mir den Buchtitel "Algorithmen und Datenstrukturen (Niklaus Wirth)" zum Vorbild.
* Es gibt also nur 2 Elemente, Datenstrukturen liegen auf einem NAS, Algorithmen liegen auf einem Raspi
* Ein 3. Element kommt nur hinzu weil ein NAS nicht 100% sicher ist - ein Backup NAS
* Das NAS macht (wegen der Nähe zum Datenträger) immer auch Virtualisierungen und Datenbankserver, das sind die einzigen 2 "Dienste" von denen der Raspi befreit ist, alles andere muss er machen, der raspi-Superserver ist geboren
 
=== Vorteile ===
 
* Will man einen Dienst aufsetzen sind alle Aspekte darüber im Internet gut zu finden
* Die SD Karte stellt die Idenität des Servers dar, Problem? Backup-SD rein und weiter gehts!
* Die Software-Basis des Raspi wird excellent gewartet
* Die Software ist aktuell und sicher
* Die Leistungskraft reicht allemal aus
 
=== Dienste im Einzelnen ===


* [[raspberrypi.router]]
* [[raspberrypi.vsftpd]]
* [[raspberrypi.vsftpd]]
* [[raspberrypi.solar]]
* [[raspberrypi.schalter]]
* [[raspberrypi.web]]
* [[linux.nginx|raspberrypi.nginx]]
* [[linux.nginx|raspberrypi.nginx]]
* [[raspberrypi.wiki]]
* [[raspberrypi.wiki]]
* [[raspberrypi.certbot]]
* [[raspberrypi.mail]]
* [[raspberrypi.mail]]
* [[raspberrypi.rsync]]
* [[raspberrypi.dns]]
* [[raspberrypi.dns]]
* [[raspberrypi.dhcp]]
* [[raspberrypi.dhcp]]


Grundsätzliche Vorarbeiten für ein "Headless" System
[[Datei:Raspi-Super.png|200px]]


== Vorarbeiten ==
=== Sonstige Dienste/Projekte ===


=== SD-Karte ===
* [[raspberrypi.router]]
* [[raspberrypi.gateway]]
* [[raspberrypi.solar]]
* [[raspberrypi.schalter]]
* [[raspberrypi.sata]]
* [[raspberrypi.Lastschrift]]
* [[raspberrypi.md]]
* [[raspberrypi.led-md]]
* [[raspberrypi.osm-tile-server]]
* [[raspberrypi.kernel]]
* [[raspberrypi.lazarus]]
 
... aber der Reihe nach ...
 
== Inbetriebnahme "Headless" ==
=== SD-Karte erstellen ===


==== Kauf ====
==== Kauf ====
Zeile 22: Zeile 54:
* minimal sind 16 GByte für den normalen Betrieb notwendig, 8 ist etwas zu klein!
* minimal sind 16 GByte für den normalen Betrieb notwendig, 8 ist etwas zu klein!
* Samsung Pro+ sind empfehlenswert gibts leider nur als 32 GByte (je grösser desto Wear-Levelling-Algorithmus- freundlicher!)
* Samsung Pro+ sind empfehlenswert gibts leider nur als 32 GByte (je grösser desto Wear-Levelling-Algorithmus- freundlicher!)
* die Samsung Pro+ wurde durch Pro Plus ersetzt
* <s>inzwischen benutze ich die Samsung endurance 32 GB</s>
* inzwischen benutze ich die Transcend 16GB High Endurance microSDXC/SDHC Speicherkarte TS16GUSDXC10V


==== Prüfen ====
==== Prüfen ====
Zeile 27: Zeile 62:
* Test, ob die Speicherkarte einwandfrei funktioniert: mit https://www.heise.de/download/product/h2testw-50539
* Test, ob die Speicherkarte einwandfrei funktioniert: mit https://www.heise.de/download/product/h2testw-50539


==== Image brennen ====
==== Image schreiben ====


* Empfohlen: dotNetDiskImager_0.7.347.27_Installer.exe: https://sourceforge.net/projects/dotnetdiskimager/files/bin/
* aktuelles Raspbian Image von https://www.raspberrypi.org/downloads/raspbian/ laden
* Alternativ: Win32DiskImager-0.9.5-install.exe : https://sourceforge.net/projects/win32diskimager/
* Empfohlen: Der Imager der Raspberry Pi Foundation
** Alternativ: dotNetDiskImager_0.7.347.27_Installer.exe: https://sourceforge.net/projects/dotnetdiskimager/files/bin/
** Alternativ: Win32DiskImager-0.9.5-install.exe : https://sourceforge.net/projects/win32diskimager/
** Alternativ auf dem Raspberry Pi mit einem microSD USB Adapter
*** https://www.raspberrypi.org/documentation/installation/installing-images/linux.md
*** dd bs=4M if=/srv/mnt/INSTALL/hardware/Raspberry-pi/2019-buster/2019-09-26-raspbian-buster-full.img of=/dev/sda conv=fsync status=progress
*** danach Partition 1 der Karte mounten, z.B. nach /srv/mnt
*** touch /srv/mnt/ssh
 
#!/bin/bash
dd bs=4M if=2020-02-13-raspbian-buster-lite.img of=/dev/sda conv=fsync status=progress
mount /dev/sda1 /srv/mnt
touch /srv/mnt/ssh
umount /srv/mnt


==== Image vorbereiten ====
==== Image vorbereiten ====


* Es sollte die Partition "boot" erkannbar sein
* Es sollte die Partition "boot" erkennbar sein
* Es ist ein kleines Standard-File-System (ich glaube FAT) mit nur wenigen MByte
* Es ist ein kleines Standard-File-System (ich glaube FAT) mit nur wenigen MByte
* Im Hauptverzeichnis legt man eine leere Datei "ssh" an
* Im Hauptverzeichnis legt man eine leere Datei "ssh" an


== erster Start ==
=== "headless" ===


* also ohne Anschluss von Monitor/Tastatur/Maus
* den Raspi mit der SD-Karte versehen, ans Netzwerk anschliessen, für starke Stromversorgung (>2A) sorgen
* Mit dieser SD-Karte nun starten, aber bitte nur einmal!
* Nun bei deinem DHCP-Server-System ermitteln welche IP Adresse der RASPI gezogen hat
* Nun bei deinem Server ermitteln welche IP Adresse der RASPI gezogen hat


  tail -2000 /var/log/messages | grep dhcp
  tail -2000 /var/log/messages | grep dhcp
  Mar 11 17:09:40 raib25 dhcpd: DHCPACK on <b>192.168.115.205</b> to b8:27:eb:8b:9b:0a (<i>raspberrypi</i>) via eth0
  Mar 11 17:09:40 raib25 dhcpd: DHCPACK on <b>192.168.115.205</b> to b8:27:eb:8b:9b:0a (<i>raspberrypi</i>) via eth0


* per ssh als pi mit dem passwort raspberry einloggen
=== erster Start ===
 
=== mit "Monitor/Tastatur/Maus" ===


* für die erste Konfiguration ist der Anschluss von Keyboard/Maus/Monitor notwendig. (im nächsten Kapitel eine M)
* per ssh oder mit Putty als "pi" mit dem Passwort "raspberry" einloggen
* Terminal starten
* sudo raspi-config
** (4) Localization Options
*** Change Keyboard Layout
*** Generic 105-key (Intl) PC
*** ggf. Other ...
*** German - German (eliminate dead keys)
*** The default for the keyboard layout
*** No compose key
*** <No>
* den ssh Dienst dauerhaft aktivieren
** (5) Interfacing Options
*** SSH
*** Enable <YES>
 
== zweiter Start ==
=== ssh Zugang nur für root ===
 
* per Putty kann man sich direkt als User "pi" mit dem Passwort "raspberry" einloggen
* Hat man mit Maus & Tastatur gestart einfach ein Terminal starten
* das Passwort des Users "pi" jetzt stark machen
* das Passwort des Users "pi" jetzt stark machen
** <code>passwd</code> neues Passwort für pi setzen (altes ist "raspberry")
** <code>passwd&#9166;</code> neues Passwort für pi setzen (altes ist "raspberry")
* das Passwort des Users "root" jetzt stark machen
* das Passwort des Users "root" jetzt stark machen
** <code>sudo passwd</code> neues Passwort für root setzen (ein altes wird nicht abgefragt)
** <code>sudo passwd</code> neues Passwort für root setzen (ein altes wird nicht abgefragt)
* nun dem User root den Login erlauben
* nur dem User <code>root</code> den Login erlauben
** <code>sudo apt-get install joe</code>
** <code>sudo apt update</code>
** <code>sudo apt install joe</code>
** <code>sudo joe /etc/ssh/sshd_config</code>
** <code>sudo joe /etc/ssh/sshd_config</code>
*** <code>PermitRootLogin yes</code> sicherstellen (die entsprechende Zeile muss ABGEÄNDERT werden)
*** <code>PermitRootLogin yes</code> sicherstellen (die entsprechende Zeile muss ABGEÄNDERT werden)
*** <code>AllowUsers root</code> sicherstellen (NUR noch User "root" kann sich per ssh einloggen! Diese Zeile muss neu eingetragen werden)
*** <code>AllowUsers root</code> sicherstellen (NUR noch User "root" kann sich per ssh einloggen! Diese Zeile muss neu eingetragen werden)
* Verhindern dass die grafische Benutzeroberfläche gestartet wird
* <code>sudo reboot</code>
** <s><code>update-rc.d lightdm disable</code></s>
 
** <code>sudo systemctl set-default multi-user.target</code>
=== zweiter Start ===
** UnDo this: <code>systemctl set-default graphical.target</code>
 
* Nun ist der erste Headless Start möglich
* Jetzt mit ssh/Putty als "root" mit einem sehr starken Passwort einloggen
** <code>sudo halt</code>
 
** Stromzufuhr entfernen
==== System-Update ====
** Keyboard und Maus ggf. entfernen
 
** Neu starten durch Einstecken der Stromzufuhr
* <code>apt update</code>
* <code>apt upgrade</code>
* <code>reboot</code>
 
=== dritter Start ===
 
* <code>rpi-update</code>
* <code>reboot</code>
 
=== vierter Start ===
 


== dritter Start ==
* <code>joe /etc/default/rpi-eeprom-update</code>
** von "default" auf "beta"
* <code>rpi-eeprom-update -a</code>
* Version des Bootloaders anzeigen: Shift Key beim booten gedrückt halten


* Nun sollte man sich schon als "root" per Putty einloggt haben
==== Joe ====


=== System-Update ===
* joe sollte keine Backup-Dateien angelegen, da dies bei virtuellen Host Konfigurationsdatei kontraproduktiv ist, neben einem host.conf hat man dann immer noch eine weitere Datei host.conf~ die beim Start des Webservers (nginx) als "echt" interprätiert wird.


* Jetzt kann erstmalig ein Login per User "root" über die Netzwerkschnittstelle erfolgen.
joe /etc/joe/editorrc
** <code>apt-get update</code>
** <code>apt-get upgrade</code>
** <code>rpi-update</code>
* Die 100 MByte Swap-Bereich abschalten
** <code>swapoff -a</code>
** <code>service dphys-swapfile stop</code>
** <code>systemctl disable dphys-swapfile</code>


=== vnc-server ===
  -nocurdir      Do not prompt with current directory
-nobackups      If you don't want backup files to be created
  -nodeadjoe    If you don't want DEADJOE files to be created


vncserver-x11-serviced.service
dazu einfach das "-nobackups" Setting aktivieren indem man es ein Zeichen nach links zieht
vncserver-virtuald.service


=== Hostname setzen ===
=== Hostname setzen ===
Zeile 120: Zeile 154:


  Mal testen: Bekanntmachen des eigenen Namens im Netz: libnss-mdns
  Mal testen: Bekanntmachen des eigenen Namens im Netz: libnss-mdns
=== Zeitzone setzen ===
dpkg-reconfigure tzdata
=== locale setzen ===
dpkg-reconfigure locales
* <code><b>[*] de_DE.UTF8 UTF8</b></code> ankreuzen und OK
* Das Standard-Locale soll aber en_uk irgendwas bleiben wie eingestellt <ENTER>
Generating locales (this might take a while)...
  de_DE.UTF-8... done
  en_GB.UTF-8... done
Generation complete.


== Tipps und Tricks ==
== Tipps und Tricks ==
=== eigene MAC-Adressen ===
ip addr | grep ether | awk '{print $2}' | tr [a-z] [A-Z]
* 1. Zeile: LAN-MAC-Adresse
* 2. Zeile: WLAN-MAC-Adresse
=== eigene Seriennummer ===
vcgencmd otp_dump | grep 28: | sed s/.*://g
=== CPU Temperatur auslesen ===
vcgencmd measure_temp
=== Colorierter Prompt ===
[[Datei:Color.png|76px]]


=== Ermitteln der IP-Adresse eines frisch gestarteten RASPIs ===
=== Ermitteln der IP-Adresse eines frisch gestarteten RASPIs ===
Zeile 136: Zeile 206:
   
   
  # Passwort wird abgefragt, es ist "raspberry"
  # Passwort wird abgefragt, es ist "raspberry"
=== Die 100 MByte Swap-Bereich abschalten ===
* <code>swapoff -a</code>
* <code>service dphys-swapfile stop</code>
* <code>systemctl disable dphys-swapfile</code>


=== SD-Karten-Platz sparen ===
=== SD-Karten-Platz sparen ===
Zeile 144: Zeile 220:


=== smb-Mount ===
=== smb-Mount ===
* <code>systemctl enable systemd-networkd-wait-online.service</code>


* /etc/systemd/system/srv-ftp.mount
* /etc/systemd/system/srv-ftp.mount
Zeile 177: Zeile 255:
  WantedBy=remote-fs.target
  WantedBy=remote-fs.target


=== Joe ===
* Seit der Raspi über WLAN angebunden war rauschte der Mount beim boot mit einer Fehlermeldung durch


Nov 13 16:04:17 pi3x06 kernel: [    7.195956] CIFS VFS: Error connecting to socket. Aborting operation.
Nov 13 16:04:17 pi3x06 kernel: [    7.195986] CIFS VFS: cifs_mount failed w/return code = -101


joe sollte keine Backup-Dateien angelegen, da dies bei virtuellen Host Konfigurationsdatei kontraproduktiv ist, neben einem host.conf hat man dann immer noch eine weitere Datei host.conf~ die beim Start des Webservers (nginx) als "echt" interprätiert wird.


joe /etc/joe/editorrc
* Ich habe obige .mount Unit "disabled" aber dafür eine zusätzliche .automount Unit geschrieben, und diese "enabled":
 
* /etc/systemd/system/srv-ftp.automount


  -nocurdir      Do not prompt with current directory
[Unit]
Description=srv-ftp
   
   
  -nobackups      If you don't want backup files to be created
  [Automount]
Where=/srv/ftp
   
   
  -nodeadjoe    If you don't want DEADJOE files to be created
[Install]
WantedBy=remote-fs.target
 
* das war die Lösung,,  seither springt der .mount erst an, wenn der Benutzer zugreift!!
 
=== alter Client ===
 
* ein alter Client würde immer versuchen mit dem Protokoll 1.0 auf den Server zuzugreifen
* moderne Server lehen dieses Protokoll ab, es kommt ein Fehler
* die alten Clients können oft 2.0, 2.1 usw aber der default ist 1.0
* diese alten Clients muss man zwingen ein moderneres Protokoll zu verwenden, da der Server die Verbindung sonst ablehnt
 
mount -o vers=3.0 //raib25/i$ /srv/smb


dazu einfach das "-nobackups" Setting aktivieren indem man es ein Zeichen nach links zieht
* so gelingt der mount


=== WLAN / BLUTOOTH ===
=== Power Saving ===
==== Audio ====


* WLAN und Bluetooth kann man ausschalten
* /boot/config.txt
* /boot/config.txt


# disable audio
dtparam=audio=off
==== Bluetooth ====
* /boot/config.txt
# disable bluetooth
dtoverlay=pi3-disable-bt
systemctl disable bluetooth.service
==== Wifi ====
* /boot/config.txt
# disable wifi
  dtoverlay=pi3-disable-wifi
  dtoverlay=pi3-disable-wifi
  dtoverlay=pi3-disable-bt
   
systemctl disable hciuart.service
systemctl disable wpa_supplicant
==== HDMI ====
* HDMI kann man ausschalten
 
  /opt/vc/bin/tvservice -o
==== Display-Connector ====
 
* keine Infos dazu gefunden
 
==== Kamera-Connector ====
 
* keine Infos dazu gefunden
 
==== USB ====
 
* keine Infos dazu gefunden
 
==== GPIO ====
 
* keine Infos dazu gefunden
 
=== Ohne grafisches System ===
 
* Verhindern dass die grafische Benutzeroberfläche gestartet wird
** <s><code>update-rc.d lightdm disable</code></s>
** <code>sudo systemctl set-default multi-user.target</code>
** UnDo this: <code>systemctl set-default graphical.target</code>
* Nun ist der erste Headless Start möglich
 
=== System-Identifikation ===
 
 
# Welches Modell?
#
dmesg | grep Rasp
# Welche MAC Adresse?
#
ifconfig | grep ether
<i>oder</i>
lshw | grep serial
 
=== WLAN-Adapter ===
 
* Der Raspberry Pi als WLAN-Adapter missbraucht https://www.youtube.com/watch?v=TtLNue7gzZA
 
=== Zigbee Adapter ===
 
* RaspBee: <code>https://phoscon.de/de/raspbee</code>
 
== Hardware ==
 
* https://www.bicker.de/
* https://geekworm.com/
* https://buyzero.de/
* https://www.rasppishop.de/
* https://shop.pimoroni.com/
* https://www.raspberrypi.org/
* https://www.berrybase.de/
* https://www.pieye.org/
* https://www.adafruit.com/
* https://www.waveshare.com/
* https://www.sainsmart.com/

Aktuelle Version vom 14. September 2024, 15:54 Uhr

Aktuelles

Der raspi-Superserver

  • Bei einer Server-Infrastruktur im OrgaMon Umfeld nehme ich mir den Buchtitel "Algorithmen und Datenstrukturen (Niklaus Wirth)" zum Vorbild.
  • Es gibt also nur 2 Elemente, Datenstrukturen liegen auf einem NAS, Algorithmen liegen auf einem Raspi
  • Ein 3. Element kommt nur hinzu weil ein NAS nicht 100% sicher ist - ein Backup NAS
  • Das NAS macht (wegen der Nähe zum Datenträger) immer auch Virtualisierungen und Datenbankserver, das sind die einzigen 2 "Dienste" von denen der Raspi befreit ist, alles andere muss er machen, der raspi-Superserver ist geboren

Vorteile

  • Will man einen Dienst aufsetzen sind alle Aspekte darüber im Internet gut zu finden
  • Die SD Karte stellt die Idenität des Servers dar, Problem? Backup-SD rein und weiter gehts!
  • Die Software-Basis des Raspi wird excellent gewartet
  • Die Software ist aktuell und sicher
  • Die Leistungskraft reicht allemal aus

Dienste im Einzelnen

Sonstige Dienste/Projekte

... aber der Reihe nach ...

Inbetriebnahme "Headless"

SD-Karte erstellen

Kauf

  • minimal sind 16 GByte für den normalen Betrieb notwendig, 8 ist etwas zu klein!
  • Samsung Pro+ sind empfehlenswert gibts leider nur als 32 GByte (je grösser desto Wear-Levelling-Algorithmus- freundlicher!)
  • die Samsung Pro+ wurde durch Pro Plus ersetzt
  • inzwischen benutze ich die Samsung endurance 32 GB
  • inzwischen benutze ich die Transcend 16GB High Endurance microSDXC/SDHC Speicherkarte TS16GUSDXC10V

Prüfen

Image schreiben

#!/bin/bash 

dd bs=4M if=2020-02-13-raspbian-buster-lite.img of=/dev/sda conv=fsync status=progress
mount /dev/sda1 /srv/mnt
touch /srv/mnt/ssh
umount /srv/mnt

Image vorbereiten

  • Es sollte die Partition "boot" erkennbar sein
  • Es ist ein kleines Standard-File-System (ich glaube FAT) mit nur wenigen MByte
  • Im Hauptverzeichnis legt man eine leere Datei "ssh" an


  • den Raspi mit der SD-Karte versehen, ans Netzwerk anschliessen, für starke Stromversorgung (>2A) sorgen
  • Nun bei deinem DHCP-Server-System ermitteln welche IP Adresse der RASPI gezogen hat
tail -2000 /var/log/messages | grep dhcp
Mar 11 17:09:40 raib25 dhcpd: DHCPACK on 192.168.115.205 to b8:27:eb:8b:9b:0a (raspberrypi) via eth0

erster Start

  • per ssh oder mit Putty als "pi" mit dem Passwort "raspberry" einloggen
  • das Passwort des Users "pi" jetzt stark machen
    • passwd⏎ neues Passwort für pi setzen (altes ist "raspberry")
  • das Passwort des Users "root" jetzt stark machen
    • sudo passwd neues Passwort für root setzen (ein altes wird nicht abgefragt)
  • nur dem User root den Login erlauben
    • sudo apt update
    • sudo apt install joe
    • sudo joe /etc/ssh/sshd_config
      • PermitRootLogin yes sicherstellen (die entsprechende Zeile muss ABGEÄNDERT werden)
      • AllowUsers root sicherstellen (NUR noch User "root" kann sich per ssh einloggen! Diese Zeile muss neu eingetragen werden)
  • sudo reboot

zweiter Start

  • Jetzt mit ssh/Putty als "root" mit einem sehr starken Passwort einloggen

System-Update

  • apt update
  • apt upgrade
  • reboot

dritter Start

  • rpi-update
  • reboot

vierter Start

  • joe /etc/default/rpi-eeprom-update
    • von "default" auf "beta"
  • rpi-eeprom-update -a
  • Version des Bootloaders anzeigen: Shift Key beim booten gedrückt halten

Joe

  • joe sollte keine Backup-Dateien angelegen, da dies bei virtuellen Host Konfigurationsdatei kontraproduktiv ist, neben einem host.conf hat man dann immer noch eine weitere Datei host.conf~ die beim Start des Webservers (nginx) als "echt" interprätiert wird.
joe /etc/joe/editorrc
 -nocurdir      Do not prompt with current directory

-nobackups      If you don't want backup files to be created

 -nodeadjoe     If you don't want DEADJOE files to be created

dazu einfach das "-nobackups" Setting aktivieren indem man es ein Zeichen nach links zieht

Hostname setzen

  • 2 Dateien müssen geändert werden
joe /etc/hosts
joe /etc/hostname
Mal testen: Bekanntmachen des eigenen Namens im Netz: libnss-mdns

Zeitzone setzen

dpkg-reconfigure tzdata

locale setzen

dpkg-reconfigure locales
  • [*] de_DE.UTF8 UTF8 ankreuzen und OK
  • Das Standard-Locale soll aber en_uk irgendwas bleiben wie eingestellt <ENTER>


Generating locales (this might take a while)...
  de_DE.UTF-8... done
  en_GB.UTF-8... done
Generation complete.

Tipps und Tricks

eigene MAC-Adressen

ip addr | grep ether | awk '{print $2}' | tr [a-z] [A-Z]
  • 1. Zeile: LAN-MAC-Adresse
  • 2. Zeile: WLAN-MAC-Adresse

eigene Seriennummer

vcgencmd otp_dump | grep 28: | sed s/.*://g

CPU Temperatur auslesen

vcgencmd measure_temp

Colorierter Prompt

Ermitteln der IP-Adresse eines frisch gestarteten RASPIs

  • Ein Standard-Image meldet sich als host "raspberry" bei deinem DHCP-Server
  • So kann man mit
tail -3000 /var/log/messages | grep DHCP | grep raspberry
  • ermitteln wie die IP Adresse des Raspi ist
  • Mit ssh nun einloggen
ssh pi@x.x.x.x

# Passwort wird abgefragt, es ist "raspberry"

Die 100 MByte Swap-Bereich abschalten

  • swapoff -a
  • service dphys-swapfile stop
  • systemctl disable dphys-swapfile

SD-Karten-Platz sparen

  • Erst möglich wenn das System läuft
    • apt-get --purge remove epiphany-browser epiphany-browser-data libreoffice sonic-pi wolfram-engine
    • apt-get autoremove

smb-Mount

  • systemctl enable systemd-networkd-wait-online.service
  • /etc/systemd/system/srv-ftp.mount
[Unit]
Description=srv-ftp

[Mount]
What=//192.168.115.25/web$
Where=/srv/ftp
Type=cifs
#
# vers=1.0 muss gesetzt werden, wenn ein "älterer" Server
# kontaktiert wird, wenn nicht, kommt die Fehlermeldung:
#
# mount error(112): Host is down
# Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
#
# im dmesg ist dann die Fehlermeldung:
# [] No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.
# [] CIFS VFS: cifs_mount failed w/return code = -112
#
# manuell kann nun mal mit 
#
# mount -o vers=1.0 //raib25/i$ /srv/smb
#
# prüfen, ob es so funktioniert. Wenn ja:
#
# die Lösung:
Options=guest,vers=1.0

[Install]
WantedBy=remote-fs.target
  • Seit der Raspi über WLAN angebunden war rauschte der Mount beim boot mit einer Fehlermeldung durch
Nov 13 16:04:17 pi3x06 kernel: [    7.195956] CIFS VFS: Error connecting to socket. Aborting operation.
Nov 13 16:04:17 pi3x06 kernel: [    7.195986] CIFS VFS: cifs_mount failed w/return code = -101


  • Ich habe obige .mount Unit "disabled" aber dafür eine zusätzliche .automount Unit geschrieben, und diese "enabled":
  • /etc/systemd/system/srv-ftp.automount
[Unit]
Description=srv-ftp

[Automount]
Where=/srv/ftp

[Install]
WantedBy=remote-fs.target
  • das war die Lösung,, seither springt der .mount erst an, wenn der Benutzer zugreift!!

alter Client

  • ein alter Client würde immer versuchen mit dem Protokoll 1.0 auf den Server zuzugreifen
  • moderne Server lehen dieses Protokoll ab, es kommt ein Fehler
  • die alten Clients können oft 2.0, 2.1 usw aber der default ist 1.0
  • diese alten Clients muss man zwingen ein moderneres Protokoll zu verwenden, da der Server die Verbindung sonst ablehnt
mount -o vers=3.0 //raib25/i$ /srv/smb
  • so gelingt der mount

Power Saving

Audio

  • /boot/config.txt
# disable audio
dtparam=audio=off

Bluetooth

  • /boot/config.txt
# disable bluetooth
dtoverlay=pi3-disable-bt
systemctl disable bluetooth.service

Wifi

  • /boot/config.txt
# disable wifi
dtoverlay=pi3-disable-wifi

systemctl disable hciuart.service
systemctl disable wpa_supplicant

HDMI

  • HDMI kann man ausschalten
 /opt/vc/bin/tvservice -o

Display-Connector

  • keine Infos dazu gefunden

Kamera-Connector

  • keine Infos dazu gefunden

USB

  • keine Infos dazu gefunden

GPIO

  • keine Infos dazu gefunden

Ohne grafisches System

  • Verhindern dass die grafische Benutzeroberfläche gestartet wird
    • update-rc.d lightdm disable
    • sudo systemctl set-default multi-user.target
    • UnDo this: systemctl set-default graphical.target
  • Nun ist der erste Headless Start möglich

System-Identifikation

# Welches Modell?
#
dmesg | grep Rasp

# Welche MAC Adresse?
#
ifconfig | grep ether
oder
lshw | grep serial

WLAN-Adapter

Zigbee Adapter

Hardware