まずはプロンプトから"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