カーネルの再構築

FreeBSDでPostgreSQLを利用する場合は、System V インターフェース定義スタイルの共有メモリ、セマフォ、メッセージキューからなるプロセス間通信をサポートする必要があります。そのためには、そのサポート機能を組み込んでカーネルの再構築をしてやる必要があります。



以下は、初めてカーネルの再構築をする人向けの説明です。今までにカーネル再構築を行ったことのある人は、(例えばGENERICカーネルの定義ファイルをコピーして・・・等は必要ありませんので)自力で作業を行って下さい。

また、カーネルの再構築には当然カーネルのソースが /usr/src/sys の下に展開されていなければいけません。初期インストール時に sys ソースをインストールしなかった人は、 /stand/sysinstall を使って追加インストールをしておいて下さい。
(やり方はここでは説明しません。追加インストールの方法もわからない・・・という人は、カーネル再構築などという危険なことにチャレンジしない方が良いでしょう)

カーネル再構築手順
(例として MIKAN という名前のカーネルを構築します)

1.カーネル定義ファイルを作成します。(GENERICカーネル(今、あなたのマシンで動いているカーネルがGENERICです)の定義ファイルをコピーして修正すれば楽です)

% su <−− まずrootになります
Password:
# cd /usr/src/sys/i386/conf
# cp GENERIC MIKAN <−− GENERICの定義ファイルをコピーします
2.新しいカーネル定義ファイル MIKAN に下記の3行を追加します。
# vi MIKAN

options SYSVSHM <−− options VISUAL_USERCONFIGの下あたりに追加する
options SYSVSEM
options SYSVMSG
あと、identのところも、GENERICからMIKANに必ず変更しておいて下さい。

[参考] 私のカーネルコンフィグファイル

3.configコマンドを実行し、新しいカーネル定義ファイル MIKAN で新しいシステムをコンパイルするための環境を作ります。(ここでsyntax error等エラーが出た場合は、定義ファイルに間違いがあります。該当個所を直しましょう)

# config MIKAN
kernel build directory is ../../compile/MIKAN
4.新しいカーネルのコンパイルをします。
# cd ../../compile/MIKAN
# make depend; make
コンパイルが終わるのをひたすら待ちましょう。私のDX4-100マシンでは約40分くらいかかります・・・(^^;
ioading kernel
rearranging symbols
text    data    bss     dec     hex
958464  77824   83992   1120280 111818
以上のように表示されれば終了です。(数字のところは色々変わります)
5.最後にmake installを行います。
# make install

以上で、カーネルの再構築は終了です。rebootしてみましょう。

もし、正常に再起動出来なかった時は、Boot:のところで kernel.old と入れ、古いカーネルで起動しましょう。そして、じっくり新しいカーネルの定義ファイル(コンフィグファイル)を見てみましょう。(意外に、デバイスのIRQがぶつかり合っているだけだったりします)


前のページへ FreeBSDで遊ぶ Powered by FreeBSD by SHINODA Masanori