Benutzer-Werkzeuge

Webseiten-Werkzeuge


obp60p_install

Dies ist eine alte Version des Dokuments!


OBP60P Installationsanleitung

Variante 1: Basis RaspiOS Lite

Es wird nur ein Minimalsetup beschrieben. Weitere Anpassungen wie z.B. NMEA2000, GPS etc. sind möglich, führen an dieser Stelle aber zu weit.

1) SD-Karte erstellen

Vorbereitung auf dem Haupt-PC

Benötigt:

  1. „großer“ Haupt-PC mit vernünftiger Bedienmöglichkeit
  2. SD-Kartenleser (bzw. -schreiber)
  3. Kabelnetzwerkverbindung für den Raspberry
  4. Internetzugang aus dem Netzwerk heraus

Herunterladen eines aktuellen RaspiOS Lite:

wget https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2025-05-13/2025-05-13-raspios-bookworm-arm64-lite.img.xz

Anzeigen der Geräteliste ohne einen angeschlossenen Kartenleser:

lsblk

Anschließen des SD-Kartellesers und überprüfen der aktuellen Geräte

lsblk

Jetzt sind zwei neue Laufwerke z.B. sdd und sde vorhanden

Einstecken einer leeren SD-Karte, 64 GB damit genügend Speicher für z.B. Seekarten vorhanden ist.

lsblk

Prüfe die aktualisierte Geräteliste, die eingelegte Karte sollte jetzt neu hinzugekommen sein:

  • Der Gerätename ist z.B. /dev/sde

Schreibe das Image auf die Karte, das sync ist eigentlich überflüssig, aber man weiß ja nie:

xzcat 2025-05-13-raspios-bookworm-arm64-lite.img.xz | sudo dd of=/dev/sde bs=4M conv=fsync
sync

Damit dit dieser Teil erledigt, die Karte kann entnommen werden. Einfach herausziehen.

2) Erststart des Raspis

auf dem Raspberry

Im folgenden Beispiel sind Benutzername und Kennwort angegeben. Für ein später produktiv zu nutzendes System bitte unbedingt eigene Daten benutzen!

Karte einlegen und Raspberry einschalten.

Tastatur und Monitor sind erforderlich.

Keyboard layout: german / german
Username: arthur
Password: arthur

Login: Anmeldung mit gerade angelegtem Benutzer

sudo raspi-config
  • system / hostname: obp60p
  • Interface options
    • ssh einschalten
  • Localization options
    • locale de_DE.UTF8, auch als Default auswählen
    • time zone Europe/Berlin
    • WLAN Country DE

Finish und Reboot

Auf der folgenden Anmeldeseite wird die aktuelle IP-Adresse angezeigt. Die weitere Konfiguration machen wir vom großen PC aus. Damit können z.B. Befehle aus der Anleitung mit Cut&Paste ausgeführt werden. SSH wird im folgenden als die Hauptfernsteuerungsmethode verwendet.

3) Basiskonfiguration über SSH-Fernsteuerung

Auf dem großen PC, Konsole

ssh arthur@192.168.0.113

Fingerprint bestätigen: yes

Umschalten auf Benutzer root

sudo -i

Kennwort eingeben, damit direktes Anmelden an Root möglich ist

passwd
obp60p
obp60p

Im weiteren wird empfohlen die SSH-Verbindung nur über Schlüssel zuzulassen. Am besten ist es dafür z.B. einen Nitro-Key zu verwenden. Dieses sprengt aber diese Anleitung und wird ggf. an anderer Stelle besprochen.

Herunterstrippen ungewünschter Komponenten vom Raspberry

Sicherstellen, daß bei Paketinstallation nur wirklich benötigte Pakete als Abhängigkeiten installiert werden:

nano /etc/apt/apt.conf
/etc/apt/apt.conf
APT::Install-Recommends "0";
APT::Install-Suggests "0";

Umschaltung auf SysVinit vorbereiten. Ich installiere hier auch gleich meinen Lieblingseditor joe. An stellen wo dieser im Folgenden benutzt wird, kann natürlich auch jeder andere Editor wie nano oder vi genommen werden.

apt-get install sysvinit-core rsyslog chrony orphan-sysvinit-scripts net-tools \ 
  ifupdown joe

Netzwerk vorbereiten

joe /etc/network/interfaces
/etc/network/interfaces
auto eth0
    iface eth0 inet dhcp
 
auto can0
iface can0 inet manual
    # PiCAN-M
    pre-up /sbin/ip link set can0 type can bitrate 250000
    up /sbin/ifconfig can0 up
    down /sbin/ifconfig can0 down

Neustart

shutdown -r now

