本文主要记录在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 “

wifidog交叉编译的更多相关文章

  1. wifidog 移植到MIPS平台

    使用的是一款Broadcom的芯片,现在上面运行wifidog实现认证上网的功能.由于不是openwrt平台,所以就没了make menuconfig 勾选就能自动编译到版本中的.所以想使用交叉编译的 ...

  2. Linux主机上使用交叉编译移植u-boot到树莓派

    0环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS: Debian Jes ...

  3. Ubuntu 16.04 安装 arm-linux-gcc 嵌入式交叉编译环境 问题汇总

    闲扯: 实习了将近半年一直在做硬件以及底层的驱动,最近要找工作了发现了对linux普遍要求很高,而且工作岗位也非常多,所以最近一些时间在时不时地接触linux. 正文:(我一时兴起开始写博客,准备不充 ...

  4. Linux 14.04lts 环境下搭建交叉编译环境arm-linux-gcc-4.5.1

    交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码,在该环境下编译出嵌入式Linux系统所需要的操作系统.应用程序等,然后再上传到目标板上. 首 先要明确gcc 和arm-linux- ...

  5. Linux主机上实现树莓派的交叉编译及文件传输,远程登陆

    0.环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS:官网下的的raspb ...

  6. FFmpeg和X264的交叉编译环境

    在下载好了FFmpeg和X264的源码包之后,在Linux下进行安装的基本流程就是切换到其源码的根目录,然后以此执行以下命令.基本上所有的开源源码包的默认编译安装都是这三步. ./configure ...

  7. Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)

    Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程) 声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级 ...

  8. Ubuntu 树莓派2b交叉编译环境

    在一个平台上生成另一个平台上的可执行代码.为什么要大费周折的进行交叉编译呢?一句话:不得已而为之.有时是因为目的平台上不允许或不能够安装所需要的编译器,而又需要这个编译器的某些特征:有时是因为目的平台 ...

  9. Ubuntu实现树莓派交叉编译

    一.交叉编译 在一个平台上生成另一个平台上的可执行代码.为什么要大费周折的进行交叉编译呢?一句话:不得已而为之.有时是因为目的平台上不允许或不能够安装所需要的编译器,而又需要这个编译器的某些特征:有时 ...

随机推荐

  1. 日常训练赛 Problem C – Complete Naebbirac’s sequence

    比赛链接https://vjudge.net/contest/256988#status/17111202012/C/0/ 大意:三个操作,使得输入的数中,从1-n,每一个数出现的次数相同. wa代码 ...

  2. MapReduce--shuffle

    一.Shuffle简介 Shuffle的正常意思是洗牌或弄乱,shuffle的大致范围就是把map task的输出结果有效的传送到Reduce端.也可以这样理解,shuffle描述着数据从map ta ...

  3. inux系统用户名和全名有什么区别

    问:linux系统安装完毕,进入系统,创建用户的时候,要填入用户名和全名,请问用户名和全名有什么区别,登录的时候,是用户名还是全名? ================================= ...

  4. 用代码截图去理解MVC原理

    [概述] 看了蒋金楠先生的<Asp.Net Mvc框架揭密>,这本书详细地讲解了mvc的原理,很深奥也很复杂,看了几遍才将就明白了一点.他在第一章用了一个他自己写的mvc框架作为例子,代码 ...

  5. SPListItem.UpdateOverwriteVersion()真的不会创建新版本吗?

    根据msdn文档, SPListItem.UpdateOverwriteVersion(): Updates the item without creating another version of ...

  6. springboot:mybatis多数据源配置

    1.application.properties #CMS数据源(主库) spring.datasource.cms.driver-class-name=com.mysql.jdbc.Driver s ...

  7. 原生js实现ajax跨域(兼容IE8,IE9)

    html设置meta标签兼容360兼容模式和IE怪异模式 <meta http-equiv="X-UA-Compatible" content="IE=9;IE=8 ...

  8. 执行了‘“npm install mysql"

    http是核心模块,封装到安装包里面了,如果在你项目的当前目录下<code>npm install mysql<code>的话就会在你当前目录下的node_modules文件夹 ...

  9. android之ExpandableListView 无法展开

    1.Button 对,没错,就是这个button组件,不知道出现都少次过问题,很多都是它造成的! 最常见的问题:ExpandableListView无法展开,OnItemClickListener不响 ...

  10. 《JavaScript 高级程序设计》第一章:简介

    JavaScript 历史 JavaScript的诞生的主要是当时的 netspace 公司谋求为自己的浏览器 Navigator 添加一种脚本语言,以便在本地客户端进行一些行为操作,而这一功能的需求 ...