SIP开源软件的编译1
linphone在这里就不多介绍了,因为主流的平台都有其软件安装包,如果要在ARM-LINUX上交叉编译,也可以在网上找一些方法,网上一大堆的心得。
我这里只说opensips、medeaproxy的编译。以及如何安装、使用。网上也有方法,但就算你看了这些方法,依然会阻挡你那颗求知的心,当然高手并在此列。我这里苦口婆心的,说的这么细,其实类似于扫盲贴。
先编译medeaproxy,后编译opensips。
环境:ubuntu 9.04,版本很重要,如果是版本不同造成的问题,很令人惋惜的。
新装ubuntu 9.04,直接切换到root用户,我很不耐烦ubuntu的用户权限,又不是商用,自己测试而已,所以我喜欢超级权限。具体如何切换,网上一大堆。用sudo passwd root 就可以修改root密码,然后在系统,系统管理,登陆串口中点击安全选项,在允许本地系统管理员登陆前打钩,赫赫、英文版本的朋友我就不扫盲了。然后就可以用root登陆了。(10.04版本以后的ubuntu的似乎直接可以用root登陆,看来大家都觉得麻烦呀)
root登陆后,打开控制台:
执行:apt-get update 源更新
apt-get upgrade
sudo apt-get install build-essential 编译环境
sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev minicom tftpd uboot-mkimage 一些必要的软件
apt-get install openssh-server
apt-get install build-essential kernel-package libncurses5-dev libqt3-mt-dev 编译内核时需要
下载linux-2.6.29.1源代码包,进行编译升级内核,下载地址http://www.kernel.org。编译升级内核的原因为:medeaproxy需要NAT穿透,但ubuntu 9.04本身的内核并没有把NAT相关全部编译进去,导致medeaproxy运行不起来,所以需要升级。
编译升级内核:
cd /opt/linux-2.6.29.1 进入linux内核源码目录。我的解压到了OPT根目录下了,所以进/opt/linux-2.6.29.1
sudo make mrproper 准备工作。
cp /boot/config-`uname -r` ./.config 拷贝系统默认的配置。
make xconfig 添加自定义的配置项。
以下配置选项最好都选上:
netfilter support
connection tracking support
connection tracking netlink interface
connection tracking event notification API
netfilter "NOTRACK" target support
netfilter "CONNMARK" target support
netfilter "connmark" match support
IPv4 connection tracking support
IP tables support
IP tables Full NAT support
开始编译内核:
sudo make-kpkg clean 清除
编译内核
sudo make-kpkg -initrd --initrd --append-to-version=mxd kernel_image kernel-headers 其中--append-to-version=mxd 中的mxd可以换成你喜欢的东东。
cd .. 生产的内核会在上层目录,所以要退出
sudo dpkg -i linux-image-2.6.29.1mxd_2.6.29.1mxd-10.00.Custom_i386.deb 安装内核
sudo dpkg -i linux-headers-2.6.29.1mxd_2.6.29.1mxd-10.00.Custom_i386.deb 安装头文件
ls -l /boot/
reboot 重启
uname -a 重启后执行就可以看到内核已升级到你需要的版本了。
至此,所需环境基本就告一段落了