自分のシステムに最適なカーネルを構築するLinux Hacks(2/3 ページ)

» 2007年08月21日 06時00分 公開
[Federico-Kereki,Open Tech Press]
SourceForge.JP Magazine

とにかく「M」

 それでは、予行演習でなく、いよいよ本番だ。再びsuを実行してルートになり、以下を入力する。

cd /usr/src/linux make clean make menuconfig


 以上を実行すると、何百個ものオプション(何百通りもの失敗する方法と表現することもできる)のあるメニューが画面に表示されるが、変更するのは数個のみだろう。もちろん冒険心があるなら、万一の場合に備えて予備のカーネルを準備しておきさえすれば、どれでも好きに変更できる。オプションをオフにしたい場合には、チェックを外せば、コンパイルされなくなる。提供されているオプションを見たりメニュー内を移動したりするには、矢印キーを使用する。また「H」を入力すればいつでもヘルプを表示させることができる。

 Linuxカーネルはモノリシック、すなわち大雑把に言い換えると、すべてが投げ込まれた単一の大きなソフトウェアだ。しかしLinuxカーネルは、必要な場合にのみ起動後に読み込むことのできる「モジュール」を使用して拡張することができる。したがってモジュールとしてコンパイル可能である機能をすべてモジュールとしてコンパイルした場合には、カーネルは最も小さくなる。またその場合の性能は、モジュールが読み込まれる際に一度だけ小さなマイナス影響を受けるだけだ。しかしだからといってすべてをモジュールにするのも得策ではない。というのも幾つかの機能は、ブート時に必要になるためだ。例えば、必要なコードがすでにカーネル内になければ、モジュールがあるパーティーションからモジュールを読み込むことはできない。従って、モジュールにすることが合理的である場合には必ずモジュールにするという方針で設定すればよいだろう。

 モジュールにした方がよいという理由はもう一点ある。それは、使わないだろうと予想されるハードウェア用のサポートのチェックをすべて外した場合に、予想外の問題が起こってしまうことがあるためだ。例えばわたし自身、LVM AND RAID DEVICE(LVMとRAID)内のオプションのチェックを外した後、このことが原因となって必要なモジュールが構築されず、さらにそのことが原因でそのほかの数多くの問題が起こったという経験をしたことがある。最も安全なやり方は、不要なオプションは「M」(モジュールとしてコンパイルする)とマークして、必要ではないということが絶対に確実である場合以外には、チェックを外さないようにするという方法だ。例えば、持っていないカードや使わないファイルシステムは通常はチェックを外しても安全だろう。とはいえ、何らかのオプションのチェックを外した結果として、二次的で目につかず文書化もされていないような影響がないという保証はなく、それが原因となって何か問題が起こる可能性はある。その場合には、バックアップしておいたカーネルを使って再起動し、問題のオプションを単に再びチェックすればよい。

 以下に、メモリを幾らか節約するために検討することのできるオプションを挙げる。

  • 「Networking(ネットワーク)」内では、PCをアマチュア無線につないでいないのであれば、Amateur Radio Support(アマチュア無線のサポート)のチェックを外す。そのほかのオプションは通常「M」とマークされているので、そのままにしておこう。
  • 「File Systems(ファイルシステム)」内では、すべてが「M」とマークされていることを確認しよう。例えばJFSなどについて絶対に必要にならないということが分かっている場合には、関連するオプションのチェックを外すこともできるが、モジュールとして残しておく方がさらに好ましい。
  • 同じく「File Systems(ファイルシステム)」内で、Partition Types(パーティーションのタイプ)のメニューを選んで先に進み、自分に関係のないものはすべてチェックを外す。なおわたしの場合、自分のマシンに Windowsのディスクがあったため、Windows関連のパーティーションのチェックは外さなかった。
  • 「Device Drivers(デバイスドライバ)」内では、各セクションを調べて、手持ちでないデバイスについてチェックを外すか「M」とマークする。SCSIやISDNは、チェックを外すことのできる可能性が高いオプションだ。
  • 「Bus Options(バスに関する設定)」内では、手持ちのマザーボードがEISAやMCAを使用していない場合には、それらのサポートをオフにする。よく分からない場合にはベンダーが提供している仕様を確認するとよいだろう。

関連キーワード

Linux Hacks | カーネル | Linux


Copyright © 2010 OSDN Corporation, All Rights Reserved.