Openwrt编译(centos7 openwrt17.0)

最近因为某些原因,需要使用Openwrt和SS。

于是就开始了各种入坑之路。

首先是Openwrt的编译。

网上的教程许多都已经过时了,最新的openwrt和lede似乎有合并的迹象,目前的版本是17.0.X

在此记录一下自己的编译心得。

我用的环境是centos7.

基本上其他发行版的linux操作都差不多。

都是安装基础环境-》GIT openwrt的交叉变异工具-》install各种源码-》make编译。

一、安装各种基础编译组建
yum install asciidoc autoconf binutils bison build-essential bzip2 flex gawk gettext git libncurses5-dev libssl-dev libxml-parser-perl libz-dev patch quilt subversion uglifyjs unzip xsltproc zlib1g-dev

如果后面编译的时候提示缺少XX组件,请按照提示找。。。具体是什么组件我忘了。如果是其他发行版的linux,有的组件名字可能不一致,具体请baidu或者google。

二、git各种源码
从此处开始,请不要使用root账号操作!!!
从此处开始,请不要使用root账号操作!!!
从此处开始,请不要使用root账号操作!!!

不然会有各种神奇的问题。。。

新建openwrt文件夹:mkdir openwrt
进入openwrt目录 cd openwrt

git源代码:git clone git://github.com/openwrt/openwrt.git

此时会开始下载git环境并下载基础的代码,具体源码还不会下载到本地,因此本命令速度较快,直到后面make时候才会在线下载。

三、修改feed.conf文件
这个文件里面记录了feed各个组件的git地址,里面有个oldpackage的git,请把前面的#注释取消掉,不然很多功能组件你会发现在编译的时候找不到。

四、编译
第一次编译需要配置编译的选项:make menuconfig
会调用配置菜单-》选择你路由的CPU类型-》型号,以及需要的各种功能。。。

此处空格键为选中,*为编译进固件,M为编译成ipk但是不集成进固件之中。

最后用make V=99编译。 V=99表示显示详情,如果出错可以在这里看到出错的信息。

由于第一次编译会在网络下载各种tar源码文件,而大多数文件都是在国外的站点,因此下载很慢甚至下载失败都会导致编译失败。

解决方法1:ss出去,然后下载相关的源码。
2.找国内的镜像点,下载相应的tar放入openwrt/dl文件夹下

反正我第一次拿服务器的配置来编译,花了大概一个小时左右。

五、后记
如果编译成功,第二次编译相对速度就会比较快。

编译好的固件位于openwrt/bin/targets/目录下,该目录下还会有CPU下型号的文件夹,如bin/targets/ramips/mt7620/openwrt-ramips-mt7620-zbt-wr8305rt-squashfs-sysupgrade.bin

最后的bin就是固件啦,刷入你的路由器就行了。

你可能感兴趣的:(Openwrt编译(centos7 openwrt17.0))