initramfsを使用してツリーモジュールとカーネルでビルドするときに循環依存関係を回避する方法は?

initramfsを使用してツリーモジュールとカーネルでビルドするときに循環依存関係を回避する方法は?

カーネルをクロスコンパイルしており、デバイスベンダーから提供されたツリー外部カーネルモジュールがあります。カーネルが最初にビルドされた後、モジュールは正しく実行されました。

カーネルでinitramfsを有効にしようとしています。カーネルモジュールはinitramfsイメージに含める必要があります。これは循環依存性を引き起こす。

  • カーネルはinitramfsイメージファイル(に設定されているCONFIG_INITRAMFS_SOURCE)によって異なります。
  • initramfs イメージファイルはツリーの外部カーネルモジュールによって異なります。
  • ツリーの外部カーネルモジュールは、構築しているカーネルによって異なります。

私の最善の解決策は次のとおりです。

  1. initramfs rootfs イメージの空のファイルを作成します。
  2. カーネルビルド
  3. ビルディングブロック
  4. 実際の initramfs イメージのビルド
  5. カーネルの再構築

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

関連情報