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がぶつかり合っているだけだったりします)