カーネルの再構築

FreeBSDではカーネルを再構築するのが当たり前!
カーネルを再構築することによって、起動時間が速くなったりメモリの消費量を減らすことが出来ます。
以下の手順はスーパユーザになってやる必要があります。


手順

まずはプロンプトから"cd /usr/src/sys/pc98/conf"と打ってディレクトリ移動。
そこで"cp GENERIC98 MYKERNEL"のように、GENERIC98を自分用のファイルにコピーします。
(MYKERNELは自分の好きなファイル名)

そうして作った新しいカーネルコンフィギュレーションファイル(ここではMYKERNEL)を書き換えていきます。
エディタは使いやすいもので良いのですが、初心者の方はeeが使いやすいと思います。
"ee MYKERNEL"と入力し、編集していきましょう。

まず、ident を GENERIC から編集しているファイル名に書き換えます。
次に不必要なオプションやデバイスを削除していきます。
僕の環境で主に追加、コメントアウトした項目を以下に示します。

# /usr/src/sys/pc98/MYKERNEL の一部
 ident     MYKERNEL

# EPSON互換機でないからコメントアウト
#options    EPSON_BOUNCEDMA

# フレッツADSLでインターネットをするため
 options    NETGRAPH
 options    NETGRAPH_ETHER
 options    NETGRAPH_PPPOE
 options    NETGRAPH_SOCKET
# トンネルデバイス(pseudo-device  tun)がなかったらこれも追加
 
# ファイヤーウォールを使う時は以下のオプション
 options    IPFIREWALL
 options    IPFIREWALL_VERBOSE

# 存在しないFDD
#device    fd1
#device    fd2
#device    fd3

# SCSI関連をコメントアウト
#device    ahc
# .....

# PCCARD
#device		card
#device		pcic0	at isa? irq 0 port 0x3e0

# PCI Ethernet の辺りをほとんどコメントアウト
# device    ed0
# .....

# サウンド関連
 device    snd
 device    nss0
 device    pcm
 pseudo-device    speaker

このような感じで自分のマシン用に書き換えたら、ファイルのチェックをします。
プロンプトで"/usr/sbin/config MYKERNEL"と打って、ファイルの文法チェック。
エラーがなければ"cd ../../compile/MYKERNEL"でディレクトリ移動。
"make depend"と入力して、依存関係をチェック。
エラーがなければ"make"と入力しコンパイル。
コンパイルには数分から数十分かかります。
コンパイルが終了したら、"make install"で新しいカーネルをインストールします。
ここまで済んだらパソコンを再起動しましょう。
"sync"
"sync" (念のためもう1回するらしい)
"shutdown -r now" で再起動します。


再起動後

もし、カーネルにミスがあってFreeBSDが起動しなくなったら、起動途中のカウントダウンしている時にリターンキー以外を押します。
そうしたら、
"unload"
"boot kernel.old"
と入力すれば、1つ前のカーネルで起動することが出来ます。

このサイトに書いてあることを順にやってきた場合、起動途中のメッセージ(起動後はdmesgコマンドで見れる)に

  config> di psm0
  No such device: psm0
  Invalid command or syntax.  Type `?' for help.

のようなメッセージが出ると思います。
その場合は、/boot/loader.conf に userconfig_script_load="NO" と書いておきましょう。
参考:FreeBSD QandA 1501



戻る
PC-9821トップへ
THLAND ホームへ