Wymagania wstępne
Hardware
Host [PC/Laptop]: Dowolna maszyna x86/x86_64 AMD/Intel
Target [Raspberry Pi 4]: Raspberry Pi 4
Software
Host: Dowolny komputer z systemem Linux (Ubuntu 20.04 LTS Tested)
Target: Raspberry Pi 4 Linux 32-bitowy system operacyjny (testowano Raspbian Bullseye Lite)
Uwaga
W tle działają zestawy narzędzi (toolchains) kompilacji skrośnej dla Raspberry Pi z abhiTronix.
Inne
Wymagania dotyczące pamięci masowej i czasu: Katalog kompilacji zajmuje około ~10 GB miejsca i około 2-5 godzin (na podstawie zależności i specyfikacji hosta).
Sieć: Twój komputer docelowy (Raspberry Pi) i komputer-host (gdzie kompilacji skrośnej) zarówno MUSI mieć dostęp do Internetu i MUSI być w TEJ SAMEJ sieci, aby można było postępować zgodnie z tymi instrukcjami.
Kroki/Ustawienia dla maszyny docelowej (Raspberry Pi)
1. Zacznij od zera (opcjonalnie)
Ważne
Jeśli masz nowy Raspberry Pi lub chcesz zacząć od zera, po prostu postępuj zgodnie z tą instrukcją. W przeciwnym razie, jeśli masz już Raspberry Pi skonfigurowany i uruchomiony, oraz gotowy do podłączenia do sieci, po prostu przejdź do kroku 2.
Uwaga
Ta sekcja zakłada, że masz co najmniej 10 GB karty SD do instalacji systemu operacyjnego Raspbian (Stretch/Buster/Bullseye) i laptopa/komputer do jego przesłania.
1.1. Pobierz oprogramowanie i przygotuj kartę SD
- Pobierz najnowszą wersję Raspbian (Bullseye) stąd na laptopa/komputer.
- Do zapisu pobranego systemu operacyjnego na karcie SD (w naszym przypadku na karcie micro SD) potrzebny będzie program do tworzenia obrazów. Możesz użyć Balena Etcher.- Włóż kartę SD do laptopa/komputera i uruchom program do zapisywania obrazów. Po otwarciu przejrzyj i zaznacz pobrany plik obrazu Raspbian. Wybierz właściwe urządzenie, czyli napęd ukazujący kartę SD.
Uwaga
Jeśli wybrany dysk (lub urządzenie) nie jest kartą SD, zostanie on uszkodzony. DLATEGO ZALECA SIĘ OSTROŻNOŚĆ!
1.2 Skonfiguruj sieć
Teraz kiedy już masz działający Raspberry Pi, czas, aby połączyć go z siecią w jeden z następujących sposobów:
- Jeśli masz Monitor: Podłącz go do raspberry pi wraz z klawiaturą i myszą, aby nawigować i postępuj zgodnie z tym przewodnikiem.
- Jeśli nie masz monitora: Postępuj zgodnie z tym przewodnikiem
2. Skonfiguruj SSH
Jeśli masz Monitor: Na terminalu Raspberry Pi, wpisz: „sudo raspi-config”. Na terminalu powinno pojawić się menu. Aby włączyć SSH, przejdź do: „Opcje interfejsu” -> „SSH” -> „Tak” i kliknij „OK”, aby go włączyć. Na koniec wybierz „Zakończ” i wyjdź.
Jeśli nie masz monitora: Po skonfigurowaniu sieci, jeśli nie masz monitora lub używasz go zdalnie. Następnie włącz SSH, wyciągając kartę SD, podłącz ją do komputera i po prostu utwórz pusty plik o nazwie „ssh” w ścieżce „/boot/parition” wewnątrz karty SD. Teraz włóż z powrotem kartę SD do Raspberry Pi.
3. Otwórz terminal
- Z innego laptopa/komputera za pomocą SSH: Aby połączyć się z Pi z innego komputera, skopiuj i wklej następujące polecenie w oknie terminala, ale zastąp „192.160.1.47” adresem IP Raspberry Pi.
ssh pi@192.168.1.47
Poprosi Cię o hasło, i jeśli nie zostało zmienione, jest ono domyślne („raspberry”), więc użyj go za każdym razem, gdy Cię o to poprosi.
Uwaga
Możliwe jest skonfigurowanie Raspberry Pi, aby umożliwić dostęp z innego komputera bez konieczności podawania hasła przy każdym połączeniu. Więcej szczegółów znajdziesz tutaj.
4. Pobierz skrypty
Połącz się ze swoim Pi za pomocą ssh i pobierz plik zip:
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
Możesz również pobrać plik zip za pomocą przeglądarki tutaj.Wykonaj skrypt qt-cross-compile-script-pi4.sh i uruchom go:
sudo chmod +x qt-cross-compile-script-pi4.sh
sudo ./qt-cross-compile-script-pi4.sh
Po pewnym czasie zainstalowane zostaną wszystkie potrzebne pakiety, utworzone zostaną potrzebne katalogi, a dowiązania symboliczne zostaną poprawnie ustawione.
Ważne
Upewnij się, że Raspberry Pi i ten Host (gdzie przeprowadzana jest kompilacja skrośna) SĄ w TEJ SAMEJ sieci.
Kroki/ustawienia dla Hosta (Linux Ubuntu)
Do testów użyliśmy maszyny wirtualnej (vmware) z czystą wersją Ubuntu 20.04 LTS.
1. Pobierz plik ZIP
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
Możesz również pobrać plik zip za pomocą przeglądarki tutaj.
2. Wykonaj skrypt qt-cross-compile-script-pi4.sh i uruchom go
chmod +x qt-cross-compile-script-host.sh
3. Zmiana zmiennych w skrypcie
Musisz zmienić adres IP (raspberry_ip) swojego raspberry pi w skrypcie oraz nazwę użytkownika (raspberry_user) i hasło (raspberry_pwd) raspberry, jeśli były one zmieniane.
nano qt-cross-compile-script-host.sh
Wykonaj skrypt
sudo ./qt-cross-compile-script-host.sh
Skrypt wykonuje następujące czynności:
- instalacja wszystkich potrzebnych pakietów
- tworzenie potrzebnych katalogów („~/rpi-qt”)
- pobieranie i wyodrębnianie źródeł Qt
- patchowanie źródeł Qt
- pobranie i wyodrębnienie kompilatora skrośnego
- pliki rsync z raspberry pi
- pobieranie narzędzia do dowiązań symbolicznych i ustawianie dowiązań symbolicznych
- konfiguracja Qt build
- make oraz make install Qt build
- binaria rsync Qt do raspberry
Ostatni krok dla maszyny docelowej (Raspberry Pi)
Aktualizacja łącznika na Raspberry Pi
Wprowadź następujące polecenie, aby zaktualizować urządzenie, pozwalając łącznikowi znaleźć nowe pliki binarne QT:
echo /usr/local/qt5.15/lib | sudo tee /etc/ld.so.conf.d/qt5.15.conf
sudo ldconfig
Skonfiguruj Qt Creator do kompilacji skrośnej
Przeczytaj blog Configuring Qt-Creator on Ubuntu 20 Lts for cross-compilation for including the compiled binary (folder „~/rpi-qt/qt5.15”) in Qt Creator.
Licencja na prawa autorskie
Copyright © 2022 Interelectronix e.K.
Ten kod źródłowy projektu jest udostępniany na licencji **GPL-3.0 * *.
Podziękowania
- Ten dokument jest inspirowany instrukcją krok po kroku dla kompilacji skrośnej najnowszego frameworku Qt dla Raspberry Pi. Wielkie dzięki dla @abhiTronix.
- Podziękowania dla frameworku QT za dostarczenie plików źródłowych