本文转自:http://lanhome.com/?id=21
首先你需要安装一台ubuntu服务器版本的操作系统,你可以在群辉的Virtual Machine Manager上安装一台,或者是直接使用阿里云、谷歌云、腾讯云的Linux主机。
本文图示编译环境以群辉 Virtual Machine Manager 上安装使用ubuntu18.0为例。
一、先配置好lean大的固件编译环境(本文假设你能访问github.com)
1、登陆ubuntu18.0
2、使用lean大傻瓜化的“复读机”模式,复制粘贴所有的预制命令
https://github.com/coolsnowwolf/lede
这里有详细的说明,我把实际的步骤写下来,同学们可以参考。
输入sudo apt-get update
,会提示你输入当前用户的密码,输入回车以后,系统就会自动更新。
输入sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler
对,就是以上所有代码区域的命令输入到PuTTY里。
输入git clone
https://github.com/coolsnowwolf/lede
,ok,你可以下载到最新版本的OpenWrt固件。
再输入cd lede
,进入刚刚下载好的文件夹。
好,至此,编译过程告一段落。
2、我们要拼接上Lienol先生 的PassWall和tty228先生的Serverchan
先使用WinSCP登陆到我们的Ubuntu服务器
请下载刚才复制的lede文件夹里的一个叫做“feeds.conf.default”的文件到本地电脑
使用记事本打开以后,另起一行复制
src-git lienol https://github.com/Lienol/openwrt-package
这句话的功能是在接下来的更新和安装feed的时候,可以调用SRC源 Lienol先生 的Package包, Lienol先生自主开发的PassWall具有非常好的性能,强烈推荐使用。
然后就可以执行lean大页面接下来的命令了。
这里要注意,如果你是第二次编译,最好使用make clean命令和 ./scripts/feeds clean命令清除一些障碍,如果是全新安装就无须clean。
clean完以后,就可以输入以下命令./scripts/feeds update -a
因为 Lienol 的Package包 和lean大的部分 Package包 冲突,所以不好意思,要删掉 Lienol 的部分Package包 。
rm -rf feeds/lienol/lienol/ipt2socks
rm -rf feeds/lienol/lienol/sr-libev
rm -rf feeds/lienol/lienol/pdnsd-alt
rm -rf feeds/lienol/package/verysync
rm -rf feeds/lienol/lienol/luci-app-verysync
以上命令直接复制按回车确认即可。
下面我们运行新命令./scripts/feeds install -a
至此,我们已经把 Lienol先生的PassWall加载到了lean大的lede编译文件里了。
下面我们来加载tty228先生的Serverchan。serverchan是一款非常实用的服务器状态监控软件,可以支持微信推送。
我们先要使用Linux的CD命令,进入到lean的package压缩包,或者lede的package压缩包。 lean固件目录为~/lede/package/lean而openwrt的目录为~/openwrt/lede/package 。这里我以进入lean固件的package目录为例:
在这里我要加载 tty228先生的Serverchan,请输入以下命令
git clone https://github.com/tty228/luci-app-serverchan.git
回车确认,这样serverchan的编译包就加载进来了。至此,我们的基础编译素材全部加载好了,就可以快乐的进入编译过程了。
3、重头戏,如何配置make menuconfig?使用make -j1 V=s来编译
接下来,我们就要使用make menuconfig
命令进入编译环境配置工具界面了。回到lede目录,输入 make menuconfig
命令。
关于 OpenWrt Configuration 有大量的官方文档可以参考。这里我就以我惯常使用的配置和大伙说一下,如果你没有特别的要求,尽量别去动它。
因为我是X86类型的软路由,所以我就默认不动第一项X86。
下面我要配置IPV6,因为我的部分使用环境需要IPV6,所以必须在软路由里配置好IPV6。经过笔者大量的阅读OpenWrt文档(全英文且生涩难懂),再加上大量的配置实践,终于知晓了IPV6配置的窍门。
选上extra packages——ipv6helper
在 Network – Firewall – ip6tables 下启用 ip6tables-extra 和 ip6tables-mod-nat 项。
接下来我们就可以配置丰富的LUCI-APP功能了。
进入LuCI-Applications,参考以下图示勾选上你要的APP
就可以使用make -j1 V=s
注意V要大写。祝好运,一般初次编译需要6个小时,全局带代理服务器。
以后的编辑就简单了,你可以使用git pull获得更新,然后再次编译,线程可以加大,比如make -j99 V=s,速度会加快。