FreeBSD QandA 837
Q. ブート時にかかる時間が長いです。待ちきれません。
A. そんなせっかちなあなたは、カーネルコンフィギュレーションをいじるとよ
いでしょう。
A1. 不要なデバイスの記述をコメントアウトする。
認識されることのないデバイスを毎回調べにいく必要はありません。
最初からコメントアウトしておけば、その分 起動時間が短くなります。
ブート時に
xxx not found at ....
などと表示されるデバイスをコメントアウトしてください。dmesgの
出力を見ながら作業するといいでしょう。
A2. 不要な device を外すだけならカーネルを再構築せずとも UserConfig で
disable することができます。カーネルコンフィギュレーションに
options USERCONFIG
が含まれているなら (GENERIC カーネルには含まれています)、起動時に
出る boot: という prompt で
boot: -c
と入力した後、不要な device を disable します。
command line からは
config> disable <device_name>
とします。ls でデバイス一覧が、help で簡単な説明がでます。
カーネルコンフィギュレーションに
options VISUAL_USERCONFIG
が入っているなら (こちらも GENERIC カーネルに含まれています) 、
config> visual
と入力すればインストール時と同様の設定画面になります。
以後はこの設定が使われますので、起動するたびに設定する必要はありません。
A3. SCSI デバイス認識の待ち時間を短く設定する。
デフォルトでは
options SCSI_DELAY=15
とSCSIデバイス認識のために15秒待ちます。古いものなら15秒待たないと
ダメかもしれませんが、最近のSCSI機器はそんなに待たなくても認識されます。
options SCSI_DELAY=5
などとするといいでしょう。
参考: handbook
<URL:http://www.jp.FreeBSD.org/www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/kernelconfig-config.html>
3. 繋がっていないIDEのデバイスをコメントアウトする。
例えば、IDEのプライマリ・マスタしか使っていなかったら、
controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
disk wd0 at wdc0 drive 0
#disk wd1 at wdc0 drive 1
#controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
#disk wd2 at wdc1 drive 0
#disk wd3 at wdc1 drive 1
と、不要なデバイスをコメントアウトしてください。IDE を全く使って
いないなら、上記のデバイスを全てコメントアウトするといいでしょう。
参考: handbook
<URL:http://www.jp.FreeBSD.org/www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/kernelconfig-config.html#KERNELCONFIG-ATAPI>
なお、カーネルの再構築については、
handbook <URL:http://www.jp.FreeBSD.org/www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/kernelconfig-building.html>
を参考にしてください。
FreeBSD2.2.7+Celeron266 に、FDD、SCSIカード、CD-ROM(SCSI)、HDD(SCSI)、
MO(SCSI)、56k モデム、ネットワークカードを付けたマシンで (IDE 未使用)、
カーネルコンフィギュレーションを書き換えることで、どれだけ起動時間が変わ
るかを試しました (もちろん環境によって起動時間は違うでしょうから参考までに)。
計ったのは、boot: プロンプトが表示されてから、ログインプロンプトが表示
されるまでの時間です。
a) GENERIC (デフォルトのカーネル) 1分30秒
b) GENERIC から認識されない不要なデバイスを削ったもの 1分21秒
c) GENERIC の SCSI_DELAY を 5 にしたもの 1分23秒
d) GENERIC から IDE のデバイスを全て削ったもの 52秒
e) GENERIC に b)、c)、d)の全てを行ったもの 30秒
うまくいけば起動時間が3分の1に短縮されるというのは、結構うれしく
ありませんか? ;-)
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。