月下博客

小白也会!Lean OpenWrt/Lede 固件编译教程 可路由器SSR Plus+(SS/SSR/V2Ray/Trojan)

 

 

 

关于OpenWrt/Lede固件编译

在介绍固件编译流程前,我们先介绍一些基础内容,以方便部分初级用户。

1.路由器固件

路由器的固件,相当于路由器上运行的系统。一般来说,路由器的出厂固件,相对比较稳定,但是在功能上会有所欠缺。比如你想要在官方固件下实现科学上网功能,基本是不可能实现的。

而OpenWrt/Lede则属于第三方开发的路由器固件,开源,基于Linux。相对官方固件来说,OpenWrt/Lede更加的开放,可以选装各种第三方插件,实现更多功能。

 

2.OpenWrt/Lede的特点

优点:

不足:

 

3.Lean OpenWrt/Lede的特点

Lean的OpenWrt/Lede,是在OpenWrt/Lede官方源码的基础上,额外添加多个常用插件,功能可选,基本解决了OpenWrt/Lede官方原版固件的不足。

优点:

不足:

 

4.编译Lean的固件难度大吗?

编译,只是路由器固件成品前的最后一步。相当于在生产线上,各种原材料已经为你准备好了,你要做的,就是根据几个操作指令,让机器将原材料组装为成品。

因此,编译OpenWrt/Lede固件,并不需要太多的编程基础。也就是说难度并不大,但需要一定的耐心。

具体编译过程我们下面会详细介绍,争取让初级用户也能看懂会操作。

 

编译环境要求

建议在搭建编译环境时,参考以下要求,以提高编译成功率。

1.硬件环境:

编译过程比较消耗CPU和内存,另外对硬盘空间也有一定要求。

建议:

 

2.系统环境:

编译固件需要在Linux系统下进行,作者推荐的是Ubuntu 18.04。

如果你暂时没有这个系统,那么有两种方法供参考:

为什么不推荐本地设备上安装Ubuntu呢,因为网络环境问题,下面具体解释。

 

3.网络环境:

在OpenWrt/Lede固件编译过程中,需要下载很多依赖,其中大部分资源都在国外服务器。

在国内网络环境下,下载速度会非常慢,甚至部分资源会下载失败,可能会造成两种后果:

 

那如果挂代理编译呢,这种方法也不推荐,因为这样只能避免下载失败,但是下载速度仍然得不到保证,编译时间可能被大幅拖长。

 

综合以上几点,还是推荐在国外VPS服务器上完成编译,下载速度轻松达到几十MB/s。

符合以上要求的VPS服务器太贵?放心,我们下面介绍的方法,可以让你在最低成本下,使用符合要求的VPS完成编译。

 

编译环境的搭建

根据上文的要求,我们需要一台较高配置的国外VPS服务器。但是在完成编译任务后,就没有使用需求了。

这种情况下,年付的VPS是不现实的,价格太贵。

而Vultr的按时计费规则,恰好可以满足我们的要求,可以临时购买一台高配置VPS,使用完成后销毁即可停止计费。

 

Vultr VPS服务器的选择:

1.进入Vultr官方网站:https://www.vultr.com,登录Vultr账号。

如果你还没有Vultr账号,建议先完成账号注册和充值,具体可以参考:Vultr VPS服务器购买及使用教程 可支付宝哦

 

2.登录Vultr后,点击界面中的+号,进入VPS购买界面。

 

3.在选择配置时,建议选择High frequency(高频)系列,编译速度更快。

 

4.地区可以选Los Angeles(洛杉矶),系统选Ubuntu 18.04,硬件配置可以选 双核4G内存。

关于价格:

Vultr是按小时计费,以下图的$24/月为例,如果你在8个小时内完成编译后销毁,那么所需费用大概在0.3左右,非常便宜了。

 

5.其它各项可以不填,点击Deploy Now按钮就可以创建服务器了。

 

6.稍等几分钟,服务器创建完成后,建议先为服务器安装BBR,以提高编译过程中的网络稳定性:

BBR一键安装脚本

 

编译前最后一步:创建非root用户。

Lean固件源码作者,要求使用非root用户进行编译。但是默认情况下,Vultr提供的是root用户。

这样我们就需要在编译前,为服务器创建一个新的用户,下面以创建名称为free的用户为例。

具体步骤:

1.先以root用户使用Putty登录,右键复制以下命令运行,创建用户free:

 

2.设置新用户密码,注意设置时密码不显示:

 

3.修改用户权限文件sudoers为可写:

 

4.用Winscp打开/etc/sudoers文件,找到如下位置:

 

在以上内容的下面一行,添加如下代码后保存:

 

