菜鸟搭建Ubuntu 环境及编译hostapd
之前很少接触到Liunx 系统,以至于对Ubuntu的安装不熟悉,该篇文档介绍如何在Ubuntu环境下搭建Cross Compiler 后成功编译hostapd &wpa_supplicant
1.如何安装和升级到一个新的kernel 版本,在这里就不详细叙述相应的步骤,
可参考:http://www.wikihow.com/Install-and-Upgrade-to-a-New-Kernel-on-Linux-Mint
2.搭建好Ubuntu环境后需要移植libnl库
1).准备libnl code,可从该网址获取:http://www.infradead.org/~tgr/libnl/
目前大部分开发者都是使用libnl-3x ,个人是下载libnl-3.2.25.tar.gz 编译的
2).libnl 会依赖flex,bison,需要先安装flex,bison,否则编译libnl会出错
a.安装flex
sudo apt-get install flex
b.安装bison
sudo apt-get install bison
3).以libnl3.x为例,libnl参考编译如下:
a. 解压已准备好的libnl-3.2.25.tar.gz
tar zxf libnl-3.2.25.tar.gz
b. 进入所解压好的libnl-3.2.25目录
cd libnl-3.2.25/
c. --prefix指定libnl所安装路径( ./configure --prefix=<path to install the libnl> )
./configure --prefix=/home/peter/libnl3/ (/home/peter/libnl3/ 是本人libnl安装路径)
d. make //编译
e. make install //将.so和头文件安装到指定的路径,
3.移植libnl 库成功后,下载相应的Source code到Ubuntu 中,
以移植hostapd 为例:
a.在hostapd,在 /.config 中修改如下宏定义,其中CFLAGS和LIBS分别为libnl的头文件和库文件的位置。
例如:
我的libnl安装示例目录为/home/peter/libnl3:
CONFIG_DRIVER_NL80211=y
CONFIG_LIBNL20=y
CONFIG_LIBNL32=y
CFLAGS += -I/home/peter/libnl3/include/libnl3
LIBS += -L/home/peter/libnl3/lib
提示:在libnl-1x版本是不需要添加
CONFIG_LIBNL20=y
CONFIG_LIBNL32=y
4.对于移植wpa_supplicant可参考hostapd 部分
刚刚接触到,只是想把自己刚刚接触到的整理一下方便以后查阅
这是第一篇文档哦,后续工作中遇到一些问题再整理一下
libnl:http://www.linuxfromscratch.org/blfs/view/svn/basicnet/libnl.html
kernel:http://www.wikihow.com/Install-and-Upgrade-to-a-New-Kernel-on-Linux-Mint