首先安装git 代码用git检出的 还有一些依赖
centos的依赖安装
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
如果是ubuntu的话
apt-get 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
我在编译中经常会出现网络问题和缺少依赖 大家仔细看日志。
首先看官网github
https://github.com/openwrt-mirror/openwrt.git
在你的linux里创建一个目录
然后在那里执行
git clone https://github.com/openwrt-mirror/openwrt.git
把代码检出
然后进入到openwrt文件夹
按照官网的说明依次执行
首先把官网下载下来的openwrt目录下的feeds.conf.default改名字
mv feeds.conf.default feeds.conf
然后执行
./scripts/feeds update -a
./scripts/feeds install -a
注意 如果你在下面make menuconfig的时候发现少很多包就是上面这俩命令的问题 请检查你的网络是否通畅,必要时要翻墙
执行完后就该检查菜单了
make menuconfig
执行后
这里 基本上都是网上指定的根据你的硬件选择 由于我的是斐讯k2 所以就选择mt7620
下面配置一下界面的东西
luci里面就是界面的东西 当然如果你想集成其他的比如shadowvpn这类的(会在后面讲)得自己加入到openwrt的package里git clone就ok了 然后 就有选项了
下面是上面的具体步骤:
我们教程所采用的设备的CPU芯片是MT7620系列(MT7620A/N),下面就开始为MT7620系列的设备进行最基本的配置,步骤如下:
Target System (Atheros AR7xxx/AR9xxx) --->回车进入下翻后空格选择Ralink RT288x/RT3xxx然后再回车后退,这时编译目标就是: Target System (Ralink RT288x/RT3xxx) --->了。
Subtarget (RT3x5x/RT5350 based boards) --->回车进入下翻按空格选择(X) MT7620 based boards 然后回车后退,这时编译的子目标就是:Subtarget (MT7620 based boards) ---> 了。
LuCI ---> 回车进去 1. Collections ---> 再回车进去再空格选择第一个<*> luci(new),然后在Exit一路后退到主菜单。
到此配置完毕 保存退出就ok了
下面开始编译
执行命令 make -j1 V=99
第一次执行的时候用单线程 j1 就是指定线程 V=99 尽量的显示全的错误。
在我第一次编译的时候出现错误 上面写着set XX_XXX_XX=1这类的错误 那么启动编译改一下这样执行 把set改成export 因为是linux
export XX_XXX_XX=1 && make -j1 V=99这样编译
编译的时候会出现各种各样的问题 大家自己看怎么解决吧 编译的时候会下载一些g++这类的包 大家多注意吧 一般网络有问题的 得重试好几次 有可能翻墙
编译完成会在bin下面有你对应的型号的配置
下一章会讲怎么整合shadowvpn和其他包还有斐讯k2的编译方式 上面只编译官网的教程