在Ubuntu环境下搭建Cross Compiler后如何编译hostapd

本文档介绍了在Ubuntu环境中搭建CrossCompiler并成功编译hostapd和wpa_supplicant的过程,包括安装新的内核版本、移植libnl库以及配置源代码等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

菜鸟搭建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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值