FreeBSD QandA 1501
Q. FreeBSD 3.x でカーネルを再構築した後、新カーネルで起動すると起動中に無
効にしたはずのデバイスに関する以下のようなメッセージが表示されます。な
にが原因なのでしょうか。
config> di psm0
No such device: psm0
Invalid command or syntax. Type `?' for help.
config> di ppc0
config> di zp0
No such device: zp0
Invalid command or syntax. Type `?' for help.
config> di ze0
No such device: ze0
Invalid command or syntax. Type `?' for help.
(上記の例では /sys/i386/conf 以下のカーネル設定ファイルで無効にしたデ
バイスは psm0、zp0、ze0 です)
A. 最初のインストールのとき、以下の Kernel Configuration Menu が出てきた
と思いますが、
Skip kernel configuration and continue wiht installation
Menu Start kernel configuration in Visual mode
Startkernel configuration in CLI mode
のうち、
Menu Start kernel configuration in Visual mode
あるいは Start kernel configuration in CLI mode
を選んでインストールしませんでしたか?
3.x ブランチでは、インストール時にこれらのモードを使ってデバイスを非活
性にするとその情報を /boot/kernel.conf に書き込みます。そして、インス
トール直後の GENERIC カーネルはそのファイルの情報を元にデバイスを非活
性にします。([管理番号 1255] 参照)。
新しいカーネルを作成した場合、たとえば psm0 を削除したカーネルでそのま
ま起動をかけると /boot/kernel.conf を読み込んで psm0 を非活性にしよう
としますが、カーネル自体に psm0 のドライバが含まれていないため
config> di psm0
No such device: psm0
Invalid command or syntax. Type `?' for help.
となるわけです。
FreeBSD 3.x において、自分で作った新しいカーネルを使う場合は、カーネル
構築後、/boot/kernel.conf の内容を消去する
(方法は色々ありますが、例えば
cp /boot/kernel.conf /boot/kernel.conf.old
cp /dev/null /boot/kernel.conf
) か、/boot/loader.confの userconfig_script_load="YES" を "NO" あるい
はコメントアウトするなりして /boot/kernel.conf を起動時に読み込まない
ようにして下さい。
また、逆にカーネルに組み込んであるデバイスを臨時に非活性にしたいような
場合は /boot/kernel.conf を編集すればOKです。たとえば、セカンダリの
IDEコントローラを (wd1) を非活性にしたい場合は次のようにします。
di wdc1
q
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。