hostapd和wpa_supplicant工具移植到ARM Linux

一、准备工作

  在移植hostapd和wpa_supplicant时需要先移植openssl和libnl,可以参考openssl移植到ARM Linux和libnl移植到ARM Linux。否则会出现如下图所示错误:

hostapd和wpa_supplicant工具移植到ARM Linux_第1张图片
此图提示缺少openssl库文件。

hostapd和wpa_supplicant工具移植到ARM Linux_第2张图片
此图提示缺少netlink库支持。

二、源码下载

下载最新版本的hostapd和wpa_supplicant源码:

sudo apt-get install git-core  
git clone git://w1.fi/srv/git/hostap.git

三、移植hostapd

1.进入hostapd目录:

cd hostap/hostapd/

2.复制一份默认的配置文件

cp defconfig .config

3.编辑.config文件

找到CONFIG_DRIVER_NL80211=y一行,然后注释,如下所示:
#CONFIG_DRIVER_NL80211=y

4.修改Makefile

ifndef CC
CC=gcc
endif

改为:

#ifndef CC
CC=/home/public/zx902/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc
#endif

注:此处为自己开发环境中的交叉工具链路径

增加下面4项(需要添加在Makefile的前面):

CFLAGS += -I../../libnl-1.1.4/__install/include/
CFLAGS += -I../../openssl-1.0.2l/__install/include/

LIBS += -L../../libnl-1.1.4/__install/lib/
LIBS += -L../../openssl-1.0.2l/__install/lib/

注:这些路径是我的头文件和库的路径,需要根据自己实际情况来填写

5.编译

make

将编译好的hostapd工具拷贝到开发板即可。

四、移植wpa_supplicant

1.进入wpa_supplicant目录:

cd hostap/wpa_supplicant/

2.复制一份默认的配置文件

cp defconfig .config

3.修改Makefile

ifndef CC
CC=gcc
endif

改为:

#ifndef CC
CC=/home/public/zx902/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc
#endif
注:此处为自己环境中的交叉工具链路劲

增加下面4项(需要添加在Makefile的前面):

CFLAGS += -I../../libnl-1.1.4/__install/include/
CFLAGS += -I../../openssl-1.0.2l/__install/include/

LIBS += -L../../libnl-1.1.4/__install/lib/
LIBS += -L../../openssl-1.0.2l/__install/lib/
注:这些路径是我的头文件和库的路劲,需要根据自己实际情况来填写

4.编译

make

将编译好的wpa_supplicant工具拷贝到开发板即可。

你可能感兴趣的:(Linux)