9.5. カスタムカーネルの構築とインストール

編集した内容を保存したら、 カーネルのソースコードをコンパイルしてください。

注記:

最新のソースと ソースツリーを同期 したら、 何らかのアップデートを行う前に、必ず /usr/src/UPDATING をチェックしてください。 このファイルには、 アップデートされたソースコードに関する重要な問題や特別に注意すべき点がすべて書かれています。 /usr/src/UPDATING は常に FreeBSD のソースのバージョンと同期しているので、 ハンドブックの記述よりも新しい内容を含んでいます。

警告:

デバイスやオプションのサポートを外すことは簡単で、 その結果、カーネルを壊すことがあります。 たとえば、ata(4) ドライバをカーネルコンフィグレーションファイルから除くと、 ATA ディスクドライバを用いるシステムは起動しません。 確信が持てないものについては、 カーネルにサポートを残したままにしてください。

手順9.1 カーネルの構築

注記:

カーネルを構築するには、FreeBSD のすべてのソースファイルが必要です。

  1. cd を用いて /usr/src に移動してください。

    # cd /usr/src
  2. カスタムコンフィグレーションファイルの名前を指定して新しいカーネルをコンパイルします。

    # make buildkernel KERNCONF=MYKERNEL
  3. 新しいカーネルをインストールします。

    # make installkernel KERNCONF=MYKERNEL

ヒント:

デフォルトでは、カスタムカーネルを構築すると すべて のカーネルモジュールが再構築されます。 カーネルのアップデートをより早く行いたい、または、 カスタムモジュールのみを構築したいといった場合は、 カーネルの構築を開始する前に、以下のように /etc/make.conf を編集してください。

MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs

この変数は、 すべてのモジュールを構築するというデフォルトの設定にかわり、 構築するモジュール一覧を指定します。

WITHOUT_MODULES = linux acpi sound ntfs

この変数は、構築を行わないトップレベルのモジュールを指定します。 他の変数については、make.conf(5) を参照してください。

新しいカーネルは /boot/kernel/boot/kernel/kernel という名前でコピーされ、 今までのカーネルは /boot/kernel.old/kernel という名前へ変更されます。 では、新しいカーネルを使うために、システムをシャットダウンして再起動してください。 うまく行かない場合は、 問題が起きた場合には や、新しいカーネルが 起動しない 場合のリカバリの方法を参照してください。

注記:

ブートローダ (loader(8)) や設定などのブートプロセスに関係する他のファイルは、 /boot に置かれます。 サードパーティ製やカスタムモジュールを /boot/kernel に置くこともできますが、 コンパイルしたカーネルとモジュールを同期しておく必要があります。 コンパイルしたカーネルとモジュールが対応していないと、 システムが不安定になる可能性があります。

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

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

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