玄箱Pro Debian+Asteriskのソースを表示
←
玄箱Pro Debian+Asterisk
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます: メール確認された利用者、
管理者
。
このページのソースの閲覧やコピーができます。
==玄箱ProをDebian化する== このへんを参考にDebian化しちゃってください。後はDebianとして扱えますので・・・<br> :エレキジャック :http://www.eleki-jack.com/Kurobox-pro2/2009/03/debian-gnulinux-50-lenny.html#more 上記を参考にするとDebian lennyのEABI環境になります。<br> '''注意''':シリアルコンソールがないとDebian化は危険です。玄人指向のシリアルコンソールキットを使うか、改造してシリアルが使えるようにしてから実施してください。 ==コンパイル環境を整える== Debian化したならば、以下のパッケージを追加してAsteriskがコンパイルできるようにします。<br> gcc g++ libc6-dev make linux-libc-dev ncurses-dev perl-modules patch # apt-get install gcc g++ libc6-dev make linux-libc-dev ncurses-dev perl-modules patch いろいろと一緒に付いてくるものもインストールしてしまってください。 ==DAHDI== ===カーネルソースの準備=== カーネルソースを/usr/srcに展開します。カーネルソースはlinux-libc-devに付いてきます。これを/usr/src/の下で展開し、ln -s linux-source-2.6.26 /usr/src/linux などしてシンボリックリンクを作成しておきます。<br> カーネルモジュールをを'''途中まで'''コンパイルします。一旦、make menuconfigなどして.configを作ります。カーネルそのものを入れ換えるわけではないので、設定は適当でもかまいません。<br> .configファイルのバージョンを以下のように書き直します。(menuconfigで設定してもかまいませんが)<br> CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_LOCALVERSION="-2-orion5x" <これ CONFIG_LOCALVERSION_AUTO=y カーネルモジュールをmake modulesでコンパイルします。実際に欲しいのはmodpostコマンドなので、これがコンパイルできればCTRL-Cブレークしてかまいません。ただし、モジュールがコンパイルされていないとzaptel/dahdiのmakeが何ぞ文句言うかもしれませんが。<br> HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/sumversion.o HOSTLD scripts/mod/modpost <--これが出たらCTRL-CブレークしてOK HOSTCC scripts/kallsyms ===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> 実はこの状態でモジュールをロードしようとすると debian:~# modprobe dahdi FATAL: Error inserting dahdi (/lib/modules/2.6.26-2-orion5x/dahdi/dahdi.ko): Invalid module format このエラーが出てしまいます。解決方法がイマイチよくわからないので、誰か知ってる人がいたら教えてください。<br> とりあえず、-f オプションで逃げられるので、/etc/init.d/dahdi を以下のように作ってしまいます。 #! /bin/sh PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="dahdi telephony driver" NAME=dahdi DAHDI_MODULE=dahdi DAHDI_DUMMY=dahdi_dummy SCRIPTNAME=/etc/init.d/$NAME do_start() { modprobe -f dahdi modprobe -f dahdi_dummy } do_stop() { rmmod dahdi_dummy rmmod dahdi } case "$1" in start) do_start ;; stop) do_stop ;; reload) do_stop do_start ;; *) echo "Usage: $SCRIPTNAME {start|stop|reload}" >&2 exit 3 ;; esac ===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 1.4系== やはり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> あとは普通にコンパイルできるはず・・・
玄箱Pro Debian+Asterisk
に戻る。
ナビゲーション メニュー
個人用ツール
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
ヘルプ
広告
サイトコンテンツ
コミュニティ
Asterisk
Asterisk 18
Asterisk 20
Asterisk 22
IP電話機
購入情報
導入事例
回線接続
ベンダー
ひかり電話
セキュリティ
イベント情報
スペシャル
Asterisk pjsip
ABS
黒電話 ハック
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報