Raspberry Pi Boot konfiguration

Aus Nicki Wiki
Zur Navigation springen Zur Suche springen

Der Raspberry Pi läuft teilweise durchgehend, dadurch wird die SD-Karte belastet. Um die Lebensdauer der SD-Karte zu erhöhen und die Bootdauer zu verkürzen wird der Bootvorgang optimiert. Zusätzlich wird die Änderung des Bootlogos beschrieben.

Lebensdauer SD-Karte erhöhen

Die SD-Karte sollte mind. Klasse 10 haben.

Log-Datein ins RAM ausgelagern

sudo vim /etc/fstab

Folgendes hinzufügen:

tmpfs /tmp tmpfs defaults,size=8M 0 0
tmpfs /var/tmp tmpfs defaults,size=8M 0 0
tmpfs /var/log tmpfs defaults,size=8M 0 0

Logrotate

Da der tmpfs Space klein ist -> logrotate auf 1 bzw. daily

sudo vim /etc/logrotate.conf

Änderung:

weekly -> daily

SWAP

SWAP auslagern (nur wenn swapping nicht notwendig ist)

sudo dphys-swapfile swapoff
sudo dphys-swapfile uninstall
sudo update-rc.d dphys-swapfile remove

Logs abschalten

sudo vim /etc/rsyslog.conf

Änderungen:

#cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
#lpr.* -/var/log/lpr.log
#mail.* -/var/log/mail.log
#user.* -/var/log/user.log

#mail.info -/var/log/mail.info
#mail.warn -/var/log/mail.warn
#mail.err /var/log/mail.err

Bootvorgang optimieren

Kernelmodule abschalten

sudo vim /etc/modprobe.d/raspi.conf

Folgendes hinzufügen:

blacklist ipv6

blacklist snd_bcm2835
blacklist snd_soc_bcm2708_i2s
blacklist snd_soc_core
blacklist snd_compress
blacklist snd_pcm
blacklist snd_page_alloc
blacklist snd_seq
blacklist snd_seq_device
blacklist snd_timer
blacklist snd

blacklist btbcm
blacklist hci_uart

blacklist uio_pdrv_genirq
blacklist uio

IPv6 abschalten

sudo vim /etc/modprobe.d/ipv6.conf

Inhalt:

alias net-pf-10 off
alias ipv6 off

Bluetooth abschalten

sudo systemctl disable hciuart
sudo vim /boot/config.txt

Folgendes hinzufügen:

dtoverlay=pi3-disable-bt

RASPI-CONFIG

Raspberry Pi konfiguration aufrufen:

sudo raspi-config

Übertakten

Beim übertakten ist darauf zu achten ordentlich zu kühlen -> Kühlkörper.

-> 6 Overclock -> High

RAM-Aufteilung GPU

Werden keine grafischen Oberflächen verwendet kann der "Memory Split" auf 16 MB gestellt werden.

-> 7 Advanced Options -> A3 Memory Split -> 16

Interfaces deaktivieren

Alle nicht benötigten Schnittstellen deaktivieren.

-> 5 Interfacing Options -> alle deaktivieren

Bootdarstellung

Konsolenausgabe

Konsolenausgabe ändern:

sudo vim /boot/cmdline.txt

Consolenausgabe verschieben, folgendes ändern:

console=tty1 -> console=tty3

Entfernen der Beeren, folgendes hinzufügen:

logo.nologo

Logausgabe reduzieren, folgendes hinzufügen:

loglevel=3

Bootlogo anzeigen

Bild in der Displayauflösung unter folgendem Pfad speichern:

/etc/splash.png

Zum Beispiel mit scp vom Linux-Host ins Raspberry Pi /home/pi Verzeichnis:

 scp logo.png pi@10.0.0.10:
 sudo cp logo.png /etc/splash.png

Für die Anzeige framebuffer imageviewer (fbi) installieren:

sudo apt-get install fbi

Und folgenden Script erstellen:

sudo vim /etc/init.d/asplashscreen

Inhalt:

#! /bin/sh
### BEGIN INIT INFO
# Provides:          asplashscreen
# Required-Start:
# Required-Stop:
# Should-Start:      
# Default-Start:     S
# Default-Stop:
# Short-Description: Show custom splashscreen
# Description:       Show custom splashscreen
### END INIT INFO

do_start () {
    /usr/bin/fbi -T 1 -noverbose -a /etc/splash.png    
    exit 0
}

case "$1" in
  start|"")
    do_start
    ;;
  restart|reload|force-reload)
    echo "Error: argument '$1' not supported" >&2
    exit 3
    ;;
  stop)
    # No-op
    ;;
  status)
    exit 0
    ;;
  *)
    echo "Usage: asplashscreen [start|stop]" >&2
    exit 3
    ;;
esac
:

Script ausführbar machen:

sudo chmod a+x /etc/init.d/asplashscreen

Und dauerhaft aktivieren:

sudo insserv /etc/init.d/asplashscreen

Mit systemd:

sudo vim /etc/systemd/system/splashscreen.service

Inhalt:

[Unit]
Description=Splash screen
DefaultDependencies=no
After=local-fs.target
[Service]
ExecStart=/usr/bin/fbi -d /dev/fb0 --noverbose -a /opt/splash.png
StandardInput=tty
StandardOutput=tty
[Install]
WantedBy=sysinit.target

Dauerhaft aktivieren:

systemctl enable splashscreen

Danach neustart:

sudo reboot