zoukankan      html  css  js  c++  java
  • OpenWRT交叉编译

    对于当前不在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协议。这个协议主要是用来认证的,单说以太网上面,它把一个物理端口划分为逻辑上的两个端口,其中一个用来认证,所有的认证包都能通过,另一个用来发送正常的数据包,但是只有当认证成功了的时候那个端口才开放。

  • 相关阅读:
    NRF24L01 使用小结/自动应答/通道地址
    nRF24L01单片机通信的总结--看了就会用了
    彻底搞懂状态机(一段式、两段式、三段式)
    面向硬件的设计思维--时钟是电路的实际控制者
    组合逻辑电路-----竞争与冒险现象
    Win7、Win8、Win10系统USB-Blaster驱动程序无法安装的解决办法
    从DTFT到DFS,从DFS到DFT,从DFT到FFT,从一维到二维
    离散傅里叶级数DFS几个主要的特性
    离散傅里叶级数DFS
    Ubuntu12.10下Python(cx_Oracle)访问Oracle解决方案
  • 原文地址:https://www.cnblogs.com/02xiaoma/p/4314592.html
Copyright © 2011-2022 走看看