Voraussetzungen
Hardware
- Host
[PC/Laptop]: Jeder x86/x86_64 AMD/Intel-Maschine
Ziel [Raspberry Pi 4]: Raspberry Pi 4
Software
- Host: Jeder Linux-Rechner (Ubuntu 20.04 LTS getestet)
Ziel: Raspberry Pi 4 Linux 32-bit OS (Raspbian Bullseye Lite getestet)
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!
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 pi@192.168.1.47
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 pi@192.168.1.47
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