https://blog.csdn.net/aggresss/article/details/52752554

这一期来进行OpenWrt的编译,我们的最终目的是生成可以被U-Boot引导的OpenWrt固件,整个编译过程比较耗时,根据网络情况而定,我用了3个小时,编译磁盘要预留10G的存储空间。
        编译步骤如下:
git git://git.openwrt.org/15.05/openwrt.git
./scripts/feeds update -a
./scripts/feeds install -a
make defconfig
make prereq
make menuconfig

主要是这几项选择正确:
Target System (Ralink RT288x/RT3xxx)  --->
Subtarget (RT3x5x/RT5350 based boards)  --->
Target Profile (HuaWei HG255D)  --->
再把这三个选项选中,这个是在bin目录下生成ImageBuilder,Toolchain和SDK工具包:
[*] Build the OpenWrt Image Builder                                                            
[*] Build the OpenWrt SDK                                                                            
[*] Build the OpenWrt based Toolchain   
进行编译之前还要修改一个Makefile文件
vim target/linux/ramips/image/Makefile
在文件内搜索"hg255d",我这里是538行和733行,将这两行的行首注释"#"去掉,保存退出,否则无法生成适用于hg255d的编译文件。之所以这样估计是OpenWrt官方支持hg255d硬件后,发现了不稳定因素暂时屏蔽了hg255d固件文件的输出。
然后执行:
make -j1 V=99
        接下来就是漫长的等待,如果系统链接库完整并且网络畅通,可能一次就能编译成功,如果出现error而终止,就要多查看错误信息,判断系统缺少什么文件,然后安装,我这里介绍一个诊断的方法,比如我在编译时提示找不到evp.h文件而终止编译,对于Ubuntu系统可以使用apt-file工具,如果你没有安装就可以使用 sudo apt-get install apt-file 来安装,安装成功后使用apt-file update 来更新源信息,上面步骤都成功后使用 apt-file search evp.h 输出以下信息:
aggresss@AGGAWE:~$ apt-file search evp.h
gnu-efi: /usr/include/efi/efidevp.h
gsoap: /usr/share/gsoap/plugin/md5evp.h
gsoap: /usr/share/gsoap/plugin/mecevp.h
gsoap: /usr/share/gsoap/plugin/smdevp.h
gsoap-doc: /usr/share/doc/gsoap-doc/wsse/html/mecevp.html
gsoap-doc: /usr/share/doc/gsoap-doc/wsse/html/smdevp.html
heimdal-multidev: /usr/include/heimdal/hcrypto/evp.h
libssl-dev: /usr/include/openssl/evp.h
libwolfssl-dev: /usr/include/cyassl/openssl/evp.h
libwolfssl-dev: /usr/include/wolfssl/openssl/evp.h
libxmlsec1-dev: /usr/include/xmlsec1/xmlsec/openssl/evp.h
libxmlsec1-dev: /usr/share/doc/libxmlsec1-dev/html/api/xmlsec-openssl-evp.html
aggresss@AGGAWE:~$ 
        观察后发现libssl中包含我们需要的文件,这是问题就变得简单了使用 sudo apt-get install libssl 安装成功后重新编译就能解决问题。
        如果编译成功,就会在bin\ramips目录下出现 openwrt-ramips-rt305x-hg255d-squashfs-sysupgrade.bin 文件。用这个文件就可以启动OpenWrt系统。
        在bin\ramips目录下还有这三个文件,他们分别是ImagenBuilder,SDK和Toolchain的压缩包,我们在以后的定制开发中会用到:
OpenWrt-ImageBuilder-ramips-rt305x.Linux-i686.tar.bz2
OpenWrt-SDK-ramips-rt305x_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686.tar.bz2
OpenWrt-Toolchain-ramips-rt305x_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-i686.tar.bz2
        有三种方法编译openwrt定制固件。
1. 用ImageBuilder编译,用于灵活选择package。毕竟压缩的只读文件系统squashfs比可写的JFFS能省不少地方,可以用来把玩更多的package。
2. 用SDK编译,用于编译package仓库中没有的软件包,另外其中有配套的内核源码及头文件,编译缺失的内核模块也很方便。
3. 从源码编译,因为要重新编译cross-compile toolchians,下载最内核和软件包的源码编译,导致这个过程比较耗时,用于上述两种情况搞不定的情况。

----------------------------------

SDK下载地址:   https://github.com/aggresss/RFDemo

