Önkoşullar
Donanım
Host [PC/Laptop]: Herhangi bir 86/x86_64 AMD/Intel cihazı
Hedef [Raspberry Pi 4]: Raspberry Pi 4
Yazılım
Host: Herhangi bir Linux cihazı (Ubuntu 20.04 LTS Test Edildi)
Hedef: Raspberry Pi 4 Linux 32 - bit OS (Raspbian Bullseye Lite Test Edildi)
Not
Arkaplanda, abhiTronix'ten Raspberry Pi için çapraz derleme toolchainler (birbirleriyle uyumlu çalışan bir dizi yazılım uygulaması) kullanılır.
Diğer
Depolama ve Zaman Gereksinimleri: Oluşturma dizininin tamamlanması yaklaşık ~10 GB alan kaplar ve aşağı yukarı 2-5 saat sürer (destek dosyalarına ve Ana Makine Özelliklerine bağlı olarak). Ağ Oluşturma: Hedef Makineniz (Raspberry Pi) ve Ana Makine (çapraz derleme yaptığınız yerlerde) İnternet Erişimine sahip OLMALI ve bu komutların izlenebilmesi için AYNI Ağda OLMALIDIR.
Hedef Makine için Adımlar/Ayarlar (Raspberry Pi)
1. Sıfırdan Başlama (İsteğe Bağlı)
Önemli
Yeni bir Raspberry Pi getirdiyseniz veya sıfırdan başlamak istediyseniz, sadece takip etmeniz yeterli olacaktır. Aksi takdirde, zaten Raspberry Pi kurulu ve çalışır durumda ve Ağ Hazır durumdaysanız, 2. adıma atlamanız yeterlidir.
Not
Bu bölümde, Raspbian (Stretch/Buster/Bullseye) işletim sistemini kurmak için en az 10 GB SD kartınız ve yüklemek için bir Dizüstü/PC'niz olduğu varsayılmaktadır.
1.1. Yazılımları İndirin ve SD kartı hazırlayın
- Raspbian'ın (Bullseye) en son sürümünü buradan dizüstü bilgisayarınıza/bilgisayarınıza indirin.- İndirilen işletim sistemini SD karta yazmak için bir imge yazıcıya ihtiyacınız olacak (bizim durumumuzda mikro SD kart). Balena Etcher'ı kullanabilirsiniz.- SD kartı dizüstü bilgisayara/bilgisayara takın ve imge yazıcıyı çalıştırın. Açıldıktan sonra, indirilen Raspbian imge dosyasına göz atın ve seçin. Doğru aygıtı, yani SD kartı temsil eden sürücüyü seçin.
Not
Seçilen sürücü (veya cihaz) SD karttan farklıysa, seçilen diğer sürücü bozulur. BU NEDENLE DİKKATLİ OLUN!
1.2 Ağ Kurulumu
Artık Raspberry Pi'niz hazır ve Çalışır duruma geldiğinden, şimdi sırada aşağıdaki yollardan biriyle ağınıza bağlama işlemi yer almaktadır:
- Monitörünüz varsa : Gezinmek için bir klavye ve fare ile birlikte raspberry pi'nize bağlayın ve bu kılavuzu izleyin.
- ** Monitörünüz yoksa:** Bu kılavuzu izleyin
2. SSH'yi kurun
** Monitörünüz varsa:** Raspberry Pi terminalinde şunu yazın: "sudo raspi - config" ve ardından terminalinizde menü açılmalıdır. SSH'yi etkinleştirmek için, "Arabirim Seçenekleri" -> "SSH" -> "Evet"e gidin ve etkinleştirmek için "Tamam"ı tıklayın. Son olarak "Finish (Bitir)" seçimini yapın ve çıkın.
** Monitörünüz yoksa:** Ağı kurduktan sonra, monitörünüz yoksa veya uzaktan çalıştırıyorsanız. Ardından, SD kartınızı çıkarıp bilgisayarınıza takarak SSH'yi etkinleştirin ve SD kartın içindeki "/ boot/parition" yolunda "ssh" adlı boş bir dosya oluşturun. Şimdi Raspberry Pi'ye SD kartını geri takın.
3. Terminal Açma
- Başka bir Dizüstü Bilgisayardan/PC'den SSH kullanarak: Pi'nize farklı bir bilgisayardan bağlanmak için aşağıdaki komutu kopyalayıp terminal penceresine yapıştırın, ancak "192.160.1.47" yerine Raspberry Pi'nin IP adresini girin.
ssh [email protected]
Şifre sorulacaktır ve değiştirilmemişse şifre varsayılan değerdir ("raspberry") ve bu nedenle, istendiğinde bunu kullanın.
Not
Raspberry Pi'nizi, her bağlandığınızda bir parola sağlamanıza gerek kalmadan başka bir bilgisayardan erişime izin verecek şekilde yapılandırmak mümkündür. Daha fazla ayrıntı için buraya bakın.
4. Komut dosyalarını alın
ssh ile Pi'nize bağlanın ve zip dosyasını indirin:
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
Zip dosyasını tarayıcı aracılığıyla buradan da indirebilirsiniz.
qt-cross-compile-script-pi4.sh komut dosyasını çalıştırılabilir hale getirin ve çalıştırın:
sudo chmod +x qt-cross-compile-script-pi4.sh
sudo ./qt-cross-compile-script-pi4.sh
Bir süre sonra gerekli tüm paketler yüklenir, gerekli dizinler oluşturulur ve sembolik kısayollar doğru şekilde ayarlanır.
Önemli
Raspberry Pi'nizin ve bu Ana Bilgisayar makinesinin (çapraz derleme yaptığınız) AYNI Ağda olması GEREKTİĞİNDEN emin olun.
Ana Makine için Adımlar/Ayarlar (Linux Ubuntu)
Test için, temiz bir Ubuntu 20.04 LTS sürümüne sahip sanal bir makine (vmware) kullandık.
1. ZIP dosyasını indir
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
Zip dosyasını tarayıcı aracılığıyla buradan da indirebilirsiniz.### 2. qt-cross-compile-script-pi4.sh komut dosyasını çalıştırılabilir hale getirin ve çalıştırın
chmod +x qt-cross-compile-script-host.sh
3. Komut dosyasındaki değişkenleri değiştirin
Komut dosyasındaki raspberry pi'nizin ip adresini (raspberry_ip) ve kullanıcı adını (raspberry_user) ve şifresini (raspberry_pwd) değiştirdiyseniz değiştirmeniz gerekir.
nano qt-cross-compile-script-host.sh
4. Komut dosyasını çalıştırın
sudo ./qt-cross-compile-script-host.sh
Komut dosyası aşağıdaki işlemleri gerçekleştirir:
- gerekli tüm paketleri yükle
- gerekli dizinleri oluştur (
~/rpi-qt
) - Qt kaynaklarını indir ve çıkar
- Qt kaynakları yama
- çapraz derleyiciyi indir ve çıkar
- raspberry pi'den dosyaları rsync
- symlinker indir ve sembolik kısayollar ayarla
- Qt yapısını yapılandır
- Qt yapısını oluştur ve kur
- raspberry için Qt ikili dosyaları rsync
Hedef Makine (Raspberry Pi) için Son Adım
Raspberry Pi'deki bağlantı düzenleyiciyi güncelleyin
Bağlantı düzenleyicinin yeni QT ikili dosyalarını bulmasına izin vererek cihazı güncellemek için aşağıdaki komutu girin:
echo /usr/local/qt5.15/lib | sudo tee /etc/ld.so.conf.d/qt5.15.conf
sudo ldconfig
Çapraz derleme için Qt Creator'ın yapılandırılması
Qt Creator'da derlenen ikilileri (klasör ~/rpi-qt/qt5.15
) dahil edilmesi konusunda çapraz derleme için Ubuntu 20 Lts'deki Qt-Creator'ın Yapılandırılması adlı blogu okuyun.
Telif Hakkı Lisansı
Telif Hakkı © 2022Interelectronix e.K.
Bu Proje kaynak kodu ** GPL-3.0**lisansı altında lisanslanmıştır.
Teşekkür
- Bu belge, Raspberry Pi için en son Qt çerçevesinin çapraz derleme işlemi için adım adım talimatlardan esinlenmiştir. @abhiTronix'e en derin teşekkürler.
- Kaynak dosyaları sağladığınız için QT framework'a teşekkür ederiz