web-dev-qa-db-ja.com

小さな変更でも、毎回カーネルをコンパイルする必要がありますか?

私のプロジェクトでは、カーネル(2.6.32)をblock/ioctl.c。カーネルのコンパイルとビルドには数時間かかることは誰でも知っています。小さな変更でも、ゼロからコンパイルしています。変更されたファイルのみをコンパイルしてビルドする方法はありますか?

7
gangadhars

いいえ、カーネルのコンパイルには「数時間」かかりません。 Linus Torvaldsは、昔は 12分 かかったと言いましたが、最近はずっと少なくなっています。もちろん、ハードウェアに必要なドライバーだけでカーネルをコンパイルするか、人々が必要とする可能性のあるすべてのドライバーでディストリビューションカーネルをコンパイルするかによって異なりますが、少し古いマシンのディストリビューションカーネルの場合でも、フルビルドを実行するには1時間。

さらに、カーネルの1つのファイルを変更する場合、完全なビルドを行う必要はありません。 make(およびmake modules再コンパイルする必要のあるモジュールがある場合)、変更されたファイル(およびヘッダーファイルの場合はそれに依存するファイル)のみが再コンパイルされます。