カーネルとルート ファイルシステムを構築するためのツールとして buildroot を使用する組み込みシステムに取り組んでいます。このカーネル ソース ツリーにいくつかのパッチを適用したいのですが、buildroot がパッチを適用する方法を教えてもらえますか?
4 に答える
@pradeepchhentriの答えを拡張するには。Quilt は、*.mk ファイルと同じフォルダにあるファイルを探します。適切なファイルを作成するには:
ソースパッケージを元のパッケージから というファイルに差分します
パッケージ名-番号-説明.patch
どこ
packagename - パッケージ名と同一である必要があります
number - 適用するパッチが複数ある場合にパッチを適用する順序です (そうでない場合は、アルファベット順に適用されます)。
説明- 任意のフリー テキストを使用できます
このファイルを [packagename].mk ファイルおよび package/Config.in ファイルと同じレベルのパッケージに配置します。
これを行う場合は、ビルド ファイルを吹き飛ばすか、[package]-rebuild を実行することを忘れないでください。これが正しく行われると、「Patching...」というメッセージが表示されます。
buildroot のアーキテクチャを調べた結果、buildroot がパッチを適用するために quilt ツールを使用していることを知りました。quilt は、"patches" ディレクトリに存在する "series" という名前のファイル内のすべてのパッチを追跡します。このディレクトリにパッチを保存する必要があります。そして、最初に適用されるパッチを一番上にして、パッチを適用する順序で一連のファイルにパッチのエントリを追加します。
この方法で buildroot makefile を実行すると、一連のファイルにリストされているパッチが自動的に適用されます。