Hier wird die SSH-Verbindung getrennt. Sobald der Raspi wieder gestartet ist neu verbinden und weiter geht es:

ssh arthur@192.168.0.113
sudo -i

Reste von Systemd wegräumen

apt-get purge systemd
deluser systemd-timesync
deluser systemd-network
delgroup systemd-journal

rm -Rf /var/log/journal
rm -Rf /var/lib/systemd

Klassisches Datumsformat für rsyslog einstellen

/etc/rsyslog.conf
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

Pakete installieren, insbesondere aptitude zur Paketverwaltung

apt-get install aptitude vim pwgen anacron

System aktualisieren auf letzten Patchstand

aptitude
u -> Paketliste aktualisieren
U -> Aktualisierbare markieren
g 
g

Installierte Pakete immer im Zugriff haben zum leichten Vergleich, ggf. auch mit Systemkopien, täglich aktualisieren

/etc/cron.daily/packages
#!/bin/sh
/usr/bin/dpkg --get-selections | cut -f 1 > /root/`hostname -s`-selections.txt
chmod +x /etc/cron.daily/packages

Ungenutzte / nicht gewollte Pakete entfernen

apt-get purge apparmor tasksel tasksel-data triggerhappy pastebinit \
    ppp avahi-daemon cifs-utils ntfs-3g exfatprogs usb-modeswitch \ 
    mkvtoolnix ssh-import-id vim-tiny

:!: Die obige Liste ist noch nicht vollständig, hier fehlt noch etwas Nacharbeit. Das ist aber nicht weiter schlimm, es liegen dann nur ungenutzte Pakete herum.

Nochmals zur Sicherheit

apt autoremove

Prüfe, ob noch Reste von nicht mehr verwendeten Paketen vorliegen und räume ggf. auf. In Zeile 3 ist eine manuelle Überprüfung vorgesehen, falls dort etwas auftaucht was doch behalten werden soll. Im Normalfall kann das auch übersprungen werden.

cd /tmp
dpkg --get-selections | grep deinstall | cut -f 1 > deinstall.txt
joe deinstall.txt
xargs dpkg --purge < deinstall.txt
rm deinstall.txt

Nachdem das System nun in den gewünschten Ausgangszustand versetzt worden ist können jetzt Pakete installiert werden:

apt-get install htop git socat uuid

Konfiguration optionaler Hardware

  • NMEA2000 / CAN-Schnittstelle: PiCAN-M
    /boot/firmware/config.txt
    # PiCAN-M
    enable_uart=1
    dtparam=i2c_arm=on
    dtparam=spi=on
    dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
    dtoverlay=spi-bcm2835-overlay
  • Umgebungssensor BME280
    /boot/firmware/config.txt
    dtparam=i2c_arm=on
  • Echtzeituhr
    /boot/firmware/config.txt
    # I2C RTC DS3231
    dtoverlay=i2c-rtc,ds3231
  • HDMI-Bildschirm
    /boot/firmware/config.txt
    # Waveshare 4.3" HDMI display
    hdmi_force_hotplug=1
    hdmi_group=2
    hdmi_mode=87
    hdmi_cvt 800 480 60 6 0 0 0
  • virtuelle serielle Schnittstelle
    /etc/rc.local
    # Create virtual serial connection
    socat pty,rawer,echo=0,group-late=dialout,mode=0660,link=/dev/ttyV0 \
          pty,rawer,echo=0,group-late=dialout,mode=0660,link=/dev/ttyV1 &
  • GPS Maus: „out of the box“

Hier nochmals neu starten zum Überprüfen ob soweit alles fein ist und um die zuvor eingegebene Hardwarekonfiguration zu aktivieren:

shutdown -r now

4) Graphische Oberfläche (GUI)

Zur besseren Übersicht installiere ich nicht alles in einem Rutsch, sonderne gruppiere etwas je nach Funktion:

apt-get install xserver-xorg-core xserver-xorg-input-evdev \
    xserver-xorg-input-libinput xserver-xorg-video-fbdev x11-xserver-utils

Hinweis: xserver-xorg-input-evdev für die HDMI-Variante, xserver-xorg-input-libinput für die DSI-Variante.

Displaymanager mit zugehöriger Konfiguration

apt-get install slim
/etc/slim.conf
  default_user arthur
  auto_login yes

Themes sind in /usr/share/slim/themes

Fenstermanager openbox

apt-get install openbox python3-xdg

:!: obconf auf keinen Fall installieren, es zieht systemd rein über Abhängigkeit von GTK3!

Desktopsymbole

apt-get install idesk

Bildschirmhintergründe vorbereiten

mkdir /usr/local/share/backgrounds