5.修改sudoers文件权限为只读:在Winscp中右键点击sudoers文件——属性,去掉W权限前的对勾。

 

Lean OpenWrt/Lede 固件编译流程

建议避开晚上网络高峰期,以避免中途掉线,提高编译成功率。

注意:

Lean源码在最近的更新后,默认去除了ssr plus+模块,如果你想要重新添加这一模块,建议提前参考:

解决Lean固件源码编译时找不到luci-app-ssr-plus的问题 重新添加ssr plus+

 

具体编译流程:

1.使用Putty以刚才创建的free用户登录VPS,右键复制以下命令运行:

 

2.运行以下命令安装部分编译依赖:

 

3.运行如下命令将Lean的源码下载至服务器:

 

4.依次运行如下命令开始配置编译参数:

 

5.出现下图界面时,就可以对路由器固件进行功能定制了。依次选好最上面的三项,找到自己的路由器型号。

 

其中:

如果你不清楚自己路由器的CPU品牌、架构、型号等信息,那么可以进入以下文章链接,按Ctrl+F5,根据路由器型号进行反查。

哪些路由器支持刷OpenWrt/LEDE固件实现科学上网?品牌型号及CPU架构查询列表

 

按键指南:

 

6.选好路由器型号后,其它各项目都已经随之调整好。

额外调整(可选):

IPv6支持:进入Extra packages项目,使用方向键选中ipv6helper,按y键添加功能。
U盘/移动硬盘支持:如果你的路由器有USB接口,建议选中并添加automount和autosamba功能。

 

在路由器flash足够的情况下,其它像Adbyby Plus+、ShadowsocksR Plus+等,都是默认集成的。

 

 

7.以上选择完成后,就可以保存配置,然后退出参数配置界面

如何保存配置:

键盘右键选中菜单中的Save,按回车键进入保存界面。在下图界面中,直接按回车键保存:

 

出现下图界面后,回车退出:

 

最后一路Exit退出配置界面。

 

 

8.完全退出配置界面后,运行以下命令下载dl库

 

9.运行以下命令开始编译。

注意:

  1. 首次编译耗时较长,可能需要2-5个小时耐心等待。首次编译成功后,再次编译的时间会大幅缩短。
  2. 以上命令中的-j1,表示单线程编译,目的是为了万一出现错误时,可以按顺序查看错误提示,找出问题所在。如果多线程编译的话,错误提示可能是乱序的。
  3. 如果你对编译效率要求较高,可以修改参数提高线程数,比如双核CPU改为-j2。

 

10.最后编译成功后,会出现下图提示。编译成功后的固件,位于/home/free/lede/bin/targets,我们一般选择名称中带有factory的固件下载使用。

 

路由器固件刷写成功后,默认配置如下:

 

编译失败报错怎么办

在进行固件编译时,有一定机率会报错,同时编译会提前中止,也就是编译失败。

如果出现这种情况,建议查看编译中止时的报错信息(error)。

看下报错信息与哪个组件有关,找到后重新配置编译参数,暂时去除这个组件再尝试进行编译。

 

 

如何重新配置参数、添加/删除插件,进行个性化定制

我们上文提到过,首次编译时,建议不要修改默认配置,以提高编译成功率。

首次编译成功后,我们就可以再次修改配置,根据自己的需要,添加或删除部分插件。

注意:

可选插件的多少,与你的路由器闪存大小相关,请在默认配置的基础上,有限添加插件,否则可能会造成编译生成的固件太大,无法成功刷入路由器。

 

具体步骤:

1.删除原配置:

 

2.重新配置参数:

 

3.在配置界面选好路由器型号后,进入Luci项目下的Applications,选择需要添加的插件,按y添加,或者选中不需要的插件,按n删除。

配置完成后保存,退出配置界面。

 

4.开始二次编译,第二次编译速度很快,可能十几分钟就可以完成。

 

 

如何更新源码,进行二次编译

在OpenWrt/Lede固件编译完成后,如果你觉得在一段时间之后,可能还需要根据最新源码进行二次编译。

那么低成本二次编译流程:

1.将当前系统做一个快照(Snapshots),并记住当前用户密码,以备下次直接使用,具体可以参考:Vultr VPS服务器购买及使用教程 可支付宝哦

2.销毁当前服务器,以停止计费。

3.在下次需要编译时,重新创建Vultr服务器,记得选择创建好的快照进行恢复。

4.使用原free用户名和密码登录,依次运行以下命令更新源码,并开始编译:

 

以上采用恢复快照的方式,可以省去首次编译的大量时间消耗,快速完成二次编译,同时节省成本花销。