之前我们介绍过Lean Openwrt/Lede路由器固件源码的编译过程,具体可以参考:小白也会!Lean OpenWrt/Lede 固件编译教程
Lienol的Openwrt固件源码,则是在Lean源码的基础上,进行了一系列修改和定制。两套源码整体上比较相似,主要的区别在于:
- Lean源码可选SSR Plus+,作为Shadowsocks/SSR/V2Ray/Trojan等工具的客户端,实现路由器科学上网。
- Lienol源码可选Passwall,作为Shadowsocks/SSR/V2Ray/Trojan等工具的客户端,实现路由器科学上网。
下面我们介绍下Lienol源码的编译过程。
编译前的准备工作
在编译Openwrt固件前,我们需要提前做一些准备工作。
1.在Vultr搭建一台高频率VPS服务器,安装Ubuntu 18.04系统,作为编译路由器固件的环境,原因见下文。
Vultr官方网站:https://www.vultr.com
Vultr购买和使用教程:Vultr VPS服务器购买及使用教程 可支付宝哦
2.在Ubuntu系统中创建非root用户,并使用新用户登录进行编译过程。
以上两条要求的原因,以及具体实施过程,可以点此进入Lean固件编译教程,参考文章中的以下部分:
- 编译环境要求
- 编译环境的搭建
- 编译前最后一步:创建非root用户。(下文以新用户名为free为例,进行介绍)
Lienol 路由器固件编译教程
Lienol源码在最近的更新后,删除了原有的Passwall模块。根据一些网友的反馈,下文会提供解决方法,在固件中重新添加Passwall。
具体编译流程:
1.使用Putty,以刚才创建的free用户登录VPS,右键复制以下命令运行:
1
|
sudo apt-get update
|
2.运行以下命令安装所需依赖:
1
|
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3.5 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 g++-multilib antlr3 gperf
|
3.下载Lienol源码:
1
|
git clone -b dev-19.07 https://github.com/Lienol/openwrt
|
4.修改配置文件,重新添加Passwall。
具体方法:
用Winscp打开/home/free/openwrt/feeds.conf.default文件,另起一行添加如下参数后保存:
1
|
src-git laohu https://github.com/huchanghui123/Lienol-openwrt-packages-backup
|
5.用Putty依次运行如下命令更新feeds:
1
2
3
|
cd /home/free/openwrt
./scripts/feeds clean
./scripts/feeds update -a && ./scripts/feeds install -a
|
6.运行如下命令,开始配置编译参数:
1
|
make menuconfig
|
7.在编译参数配置界面,首先选择你的路由器型号,其中:
- Target System:可以选择路由器的CPU品牌、架构等信息。
- Subtarget:进一步精确选择,一般可以精确到CPU型号(部分路由器可能不显示此项)。
- Target Profile:可以选择具体的路由器型号。
如果你不清楚自己路由器的CPU品牌、架构、型号等信息,那么可以进入以下文章链接,按Ctrl+F5,根据路由器型号进行反查。
哪些路由器支持刷OpenWrt/LEDE固件实现科学上网?品牌型号及CPU架构查询列表
8.选好路由器型号后,进入Luci——Application菜单项,即可找到luci-app-passwall。
如果你需要安装passwall,那么上下键移动选中此项,按Y键即可添加。
9.如果你需要对passwall进行更详细的设置,那么可以进入Configuration项,添加或删除部分功能:
Pallwall可选功能如下:
- ipt2socks
- Shadowsocks Redir(ss-redir)
- ShadowsocksR Redir(ssr-redir)
- Shadowsocks Socks(ss-local)
- ShadowsocksR Socks(ssr-local)
- V2ray
- Trojan
- Brook
- kcptun
- haproxy
- ChinaDNS-NG
- pdnsd
- dns2socks
- v2ray-plugin(Shadowsocks plugin)
- simple-obfs(Shadowsocks plugin)
10.各项功能设置完毕后,左右键选择save并回车保存设置,保存过程中一路OK回车即可。
11.保存完毕后,左右键选择exit并回车,一路退出配置界面。
12.运行以下命令下载dl库:
1
|
make -j8 download v=s
|
13.运行以下命令开始编译固件,第一次编译可能耗时较长,耐心等待2—3个小时。
1
|
make -j1 V=s
|
常见问题
1.编译成功后的固件,位于/home/free/openwrt/bin/targets/你的CPU架构/,我们一般选择名称中带有factory的固件下载使用。
2.如果需要单独下载编译好的passwall ipk,那么可以在 /home/free/openwrt/bin/packages/你的CPU架构/ 下面的各目录,查找luci-app-passwall开头的ipk文件。其它各插件的ipk,也可以在此查找下载。
3.路由器固件刷写成功后,默认配置如下:
- IP地址:192.168.1.1
- 登录用户名:root
- 登录密码:无