「玄箱Pro Debian+Asterisk」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(新しいページ: '==玄箱ProをDebian化する== このへんを参考にDebian化しちゃってください。後はDebianとして扱えますので・・・<br> :エレキジャック :http...')
 
(DAHDI)
 
(2人の利用者による、間の27版が非表示)
3行目: 3行目:
 
:エレキジャック
 
:エレキジャック
 
:http://www.eleki-jack.com/Kurobox-pro2/2009/03/debian-gnulinux-50-lenny.html#more
 
:http://www.eleki-jack.com/Kurobox-pro2/2009/03/debian-gnulinux-50-lenny.html#more
 +
上記を参考にするとDebian lennyのEABI環境になります。<br>
 +
'''注意''':シリアルコンソールがないとDebian化は危険です。玄人指向のシリアルコンソールキットを使うか、改造してシリアルが使えるようにしてから実施してください。
 +
 
==コンパイル環境を整える==
 
==コンパイル環境を整える==
 
Debian化したならば、以下のパッケージを追加してAsteriskがコンパイルできるようにします。<br>
 
Debian化したならば、以下のパッケージを追加してAsteriskがコンパイルできるようにします。<br>
10行目: 13行目:
 
  make
 
  make
 
  linux-libc-dev
 
  linux-libc-dev
 +
linux-source-2.6.26
 
  ncurses-dev
 
  ncurses-dev
 
  perl-modules
 
  perl-modules
 
  patch
 
  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しか使えないので、余計なものをコンパイル&インストールするのは無駄です。必要なものだけをコンパイルするには以下のように行います。<br>
 +
DAHDIのソースを展開します。今ならDAHDI Completeを落としてきてください。<br>
 +
linux/drivers/dahdi/Kbuild を編集します。要らないものをコメントアウトします。<br>
 +
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します。<br>
 +
終わったら depmod -a をやっておきます。<br>
 +
あとは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です。<br>
 +
<br>
 +
あとは普通にコンパイル/インストールできます。[[簡易インストールマニュアル]]を参考にして、インストールしてください。
 +
==バイナリ・パッケージ==
 +
テスト公開中。Debian lenny 2.6.26-2-orion5x 用です。不具合点お知らせください。<br>
 +
*DAHDI
 +
:ftp://ftp.voip-info.jp/asterisk/kuro-box/dahdi-bin-lenny-orion5x.tar.gz
 +
:ルートで展開した後、ldconfigとdepmod -aを実行します。/etc/init.d/dhadi start でロードでるはずです。
 +
*Asterisk
 +
:ftp://ftp.voip-info.jp/asterisk/kuro-box/asterisk-1.4.26.3-bin-armv5tel.tar.gz
 +
:ルートで展開して使用してください。
 +
上記のバイナリはテスト版です。不具合等の連絡お待ちしてます。

2009年11月11日 (水) 00:33時点における最新版

玄箱ProをDebian化する

このへんを参考にDebian化しちゃってください。後はDebianとして扱えますので・・・

エレキジャック
http://www.eleki-jack.com/Kurobox-pro2/2009/03/debian-gnulinux-50-lenny.html#more

上記を参考にすると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
ftp://ftp.voip-info.jp/asterisk/kuro-box/asterisk-1.4.26.3-bin-armv5tel.tar.gz
ルートで展開して使用してください。

上記のバイナリはテスト版です。不具合等の連絡お待ちしてます。