9.6. 問題が起きた場合には

カスタムカーネルを作る際に起こりうるトラブルは、 次の 4 種類に分けられます。

config コマンドの失敗

config で失敗した時には、 トラブルの起きた行番号が出力されます。 たとえば、次のように出力された場合には、 17 行目が正しく入力されているかどうか、 GENERICNOTES と比較して修正してください。

config: line 17: syntax error
make コマンドの失敗

make が失敗した場合には、 通常、カーネルコンフィグレーションファイルにおいて、 config がとらえられなかったような間違いをしています。 コンフィグレーションファイルを見直してください。 それでも問題を解決することができなければ、 FreeBSD general questions メーリングリスト へカーネルコンフィグレーションファイルを添付して送ってください。

カーネルが起動しない

新しいカーネルが起動しなかったり、 デバイスの認識をしない場合でもあわてないでください! さいわい、FreeBSD には利用できないカーネルから復帰する洗練されたメカニズムがあります。 FreeBSD のブートローダで起動したいカーネルを選択してください。 システムの起動メニューが表示されている時に、 Escape to a loader prompt オプションを選択するとアクセスできます。 プロンプトで boot kernel.old か他の正常に起動するカーネルを入力してください。

問題のないカーネルで起動した後、 コンフィグレー ションファイルを調べ、 再び構築を試みてください。 /var/log/messages にはすべての成功した起動時のカーネルメッセージの記録があり、 これは問題を解決するための助けになる情報の一つでしょう。また、 dmesg(8) は現在の起動時のカーネルメッセージを出力します。

注記:

カーネルの構築中にトラブルが起きた時には、 次回の構築で消されないように、 GENERIC のコピーや他の正常に起動するカーネルを別の名前で保存するようにしてください。 kernel.old は新しいカーネルをインストールする時に、 その一つ前にインストールした、 うまく動かないかもしれないカーネルで上書きされてしまうため、 起動するカーネルを保存しておくことは重要です。 できる限り早く以下のようにして、 正しく起動するカーネルを含むディレクトリ名に変更してください。

# mv /boot/kernel /boot/kernel.bad
# mv /boot/kernel.good /boot/kernel
カーネルは動きますが ps(1) は動きません!

システムユーティリティの構築されたバージョンと異るバージョンのカーネルをインストールした場合、 たとえば -CURRENT のソースから構築したカーネルを -RELEASE システム上にインストールするような場合には、 ps(1)vmstat(8) のような多くのシステムステータスコマンドは動かなくなります。 修正するには、カーネルと同じバージョンのソースツリーで world を再構築し、インストール してください。 カーネルとそれ以外で異なるバージョンを組み合わせてオペレーティングシステムを使用することは推奨されていません。

本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。

FreeBSD に関する質問がある場合には、 ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で) 連絡してください。

本文書に関する質問については、 <doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。