第二十三期 基于hg255d的OpenWrt固件编译《路由器就是开发板》相关推荐

  1. 第十九期 基于HG255d_U-Boot的uIP移植《路由器就是开发板》

    前面三期我们大略了解了U-Boot的三个常用功能,串口调试输入输出,flash操作,和网络连接,这一期我们来进行U-Boot的改造,我们改造的主题是优化U-Boot的网络功能,我们最终的目的是优化U- ...

  2. 【悟空云课堂】第二十三期:对XML外部实体引用的不当限制(CWE-611 :Improper Restriction of XML External Entity Reference)

    关注公众号"中科天齐软件安全中心"(id:woocoom),一起涨知识! 该栏目为中科天齐全新规划的悟空云课堂,每周五下午18:00准时上线,旨在科普软件安全相关知识,助力企业有效 ...

  3. 基于树莓派运行OpenWrt固件

    OpenWrt是应用广泛的路由器固件,在OpenWrt的官方网站上,提供了众多路由器的固件版本供下载,其中也有支持树莓派的版本,话不多说,直接下载来玩一玩. 1. 固件下载 登录OpenWrt官方网站 ...

  4. 第二十三期:2015P2P还会独领风骚吗?

    第二十三期:2015P2P还会独领风骚吗? 录制时间:1月9日16:00 嘉宾到达时间:1月9日15:45 主持人:张璐 录棚地点:深圳市福田保税区槟榔道一号,吉虹研发大楼A楼,健康卫视5楼1号大演播 ...

  5. 第二十五期 总结《路由器就是开发板》

    在读<人人都是产品经理>这本书时,我最大的收获就是:不光要低头拉车,还要抬头看路.研究技术为了一个问题不吃不睡是经常的,但为了一个超出个人挑战能力的问题浪费时间而影响到团队的进度是万万不可 ...

  6. OpenWrt固件编译

    OpenWrt固件编译 编译OpenWrt需要Linux环境或mac环境,不支持Windows,如果要在Windows上开发,那么肯定是要装虚拟机的.(根据云隐技术7688开发板) 若不想折腾,下载虚 ...

  7. 第二期 开发板选型 《路由器就是开发板》

            首先说明一下我为什么要用路由器作开发板.         第一,路由器是一件成熟的商品,它经历了厂商和消费者的考验,其设计肯定是相对成熟的,我们用它作开发板是在这个路由器经历了完整的产 ...

  8. 第十期 路由器调试之HelloWorld 《路由器就是开发板》

            前面几期都是在做准备工作,这一期我们开始实际操作.很多教程的开始都喜欢用HelloWorld来先做个演示,我也不例外,在硬件开发板教程里流水灯就是一种HelloWorld,程序简单,只 ...

  9. OSChina 技术周刊第二十三期 —— 每周技术精粹

    2019独角兽企业重金招聘Python工程师标准>>> 每周技术抢先看,总有你想要的! 移动开发 [软件]Android 调试工具 Stetho 前端开发 [翻译]25 个超棒的 H ...

  10. x86 openwrt固件编译

    2017年十月四日我在珠海,中秋之际写下这篇文章,祝各位看官花好月圆,有情人终成眷属. 最近一直在玩Openwrt,以前上学的时候接触一丁丁,但是只限于烧写别人编译好的固件,这次要真刀实干了,学习了一 ...

最新文章

  1. 博士生起诉学校,因核心期刊发文数不够申请学位被拒,一审判决胜诉!
  2. 高放的python学习笔记之基本语法
  3. notnull注解_参数校验注解Validated和Valid的区别,这次终于有人说清楚了
  4. Struts1.2+Spring2.5+Hibernate3.2框架搭建(十三)
  5. 导线平差5800全能程序
  6. 驱动精灵w8ndows xp sp2,独家率先支持Win8 驱动精灵2011 SP2发布
  7. 【转录调控网络】基因转录调控网络——转录因子调控网络分析
  8. action、gitter
  9. C#体贴之处点滴 - extention method, lambda expression, anonymous method
  10. 计算机cpu的主频参数,电脑CPU的参数怎么看?原来这么简单!
  11. JDK环境配置和eclipse安装
  12. 网中人《shell十三问》简体版整理
  13. 计算机考研零基础英语怎么复习,英语零基础怎么考研 上岸学姐来教你
  14. husky gazebo
  15. NI Package Manage软件的一些问题
  16. 16QAM调制解调仿真(matlab,详细介绍仿真方案的设计、结果及结论、完整代码及注释)
  17. 【JAVA程序设计】(C00043)基于SSM非maven的人事管理系统
  18. html-js-css素材网站
  19. 离职前他分享了阿里的核心面试题库
  20. sketch格式的交互设计师UI设计师作品集模板

热门文章

  1. OpenSSL密码库算法笔记——第0章 大整数的表示及相关函数
  2. 小宇java_小马哥的 Java 项目实战营
  3. Linux内核探索之路——关于书
  4. 163editor 网页编辑器 获值
  5. 《学术小白的学习之路 02》情感分析02 之基于大连理工情感词典的情感分析和情绪计算
  6. JavaEE学习总结(十四)— 人工智能微博
  7. c语言学习宝典怎么样,C语言学习宝典
  8. 离散数学第一章(知识点总结)
  9. 海量数据存储 - 性能瓶颈 - 解决方案
  10. 华为设备配置IGMP基本功能