私はLinux From Scratchという本を読み続け、Linuxクロスコンパイルの理解のいくつかのスペースを埋めたかったのです。
ターゲットマシンに合わせてツールチェーンが構築されている場合、クロスコンパイルに必要な一般的な作業手順は次のとおりですか?
- ターゲットのファイルシステム階層の作成
- ターゲットマシンの標準ライブラリをコンパイルし、ターゲットのファイルシステムにインストールします。
- 以前にターゲット用にコンパイルされた標準ライブラリを使用して、ターゲットシステム用のカーネルをコンパイルします。
- ターゲットのファイルシステムからイメージを生成する
- ターゲットマシンで画像を実行する
ベストアンサー1
つまり、オペレーティングシステムを統合せずに「スタンドアロン」クロスコンパイラで起動できます。これはCフロントエンドでのみ機能します。
この方法でカーネルとCライブラリをコンパイルできます(カーネルヘッダファイルが必要です)。
Cライブラリを構築したら、オペレーティングシステム全体の統合と言語サポートを介してクロスコンパイラをコンパイルできます。
gccを使用すると、共有libgccを共有libcに関連付ける必要があり、共有libcを共有libgccに関連付ける必要があるため、通常より多くの作業が必要です。フルアップグレードはlibcからすべてのコンパイラの依存関係を削除するため、再利用が可能です。