カーネルモジュールを選別的にコンパイル2008年05月09日 12時26分13秒

時折、カーネルに変更を加えて実験をすることがある。カーネルとは言っても、そんなに根本的な部分ではなく、ファイルシステムや、GEOM といったカーネルモジュールになっている物ばかりだ。

今までは、一回変更する毎に、make buildkernel を行なっていた。そのままだと、全てのモジュールを再コンパイルし直す。そこで、NO_CLEAN=yes を make.conf に入れて、make clean は抑えておいた。しかし、それでも、カーネルモジュールに対し make のサブプロセスが大量に生成されるので、それなりに時間が掛かる。

ttt:(VMware)FreeBSD 6.1Rのカーネル再構築(2) 不要なモジュールをビルドしないようにするに、必要なカーネルモジュールのみをコンパイルする方法が紹介されていた。MODULES_OVERRIDE を用いて、カーネルモジュールを指定すれば良いそうだ。

man make.conf をしたら、他にも WITHOUT_MODULES といって、逆に指定したモジュールを除外するオプションもある。PORTS_MODULES にはカーネルを作り直す度に、コンパイルをやり直したい ports を並べておくらしい。kqemu.ko などの様な ports から入れるカーネルモジュールの為の様だ。

MODULES_OVERRIDE で、カーネルモジュールで実験するのが楽になりそうだ。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2008/05/09/3491088/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。