官方openwrt固件wsl编译踩坑

编译

需要使用支持彩色化显示的SSH工具,例如mobaxterm、xshell

以Ubuntu/Debian为例,不建议使用centos

安装依赖:

sudo apt-get 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 gcc python3 python perl libc-dev

确保网络ok(注意uwp的特殊代理机制)直到编译结束或者时间充足,

git clone https://github.com/openwrt/openwrt
cd openwrt
./scripts/feeds update  -a
./scripts/feeds install  -a

上述操作一定不要在/mnt/下进行,建议在/home/中进行。

确保上述过程没有任何报错和警告,有的话解决完重新从clone开始

然后开始选配置和预装luci-app

make menuconfig

自行编译的好处就是,有很多后期无法使用opkg安装的luci-app也能安上,而且不占用overlay空间。

如果使用的是root账户

export FORCE_UNSAFE_CONFIGURE=1

然后编译

make -j8 download
make -j1

其中-jx是使用x个线程进行编译,只有加参数V=sV=sc的时候,报错才会显示详细信息,否则只有个error。make和文档提示说看报错还要限制使用单核心编译,但是实际上我用多核心编的时候也完全没问题,而且单核心实在太慢了……

我八核心十六线程4Ghz吃满,首次编译耗时超过一小时,加了一些插件之后第二次编译耗时十分钟。

生成的固件在openwrt/bin/targets中。

第三方插件

一般把插件clone进openwrt/package文件夹后,重新make menuconfig就会在luci->application里出现,注意报错。

①smartDNS

②openwrtAPPfilter

发表评论

邮箱地址不会被公开。 必填项已用*标注