====== Raspberry Pi ======
Devuan-Images: https://arm-files.devuan.org/RaspberryPi%20Latest%20Builds/
Siehe auch: [[raspi_zero|Raspberry Zero]]
Helligkeitseinstellung beim 7%%"%% Raspberry Touchscreen (''n'' zwischen 0 und 255):
echo n > /sys/class/backlight/rpi_backlight/brightness
===== Installation =====
SSH-Server aktivieren und Schlüssel in ''authorized_keys'' ablegen.
Einstellungen für den Paketmanager optimieren
APT::Install-Recommends "0";
APT::Install-Suggests "0";
Unabhängigkeit von NetworkManager:
auto eth0
iface eth0 inet dhcp
net.ifnames=0
Korrektes Init-System installieren
apt-get install sysvinit-core rsyslog chrony orphan-sysvinit-scripts
Init-Script für [[Rsyslog]] manuell installieren
Reboot
Aufräumen
apt-get purge systemd
deluser systemd-timesync
deluser systemd-network
delgroup systemd-journal
rm -Rf /var/log/journal
rm -Rf /var/lib/systemd
Pakete nachinstallieren
apt-get install joe aptitude vim pwgen
Bei aktuellem Raspi OS nicht mehr erforderlich: Standardbenutzer ''pi'' umbenennen, dieser Benutzer darf während der Umbenennung nicht angemeldet sein
usermod -l zaphod pi
usermod -m -d /home/zaphod zaphod
chmod 750 /home/zaphod
groupmod -n zaphod pi
pwgen -s 16
passwd zaphod
deluser zaphod sudo
Sudo-Konfigurationsdatei für den alten Benutzer ''pi'' entfernen
rm /etc/sudoers.d/010_pi-nopasswd
Prüfe, ob noch Reste von nicht mehr verwendeten Paketen vorliegen und räume ggf. auf:
cd /tmp
dpkg --get-selections | grep deinstall | cut -f 1 > deinstall.txt
joe deinstall.txt
xargs dpkg --purge < deinstall.txt
rm deinstall.txt
===== Graphische Oberfläche =====
apt-get install xserver-xorg-core xserver-xorg-input-evdev xserver-xorg-video-fbdev
==== Displaymanager ====
//Slim//
* ''apt-get install slim''
//LightDM//
* Hintergrundbilder unter ''/usr/local/share/backgrounds'' ablegen
* LightDM-Greeter anpassen ''/etc/lightdm/lightdm-gtk-greeter.conf''
* ''background=/usr/local/share/backgrounds/bg_1280x1024.png''
* ''indicators=~clock;~spacer;~host;~spacer;~session;~power''
==== Openbox ====
apt-get install openbox obconf python3-xdg
Globale Einstellungen: ''/etc/xdg/openbox''
Konfiguration unter ''~/.config/openbox''
mkdir -p .config/openbox
cp /etc/xdg/openbox/rc.xml ~/.config/openbox
cp /etc/xdg/openbox/menu.xml ~/.config/openbox
* ''menu.xml'' anpassen
* ''rc.xml'' anpassen
* hier können auch Tastaturcodes konfiguriert werden
* Anzahl Desktops auf 1 einstellen
* Shutdown zulassen für Benutzer ''zaphod''
zaphod
visudo -f /etc/sudoers
Cmnd_Alias SYSTEM = /sbin/shutdown, /sbin/halt, /sbin/reboot, /sbin/poweroff
zaphod ALL=(root) NOPASSWD: SYSTEM
==== Desktopsymbole ====
Mit ''idesk'' können Symbole auf dem Desktop angelegt werden
apt-get install idesk
Der Benutzer legt sich ein Verzeichnis ''.idesktop'' an.
Darin können dann Konfigurationsdateien abgelegt werden.
In der Datei ''.ideskrc'' können weitere Einstellungen vorgenommen werden,
wie z.B. der Bildschirmhintergrund oder das Klickverhalten auf Symbole:
table Config
[...]
Background.File: /home/zaphod/bg.png
end
==== Audio ====
Als Lautstärkereglersymbol kann ''volumeicon-alsa'' benutzt werden.
Audio komplett deaktivieren: In ''config.txt''
- Internes Audio: ''dtparam=audio=off''
- HDMI: ''dtoverlay=vc4-kms--v3d,noaudio''
===== Programme =====
* WLAN: ''wicd''
* Panel: ''tint2'' oder ''fbpanel''
* Ansehen von Zertifikaten: ''gcr'' bzw. ''gcr-viewer''
* Packer: ''xarchiver''
===== Backup =====
Für die Sicherung eines Systems kann die SD-Karte ganz einfach kopiert werden.
Vorab ist natürlich die Gerätebezeichnung der SD-Karte herauszufinden.
Im Beispiel ist das ein USB-Adapter unter ''/dev/sdc''.
sudo dd bs=4M if=/dev/sdc | gzip -c > /tmp/sdcard.img.gz
Wiederherstellen dann mit
gunzip -c /tmp/sdcard.img.gz | sudo dd bs=4M of=/dev/sdc
sync
==== Klonen ====
Es gibt ein Programm für die graphische Oberfläche: ''piclone'' (SD Card Copier).
Es ist damit auch möglich eine Kopie von einer kleinen SD-Karte auf eine größere
zu erstellen.
apt-get install piclone gvfs dbus-x11
Damit das Kommendo und alle daraus heraus aufgerufenen Sub-Kommandos ausgeführt werden können,
muß der Benutzer einen erweiterten Eintrag in ''sudoers'' haben:
Cmnd_Alias PICLONE = /usr/bin/dbus-launch /usr/bin/piclone
mustermann ALL=(root) NOPASSWD: PICLONE
===== Problembehebung =====
GUI hängt, Booten nicht möglich.
Umstellen auf Konsole:
cd
/media/mustermann/rootfs/usr/lib/systemd/system
ln -s -f -v multi-user.target default.target
sync
Update von einer sehr alten Version
* ''legacy.raspbian.org'' als Quelle verwenden
* Schritt für Schritt zur aktuellen Version hochhangeln
===== Tips =====
Temperatur messen
vcgencmd measure_temp
Ggf. unnötige Software
* dbus
* triggerhappy (''thd'')
===== Kernel =====
64bit Raspberry-Kernel bauen auf einem normalen Debian Desktopsystem (amd64).
Die Konfiguration eines laufenden Kernels kann mit ermittelt werden wie folgt:
modprobe configs
zless /proc/config.gz
Die Boot-Logos (Himbeere, Tux o.ä.) liegen im Verzeichnis ''drivers/video/logo''
apt-get install git bc bison flex libssl-dev make libc6-dev libncurses5-dev
apt-get install crossbuild-essential-arm64
Als normaler Benutzer:
git clone --depth=1 https://github.com/raspberrypi/linux raspi-kernel
cd raspi-kernel
KERNEL=kernel8
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig
make -j3 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules dtbs
Veränderungen vornehmen
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig