Embedded Software - Qt kompiliert Setup-Skripte für Raspberry Pi 4 ein Screenshot eines Computerprogramms

Qt-Cross-Kompilierungs-Setup

Skripte für Raspberry Pi 4

Voraussetzungen

Hardware

  • Host [PC/Laptop]: Jeder x86/x86_64 AMD/Intel-Maschine
    Ziel [Raspberry Pi 4]: Raspberry Pi 4

Software

Hinweis

Im Hintergrund laufen die Cross-Compiler-Toolchains für Raspberry Pi von abhiTronix.

Sonstiges

Speicher- und Zeitanforderungen: Das Build-Verzeichnis benötigt ca. 10 GB Speicherplatz und ca. 2 bis 5 Stunden (basierend auf Abhängigkeiten und Host-Maschinenspezifikationen).
Netzwerk: Ihr Zielcomputer (Raspberry Pi) und Ihr Hostcomputer (auf dem Sie cross-kompilieren) MÜSSEN beide über Internetzugriff verfügen und sich im SELBEN NETZWERK BEFINDEN, um diese Anweisungen zu befolgen.

Schritte/Einstellungen für Zielmaschine (Raspberry Pi)

1. Von Grund auf neu starten (optional)

Wichtig

Wenn Sie gerade einen neuen Raspberry Pi gekauft haben oder ganz von vorne anfangen wollen, folgen Sie einfach den Schritten. Andernfalls, wenn Ihr Raspberry Pi bereits eingerichtet, ausgeführt und netzwerkbereit ist, fahren Sie einfach mit Schritt 2 fort.

Hinweis

In diesem Abschnitt wird davon ausgegangen, dass Sie mindestens eine 10-GB-SD-Karte für die Installation des Raspbian-Betriebssystems (Stretch/Buster/Bullseye) und einen Laptop/PC zum Hochladen haben.

1.1. Software herunterladen und SD-Karte vorbereiten

  •  Laden Sie die neueste Version von Raspbian (Bullseye) von hier auf Ihren Laptop/PC herunter. - Sie benötigen einen Bildschreiber, um das heruntergeladene Betriebssystem auf die SD-Karte (in unserem Fall eine Micro-SD-Karte) zu schreiben. Sie können Balena Etcher verwenden. - Legen Sie die SD-Karte in den Laptop/PC ein und führen Sie den Bildschreiber aus. Suchen Sie nach dem Öffnen nach der heruntergeladenen Raspbian-Image-Datei und wählen Sie sie aus. Wählen Sie das richtige Gerät aus, d. h. das Laufwerk, das die SD-Karte darstellt.

Hinweis

Wenn sich das ausgewählte Laufwerk (oder Gerät) von der SD-Karte unterscheidet, wird das andere ausgewählte Laufwerk beschädigt. ALSO SEIEN SIE VORSICHTIG!

- Sobald der Schreibvorgang abgeschlossen ist, werfen Sie die SD-Karte aus, stecken Sie sie in den Raspberry Pi und schalten Sie ihn ein. Es sollte mit dem Hochfahren beginnen. - Bitte denken Sie daran, dass Sie nach dem Booten des Pi nach den Benutzeranmeldeinformationen wie "username" und Passwort gefragt werden können. Raspberry Pi kommt mit dem Standard-Benutzernamen "pi" und dem Passwort "raspberry". Benutzen Sie diese Anmeldedaten, wenn Sie danach gefragt werden.

1.2 Netzwerk einrichten

Jetzt, da Sie Ihren Raspberry Pi betriebsbereit haben, ist es an der Zeit, ihn auf eine der folgenden Arten mit Ihrem Netzwerk zu verbinden:

Wenn Sie einen Monitor haben: Verbinden Sie ihn zusammen mit einer Tastatur und einer Maus mit Ihrem Raspberry Pi, um zu navigieren, und befolgen Sie diese Anleitung. - Wenn Sie keinen Monitor haben: Folgen Sie dieser Anleitung

2. SSH einrichten

Wenn Sie einen Monitor haben: Geben Sie auf dem Raspberry Pi Terminal Folgendes ein: "sudo raspi-config" und das Menü sollte auf Ihrem Terminal erscheinen. Um SSH zu aktivieren, gehen Sie zu: "Schnittstellenoptionen" -> "SSH" -> "Ja", und klicken Sie auf "OK", um es zu aktivieren. Wählen Sie abschließend "Finish" und beenden Sie.

Wenn Sie keinen Monitor haben: Wenn Sie nach dem Einrichten des Netzwerks keinen Monitor haben oder ihn fernbedienen. Aktivieren Sie dann SSH, indem Sie einfach Ihre SD-Karte herausnehmen, an Ihren Computer anschließen und einfach eine leere Datei namens "ssh" im Pfad "/boot/parition" auf der SD-Karte erstellen. Legen Sie nun die SD-Karte wieder in den Raspberry Pi ein.

