wvdial移植ARM平台
来源:互联网 发布:电子班牌发布系统源码 编辑:程序博客网 时间:2024/05/22 10:15
一、工具及源码版本
交叉编译工具链arm-none-linux-gnueabi
wvdial 版本 1.61
wvstreams 版本 4.6.1
openssl 版本 1.0.1c
zlib 版本 1.2.7
二、准备环境
1、准备交叉编译工具链arm-none-linux-gnueabi
tar -xzvf toolchain.tgz
cp -R toolchain//opt/
exportPATH=$PATH:/opt/toolchain/CodeSourcery/Sourcery_G++_Lite/bin
2、准备源码文件
wvdial/(这个文件夹的位置稍后会用到,用WVDIAL_PATH表示)
source/
wvdial-1.61.tar.gz
wvstreams-4.6.1.tar.gz
openssl-1.0.1c.tar.gz
zlib-1.2.7.tar.gz
build/
3、进入wvdial/source解压文件
tar -xzvf zlib-1.2.7.tar.gz
tar -xzvf openssl-1.0.1c.tar.gz
tar -xzvf wvstreams-4.6.1.tar.gz
tar -xzvf wvdial-1.61.tar.gz
三、编译zlib
cd zlib-1.2.7
添加环境变量
exportCC=arm-none-linux-gnueabi-gcc
设置
./configure--prefix=$PWD/../../build/zlib
修改Makefile
AR=arm-none-linux-gnueabi-ar
RANLIB=arm-none-linux-gnueabi-ranlib
编译输出
make & makeinstall
四、编译openssl
cd openssl-1.0.1c
设置
./config--prefix=$PWD/../../build/openssl os/compiler:arm-none-linux-gnueabi
修改Makefile
AR=arm-none-linux-gnueabi-ar $(ARFLAGS) r
RANLIB=arm-none-linux-gnueabi-ranlib
NM=arm-none-linux-gnueabi-nm
编译输出
make & makeinstall
五、编译wvsteams
cd wvstreams-4.6.1
添加环境变量
exportPKG_CONFIG_PATH=$PWD/../../build/zlib/lib/pkgconfig
修改configure
将两处with_zlib=no改为with_zlib=yes
将两处with_openssl=no改为with_openssl=yes
修改crypto/wvx509.cc
1160行X509V3_EXT_METHOD*method = X509V3_EXT_get(ext);
改为X509V3_EXT_METHOD*method = (X509V3_EXT_METHOD*)X509V3_EXT_get(ext);
设置
./configure--host=arm-none-linux-gnueabi --prefix=$PWD/../../build/wvstreams--with-zlib=$PWD/../../build/zlib --with-openssl=$PWD/../../build/openssl--without-dbus --with-pam=no --with-tcl=no --with-qt=no
修改wvrule.mk
CFLAGS=-IWVDIAL_PATH/build/openssl/include -IWVDIAL_PATH/build/zlib/include
CPPFLAGS=-IWVDIAL_PATH/build/openssl/include -IWVDIAL_PATH/build/zlib/include
CXXFLAGS=-IWVDIAL_PATH/build/openssl/include -IWVDIAL_PATH/build/zlib/include
LDFLAGS=-LWVDIAL_PATH/build/openssl/lib -LWVDIAL_PATH/build/zlib/lib -Wl,--rpath-link,WVDIAL_PATH/build/zlib/lib
替换wvtask.cc和wvtask.h(附件给出替换文件)
wvtask.h在include目录下
wvtask.cc在utils目录下
相对于源文件的修改已在文件中标出
编译输出
make & makeinstall
六、编译wvdial
添加环境变量
exportPKG_CONFIG_PATH=$PWD/../../build/wvstreams/lib/pkgconfig
设置
./configure--prefix=$PWD/../../build/wvdial
修改Makefile
prefix= WVDIAL_PATH/build/wvstreams
WVSTREAMS_INC=$(prefix)/include
WVSTREAMS_LIB=$(prefix)/lib
WVSTREAMS_BIN=$(prefix)/bin
CPPFLAGS+=$(PC_CFLAGS)
CPPFLAGS+=-I WVDIAL_PATH/build/wvstreams/include/wvstreams
CPPFLAGS+=-I WVDIAL_PATH/build/zlib/include
CPPFLAGS+=-I WVDIAL_PATH/build/openssl/include
LIBS+= -L WVDIAL_PATH/build/wvstreams/lib-lwvutils -lwvstreams -lwvbase –lz
LIBS+= -L WVDIAL_PATH/build/zlib/lib
LIBS+= -L WVDIAL_PATH/build/openssl/lib
PPPDIR=${prefix}/etc/ppp/peers
添加到MakeFile
CC = arm-none-linux-gnueabi-g++
CXX =arm-none-linux-gnueabi-g++
编译
make
七、整理程序及所需库文件
/bin
wvdial在source/wvdial下
wvdialconf在source/wvdial下
c_rehash在build/openssl/bin下
uni在build/wvstreams/bin下
wvtestrun在build/wvstreams/bin下
/lib
libuniconf.so在build/wvstreams/lib下
libuniconf.so.4.6在build/wvstreams/lib下
libwvbase.so在build/wvstreams/lib下
libwvbase.so.4.6在build/wvstreams/lib下
libwvstreams.so在build/wvstreams/lib下
libwvstreams.so.4.6在build/wvstreams/lib下(!!这个库连接不对会读写不到配置文件)
libwvutils.so在build/wvstreams/lib下
libwvutils.so.4.6在build/wvstreams/lib下
libz.so在build/zlib/lib下
libz.so.1在build/zlib/lib下
libz.so.1.2.7在build/zlib/lib下
valgrind/在build/wvstreams/lib下
pkgconfig/ 在build/zlib/lib下
在build/openssl/lib下
在build/wvstreams/lib下
/sbin
uniconfd在build/wvstreams/sbin下
/etc
uniconf.conf在build/wvstreams/etc下
ppp/附件给出(!!这个文件夹不正确会出现pppd错误码2)
八、测试用配置
--------test.conf--------
[Dialer Defaults]
Phone = *99#
APN = 3gnet
Username = CARD
Password = CARD
Stupid Mode = 1
Dial Command = ATDT
Modem = /dev/ttyUSB0
Baud = 9600
Init1 = ATZ
Init2 = ATQ0 V1 E1S0=0 &C1 &D2 +FCLASS=0
Init3 =
Init4 =
ISDN = 0
Modem Type = AnalogModem
Auto Reconnect = off
[Dialer CARD5]
Phone = *99#
APN = 3gnet
Username = CARD
password = CARD
Init3 = AT+CGDCONT=1,"ip","3gnet","0.0.0.0",0,0
Modem = /dev/ttyUSB2
执行代码
Wvdial程序文件位置/wvdial–C test.conf CARD5
附修改文件和源码下载:
wvdial
http://wvstreams.googlecode.com/files/wvdial-1.61.tar.gz
wvstreams
http://wvstreams.googlecode.com/files/wvstreams-4.6.1.tar.gz
openssl
http://www.openssl.org/source/openssl-1.0.1c.tar.gz
zlib
http://zlib.net/zlib-1.2.7.tar.gz
修改增补文件
http://download.csdn.net/detail/nobeljz/4983753
- wvdial移植ARM平台
- wvdial arm移植笔记
- 运行移植的wvdial出错
- Qt arm平台移植
- arm平台移植glib
- LinuxCNC ARM平台移植
- arm平台移植mplayer
- ARM平台移植GDB
- 移植 ffmpeg 到 ARM 平台
- arm平台udev的移植
- tslib移植至arm平台
- DNSmasq移植到arm平台
- 移植OpenCV到ARM平台
- 移植e2fsprogs到arm平台
- 移植Lua到ARM平台
- 移植e2fsprogs到arm平台
- linux sqlite3 arm平台移植
- Jrtplib移植到arm平台
- iphone开发多线程介绍
- Oracle 9i&10g 编程艺术 第一章
- 多台Mac电脑使用同一个apple开发者账号开发测试
- 计算广告学习笔记1.5 广告的基础知识-在线广告市场
- 气象局天气预报信息接口实现
- wvdial移植ARM平台
- bit rate / frame rate /sample rate等等
- Android Service與JNI Native Code之關係
- 普通类不允许声明为静态的,只有一个内部类才可以
- Android include标签
- Java EE13种技术
- Websocket客户端的实现例子
- 2013年春节 放假通知 悲催的很,只有七天。
- 如何恢复误删数据