如何自己制作路由器固件,小白都会(lede编译详细教程)

现在越来越多的人选择给路由器刷机,因为官方的系统只有路由器基本功能,可玩性不高。路由器本身也是一台计算机,控制着家里所有智能设备,路由器软件的自由化也是一种趋势,毕竟每个人的需求不一样,厂商也不可能满足所有的需求。

路由器可刷的系统有很多,比如OpenWrt、老毛子、梅林、高恪等

最受欢迎的插件包括xxx、解锁云音乐、docker、wol、ddns、zerotier、共享打印机、ftp、app过滤等。

当然你可以直接使用别人制作好的固件,更多刷机攻略可以去恩山无线论坛逛逛,当然也可以使用我发布的固件。

这章主要讲解如何编译固件

很多人编译固件老是不成功,作为资深的openwrt玩家,这里给大家一个避坑指南,新手确实很难一次编译出固件,但遇到的问题都是很简单的,也很容易解决,只是经验不足。

首先说说源码

lede源码地址:

https://github.com/coolsnowwolf/lede

大家可以进入github看看该源码的编译说明,已经写得比较详细了,可以一步步操作。

这里编译的前提还是要先学会虚拟机安装ubuntu系统,学会一些基础命令,这个不需要太多基础就会。

安装好ubuntu系统后才会有下面的操作,否则先去装系统吧。

基础网络环境搭建,梯子准备,这个是为了能够下载第三方压缩包,因为openwrt依赖了很多第三方开源包,下载往往很慢,如果你确实不知道怎么弄,也可以先尝试往下走,因为有些网络勉强还是可以下载的,不行的话可以用手机开热点,让ubuntu系统用热点网络下载(因为有些运营商网络是可以访问某些资源的)

网络环境估计是很多人最难搞的问题,相信懂一点技术的应该都会了吧

以下命令行操作都在非root用户下完成(当然如果你用了root也没关系,编译时会有个提示,将环境变量设置下就可以了,新手还是别这样)

接下来需要更新源并下载安装第三方库,如果某些库确实安装不成功,可以尝试往下一步走,因为你编译的包不一定依赖它。

命令行输入 sudo apt-get update ,然后输入 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命令

git clone https://github.com/coolsnowwolf/lede

进入lede目录执行以下命令,以下命令用于更新第三方feeds包

./scripts/feeds update -a

./scripts/feeds install -a

如果更新失败,很有可能是网络问题

执行命令 make menuconfig 进入配置菜单选择你想要编译的产品和集成的插件

第一个菜单选项为芯片架构,不同的路由器芯片架构可能不一样,目前刷机比较多的就是MediaTek Ralink MIPS(xiaomi ac2100,redmi ac2100,k2p,newifi3,极路由4,xiaomi r3g,xiaomi r4a等) 、X86、Qualcomm Atheros IPQ807x(xiaomi ax3600, xiaomi redmi ax6),当然你可以一个个切换找自己想要的产品

再下一个菜单是该架构下的子型号,一般为某个公司下面具体的芯片型号,比如mtk的包括MT7620、MT7628、MT7621等,其中MTK MT7621是用的最多的芯片,小米大部分wifi5产品都是基于该芯片

最后就是选择路由器产品了,因为同一款主芯片又有很多不同产品出来,做产品的是下游的路由器厂家,很多厂家都可以用该芯片,比如小米的R3G、红米AC2100、R4A等都是基于MT7621主芯片,但是这些产品的外围硬件或者无线芯片又不一样,包括灯定义、网口、gpio等。

这里我选择了红米AC2100

这样路由器产品就选择好了,现在可以直接保存退出即可开始编译

如果你想要自己集成不同的插件,可以依次进入luci–>Applications进行选择,按空格两次置为*即可

保存退出

现在我们执行make V=s 开始编译

如果网络和编译环境正常都是一次性可以通过的

为了判断你的网络是否正常,可以先下载第三方安装包,如果下载失败,表示网络异常

执行下载命令 make download V=s

会有多个包需要下载,时间比较长,有些包如果没有fq很可能下载失败,这时候就要考虑换网络了。

这一步很重要,关系到是否能往下执行编译命令。

如果下载成功

直接执行make V=s即可开始编译

这里使用单核编译,第一次必须用单核,否则会失败,多核编译加上-j2,如make V=s -j2(2核)

第一次编译比较久,普通电脑一般都是90分钟起步,只要没报错就不用管,知道结束为止。

当你看到开始生成ipk文件时,表示编译成功

编译完成后固件会生成在bin目录(不同芯片架构目录不同)

恭喜你完成固件编译!

未经允许不得转载:FROS路由技术分享 » 如何自己制作路由器固件,小白都会(lede编译详细教程)

赞 (57)

评论

4+7=