Raspberry Pi上源码安装FusionPBX
官方网站的方法做了一遍:http://wiki.fusionpbx.com/index.php?title=Raspberry_Pi_Script。这篇文档很详细,但可能完全按照官方的步骤不能达到成功安装的目的。因为一些环境方面的原因造成某些步骤不会成功。
因此在参考官方步骤的基础上,试验了很多种其他方法,总算让我找到了一个成功的方案。这里顺便将我的环境简单说明下。使用的镜像是:2013-02-09-wheezy-raspbian。
与原文有几点不同。首先是开启root用户,缺省此用户被锁定。使用pi用户登录后,执行:sudo passwd root。然后系统要求你输入两遍密码。成功后,再执行:sudo passwd --unlock root。后续操作均以root帐号登录。
其次是首先修改/etc/resolv.conf文件。目的是提供一个正确的DNS服务器地址。如果不修改这个文件,那么在使用apt-get方法安装编译FreeSwitch所需的第三方模块时会遇到无法找到第三方模块的错误。这个文件修改前会有一条类似于这样一条记录:
nameserver 192.168.77.1
这是我这里局域网内的DHCP服务器地址。
请修改这个文件,增加如下所示的一行:
nameserver 202.96.209.5
‘202.96.209.5’是我这里可以正常访问的公网DNS服务地址,可以将其修改成其他可用的公网DNS服务地址。
原文是:
makeARCH=armCROSS_COMPILE=../RpiTools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- oldconfig
修改后的是:
makeARCH=armCROSS_COMPILE=../RpiTools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- silentconfig
第二点是,取消了下面这句,也就是说没有执行下面这句:
makeARCH=armCROSS_COMPILE=../RpiTools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- menuconfig
未执行的这句原文中也并没有说必须要执行。
具体步骤可概括成:
1、下载编译工具、Kernel源文件、固件 Firmware。
2、获取当前Kernel的config.gz文件。即,SD卡上写入镜像的Raspberry Pi的Linux的config.gz文件。将config.gz解压后拷贝至git下来的linux kernel根目录下。再执行silentconfig命令。
3、编译kernel,生成kernel.img文件。
4、编译modules。
5、将kernel.img文件、新的modules文件和git下来的firmware文件拷贝至SD上的相应目录。
6、上电启动Raspberry Pi。
写这篇文章前,试着编译成功了两次。第二次,修改了版本号,上电后输入uname -a命令,果然看到了修改后的版本号:3.9.11。可修改kernel源码根目录下的Makefile文件。
共有 0 条评论