• ubuntu12编译openwrt


    搭建编译环境

    Ubuntu x64 12.04下的命令:

    sudo apt-get install subversion
    sudo apt-get install git
    sudo apt-get install flex
    sudo apt-get install g++
    sudo apt-get install gawk
    sudo apt-get install zlib1g-dev
    sudo apt-get install libncurses5-dev

    当然,也可以将上面的命令合起来:

    sudo apt-get install subversion git flex g++ gawk zlib1g-dev libncurses5-dev

    建立工作目录及获取openwrt源码

    mkdir openwrt
    cd openwrt
    svn co svn://svn.openwrt.org/openwrt/trunk/

    trunk是openwrt的开发版,openwrt有好几个分支,要编译其它分支,sun://后的换为相应的地址即可。

    建立openwrt文件夹是为了方便存放不同分支的代码,如果你不需要,可以省略“mkdir openwrt”及“cd openwrt”。

    如果svn的速度慢,可以使用openwrt的第三方镜像,比如国内的openwrt中文论坛所建的镜像。

    更新feed及添加package

    openwrt的一些额外功能都是通过package实现的,很多个package就组成了一个feed,我们可以根据需求更新自己想要的feed的源。 例如我们需要luci的web管理界面和python的支持,那么我们需要更新luci和packages的feed源:

    cd trunk
    ./scripts/feeds update luci packages
    ./scripts/feeds install luci packages

    当然,我们推荐更新所有feed并添加所有package

    ./scripts/feeds update -a
    ./scripts/feeds install -a

    配置及编译

    进入配置界面

    make menuconfig

    以后再次编译时,要先切换到工作目录:

    cd openwrt
    cd trunk

    然后在次过程中选择好target system和target profile,target system需要看你路由器的cpu芯片信息,target profile是你路由器的型号。接下来就可以根据自己的需求进行定制了,添加上需要的支持或去掉无用的包,按“Y”在固件中添加包按“Y”,按“N”去 掉不需要的包。

    要运行OH3C,必须有python-mini(lang->python->python-mini)的支持。

    如果你的路由器flash空间比较紧张,可以去掉下面的包:

    • Kernel modules->Network Support->kmod-ppp
    • Network->ppp

    选好后就保存配置退出开始编译了:

    make -j

    -j 后面可以跟参数,即同时进行的任务数,比如2或4,不跟参数意为不限制同时进行的任务数,会大大减少编译的时间,特别是首次编译。

    编译过程中可能不会下载一些东西,所以断网可能造成编译中断,编译所需时间与你的CPU及网速有很大关系,一般首次编译在40分钟到2小时之间不等。以后的编译一般在30分钟之内。

    生成的固件在~/openwrt/trunk/bin/XXXXX目录下。

  • 相关阅读:
    “Clang” CFE Internals Manual---中文版---"Clang"C语言前端内部手册
    LLVM每日谈之十七 LLVM/Clang的学习的思考
    Using Clang as a Library----Choosing the Right Interface for Your Application---翻译
    IT人员必备技能之Over the Wall.
    离散傅立叶变换之听声音破解电话号码
    Google Summer of Code: C++ Modernizer Improvements----Monday, November 18, 2013
    Design: cpp11-migrate
    C++11 迁移器的状态--2013年4月15日
    购物系统③完结篇
    (转)Eclipse中junit框架的使用——单元测试
  • 原文地址:https://www.cnblogs.com/ruiy/p/wrt.html
Copyright © 2020-2023  润新知