oFono学习笔记——oFono编译安装与启动
这里记录oFono 1.6在ubuntu 12.04 LTS (64bit)下的编译安装全过程
1. 编译GLIB
oFono是基于glib实现的,所以编译ofono之前必须安装相应要求版本的GLib。oFono要求GLib的版本必须在2.28以上。于是我使用的版本是GLib2.34.0.
1.1 安装zlib
./configure
make
sudo make install
1.2 安装libffi
./configure
make
sudo make install.
1.3 安装gettext,
./configure; make; sudo make install
编译过程中会提示找不到libffi文件,这只需要在LD_LIBRARY_PATH中添加之前安装的libffi路径:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
在安装的过程中还会遇到libffi找不到的情况,明明已经设置了LD_LIBRARY_PATH还说找不到,经过搜索发现由于安全原因:
LD_LIBRARY_PATH not loading from .profile nor /etc/environment。
所以我的解决办法是切换用户到su,设置相应的LD_LIBRARY_PATH完成安装。
sudo su
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
这样设置完之后就可以正确安装gettext了。
1.4 编译安装GLIB
./configure
make
sudo make install
2. 安装D-BUS
sudo apt-get install dbus
sudo apt-get install libdbus-glib-1-dev
不知道为什么用自己编译出来的DBUS就没有办法启动oFono,并且自己编译出来的D-BUS会导致ubuntu开机时进入命令行模式。如果你也不幸进入了命令行模式无法进入unity,只需要在命令行模式下把编译安装的DBUS卸载就可以了。
4. 安装UDEV
sudo apt-get install udev
sudo apt-get install libudev-dev
5. 安装BlueZ
需要注意的是BlueZ的版本一定要是4.99,我开始使用5.7,结果在之后编译oFono的时候btio出现了问题,可见并不之版本越新越好。
sudo apt-get install libusb-dev
sudo apt-get install libical-dev
sudo apt-get install libreadline-dev
./configure
make; sudo make install
6. 编译oFono
经过上面的折腾之后,我们就具备了在64bit Ubuntu下编译oFono的全部条件了,废话少说,开始编译oFono
./configure
make; sudo make install
7. 运行oFono
sudo ofonod -nd
下面是我启动oFono之后的画面,以及用到依赖包的截图
如果没有办法正常启动oFono,则需要需要重新安装一下oFono
8. 安装oFono模拟器
现在可以安装一个oFono模拟器来帮助我们分析oFono架构
sudo apt-get install ofono-phonesim
9.启动模拟器
在启动模拟器之前,我们需要修改/usr/local/etc/ofono目录下的phonesim.conf文件,将里面的
#[phonesim]
#Address=127.0.0.1
#Port=12345
替换成
[phonesim]
Address=127.0.0.1
Port=12345
接着启动phonesim
sudo ofono-phonesim -gui /usr/share/phonesim/default.xml
接着再开一个终端切换到存放ofono源码文件夹下的test
运行./list-modems可以看到如下画面,如果看不到phonesim,需要重新启动oFono daemon。
然后./enable-modem /phonesim就可以打开phonesim模拟器了。
至此,oFono的安装与启动就结束了。
Enjoy~~~