Embedded Software - Qt křížová kompilace instalačních skriptů pro Raspberry Pi 4 screenshot počítačového programu

Nastavení křížové kompilace Qt

skripty pro Raspberry Pi 4

Prerequites

Hardware

Host [PC / notebook]: Jakýkoli počítač x86 / x86_64 AMD / Intel
Cíl [Raspberry Pi 4]: Malina Pi 4

Software

Hostitel: Libovolný počítač se systémem Linux (testováno Ubuntu 20.04 LTS)
Cíl: Raspberry Pi 4 Linux 32-bit OS (Raspbian Bullseye Lite testováno)

Poznámka

Na pozadí se používají křížové kompilační sady nástrojů pro Raspberry Pi z abhiTronix .

### Ostatní Požadavky na úložiště a čas: Adresář sestavení trvá přibližně ~ 10 GB místa a přibližně 2-5 hodin k dokončení (na základě závislostí a specifikací hostitelského počítače). Sítě: Váš cílový počítač (Raspberry Pi) a hostitelský počítač (kde provádíte křížovou kompilaci) oba MUSÍ mít přístup k internetu a MUSÍ být ve stejné síti, aby mohli postupovat podle těchto pokynů.

Kroky / nastavení pro cílový počítač (Raspberry Pi)

1. Začít od nuly (volitelné)

Důležitý

Pokud jste právě přinesli nový Raspberry Pi nebo chtěli začít od nuly, postupujte podle toho. V opačném případě, pokud již máte nastavení, spuštěné a připravené pro síť Raspberry Pi, přejděte ke kroku 2.

Poznámka

Tato část předpokládá, že máte alespoň 10GB SDcard pro instalaci operačního systému Raspbian (Stretch / Buster / Bullseye) a notebook / PC pro nahrávání.

#### 1.1. Stáhněte si software a připravte kartu SD - Stáhněte si nejnovější verzi Raspbian (Bullseye) odtud na svém notebooku / PC. - Budete potřebovat zapisovatele obrázků pro zápis staženého operačního systému na SD kartu (v našem případě micro SD kartu). Můžete použít Balena Etcher. - Vložte SD kartu do notebooku / PC a spusťte zapisovač obrázků. Po otevření procházejte a vyberte stažený soubor obrázku Raspbian. Vyberte správné zařízení, tedy jednotku představující kartu SD.

Poznámka

Pokud se vybraná jednotka (nebo zařízení) liší od karty SD, dojde k poškození druhé vybrané jednotky. TAKŽE BUĎTE OPATRNÍ!

- Jakmile je zápis dokončen, vysuňte SD kartu a vložte ji do Raspberry Pi a zapněte ji. Mělo by se začít spouštět. - Mějte prosím na paměti, že po zavedení Pi mohou nastat situace, kdy budou požadovány přihlašovací údaje uživatele, jako je "uživatelské jméno" a heslo. Raspberry Pi je dodáván s výchozím uživatelským jménem "pi" a heslem "raspberry", a proto jej použijte vždy, když je požádán.

1.2 Nastavení sítě

Nyní máte svůj Raspberry Pi v provozu, je čas připojit jej k síti jedním z následujících způsobů:

2. Nastavení SSH

  • ** Pokud máte Monitor: ** Na terminálu Raspberry Pi zadejte: 'sudo raspi-config' a na terminálu by se mělo objevit menu. Chcete-li povolit SSH, přejděte na: "Možnosti rozhraní" -> "SSH" -> "Ano" a kliknutím na "OK" jej povolte. Zvolte "Dokončit" a ukončete jej.

  • Pokud nemáte Monitor: Po nastavení sítě, pokud nemáte monitor nebo jej ovládáte vzdáleně. Poté povolte SSH tím, že vyjmete kartu SD a připojíte ji k počítači a jednoduše vytvoříte prázdný soubor s názvem "ssh" v cestě "/ boot / parition" uvnitř karty SD. Nyní vložte zpět kartu SD do Raspberry Pi.

3. Otevřít terminál

  • ** Z jiného notebooku / PC pomocí SSH: ** Chcete-li se připojit k vašemu Pi z jiného počítače, zkopírujte a vložte následující příkaz do okna terminálu, ale nahraďte "192.160.1.47" IP adresou Raspberry Pi.
    ssh pi@192.168.1.47 
    Požádá o heslo, a pokud se nezmění, je výchozí ("malina"), a proto jej použije, kdykoli je požádán.

Poznámka

Je možné nakonfigurovat Raspberry Pi tak, aby umožňoval přístup z jiného počítače, aniž byste museli zadávat heslo při každém připojení. Další podrobnosti naleznete zde.

### 4. Získání skriptů

Připojte se k vašemu Pi pomocí ssh a stáhněte si soubor 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

Soubor zip si můžete také stáhnout pomocí prohlížeče zde.

Nastavte skript qt-cross-compile-script-pi4.sh spustitelný a spusťte jej:

sudo chmod +x qt-cross-compile-script-pi4.sh
sudo ./qt-cross-compile-script-pi4.sh
Po chvíli jsou nainstalovány všechny potřebné balíčky, vytvořeny potřebné adresáře a správně nastaveny symbolické odkazy.

Důležitý

Ujistěte se, že váš Raspberry Pi a tento hostitelský počítač (kde křížově kompilujete) MUSÍ být ve stejné síti.

Kroky / nastavení pro hostitelský počítač (Linux Ubuntu)

Pro testování jsme použili virtuální stroj (vmware) s čistou verzí Ubuntu 20.04 LTS.

1. Stáhnout ZIP soubor

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

Soubor zip si můžete také stáhnout pomocí prohlížeče zde.

2. Nastavte skript qt-cross-compile-script-pi4.sh spustitelný a spusťte jej

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

3. Změna proměnných ve skriptu

Musíte změnit IP adresu (raspberry_ip) vašeho malinového pi ve skriptu a pokud jste změnili uživatele (raspberry_user) a heslo (raspberry_pwd) maliny.

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

4. Spuštění skriptu

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

Skript provede následující akce:

  • nainstalujte všechny potřebné balíčky
  • vytvořit potřebné adresáře ('~/rpi-qt')
  • stahování a extrahování Qt zdrojů
  • patch Qt zdroje
  • stáhnout a extrahovat křížový kompilátor
  • rsync soubory z Raspberry Pi
  • stáhnout symlinker a nastavit symlinks
  • konfigurovat sestavení Qt
  • make a make install Qt build
  • rsync Qt binární soubory na maliny

Konečný krok pro cílový stroj (Raspberry Pi)

Aktualizace linkeru na Raspberry Pi

Zadáním následujícího příkazu aktualizujte zařízení a nechte propojovací program najít nové binární soubory QT:

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

Konfigurace Qt Creator pro křížovou kompilaci

Přečtěte si blog Konfigurace Qt-Creator na Ubuntu 20 Lts pro křížovou kompilaci pro zahrnutí kompilovaných binárních souborů (složka '~/rpi-qt/qt5.15') do Qt Creatoru.  

Licence na autorská práva

Autorská práva © 2022 Interelectronix e.K.
Tento zdrojový kód projektu je licencován pod licencí GPL-3.0.

Uznání