前言
鉴于网上的很多资料不全或是版本很老,对当前的环境配置有极大的误导作用,本人在多次碰壁之后,总结出一套较为顺畅的流程,特此分享。
正文
测试环境:VM虚拟机+64位 Ubuntu 14.04 LTS
第一部分:GNU ARM toolchain配置
此步骤参照http://osmocom.org/projects/baseband/wiki/GnuArmToolchain上的教程完成,本人简要翻译下。
此页主要用来完成GNU ARM 工具链的编译,需要用到以下工具:
GCC 4.8.2
Binutils 2.21.1
Newlib 1.19
第一步:获取编译脚本
创建一个目录,并将此.sh文件http://osmocom.org/projects/baseband/wiki/GnuArmToolchain/attachments/download/2052/gnu-arm-build.3.sh下载,放置在你刚创建的目录下。
并添加此脚本的执行权限<pre>chmod +x gnu-arm-build.3.sh</pre>
在此说明:之前的教程都是用的gnu-arm-build.2.sh,但是此脚本自动化程度较低,在运行过程中会存在各种问题,处理起来很麻烦,所以建议使用版本3,当然你也可以选择2,原参考链接里都有。
第二步:依赖关系和必备软件包
依赖关系:<pre>sudo apt-get install build-essential libgmp3-dev libmpfr-dev libx11-6 libx11-dev texinfo flex bison libncurses5 \
libncurses5-dbg libncurses5-dev libncursesw5 libncursesw5-dbg libncursesw5-dev zlibc zlib1g-dev libmpfr4 libmpc-dev</pre>
软件包:<pre>aptitude install libtool shtool autoconf git-core pkg-config make gcc</pre>
第三步:开始准备工作
首先,在之前创建的目录下创建三个子目录
<pre>mkdir build src install</pre>
然后在src目录下,<pre>cd src/</pre>下载所需的资源<pre>wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
wget http://ftp.gnu.org/gnu/binutils/binutils-2.21.1a.tar.bz2
wget ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz</pre>
其实这一步可以在后台同时运行,你自己干点别的事情,比如下载osm和lib的包,这是下一部分说的,你也可以老老实实地按步骤进行。
上步做完后,可以进行这些工具链的编译了。当然需要返回到src的上层目录<pre>cd ..</pre>然后执行3.sh文件<pre>./gnu-arm-build.3.sh</pre>然后你会看到<pre>I will build an arm-none-eabi cross-compiler:
Prefix: <YOURPATH>/install
Sources: <YOURPATH>/src
Build files: <YOURPATH>/build
Press ^C now if you do NOT want to do this. </pre>此时当然是继续运行了,点enter。
第四步:添加环境变量
最好用vi编辑器在.bashrc文件中的最后一行添加<pre>export PATH=$PATH:<YOURPATH>/install/bin<pre>再次提醒,YOURPATH一定是绝对路径,不然没用,你可以在自己创建的目录下,
执行pwd,即可获得当前的绝对路径,上述的目的在与将install文件夹下的bin文件夹的路径放置bashrc中,
保存并退出。</pre></pre>
在此基础上,运行<pre>source ~/.bashrc</pre>使更改的环境变量生效。此时你输入arm并按下tab键,出现arm的一些文件,说明就搞定啦。
第二部分:编译OsmocomBB
第一步:下载项目资源
进入你之前创建目录下,并下载以下资源:<pre> git clone git://git.osmocom.org/osmocom-bb.git
git clone git://git.osmocom.org/libosmocore.git</pre>
下载完成后你会发现在你之前创建的目录下边会有增加两个子目录,分别是libosmocore和osmocore,下面针对这两个目录进行操作。
第二步:编译osmocom核心库文件
此步是在libosmocore目录下操作,先<pre>cd libosmocore/</pre>
然后<pre>autoreconf -i
./configure
make
make install
cd ..
ldconfig</pre>这几步如果出了问题一定是前边的没做好,或是权限没有分配,所以失败了先尝试sudo下进行。
注意:最后一行命令ldconfig一定要执行。不然之前的配置只在缓存中,可能会出现未生效的情况。
第三步:编译osmocore
进入osmocore目录,执行:<pre>git checkout --track origin/luca/gsmmap //选择分支
cd src/ //进入src目录
make //编译</pre>有的时候可能需要将此分支pull回本地,若此处出现问题可以尝试<pre>git pull --rebase</pre>
如果没什么问题的话,到此就结束啦!
当然,出现问题也不怕,有几位博主写的文章还是很好的,有比较具体的问题解决方法,大家可以参考,在此提供链接[1]<a href="http://bobao.360.cn/learning/detail/3059.html">【技术分享】Osmocom-BB项目安装与配置(含错误解决方法)</a>
[2]<a href="http://wooyaa.me/archives/OsmocomBB-SMS-Sniffer">wooyaa的学习笔记</a>
[3]<a href="http://www.freebuf.com/articles/wireless/11910.html">OsmocomBB安装方法 </a>
本篇文章加上述三篇基本可以解决多数人的问题,希望有用。
网友评论