hostapd下载及交叉编译
这里有参照这个博客
WiFi工具 | hostapd源码下载与交叉编译_hostapd下载-优快云博客
编译出 hostapd工具需要3个原料:openssl、libnl、hostapd
openssl——openssl-1.0.2u.tar.gz
libnl——libnl-3.9.0.tar.gz
hostapd——hostapd-2.10.tar.gz
网盘可直接下载
通过网盘分享的文件:hostapd工具源码包
链接: https://pan.baidu.com/s/1enT6EV3l0im-T7g-E-xqjg 提取码: dzrs
1、编译 openssl
解压进入主目录,使用如下命令编译:
mkdir _install
./config no-asm shared --prefix=$PWD/_install --cross-compile-prefix=arm-v01c02-linux-musleabi-
make CC=arm-v01c02-linux-musleabi-gcc
make install
_install为相关库的存放路径
arm-v01c02-linux-musleabi- 为交叉编译工具链
注意,在编译过程中,如果出现如下错误:
arm-v01c02-linux-musleabi-gcc: error: unrecognized command line option ‘-m64’
则需要打开Makefile 查找里面的 ‘-m64’,并将其删除即可
2、编译 libnl
解压进入主目录,使用如下命令编译:
mkdir _install
./configure --host=arm-v01c02-linux-musleabi --prefix=$PWD/_install
make && make install
_install为相关库的存放路径
arm-v01c02-linux-musleabi- 为交叉编译工具链
3、编译 hostapd
解压并进入解压目录
tar -zxvf hostapd-2.10.tar.gz
cd hostapd-2.10/hostapd/
// 配置构建环境
cp defconfig .config
vi Makefile
#作如下修改:
# openssl
CFLAGS += -I/home/zzk/tools/hostapd_2/openssl-1.0.2u/_install/include
LIBS += -L/home/zzk/tools/hostapd_2/openssl-1.0.2u/_install/lib
# libnl
CFLAGS += -I/home/zzk/tools/hostapd_2/libnl-3.9.0/_install/include/libnl3
CFLAGS += -I/home/zzk/tools/hostapd_2/libnl-3.9.0/include/linux-private
LIBS += -L/home/zzk/tools/hostapd_2/libnl-3.9.0/_install/lib
CC=/home/zzk/gcc-20240318-arm-v01c02-linux-musleabi/arm-v01c02-linux-musleabi-gcc/bin/arm-v01c02-linux-musleabi-gcc
编译
sudo make
忽略提示找不到libnl-3.0,能够生成hostapd和hostapd_cli即可。
可以看出 hostapd这个工具空间很大,项目上不能用
在Makefile里
编译hostapd的地方加 -s编译参数
hostapd: $(OBJS)
$(Q)$(CC) $(LDFLAGS) -s -o hostapd $(OBJS) $(LIBS)
@$(E) " LD " $@
生成的 hostapd大小为
项目上应该能用