大家好,又见面了,我是全栈君。
本文主要记录在linux平台下。交叉编译wifidog并在openwrt平台上执行的过程。主要是针对wifidog源代码被改动后。
不得不亲自进行交叉编译移植的时候,所碰到的一些问题。
(1)下载源代码
这个能够到wifidog官方下载。
(2)交叉编译环境
这个须要提前准备好。也不多说了
(3)解压。并进入代码文件夹
执行./autogen.sh
可能会报错:libtoolize: command not found
这个须要安装一下依赖的工具包:apt-get install libtool
(4)然后执行./configure
./configure –host=mips-openwrt-linux –prefix=$PWD/install
host參数指定的是目的平台,普通情况下。设定了host之后,makefile中的编译器会自己主动调整为host平台的编译器
prefix參数是指执行make install 之后。程序安装的路径。
安装在源代码文件夹的install文件夹内,是为了不污染主机的环境。
(5)然后把install文件夹中的文件,都复制到目的平台(我这里是openwrt)
可是临时是无法启动wifidog的。由于还没有配置文件。能够在源代码文件夹找到,复制到目标平台的 /etc/wifidog.conf
详细的配置,请自行google
(6)这里提一点,假设是能够直接安装wifiedog的,就直接在线安装吧,不要折腾。
我是不得不改动wifidog 的源代码,添加接口。才自行交叉编译的。
假设像我情况一样的话,建议先在线安装wifidog,然后交叉编译完之后把原来安装的wifidog替换掉就好了。
这样子能够省了一些写启动脚本之类的工作。
(7)当然。移植过程中还会遇到其他问题。比如
Reading configuration file ‘/home/mint/workspace/my-wifidog/wifidog-gateway/install/etc/wifidog.conf’
Could not open configuration file ‘/home/mint/workspace/my-wifidog/wifidog-gateway/install/etc/wifidog.conf’
这里报错是由于,默认把安装路径install以下的/etc作为默认配置文件的文件夹。须要在wifidog启动的时候指定一下。
在openwrt平台上。wifidog启动的脚本是/usr/bin/wifidog-init
在option那里添加一个 參数 ” -c /etc/wifidog.conf “
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115228.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...