平台介绍:主机端—ubuntu11.04

                     开发板内核—linux-2.6.30

          Hostapd版本—0.8-snapshot

移植过程:

         在移植hostapd之前需要先移植openssl和libnl两个库,经过尝试,发现openssl-0.9.8g和libnl-1.1两个版本比较好编译通过,于是选择这两个版本。关于他们的移植在本文中不再介绍,因为有专门关于它们移植过程的文章。

         下载并解压hostapd-0.8-snapshot源代码,进入其目录。

root@xtx:~/hostapd-0.8-snapshot/hostapd# pwd

/root/hostapd-0.8-snapshot/hostapd

(1)     进入hostapd目录修改Makefile文件中的CC

把CC=gcc修改为交叉编译器CC=arm-linux-gcc

(2)     把defconfig拷贝为 .config

cp defconfig .config

                   修改.config文件

把下面一段

CONFIG_DRIVER_HOSTAP=y

#CONFIG_DRIVER_NL80211=y

#LIBNL=/usr/src/libnl

#CFLAGS += -I$(LIBNL)/include

#LIBS += -L$(LIBNL)/lib

   

         修改为

#CONFIG_DRIVER_HOSTAP=y

CONFIG_DRIVER_NL80211=y  //我的hostapd使用这个驱动

LIBNL=/opt/arm/lib/libnl   //移植的libnl库所在位置

CFLAGS += -I$(LIBNL)/include

LIBS += -L$(LIBNL)/lib

LIBSSL=/opt/arm/lib/ssl    //移植的openssl库所在位置

CFLAGS += -I$(LIBSSL)/include

LIBS += -L$(LIBSSL)/lib                                                                               

 


为文件src\crypto\tls_openssl.c添加头文件

         #include <openssl/evp.h>  //openssl里面的头文件

为文件src\drivers\driver_nl80211.c添加头文件

         #include <linux/genetlink.h>

修改完毕,现在开始编译

回到hostapd目录下运行make目录执行makefile文件,编译完毕后在当前目录为生成hostapd和hostapd_cli两个可执行文件,这个就是我们需要的,拷贝到板子上即可,当然别忘了把openssl和libnl拷贝到板子上。

root@xtx:~/hostapd-0.8-snapshot/hostapd# file hostapd hostapd_cli

hostapd:     ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), for GNU/Linux 2.4.3, not stripped

hostapd_cli: ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), for GNU/Linux 2.4.3, not stripped

Logo

更多推荐