カスタムカーネルを作る際に起こりうるトラブルは、 次の 4 種類に分けられます。
config
コマンドの失敗config
で失敗した時には、
トラブルの起きた行番号が出力されます。
たとえば、次のように出力された場合には、
17 行目が正しく入力されているかどうか、
GENERIC
や NOTES
と比較して修正してください。
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
システムユーティリティの構築されたバージョンと異るバージョンのカーネルをインストールした場合、 たとえば -CURRENT のソースから構築したカーネルを -RELEASE システム上にインストールするような場合には、 ps(1) や vmstat(8) のような多くのシステムステータスコマンドは動かなくなります。 修正するには、カーネルと同じバージョンのソースツリーで world を再構築し、インストール してください。 カーネルとそれ以外で異なるバージョンを組み合わせてオペレーティングシステムを使用することは推奨されていません。
本文書、および他の文書は https://download.freebsd.org/ftp/doc/ からダウンロードできます。
FreeBSD に関する質問がある場合には、
ドキュメント を読んだ上で
<questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、
<doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。