さて、環境が整ったところで、IP-PBXを構築します。
今回は、Asterisk 1.6.1.5をインストールしたいと思います。
apt-getでasteriskをインストールすることが出来るのですが、
それだと、あまりにも簡単すぎるので、今回はソースからインストールを試みます。
今回使用したソースは下記のパッケージです。
asterisk-1.6.1.5.tar.gz
dahdi-linux-2.2.0.2.tar.gz
dahdi-tools-2.2.0.tar.gz
まず、dahdiをインストールします。
# wget
http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-2.2.0.2.tar.gz
# tar xvfz dahdi-linux-2.2.0.2.tar.gz
# cd dahdi-linux-2.2.0.2
# make
以上でコンパイルが開始されます。
しかし、標準のままではkernel-sourceが入っておりません。
しかも、apt-getでは取得できないため、付属のCD内に記載されているURLより、linux-2.6.30.tar.bz2をダウンロードします。
# cd /usr/src/
# bzip2 -dc /tmp/linux-2.6.30.tar.bz2 | tar xvf -
このコマンドで解凍が可能です。
一応、シンボルリンクも設定しておきましょう
# ln -s linux-2.6.30 linux
これで、カーネルのソースがインストールされました。
.configファイルがないので、デフォルトのコンフィグファイルをコピーします。
# cp ./arch/powerpc/configs/kuro_nas_t4_defconfig .config
配布されているパッケージと実際にインストールされているパッケージの
サブバージョンが異なりますので、無理矢理Makefileを書き換えてしまいます。
# cd /usr/src/linux
# vi Makefile
EXTRAVERSION = .1-BUFFALO
↓
EXTRAVERSION = .1-BUFFALO-svn1376
dahdiは、一部のカーネルモジュールを参照しているようで、途中でエラーになってしまいます。
そのため、Kernel Moduleをコンパイルします。
# cd /usr/src/linux
# make modules
KernelModuleコンパイル中にpowerpc-linux-gnu-ldが無いよ って言われるので調べたところ、クロスコンパイル時に使用するldらしいので、敢えてインストールせずに /usr/bin/ldにシンボルリンクを張りました。
(2009/09/10追記):powerpc-linux-gnu-objcopyも無いので、同じく処理しました。
私の環境では問題なくコンパイルが終了したので、この場はヨシとしましょう。
ようやくdahdiのコンパイルに移ります。
# cd dahdi-linux-2.2.0.2
# make
コンパイルが終わったら、次はインストールです。
# make install
インストール終了後、dahdi-toolsをインストールしろと指示があるので、
指示に従いインストールを行います。
# tar xvfz dahdi-tools-2.2.0.tar.gz
# cd dahdi-tools-2.2.0
# ./configure
# make
コンパイルが終了後、インストールします。
# make install
次に、configファイルを作成します。
# make config
dahdi設定ファイルの調整を行います。
今回は、ハードウェアの接続は行わないため、dahdi_dummyのみ有効にします。
# vi /etc/dahdi/modules
先頭に『#』が無いものはモジュールが有効になるので、全て無効にするため、『#』を付加していきます。
最終行に 『dahdi_dummy』を追加します。
以上で dahdiのインストールが終了です。
次はasteriskのインストールです。
追記(2009/09/09):
現在 modprobeでモジュールが検出できない状態になっています。
詳細を調査中です。 解決後、本内容をアップデートします。
# modprobe dahdi
FATAL: Module dahdi not found.
追記(2009/09/10):
KernelのMakefileを修正することにより、問題なくコンパイル及び実行することが出来ました。
Thanks! Hiroppoさん