Voyage コンパイル
Voyage Linuxを使ってAsteriskをコンパイル(セルフ)する環境の構築方法。
以下はVoyage Linux 0.5.xの場合の情報です。
パッケージの追加
Voyage Linuxをインストールしただけでは開発環境が不足しているため、Asteriskをコンパイルすることができません。そこで以下のパッケージをapt-get installなどで追加します。一緒に付いてくるパッケージがある場合には、それもインストールします。
apt-utils gcc g++ libc-dev make linux-source-2.6.23-voyage linux-kernel-headers ncurses-dev perl-modules patch
Asteriskサーバに使うなら ntp も入れておいた方がいいでしょう。
カーネルソースの準備
カーネルソースを/usr/srcに展開します。
ln -s /usr/src/linux-source-2.6.24-voyage /usr/src/linux などしてシンボリックリンクを作成しておきます。
カーネルモジュールをを途中までコンパイルします。一旦、make menuconfigなどして.configを作ります。カーネルそのものを入れ換えるわけではないので、設定は適当でもかまいません。
.configファイルのバージョンを以下のように書き直します。(menuconfigで設定してもかまいませんが)
CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_LOCALVERSION="-486-voyage" <これ CONFIG_LOCALVERSION_AUTO=y
カーネルモジュールをmake modulesでコンパイルします。実際に欲しいのはmodpostコマンドなので、これがコンパイルできればCTRL-Cブレークしてかまいません。ただし、モジュールがコンパイルされていないとzaptel/dahdiのmakeが何ぞ文句言うかもしれませんが。
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
要求ディスク容量
たかはしは開発環境用にはHDDを入れてますが、上記の条件でAsterisk等をコンパイルした場合の使用量は以下のようになっています。
Filesystem Size Used Avail Use% Mounted on rootfs 4.0G 1.1G 2.7G 29% /
cleanしないでもこの状態なので2GBもあればコンパイル環境ができるでしょう。
UID/GIDの調整
ユーザ名、グループ名をAsteriskで動作させるには以下の調整が必要です。
/etc/init.d/asterisk スクリプトに以下を追加します。
if ! [ -d /etc/asterisk ] ; then echo "ERROR: /etc/asterisk directory not found" exit 0 fi if ! [ -d /var/run/asterisk ] ; then ---ここから mkdir /rw/var/run/asterisk fi if [ $AST_USER ] ; then chown -R asterisk:asterisk /rw/var/run/asterisk fi ---ここまで