Panel für z.B. Uhr und Übersicht über laufende Programme

apt-get install tint2

Kompositor, u.a. für Runde Fensterecken von OBP60v benötigt

apt-get install xcompmgr

Fernsteuerung

apt-get install x11vnc

Hilfsprogramme für alle Benutzer aktivieren

/etc/xdg/openbox/autostart
[...]
idesk &
tint2 &
x11vnc -quiet -forever -nopw -rfbport 5900 &
xcompmgr &

Audio

apt-get install volumeicon-alsa

5) Anwendungen

Anwendungen: Dateimanager, Terminal und Texteditor

apt-get install pcmanfm lxterminal mousepad

Backup-Programm zum SD-Karte klonen (SD Card Copier)

apt-get install piclone gvfs dbus-x11

Damit das Kommando und alle daraus heraus aufgerufenen Sub-Kommandos ausgeführt werden können, muß der Benutzer einen erweiterten Eintrag in sudoers haben. Da wir gerade dabei sind, erlauben wir auch dem Standardbenutzer das Ausschalten und Neustarten des Systems. Wichtig ist daß die Zeilen mit dem Benutzernamen arthur am Ende der Datei sind vor dem @include.

visudo /etc/sudoers
/etc/sudoers
Cmnd_Alias SYSTEM = /usr/sbin/shutdown, /usr/sbin/halt, /usr/sbin/reboot, /usr/sbin/poweroff
Cmnd_Alias PICLONE = /usr/bin/dbus-launch /usr/bin/piclone
 
[...]
 
 
arthur ALL=(ALL) NOPASSWD:SYSTEM
arthur ALL=(root) NOPASSWD:PICLONE
 
# See sudoers(5) for more information on "@include" directives:
 
[...]

Browser (hier unklar was „der beste“ Browser ist)

apt-get install chromium-browser

Seekarten

apt-get install opencpn

Custom-Konfiguration aus OBP60P-Repository holen

git clone https://git.hoogi.de/thooge/OBP60P

Die enthaltenen Dateien müssen nach Bedarf an die passenden Stellen im Dateisystem kopiert werden. Generische Dateien in passende Unterverzeichnisse von /usr/local/….

6) Benutzereinstellungen

Auf dem Raspberry über SSH als Benutzer „arthur“ anmelden.

cd ~
mkdir -p .config/openbox
cp /etc/xdg/openbox/rc.xml ~/.config/openbox
cp /etc/xdg/openbox/menu.xml ~/.config/openbox

:!: TODO Hier fehlt etwas Detaillierung

  • in der Konsole einmal idesk starten
  • mkdir .idesktop
  • Symboldateien *.lnk im Verzeichnis .idesktop anlegen

:!: TODO vorbereitete Konfigurationsdateien, Symbole und Bilder aus einem Git-Repository laden und scriptgesteuert an passende Orte im Dateisystem einspielen:

  • Openbox-Kontextmenü
  • Bildschirmhintergründe
  • Zeichensätze
  • Desktopsymbole

7) Extras

Benutzer für Tablet

Das Tablet verbindet sich über WLAN mit einem speziellen VNC-Server der mit einer anderen als der physischen Bildschirmauflösung arbeitet. Damit kann eine verbesserte Darstellung erzielt werden.

adduser tablet
apt-get install rungetty xvfb
/etc/inittab
[...]
1:2345:respawn:/sbin/rungetty tty1 -u root -- login -f tablet

Die folgende Zeile kann in den Autostart von Openbox mit aufgenommen werden:

x11vnc -create -env FD_PROG=/usr/bin/openbox -env X11VNC_CREATE_GEOM=${1:-1024x768x16} -nopw -no6 -forever

Serververbindung

Falls ein eigener Server im Internet vorhanden ist, kann eine VPN-Verbinding zu diesem hergestellt werden. Ich empfehle Wireguard:

apt-get install wireguard

Damit kann das OBP60P über den Server von außen zuverlässig erreicht werden. Voraussetzung ist natürlich daß das MFD permanent an ist.

WLAN

Um WLAN zu nutzen muß dieses zuvor konfiguriert werden:

/etc/network/interfaces
auto wlan0
iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
/etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=0
 
network={
  ssid="BORDWLAN"
  psk="********"
  key_mgmt=WPA-PSK
}

Aktueller Status:

wpa_cli status

8) Zusatzeinstellungen für Entwicklung

Für Videocapture-freundliche Auflösung von 1280×720 kann dieses mit xrandr eingestellt werden:

xrandr --output HDMI-1 --mode 1280x720
obp60p_install.1760345211.txt.gz · Zuletzt geändert: von thooge

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki