对于当前不在OpenWRT repository中的软件,如果是用源码形式发布的,那么可以用OpenWRT Buildroot进行交叉编译。

  • 首先编译好Buildroot(一般编译过一次固件,就已经编译好了)
  • 找到目录staging_dir/toolchain-architecture_gcc-complierver_uClibc-libcver/bin/
  • 把它加入到环境变量PATH:

PATH=$PATH(上面提到的目录)

export PATH

  • 把环境变量STAGING_DIR设置为上面提到的toolchain目录:

STAGING_DIR=toolchain目录

export STAGING_DIR

  • 设置编译设置中的一些参数,我这里用到的是修改makefile:

make CC=architecture-openwrt-linux-uclibc-gcc LD=architecture-openwrt-linux-uclibc-ld

  • 如果缺一些头文件或者库文件,那么需要修改CFLAGS和LDFLAGS,让它们指向staging_dir/target-architecture_uClibc-libcver/usr/include和.../usr/lib目录

编译单独的安装包

  • 首先make menuconfig,在里面选择好需编译的软件包和它依赖的库。
  • 然后make tools/install

make toolchain/install

  • 最后就可以编译需要的软件了:

make package/***/compile

make package/***/install

make package/***/index

这时就可以在bin目录下找到软件的安装包了。

(最后一个make index不知道是什么东西,不运行已经能在bin下找到.ipk了)

  这次主要是路由器又出问题了,于是重新编译了一下固件(TP720的),发现认证上不去网,于是尝试交叉编译xd-h3c,还是不行,然后编译了个tcpdump装到路由上,抓包,现象很诡异,好像路由器的处理器老化了一样,收到包后很久才回复。可能是驱动出 了问题?不知道。。最后等了很久就认证成功了。

  当时折腾得烦得很,差点一怒之下买个树莓派或者cubieboard,不想再忍受这种痛苦了。

  当穷学生就是惨,以后工作了应该能使劲折腾了。

  期间看了下8021.X协议。这个协议主要是用来认证的,单说以太网上面,它把一个物理端口划分为逻辑上的两个端口,其中一个用来认证,所有的认证包都能通过,另一个用来发送正常的数据包,但是只有当认证成功了的时候那个端口才开放。

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

  1. CentOS6 上OpenWRT交叉编译

    目的不是为了编译固件,而是为了一个是编译可执行文件,放倒op的路由器上跑,另一个目的是安装一些开源软件折腾下(例如ss-lib),需要打包成 .ipk 格式 路由设备信息 erya@ERYA:~$ c ...

  2. !!!!OpenWrt系列教程汇总

    OpenWrt FAQ https://dev.openwrt.org.cn/wiki/faqs OpenWrt编译教程 完全新手教程:openwrt编译全过程(sse) 直接编译出带中文的openw ...

  3. openwrt的交叉编译

    默认情况下,openwrt编译脚本会自动从Internet上获取所需要的软件包源代码,并把下载的源码包存放在当前目录的 dl/ 目录中:  在 build_dir/ 目录中存放编译中使用的软件包,   ...

  4. 交叉编译Node.js到OpenWrt(HG255D)

    操作系统:deepin linux 2013 或 ubuntu 13.04 1.安装交叉编译前.须要安装的包 sudo apt-get install build-essential subversi ...

  5. 交叉编译OpenWrt 定制固件

    在Centos7上交叉编译生成OpenWrt固件 安装ss-* 获取最新的ss, 当前是 wget https://github.com/shadowsocks/shadowsocks-libev/a ...

  6. 开发OpenWrt路由器上LuCI的模块

    [题外话] 学校里最近改造了校园网,要求必须用iNode验证,万幸的是路由器能刷OpenWrt,并且OpenWrt上有好多iNode认证的开源项目,比如njit8021xclient(以下简称njit ...

  7. OpenWRT学习笔记-1@WNDR3800

    很久以前买了一台二手wndr3800 放假了刷成op可以一耍.ar71xx,芯片还比较热门. 首先是刷机,准备使用OP CC 15.05 r46767,官方稳定版.把原装系统降级到1.0.0.16,就 ...

  8. 搭建自己的OpenWrt开发环境

    1.  安装环境Linux系统,如果在CentOS上操作,需安装如下依赖包:yum install binutils bzip2 gawk gcc gcc-c++ gettext makencurse ...

  9. openwrt 编译newifi 应用程序

    首先找交叉编译工具( toolchain ) Development Snapshots http://downloads.openwrt.org/snapshots/trunk/ 我需要的版本是 m ...

随机推荐

  1. php二分查找

    // 递归版本 function bin_sch($arr,$low,$high,$val) { if($low<$high){ $mid = intval(($low+$high)/2); i ...

  2. QTableView使用HTML显示富文本

    对于QTableView中的显示,我们前面介绍过很多种,其中包括:文本.进度条.复选框等,今天我们介绍一下关于富文本的显示. 可能绝大多数小伙伴会通过QAbstractTableModel中的data ...

  3. SQL Server 视图

    视图实际上就是一个存储查询,重点是是可以混合和匹配来自基本表(或者其他视图)的数据,从而创建在很多方面像另一个基表那样起作用的对象.可以创建一个简单的查询,仅仅从一个表中选择几列,而忽略其他列:或者也 ...

  4. 在javascript中使用com组件的方法

    转载自:  http://dhailin.blog.163.com/blog/static/230738322011128102043880/ 首先创建一个COM组件,插入一个双接口Itest,在此接 ...

  5. 二分求解 三角形 stl的应用 涉及范围的二分查找可以先求上界再算下界,结果即上界减下界

     二分 Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu   Description You ...

  6. noip2014总结

    noip总结 经过七周的停课,我们终于迎来了期盼已久的noip考试.在这一次的noip考试中,我们经历了很多,也收获了很多.当然这一次考试中也有很多值得总结的地方,特写此总结. 这一次考试考得还不错, ...

  7. XMPP通讯开发-仿QQ显示好友列表和用户组

    在 XMPP通讯开发-服务器好友获取以及监听状态变化   中我们获取服务器上的用户好友信息,然后结合XMPP通讯开发-好友获取界面设计    我们将两个合并起来,首先获取用户组,然后把用户组用List ...

  8. poj 2115 C Looooops(推公式+扩展欧几里得模板)

    Description A Compiler Mystery: We are given a C-language style for loop of type for (variable = A; ...

  9. Hibernate更新部分字段浅谈

    update语句是在Hibernate的Configuration的时候生成的,不能动态改变.为什么update的时候所有的属性都一起update,而不是只更新改变字段,其实这是一个比较值得探讨的问题 ...

  10. Lazy方式单列模式,一种线程安全模式的新选择

      public class WeProxyClient {         private static readonly Lazy<WeProxyClient> list = new ...