WIN10安装Ubuntu编译OpenWrt,支持V2ray和Trojan
阅读本文之前,请务必确认自己了解以下关键词:Ubuntu、OpenWrt、V2ray、Trojan。如果还不是清楚这些是什么,可以前去百度(有可能搜不到)谷歌了解一下,看不懂的话可能你就不需要学习如何编译。
WIN10 安装 Ubuntu
- 打开控制面板 --> 程序与功能,点击左侧边栏的启用或关闭 Windows 功能选项,在弹出的窗口中勾选适用于 Linux 的 Windows 子系统,最后点击确定(可能需要重启)。
- 打开 Microsoft Store,搜索 Ubuntu,推荐选择 18.04 点击安装。(商店中可用的发行版有 Ubuntu、openSUSE、SUSE Linux Enterprise Server、Debian 以及 Kali Linux 等。也同时安装多个发行版,它们的数据都是独立的,互不影响,只要 C 盘够大。)
- 等待下载安装完成。注意 C 盘剩余空间至少 30 GB 以上,不然编译几次就可能会出现空间不足了。
- 进入开始菜单,找到 Ubuntu 打开即可运行。记得设置的密码。
# 更改源地址
国内建议选择阿里的源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
win10 里可以直接找到 etc/apt/ 目录下的sources.list,用编辑器修改就行了。
# 更新和安装依赖包
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
# 下载源码
git clone https://github.com/coolsnowwolf/lede
git clone https://github.com/Lienol/openwrt
注意:这里拉取的是两个不同固件的源码,按需下载!
下载完成后,文件一般位于:
C:\Users\win10系统用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_71fndgsc\LocalState\rootfs\home\harry用户名\lede
AppData 为系统默认隐藏文件夹,开启显示隐藏文件夹后才可看到。
编译步骤
项目开源地址:
https://github.com/Lienol/openwrt
https://github.com/coolsnowwolf/lede
注意:
不要用 root 用户 git 和编译,国内用户编译前最好准备好梯子,默认登陆IP 192.168.1.1, 用户名 root 密码 password(Lienol 的无密码)
1.运行 Ubuntu 子系统,进入 lede 文件夹,feed 更新加安装:
cd lede 或者 cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
2.选择编译项目:
make menuconfig
上下键选择项目,左右键选择退出保存等。
输入 Y 选择该项目加入固件,N 不选泽,M 编译但不合入固件。
所有项目选完后保存再退出。保存时可以重命名,但只起保存当前配置的作用,编译有效的配置文件名还是 .config。
3.最后输入 make -j1 V=s (-jn 后面的 n 是线程数。第一次编译推荐用单线程,国内请尽量全局科学上网或者国内白名单)即可开始编译,也可以直接 make V=s 编译。第一次时间比较久,我的台式机要三四个小时,比编译 Android 固件快一些,如果后面只修改选择插件,再次编译可能只要十几二十分钟。
4.如果需要再次编译:
cd lede 或者 cd openwrt
git pull 同步更新源码
./scripts/feeds update -a && ./scripts/feeds install -a
rm -rf ./tmp && rm -rf .config 清除编译配置和缓存
make menuconfig
make -j1 V=s n=线程数+1,例如4线程的I5填-j5,开始编译
如果编译出了问题,还可以执行命令 make clean 来清除之前编译所产生的 object 文件(后缀为“.o”的文件)及可执行文件,再来一遍。
5.编译完成后固件输出在 /lede/bin/targets 目录下,按 CPU 排列。可以用 everything 软件直接搜索 lede 或 openwrt,找 C 盘 Ubuntu 文件夹下,即可看到编译生成的固件。
6.如果编译失败,绝大多数情况是网络引起的,文件下载不完整,或者有的链接需要翻墙什么的,编译环境和步骤不错的话多试几次就好了。
# 选项简要说明
进入 menuconfig 第一眼感觉好复杂,不是专业的根本不知道都是啥,不过我们编译自己的固件不需要知道那么多,大多数默认设置就好了。至于你设备的架构,型号这些自己在编译之前先要确定清楚,插件根据自己的需要选。
# 添加 Passwall 插件
Lienol 源的 Passwall 的插件,这个功能和 lean 源的 ssr-plus 插件差不多,支持多个 SS,SSR,V2 或 Trojan 节点,同时具有分流,故障转移,自动恢复,自带 HaProxy 负载均衡。
1.在 lean 源添加 Passwall 插件编译的方法:
cd lede
vi feeds.conf.default
2.编辑 feeds.conf.default 文件,在末尾加上一行:src-git lienol https://github.com/Lienol/openwrt-package。当然,在 win10 下可以直接搜索该文档进行编辑。
然后输入命令:
./scripts/feeds clean
./scripts/feeds update -a
rm -rf feeds/lienol/lienol/ipt2socks
rm -rf feeds/lienol/lienol/shadowsocksr-libev
rm -rf feeds/lienol/lienol/pdnsd-alt
rm -rf feeds/lienol/package/verysync
rm -rf feeds/lienol/lienol/luci-app-verysync
rm -rf package/lean/kcptun
rm -rf package/lean/trojan
rm -rf package/lean/v2ray
rm -rf package/lean/luci-app-kodexplorer
rm -rf package/lean/luci-app-pppoe-relay
rm -rf package/lean/luci-app-pptp-server
rm -rf package/lean/luci-app-v2ray-server
./scripts/feeds install -a
因为包重复冲突所以要删除才行,然后再 make menuconfig。
最后最后还是那句话,这不是一篇奶妈教程。不懂的自行谷歌!!!当然你可以留言提问,但回复可能不会那么及时!
最后补充:如何卸载安装的 Linux 系统?在 win10 里快捷键 Win+R 运行 cmd
,输入命令:
wslconfig /l #查询安装版本
wslconfig /u Ubuntu-18.04 #卸载上面查询到的安装 Linux 版本