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

第二十三期 基于hg255d的OpenWrt固件编译《路由器就是开发板》https://blog.csdn.net/aggresss/article/details/52752554    这一期来进行OpenWrt的编译,我们的最终目的是生成可以被U-Boot引导的OpenWrt固件,整个编译过程比较耗时,根据网络情况而定,我用了3个小时,编译磁盘要预留10G的存储空间。        编译步骤如下:gitgit://git.openwrt.org…

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

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

主要是这几项选择正确:
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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/37115.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注