前提条件
###ハードウェア
ホスト[PC/ラップトップ]:任意のx 86/x 86_64 AMD/Intelマシン
ターゲット[Raspberry Pi 4 ]: Raspberry Pi 4
###ソフトウェア
ホスト:任意のLinuxマシン(Ubuntu 20.04 LTSテスト済み)
対象: Raspberry Pi 4 Linux 32ビットOS ( Raspbian Bullseye Liteテスト済み)
注記事項
バックグラウンドで、Raspberry PiのクロスコンパイルツールチェーンabhiTronix使用されます。
###その他 のストレージと時間の要件:ビルドディレクトリには約10 GBのスペースと約2〜5時間かかります(依存関係とホストマシンの仕様に基づいています)。ネットワーキング:ターゲットマシン( Raspberry Pi )とホストマシン(クロスコンパイル)は、両方ともインターネットアクセスを持っている必要があり、これらの指示に従うには同じネットワーク上にいる必要があります。
ターゲットマシン( Raspberry Pi )の手順/設定
1.ゼロから開始(オプション)
重要
新しいRaspberry Piを持ってきたばかりか、ゼロから始めたい場合は、フォローしてください。それ以外の場合は、すでにRaspberry Piのセットアップ、実行、およびネットワーク準備が完了している場合は、ステップ2に進みます。
注記事項
このセクションでは、Raspbian (Stretch/Buster/Bullseye) OSをインストールするための少なくとも10 GBのSDカードと、それをアップロードするためのラップトップ/PCを想定しています。
1.1ソフトウェアをダウンロードしてSDカードを準備する
- Raspbian (Bullseye)の最新バージョンを ここからノート パソコン/PCにダウンロードします。-ダウンロードしたOSをSDカード(マイクロSDカード)に書き込むには、イメージライターが必要です。バレナ・エッチャーを使うこと ができる 。- SDカードをノートパソコン/PCに挿入し、イメージライターを実行します。開いたら、ダウンロードしたRaspbian画像ファイルを参照して選択します。正しいデバイス、つまりSDカードを表すドライブを選択します。
注記事項
選択したドライブ(またはデバイス)がSDカードと異なる場合、選択した他のドライブが破損します。注意しましょう。
-書き込みが完了したら、SDカードを取り出してRaspberry Piに挿入し、オンにします。起動を開始するはずです。- Piを起動した後、「ユーザー名」やパスワードなどのユーザー認証情報が尋ねられる場合があることを忘れないでください。Raspberry Piには、デフォルトのユーザー名`pi`とパスワード`raspberry`が付属しているため、質問されたときにいつでも使用できます。#### 1.2ネットワークの設定Raspberry Piをアップして実行すると、次のいずれかの方法でネットワークに接続できます。- **モニターがある場合:**キーボードとマウスと一緒にRaspberry piに接続してナビゲートし、このガイドに 従ってください 。- **モニターがない場合:**このガイドに 従っ
てください
2.SSHを設定
モニターがある場合: Raspberry Piターミナルで、「sudo raspi - config」と入力し、ターミナルにメニューが表示されます。SSHを有効にするには、[インターフェースオプション] -> [SSH] -> [はい]に移動し、[OK]をクリックして有効にします。[完了]を選択して、最後に終了します。- **モニターがない場合:**ネットワークを設定した後、モニターがない場合、またはモニターをリモート操作している場合。次に、SDカードを取り出してコンピュータに接続するだけでSSHを有効にし、SDカード内の/boot/paritionパスに
ssh
という空のファイルを作成します。次に、Raspberry PiにSDカードを挿入します。3.ターミナルを開く** SSHを使用して別のラップトップ/PCから:**別のコンピュータからPiに接続するには、次のコマンドをコピーしてターミナルウィンドウに貼り付けますが、
192.160.1.47
をRaspberry PiのIPアドレスに置き換えます。ssh pi@192.168.1.47
パスワードが要求され、変更されていない場合はデフォルト(raspberry
)なので、要求されたときはいつでも使用してください。
注記事項
接続するたびにパスワードを入力する必要なく、別のコンピュータからアクセスできるようにRaspberry Piを設定することができます。詳細については、こちらを ご覧ください 。
【請求項4】スクリプトを取得
SSHでPiに接続し、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
ここからブラウザからZIPファイルをダウンロードすることもでき ます。スクリプトqt-cross-compile-script-pi4.shを実行可能にして実行します。sudo chmod +x qt-cross-compile-script-pi4.sh
sudo ./qt-cross-compile-script-pi4.sh
必要なパッケージがすべてインストールされると、必要なディレクトリが作成され、シンボリックリンクが正しく設定されます。
重要
Raspberry Piとこのホストマシン(クロスコンパイルする場所)が同じネットワーク上にあることを確認してください。
ホストマシン(Linux Ubuntu)の手順/設定
テストには、クリーンなUbuntu 20.04 LTSバージョンの仮想マシン( vmware )を使用しました。1.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
ここからブラウザからZIPファイルをダウンロードすることもでき ます。2.スクリプトqt-cross-compile-script-pi4.shを実行可能にして実行するchmod +x qt-cross-compile-script-host.sh
3.スクリプトの変数を変更
するスクリプトでRaspberry piのIPアドレス(raspberry_ip)を変更し、Raspberryのユーザー(raspberry_user)とパスワード(raspberry_pwd)を変更する必要があります。
nano qt-cross-compile-script-host.sh
4. スクリプトの実行
sudo ./qt-cross-compile-script-host.sh
スクリプトは次のアクションを実行します。-必要なパッケージをすべてインストールする -必要なディレクトリを作成する('~/rpi-qt')
- Qtソースのダウンロードと抽出 -パッチQtソース -クロスコンパイラのダウンロードと抽出
- Raspberry piからのrsyncファイル -シンボリックリンカーをダウンロードしてシンボリックリンクを設定する
- Qtビルドを設定
- Qtビルドを作成してインストールし ます- rsync QtバイナリをRaspberryに
##ターゲットマシンの最終ステップ( Raspberry Pi )
Raspberry Piでリンカを更新
する次のコマンドを入力して、リンカーに新しいQTバイナリファイルを見つけさせるデバイスを更新します。
echo /usr/local/qt5.15/lib | sudo tee /etc/ld.so.conf.d/qt5.15.conf
sudo ldconfig
クロスコンパイルのためのQt Creatorの設定
ブログを読むクロスコンパイル用にUbuntu20LtsでQt-Creatorを構成するコンパイルされたバイナリ(フォルダ ~/rpi-qt/qt5.15
)をQt Creatorに含めるため。
著作権ライセンス
** Copyright © 2022 Interelectronix e.K.** このプロジェクトのソースコードは、** GPL-3.0 **ライセンスの下でライセンスされています。
謝辞
-このドキュメントは、Raspberry Piの最新のQtフレームワークをクロスコンパイルするための ステップバイステップの指示に触発されてい ます。@abhiTronixのおかげです。- QTフレームワークがソースファイルを 提供してくれたことに感謝します