
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ŚĆ!
- Po zakończeniu zapisu, wyjmij kartę SD, włóż ją do Raspberry Pi i włącz. Urządzenie powinno się uruchomić.
- Pamiętaj, że po uruchomieniu Pi możesz zostać poproszony o dane logowania użytkownika takie jak „nazwa użytkownika” i hasło. Raspberry Pi ma domyślną nazwę użytkownika „pi” oraz hasło „raspberry” i to właśnie je należy podać, kiedy Cię o nie poproszą.
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 [email protected]
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 [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
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