「Asteriskインストールメモ」の版間の差分
(新しいページ: 'AsteriskおよびZaptelのインストールでOS依存部分などのまとめページです。 ==Zaptel + CentOS 4.3== RedHatのカーネルソースバグによりZaptelの...') |
(→Debian) |
||
(3人の利用者による、間の8版が非表示) | |||
1行目: | 1行目: | ||
+ | [[Category:Asterisk]] | ||
+ | [[Category:インストール]] | ||
+ | [[Category:faq]] | ||
AsteriskおよびZaptelのインストールでOS依存部分などのまとめページです。 | AsteriskおよびZaptelのインストールでOS依存部分などのまとめページです。 | ||
==Zaptel + CentOS 4.3== | ==Zaptel + CentOS 4.3== | ||
7行目: | 10行目: | ||
2.6.9-34.0.2.EL i686次に該当するカーネルソースのinclude/linuxディレクトリへ移動します。 | 2.6.9-34.0.2.EL i686次に該当するカーネルソースのinclude/linuxディレクトリへ移動します。 | ||
# cd /usr/src/kernels/2.6.9-34.EL-i686/include/linux/ | # cd /usr/src/kernels/2.6.9-34.EL-i686/include/linux/ | ||
− | |||
ファイルspinlock.hの以下の部分を探します。 | ファイルspinlock.hの以下の部分を探します。 | ||
#define DEFINE_RWLOCK(x) rw_lock_t x = RW_LOCK_UNLOCKED | #define DEFINE_RWLOCK(x) rw_lock_t x = RW_LOCK_UNLOCKED | ||
この行を以下のように修正します。 | この行を以下のように修正します。 | ||
#define DEFINE_RWLOCK(x) rwlock_t x = RW_LOCK_UNLOCKED | #define DEFINE_RWLOCK(x) rwlock_t x = RW_LOCK_UNLOCKED | ||
− | |||
これでZaptelのコンパイルが通るようになります。 | これでZaptelのコンパイルが通るようになります。 | ||
+ | |||
==Zaptel + Fedora Core 5== | ==Zaptel + Fedora Core 5== | ||
とりあえずカーネルを最新のtestバージョンに上げます。 | とりあえずカーネルを最新のtestバージョンに上げます。 | ||
79行目: | 81行目: | ||
非Intelのx86、例えばVIAプロセッサでは、コンパイルが通りますが実行時にエラーになります。通常はMakefileでPROC=i586を指定しますが、 configureを使う版のasteriskの場合はMakefileでの修正が利きません。以下を実行してからmakeしてください。 | 非Intelのx86、例えばVIAプロセッサでは、コンパイルが通りますが実行時にエラーになります。通常はMakefileでPROC=i586を指定しますが、 configureを使う版のasteriskの場合はMakefileでの修正が利きません。以下を実行してからmakeしてください。 | ||
./configure --build=i586-pc-linux-gnu | ./configure --build=i586-pc-linux-gnu | ||
+ | ==Asterisk + Solaris== | ||
+ | [[Asterisk Solaris]]のページへ | ||
+ | ==Debian== | ||
+ | → [[Asterisk+Debian]] |
2009年11月11日 (水) 01:52時点における最新版
AsteriskおよびZaptelのインストールでOS依存部分などのまとめページです。
目次
Zaptel + CentOS 4.3
RedHatのカーネルソースバグによりZaptelのコンパイルが通りません。
まずカーネルのリリースとアーキテクチャを確認します。
# uname -rm
2.6.9-34.0.2.EL i686次に該当するカーネルソースのinclude/linuxディレクトリへ移動します。
# cd /usr/src/kernels/2.6.9-34.EL-i686/include/linux/
ファイルspinlock.hの以下の部分を探します。
#define DEFINE_RWLOCK(x) rw_lock_t x = RW_LOCK_UNLOCKED
この行を以下のように修正します。
#define DEFINE_RWLOCK(x) rwlock_t x = RW_LOCK_UNLOCKED
これでZaptelのコンパイルが通るようになります。
Zaptel + Fedora Core 5
とりあえずカーネルを最新のtestバージョンに上げます。
(注:testバージョンに上げなくてもできるかもしれません。どなたか追試を!)
# yum --enablerepo=updates-testing update kernel kernel-devel
リリースとアーキテクチャを確認します。
# uname -rm 2.6.17-1.2159_FC5 i686
カーネルソースをこのあたりから入手し、rpmでインストールしておきます。
rpmbuildします。
# rpmbuild -bp --target i686 /usr/src/redhat/SPECS/kernel-2.6.spec
カーネルソースをZaptelが期待している場所へ移動します。
# mkdir /usr/src/kernels # mv /usr/src/redhat/BUILD/kernel-2.6.17/linux-2.6.17.i686 /usr/src/kernels/2.6.17-1.2159_FC5-i686
カーネルソースのMakeを若干修正します。
# cd /usr/src/kernels/2.6.17-1.2159_FC5-i686
このディレクトリにあるMakefileのEXTRAVERSIONをコメントアウトします。
VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 17 #EXTRAVERSION = -prep <--コメントアウト NAME=Crazed Snow-Weasel
カーネルをconfigしますがファイルを若干修正します。
# cp configs/kernel-2.6.17-i686.config ./.config
.configのローカルバージョンを先ほど調べたリリースにあわせて設定します。
# # General setup # CONFIG_LOCALVERSION="-1.2159_FC5"
カーネルソースをconfigします。
# make oldconfig
カーネルモジュールを生成しておきます。
# make modules
ドライバ類(fs/の下など)を作り始めたらCTRL-Cブレークしてかまいません。Zaptelが必要とするスクリプト類ができていればカーネル・モジュールを全て作る必要はありません。 これでZaptelのコンパイルができるようになります。makeとmake install、make configを行ってください。
以上の作業でFC5でZaptelが動作するようになると思います。 (もっとスマートなやり方があれば、このページを更新してください)
ユーザを"asterisk"で動作させる場合にはudevの調整が必要です。zaptel+udevのページを参照してください。
Asterisk + Fedora Core 5
channels/chan_phone.cがversion.hを見に行きたがるため、そのままではコンパイルが通りません。
- 対策その1
チャネルドライバそのものを、以下のように修正してしまいます。Fedora Core 5はLinux 2.6なので以下の修正で問題はないでしょう。そもそも、このチャネル・モジュール自体も通常は要りませんが・・・。
-----channels/chan_phone.c 40行目付近 /* Still use some IXJ specific stuff */ /* #include <linux/version.h> #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) */ # include <linux/compiler.h> /* #endif */ #include <linux/ixjuser.h>対策その2
chan_phone.cがversion.hを要求するのであれば、それを用意してやります。カーネルソースにあるversion.hを/usr/include/linuxへコピーすればコンパイルが通るようになります。
# cp /usr/src/kernels/2.6.17-1.2159_FC5-i686/include/linux/version.h /usr/include/linux/.
Asterisk + 非Intel x86
非Intelのx86、例えばVIAプロセッサでは、コンパイルが通りますが実行時にエラーになります。通常はMakefileでPROC=i586を指定しますが、 configureを使う版のasteriskの場合はMakefileでの修正が利きません。以下を実行してからmakeしてください。
./configure --build=i586-pc-linux-gnu
Asterisk + Solaris
Asterisk Solarisのページへ