initramfs を使用してツリー モジュールとカーネルをビルドするときに、循環依存関係を回避するにはどうすればよいですか?

initramfs を使用してツリー モジュールとカーネルをビルドするときに、循環依存関係を回避するにはどうすればよいですか?

私はカーネルをクロスコンパイルしており、デバイスベンダーから提供されたツリー外のカーネルモジュールを持っています。最初にカーネルがビルドされ、その後モジュールがビルドされ、正常に動作しました。

今、カーネルで initramfs を有効にしようとしています。カーネル モジュールは initramfs イメージに含まれている必要があります。これにより、循環依存関係が発生します。

  • カーネルはinitramfsイメージファイル(で設定CONFIG_INITRAMFS_SOURCE)に依存します。
  • initramfsイメージファイルはツリー外のカーネルモジュールに依存します
  • ツリー外カーネルモジュールは、構築されるカーネルに依存する

私が持っている最善の回避策は次のとおりです。

  1. initramfs ルートファイルシステムイメージ用の空のファイルを作成する
  2. カーネルを構築する
  3. モジュールを構築する
  4. 実際のinitramfsイメージを構築する
  5. カーネルを再構築する

しかし、これによりmake依存関係の追跡が中断され、通常の開発サイクル中に多くの不要な再構築が発生します。カーネル全体を実際にビルドせずに、ツリー外のモジュールに必要なツールをビルドするカーネル ビルド ターゲットはありますか?

関連情報