Linuxクロスコンパイル時のコンパイル順序

Linuxクロスコンパイル時のコンパイル順序

私はLinux From Scratchという本を読み続け、Linuxクロスコンパイルの理解のいくつかのスペースを埋めたかったのです。

ターゲットマシンに合わせてツールチェーンが構築されている場合、クロスコンパイルに必要な一般的な作業手順は次のとおりですか?

  • ターゲットのファイルシステム階層の作成
  • ターゲットマシンの標準ライブラリをコンパイルし、ターゲットのファイルシステムにインストールします。
  • 以前にターゲット用にコンパイルされた標準ライブラリを使用して、ターゲットシステム用のカーネルをコンパイルします。
  • ターゲットのファイルシステムからイメージを生成する
  • ターゲットマシンで画像を実行する

ベストアンサー1

つまり、オペレーティングシステムを統合せずに「スタンドアロン」クロスコンパイラで起動できます。これはCフロントエンドでのみ機能します。

この方法でカーネルとCライブラリをコンパイルできます(カーネルヘッダファイルが必要です)。

Cライブラリを構築したら、オペレーティングシステム全体の統合と言語サポートを介してクロスコンパイラをコンパイルできます。

gccを使用すると、共有libgccを共有libcに関連付ける必要があり、共有libcを共有libgccに関連付ける必要があるため、通常より多くの作業が必要です。フルアップグレードはlibcからすべてのコンパイラの依存関係を削除するため、再利用が可能です。

おすすめ記事