玄箱Pro Debian+Asterisk
目次
玄箱ProをDebian化する
このへんを参考にDebian化しちゃってください。後はDebianとして扱えますので・・・
上記を参考にするとDebian lennyのEABI環境になります。
注意:シリアルコンソールがないとDebian化は危険です。玄人指向のシリアルコンソールキットを使うか、改造してシリアルが使えるようにしてから実施してください。
コンパイル環境を整える
Debian化したならば、以下のパッケージを追加してAsteriskがコンパイルできるようにします。
gcc g++ libc6-dev make linux-libc-dev linux-source-2.6.26 ncurses-dev perl-modules patch
# apt-get install gcc g++ libc6-dev make linux-libc-dev linux-source-2.6.26 ncurses-dev perl-modules patch
いろいろと一緒に付いてくるものもインストールしてしまってください。
DAHDI
コンパイルの準備
コンパイル環境の準備。aptitudeでlinux-headersをインストールしておきます。この時、kbuildがいっしょに付いてきていることを確認しておいてください。
# aptitude install linux-headers-2.6.26-2-all
DAHDIのコンパイル
玄箱ではどのみちdahdi_dummyしか使えないので、余計なものをコンパイル&インストールするのは無駄です。必要なものだけをコンパイルするには以下のように行います。
DAHDIのソースを展開します。今ならDAHDI Completeを落としてきてください。
linux/drivers/dahdi/Kbuild を編集します。要らないものをコメントアウトします。
obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI) += dahdi.o obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_DUMMY) += dahdi_dummy.o #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_DYNAMIC) += dahdi_dynamic.o #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_DYNAMIC_LOC) += dahdi_dynamic_loc.o ~略~ #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_TOR2) += tor2.o #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_PCIRADIO) += pciradio.o #obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_XPP) += xpp/ obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_JPAH) += dahdi_echocan_jpah.o obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_STEVE) += dahdi_echocan_sec.o
これでDAHDIをmakeしmake installします。
終わったら depmod -a をやっておきます。
あとはmake configでインストールされるスクリプトでDAHDIの起動/終了が行えます。
udevの調整
ユーザとグループを適当に登録しておきましょう。
# groupadd -g 5060 asterisk # useradd -g 5060 -u 5060 -d /var/lib/asterisk -s /usr/sbin/nologin asterisk
DAHDIをインストールすると、/etc/udev/rules.d に dahdi というファイルも入るので、これをリネームしておきます。リネームしたら、udevをリスタートします。
# cd /etc/udev/rules.d # mv dahdi 99-dahdi # /etc/init.d/udev restart
これで、上記のスクリプトなどでDAHDIをスタートすると、asterisk:asteriskのパーミッションでDAHDIがロードされます。
debian:~# ls -l /dev/dahdi/ total 0 crw-rw---- 1 asterisk asterisk 196, 254 Nov 7 19:19 channel crw-rw---- 1 asterisk asterisk 196, 0 Nov 7 19:19 ctl crw-rw---- 1 asterisk asterisk 196, 255 Nov 7 19:19 pseudo crw-rw---- 1 asterisk asterisk 196, 253 Nov 7 19:19 timer
Asteriskコンパイル
Asterisk 1.4系、1.6系ともにGSM CODECがasmで引っかかります。なので、codecs/gsm/Makefileを例によって修正します。
debian:~# uname -a Linux debian 2.6.26-2-orion5x #1 Thu Nov 5 08:02:07 UTC 2009 armv5tel GNU/Linux
codecs/gsm/Makefile に以下のような行が3箇所ほどあるので
ifeq (, $(findstring $(PROC) , x86_64 amd64 ultrasparc sparc64 arm armv5b armeb hppa2.0 ppc powerpc ppc64 ia64 s390 bfin mipsel mips))
次のように追加しておく
ifeq (, $(findstring $(PROC) , x86_64 amd64 ultrasparc sparc64 arm armv5b armv5tel armeb hppa2.0 ppc powerpc ppc64 ia64 s390 bfin mipsel mips))
armv5bの後ろにarmv5telを追加すればOKです。
あとは普通にコンパイル/インストールできます。簡易インストールマニュアルを参考にして、インストールしてください。
バイナリ・パッケージ
テスト公開中。Debian lenny 2.6.26-2-orion5x 用です。不具合点お知らせください。
- DAHDI
- ftp://ftp.voip-info.jp/asterisk/kuro-box/dahdi-bin-lenny-orion5x.tar.gz
- ルートで展開した後、ldconfigとdepmod -aを実行します。/etc/init.d/dhadi start でロードでるはずです。
- Asterisk
上記のバイナリはテスト版です。不具合等の連絡お待ちしてます。