カーネルをコンパイルせずにLinuxカーネルモジュールをコンパイルする方法は?

カーネルをコンパイルせずにLinuxカーネルモジュールをコンパイルする方法は?

ビルド時にカーネルにinitramfsを含めたいのですが、rootfsイメージを作成するには、ビルドしたいカーネルの複数のモジュールにアクセスする必要があります。

この明らかな鶏と卵の問題を解決する正しい方法は何ですか?まず、モジュールをビルドしてからinitramfsをビルドし、最後にカーネルをビルドしますか?

この特定のワークフローに関する多くの文書が見つからないようです。私が考慮している1つのオプション(これは既知のハードウェア構成を含む組み込みデバイスなので)起動時にコードを必要とするすべてのモジュールを削除することです。

修正する

もっと良い質問があると思います。以下は、いくつかの追加情報です。

これは、ブートパーティション内のいくつかのテキストファイルを介して設定できる独自のプライベートソースブートローダを持つRaspberry Piで実行されます。

この質問の主な原動力は、短期更新を簡素化し(アドレスオフセット計算ロジックをサポートしないブートローダ構成を操作することなく、単一のパッケージにカーネル/initramfsを提供できる)、将来の移行を容易にすることです。セキュアブートチェーン(挿入されたubootローダーを介して最も便利です;より多くのファイル、より多くの署名、より多くの痛み)とOSビルドプロセスを単純にするために(現在は別のブートローダーを使用していません)

見るほど、ubootをビルドパイプラインに統合し、振り返らずに一日を過ごしたいという気持ちが大きくなります。 Linux全体の起動プロセスは複雑すぎるようです。特にハードウェア仕様が固定されているシステムの場合はさらにそうです。一般化しないことで、これを単純化する方法を見つけようとしています。

ベストアンサー1

おすすめ記事