⚙️ Schritt 8: Vorbereitung ioBroker installieren
1. Funktionen in /boot/config.txt anpassen
In der /boot/config.txt lassen sich bestimmte Funktionen deaktivieren, um Systemressourcen zu sparen.
Bei mir waren WiFi und Bluetooth, die ich nicht benötige, bereits deaktiviert:
sudo nano /boot/config.txt
Beispielinhalt:
# Uncomment if you want to disable wifi or bluetooth respectively
dtoverlay=disable-wifi
dtoverlay=disable-bt
Zusätzlich (optional):
dtparam=audio=off
# dtoverlay=vc4-kms-v3d
display_auto_detect=0
💡 Hinweis
Standardmäßig wird der UART des Raspberry Pi 4 vom integrierten Bluetooth-Modul belegt.
Um den UART für die serielle Kommunikation über die GPIO-Pins – z.B. für ein Razberry Z-Wave-Modul – freizugeben, füge folgende Zeile hinzu:enable_uart=1
2. NTP-Zeitserver konfigurieren
Ich nutze den Zeitserver der FritzBox:
sudo nano /etc/systemd/timesyncd.conf
Füge hinzu:
NTP=192.168.0.1
3. Root-Partition mit noatime mounten (ohne /etc/fstab)
a) /boot/cmdline.txt bearbeiten:
sudo nano /boot/cmdline.txt
b) In der vorhandenen Zeile den Parameter rootflags=noatime ergänzen.
Beispiel (alles in einer Zeile, keine Umbrüche!):
root=UUID=8823e411-2982-44c9-92f3-7af051ce915e rw rootwait rootflags=noatime console=serial0,115200 console=tty1 fsck.repair=yes
⚠️ Hinweis
Wenn du ein Razberry Z-Wave-Modul verwendest, entferne den Eintrag
console=serial0,115200.
Dadurch wird der Serial Port nicht mehr für Konsolenausgaben genutzt.
root=UUID=8823e411-2982-44c9-92f3-7af051ce915e rw rootwait rootflags=noatime console=tty1 fsck.repair=yes
Nach diesen Anpassungen:
sudo ldconfig
sudo usermod -aG video $USER
sudo reboot
👉 Die Aufnahme in die Gruppe video ist notwendig, damit dein Benutzer Zugriff auf /dev/vcio_gencmd erhält und z.B. vcgencmd get_throttled ohne sudo nutzen kann (auch wichtig für iob diag).
Prüfen:
getent group video
id
ls -l /dev/vcio_gencmd /dev/vcio 2>/dev/null
ls -l /dev/ttyA*
cat /boot/cmdline.txt
id zeigt deine Gruppenzugehörigkeiten; ls -l zeigt, ob die Gerätedateien vorhanden sind und welche Zugriffsrechte sie haben.
(ioBroker läuft noch nicht. Da der Benutzer iobroker nach der Installation Zugriff auf das Gerät benötigt, richten wir seine Berechtigung später separat ein.)
Nach dem Neustart:
findmnt -no OPTIONS /
→ In der Ausgabe sollte noatime enthalten sein.
Damit werden keine Access-Time-Stempel mehr geschrieben → das spart Schreibzugriffe auf die SSD.
4. Automatischen TRIM-Lauf aktivieren
sudo systemctl enable --now fstrim.timer
Prüfen:
systemctl status fstrim.timer
💡 Hinweis
Manche externe SSDs (z.B. Samsung T7) unterstützen TRIM über USB nicht.
Du kannst es manuell aktivieren mit einer udev-Regel.
lsusb
Beispiel meiner Ausgabe:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 04e8:4001 Samsung Electronics Co., Ltd PSSD T7
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Verwende in der udev-Regel die passenden IDs. Im Beispiel sind das idVendor 04e8 und idProduct 4001:
echo 'ACTION=="add|change", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="4001", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"' \
| sudo tee /etc/udev/rules.d/50-usb-ssd-trim.rules
sudo udevadm control --reload-rules
sudo udevadm trigger
Prüfen:
cat /sys/block/sda/queue/discard_max_bytes
→ Sollte eine Zahl > 0 zeigen.
TRIM-Testlauf:
sudo fstrim -av
Beispielausgabe:
/boot: 442,2 MiB (463695872 Bytes) auf /dev/sda1 getrimmt
/: 913,5 GiB (980864098304 Bytes) auf /dev/sda2 getrimmt
Falls TRIM nicht unterstützt wird:
sudo systemctl disable --now fstrim.timer
5. Pi 4: Power-LED (optional deaktivieren)
Die rote Power-LED (PWR) kann beim Boot automatisch abgeschaltet werden.
a) LED-Namen prüfen:
ls /sys/class/leds/
Beispielausgabe:
ACT default-on mmc0 mmc0:: PWR
b) Manuell testen: LED ausschalten:
echo 0 | sudo tee /sys/class/leds/PWR/brightness
Zum Wiedereinschalten:
echo 1 | sudo tee /sys/class/leds/PWR/brightness
c) Service-Datei erstellen:
sudo nano /etc/systemd/system/disable-pwr-led.service
Inhalt:
[Unit]
Description=Disable the PWR LED on Raspberry Pi
[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo 0 > /sys/class/leds/PWR/brightness"
[Install]
WantedBy=multi-user.target
d) Service aktivieren:
sudo systemctl enable disable-pwr-led.service
sudo systemctl start disable-pwr-led.service
Oder testen nach Neustart:
sudo reboot
💡 Hinweis
Mit
cat /sys/class/leds/PWR/brightnesskannst du den Zustand prüfen:
0 = aus,1 = an.
6. Pi 5: Grüne Power-LED (optional deaktivieren)
Die grüne Anzeige der zweifarbigen Status-LED signalisiert Aktivität. Du kannst sie beim Boot automatisch abschalten.
Teste die Einstellung zuerst manuell. Damit wird die grüne ACT-Anzeige ausgeschaltet; die rote Power-LED bleibt als Aus-/Fehleranzeige erhalten.
Manuell testen
echo none | sudo tee /sys/class/leds/ACT/trigger
echo 1 | sudo tee /sys/class/leds/ACT/brightness
Soll die grüne ACT-Anzeige wieder Aktivität anzeigen, setze den Trigger zurück:
echo mmc0 | sudo tee /sys/class/leds/ACT/trigger
Beim Start automatisch deaktivieren
Wenn der manuelle Test funktioniert, kannst du die Einstellung mit einem systemd-Service bei jedem Start anwenden.
Service-Datei erstellen:
sudo nano /etc/systemd/system/disable-act-led.service
Inhalt:
[Unit]
Description=Disable the green ACT LED on Raspberry Pi 5
After=systemd-udev-settle.service
[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo none > /sys/class/leds/ACT/trigger; echo 1 > /sys/class/leds/ACT/brightness"
[Install]
WantedBy=multi-user.target
Service aktivieren und sofort ausführen:
sudo systemctl enable --now disable-act-led.service
💡 Hinweis
Der manuelle Rückstellbefehl
echo mmc0 ...gilt bis zum nächsten Start. Wenn der Service aktiviert ist, schaltet er die grüne ACT-LED beim Start wieder aus.
7. Systempakete installieren
sudo pacman -S --needed \
acl avahi base-devel cairo cmake curl gcc giflib git htop iftop \
libcap libjpeg-turbo librsvg lm_sensors make fastfetch net-tools \
pam pango pkgconf systemd-libs unzip sqlite cifs-utils nfs-utils \
rsync polkit distro-info hdparm
8. Node.js installieren
💡 Hinweis
- ioBroker unterstützt keine Installation über NVM (Node Version Manager).
- Verwende stattdessen eine LTS-Version direkt aus den offiziellen Arch-Paketquellen.
Installation der aktuellen LTS-Version Krypton (Node.js 24.x, empfohem von ioBroker, Stand Oktober 2026):
sudo pacman -S nodejs-lts-krypton npm
💡 Info
nodejs-lts-krypton entspricht zum Zeitpunkt dieser Anleitung der empfohlenen Node.js-LTS-Version 24 (Krypton).
Wichtig: Bitte prüfe vor der Installation die aktuell gültige ioBroker-Empfehlung, da sich diese mit neuen LTS-Versionen ändern kann.Linux Arch Quellen:
- archlinux.de/packages/extra/x86_64/nodejs-lts-jod (Version 22)
- archlinux.de/packages/extra/x86_64/nodejs-lts-krypton (Version 24)
- archlinux.de/packages/extra/x86_64/nodejs-lts-lithium (Version 26)
Dokumentation Node.js:
Prüfen:
command -v node nodejs npm npx && node -v && nodejs -v && npm -v && npx -v
Beispielausgabe (wenn „nodejs“ fehlt):
/usr/bin/node
/usr/bin/npm
/usr/bin/npx
v24.22.2
-bash: nodejs: command not found
Fehlenden Symlink anlegen:
sudo ln -s /usr/bin/node /usr/bin/nodejs
Erneuter Test:
command -v node nodejs npm npx && node -v && nodejs -v && npm -v && npx -v
Beispielausgabe
/usr/bin/node
/usr/bin/nodejs
/usr/bin/npm
/usr/bin/npx
v24.22.2
v24.22.2
12.2.2
12.2.2
💡 Hinweis
Wenn du Dateien verschiebst oder löschst, aktualisiere den Bash-Cache:
hash -r