3. Terminal öffnen

Von einem anderen Laptop/PC mit SSH: Um eine Verbindung zu Ihrem Pi von einem anderen Computer aus herzustellen, kopieren Sie den folgenden Befehl und fügen ihn in das Terminalfenster ein, ersetzen Sie jedoch "192.160.1.47" mit der IP-Adresse des Raspberry Pi.

ssh [email protected] 

Es wird nach einem Passwort gefragt, und wenn es nicht geändert wurde, ist es standardmäßig ("raspberry"). Verwenden Sie es, wenn danach gefragt wird.

Hinweis

Es ist möglich, Ihren Raspberry Pi so zu konfigurieren, dass er den Zugriff von einem anderen Computer erlaubt, ohne dass Sie bei jeder Verbindung ein Passwort eingeben müssen. Weitere Informationen finden Sie hier.

4. Skripte abrufen

Verbinden Sie sich mit SSH mit Ihrem Pi und laden Sie die ZIP-Datei herunter:

ssh [email protected]

wget https://www.interelectronix.com/sites/default/files/scripts/qt-cross-compile-rpi4.zip
unzip qt-cross-compile-rpi4.zip
cd qt-cross-compile-rpi4

Sie können die ZIP-Datei auch über den Browser von hier herunterladen.

Machen Sie das Skript "qt-cross-compile-script-pi4.sh" ausführbar und führen Sie es aus:

sudo chmod +x qt-cross-compile-script-pi4.sh
sudo ./qt-cross-compile-script-pi4.sh

Nach einer Weile sind alle benötigten Pakete installiert, die benötigten Verzeichnisse werden erstellt und die Symlinks korrekt gesetzt.

Wichtig

Stellen Sie sicher, dass sich Ihr Raspberry Pi und dieser Host-Rechner (auf dem Sie cross-kompilieren) im SELBEN Netzwerk BEFINDEN.

Schritte/Einstellungen für Host-Maschine (Linux Ubuntu)

Zum Testen haben wir eine virtuelle Maschine (VMware) mit einer sauberen Ubuntu 20.04 LTS-Version verwendet.

1. ZIP-Datei herunterladen

wget https://www.interelectronix.com/sites/default/files/scripts/qt-cross-compile-rpi4.zip
unzip qt-cross-compile-rpi4.zip
cd qt-cross-compile-rpi4

Sie können die ZIP-Datei auch über den Browser von hier herunterladen.

2. Machen Sie das Skript "qt-cross-compile-script-pi4.sh" ausführbar und führen Sie es aus.

chmod +x qt-cross-compile-script-host.sh

3. Variablen im Skript ändern

Sie müssen die IP-Adresse (raspberry_ip) Ihres Raspberry PI im Skript ändern und wenn Sie den Benutzer (raspberry_user) und das Passwort (raspberry_pwd) von dem Raspberry geändert haben.

nano qt-cross-compile-script-host.sh

4. Ausführen des Skripts

sudo ./qt-cross-compile-script-host.sh

Das Skript führt die folgenden Aktionen aus:

- alle benötigten Pakete installieren - benötigte Verzeichnisse erstellen (~/rpi-qt) - Qt-Quellen herunterladen und extrahieren
- Qt-Quellen patchen - Cross-Kompilierer herunterladen und extrahieren
- rsync-Dateien von Raspberry Pi
- Symlinker herunterladen und Symlinks einrichten
- Qt-Build konfigurieren
- Qt-Build erstellen und installieren
- rsync-Qt-Binärdateien auf Raspberry

Letzter Schritt für die Zielmaschine (Raspberry Pi)

Linker auf Raspberry Pi aktualisieren

Geben Sie den folgenden Befehl ein, um das Gerät zu aktualisieren, damit der Linker die neuen QT-Binärdateien finden kann:

echo /usr/local/qt5.15/lib | sudo tee /etc/ld.so.conf.d/qt5.15.conf
sudo ldconfig

Konfigurieren von Qt Creator für Cross-Kompilierungen

Im Blog Konfigurieren von Qt Creator auf Ubuntu 20 Lts für die Cross-Kompilierung erfahren Sie, wie Sie die kompilierten Binärdateien (Ordner ~/rpi-qt/qt5.15) in Qt Creator einbetten können.

Urheberrechtslizenz

Copyright © 2022 Interelectronix e.K.
Dieser Projekt-Quellcode ist unter der GPL-3.0 Lizenz lizenziert.

Danksagungen

- Dieses Dokument wurde inspiriert von Schritt-für-Schritt-Anleitung zum Cross-Kompilieren des neuesten Qt-Frameworks für Raspberry Pi. Vielen Dank an @abhiTronix. - Vielen Dank an QT-Framework, für die Bereitstellung der Quelldateien