前言
openwrt是家庭软路由必不可少的一块(为了科学上网),用别人的可能会有很多不需要的插件,所以我们自己来按需编译
使用lean大的源码进行编译https://github.com/coolsnowwolf/lede
准备
- 首先在windows下安装ubuntu(直接在微软商店下载安装)
- 电脑使用科学上网的环境(这里用了windows版的
clash
) - ubuntu使用lean大推荐的
Ubuntu 20.04 LTS x64
以免出现一些神奇的问题WSL设置代理
很多问题都是被墙导致的,这里仅用clash
作为例子,clash
的端口是7890
,输入1
2
3export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*')
export https_proxy="http://${hostip}:7890"
export http_proxy="http://${hostip}:7890"安装
安装编译依赖软件包
首先更新软件包列表和软件包。以下是 Lean 大佬给出的依赖软件包安装指令,原封不动执行即可。1
sudo sh -c "apt update && apt upgrade -y"
使用1
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 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 wget curl swig rsync
git clone https://github.com/coolsnowwolf/lede
命令下载好源代码,然后cd lede
进入目录顺利的话会出现配置界面1
2
3./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig选择配置
在LuCI —> Applications 添加插件,参考恩山论坛的帖子https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=344825&extra=page%3D1%26filter%3Ddigest%26digest%3D1
支持 iPv6:点两下空格前面出现1
2
3
4
5Extra packages ---> ipv6helper (选定这个后下面几项自动选择了)
Network ---> odhcp6c
Network ---> odhcpd-ipv6only
LuCI ---> Protocols ---> luci-proto-ipv6
LuCI ---> Protocols ---> luci-proto-ppp*
号就是选中了,选择后在最下面选择Save
保存配置,然后选择Exit
回到命令行下载dl库
make -j8 download V=s
下载dl库(国内请尽量全局科学上网)下载比较慢(不知道是不是我的线路辣鸡)首次编译
按照lean大的文档中,由于wsl的PATH路径中包含带有空格的Windows路径,有可能会导致编译失败,请在将make -j1 V=s
或make -j$(($(nproc) + 1)) V=s
改为
首次编译:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin make -j1 V=s
二次编译:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin make -j$(($(nproc) + 1)) V=s
PS:首次编译特别慢,需要几个小时
收尾
编译完成后打开wsl文件夹,在文件资源管理器输入\\wsl$
文件路径Ubuntu-home-(用户名)-lede-bin-targets-x86-64
这里由于我使用的是爱快虚拟机安装,选择了openwrt-x86-64-generic-squashfs-combined-efi.vmdk,正常使用U盘安装的使用img后缀的即可