现在很多人都用上了路由器去广告及出墙的状态,但是毕竟每个人使用的路由器型号都不同,每个人对于路由器应有的插件功能需求也不同。这就造成了很少能够在网上找到一个完美的适合自己所有需求的固件。有些人使用的是一些不太知名的路由器,网上大神做好的路由器固件也就更屈指可数而且往往是版本比较旧的,没法第一时间用上新的插件。
毕竟只有自己才知道最适合自己的是什么,正所谓自己动手,丰衣足食。小小研究了一下,发现自己编译固件还是很简单的,所以才有了今天的这份教程,大家也可以根据自己的需求编译自己想要的路由器固件。
1:前提条件
- Linux环境(推荐Ubuntu)
全局出墙(推荐)
2:重要参考链接
3:教程步骤
首先为了准备好Linux环境,我们有好几种方法:
- 自己有一台Linux系统的电脑
- 装双系统
- 装虚拟机
- Windows 10 Fall Creators Update and later(Windows 16215版本及之后)
本人认为最方便的方法,就是第四种方法了,因此本篇教程采取第四种方法+Ubuntu系统。
3.1:开启WSL
WSL全称:Windows Subsystem for Linux;简单说就是Linux作为Windows子系统,这个方法的好处就是直接Windows自带商店一键下载即可使用。
首先以管理员模式打开Powershell,并输入:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
因为我已经开启过了,所以会看到下面的画面,如果第一次开启,成功后是需要重启生效的。
之后我们打开Win10自带的商店,搜索Linux,找到Linux On Windows,点击Get the Apps,选择自己想要的Linux系统,我这里推荐Ubuntu,因为LEDE大也是以Ubuntn为例的,如果选不同的Linux Distribution,可能命令会有所不同。
我们选择获取并安装好,完成后点击Launch运行(第一次运行会要求你设置Linux系统用户名即密码,根据英文提示自己设置即可)
3.2:获取及编译固件
依次输入以下命令(没有全局出墙及稳定网络状态下很容易导致下载依赖失败而产生各种问题):
- 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
- git clone https://github.com/coolsnowwolf/lede
- cd lede
- ./scripts/feeds update -a
- ./scripts/feeds install -a
- make menuconfig
之后根据自己的路由器架构及自己的功能需求,选好对应的路由器及功能插件,保存并退出。
完成后输入:
make -j1 V=s (-j1 后面是线程数。第一次编译推荐用单线程,并尽量全局科学状态,否则可能会有各种奇怪问题)即可开始编译你要的固件了。
编译完成后,固件位置位于:
C:\Users\(你Win10系统的用户名)\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows(开头文件夹)\LocalState\rootfs\home\(你Linux系统的用户名)\lede\bin\targets\ramips\mt7621
以上红色部分,会根据你自己的系统用户名及编译路由器不同而不同,不要照搬这里的地址!!其实AppData为系统默认隐藏文件夹,开启显示隐藏文件夹后才可看到,不会开启的可直接File Explorer地址栏输入回车进入即可。
至此教程结束,找到自己编译好的以squashfs-sysupgrade.bin结尾文件,进行刷机即可。
PS:
1:斐讯K2P用户不适用于以上编译方法!!!!因为K2P为闭源驱动,按上述方法编译会没有WIFI功能。K2P用户编译请参考以下链接:
- https://www.right.com.cn/forum/thread-572784-1-1.html
- https://github.com/MeIsReallyBa/k2p-openwrt-mt7615_5.0.2.0
2:若你是新三/歌华等路由器,编译后无法正常开启5G Wifi,请尝试:
WIFI设置中国家用美国,2.4G开信道11,5G开信道149,然后重启再试(本人亲测更改后5G信号稳定正常)
3:最后芝麻开门神秘代码 echo 0xDEADBEEF > /etc/config/google_fu_mode(自己编译的是默认没有隐藏的,放在这以防有人需要)
4:第一次编译会非常!非常!非常!慢,我第一次挂机编译了一晚上;第一次编译完成后,就可以开全线程编译了,基本几分钟就完成了