AD

GSM SNIFFER环境搭建问题集

谨以此文献给自己,纪念我在春节和昨晚做的蠢事!

环境准备第1步:

安装各种包,宁多勿少。

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


这一步一般不会有什么问题。

第2步准备好GnuARM ToolChain,这个是ARM编译器,ARM编译器将会用于后续编译osmocom-bb中的手机BIN文件。

如果安装环境是32位的
$ wget http://gnuarm.com/bu-2.15_gcc-3.4.3-c-c++-java_nl-1.12.0_gi-6.1.tar.bz2

$ tar xf bu-2.15_gcc-3.4.3-c-c++-java_nl-1.12.0_gi-6.1.tar.bz2
$ mv gnuarm-* ~/gnuarm(该步骤可以省略,可以自行把解压出来的文件夹重命名)

如果安装环境是64位的
$ wget http://www.gnuarm.com/bu-2.16.1_gcc-4.0.2-c-c++_nl-1.14.0_gi-6.4_x86-64.tar.bz2

$ tar xf bu-2.16.1_gcc-4.0.2-c-c++_nl-1.14.0_gi-6.4_x86-64.tar.bz2
$ mv gnuarm-* ~/gnuarm (同上)

可以点击这里获取GnuARM ToolChain的最新版。

如果这里选择的源文件和架构不一样,将导致第4步出现问题。

第2.5步,单独写出来是因为这里容易出问题。上面解压完毕后,还需要配置环境变量使GnuARM ToolChain生效。

命令如下:
#echo "export PATH=~/gnuarm/bin:$PATH" >> ~/.bashrc

或者使用VI将“
export PATH=~/gnuarm/bin:$PATH

”改行代码添加到 ~/.bashr的最后一行。注意红色的路径为你自己解压出来的路径,注意修改。

然后使用 “
#source ~/.bashrc

”或者重启机器使其生效。

验证方法:在shell内输入arm,快速按两下TAB,如果可以出现下面的内容则证明GnuARM ToolChain生效:

 

01

 

第3步,编译libosmocore:
git clone git://git.osmocom.org/libosmocore.git
cd ~/libosmocore
autoreconf -i
./configure
make
make install

cd ..
ldconfig

据说不执行这两句命令,会导致在第4步中出现“找不到libosmocore.so.4的错误”

第4步:编译osmocom-bb
cd ~
git clone git://git.osmocom.org/osmocom-bb.git
cd ~/osmocom-bb
git checkout --track origin/luca/gsmmap
cd src
make

如果make完成,未报错,请检查/osmocom-bb/src/target/firmware/board/ 目录下面,会有compal_e88/layer1.compalram.bin 文件生成。
如果make出错,请参考下列问题进行解决:

问题及解决方法:
Q1:
/root/osmocom-bb/src/target/firmware/include/asm/swab.h: Assembler messages:
/root/osmocom-bb/src/target/firmware/include/asm/swab.h:32: Error: no such instruction: `eor %edx,%ecx,%ecx,ror’
make[4]: *** [gsmtap_util.lo] 错误 1
make[4]: Leaving directory `/root/osmocom-bb/src/shared/libosmocore/build-target/src’
make[3]: *** [all] 错误 2
make[3]: Leaving directory `/root/osmocom-bb/src/shared/libosmocore/build-target/src’
make[2]: *** [all-recursive] 错误 1
make[2]: Leaving directory `/root/osmocom-bb/src/shared/libosmocore/build-target’
make[1]: *** [all] 错误 2
make[1]: Leaving directory `/root/osmocom-bb/src/shared/libosmocore/build-target’
make: *** [shared/libosmocore/build-target/src/.libs/libosmocore.a] 错误 2


Q2:
configure: error: C compiler cannot create executables
See `config.log’ for more details
make: *** [shared/libosmocore/build-target/Makefile] 错误 77


Q1和Q2根源都是ARM编译器(即GnuARM ToolChain)未配置好。主要2个原因,一个是选择的源代码和所处的环境步匹配,另一个是环境变量没配置好,请参考第2步和第3步进行解决。

Q3:

error while loading shared libraries: libosmocore.so.4: cannot open shared object file: No such
file or directory

如果出现Q3,则可以使用以下命令解决:

#echo /usr/local/lib >> /etc/ld.so.conf

#ldconfig -v

评论

此博客中的热门博文

简单粗暴导出小米便签

我——终于一个人了

多种方法绕过POWERSHELL的执行策略