编译LEDE固件实则并不难。关键是严格按照指引一步步来。等熟悉一遍了再搞花样。
本系列文章只是研究过程的备忘录,当中提及的步骤只是一些当下的总结以及尝试,不能保证正确。项目完成后,也就是系列文章结束后,会有归纳总结,当中会提出相对靠谱的解决方案。
以前搞软路由的时候就已经编过一个x86的固件了。为什么非要自己编译呢?也没为什么,一是有掌控感,二是喜爱折腾。
周末在老家,软路由CPU是性能不咋样的3205U,所以通过前面提到的个人虚拟网络连接到套间的i7-7500U软路由,在Esxi上建了一个Ubuntu虚拟机进行编译(后来这就是LEDE固件编译专用机)。直到编译完成,确定这么做是对的。
对于有计算机背景的同学来说,编译LEDE固件并不难(这么说可能会被一些人捶我),主要是严格按照指引,能做到这点就已经成功了9成。指引在哪?自然是LEDE项目的编译步骤。譬如人家推荐用Ubuntu 18 LTS x64进行编译,你就最好老老实实用这个版本的Ubuntu。
准备编译平台
关于编译平台方面总结了下面的一些要点:
-
Ubuntu 18 LTS x64,我用的是没有桌面的live server版本,由于我自己很少用ubuntu,而且这个虚拟机是专门用来编译的,以轻量为主。我具体用到的是以前下好的18.04.3。官方新版在这里:ubuntu-18.04.5-live-server-amd64.iso。
-
起码要有40G系统空间,不要太吝啬。以前给软路由编固件的时候抠,只给平台分配了2、30G的空间,结果就悲剧了。我这次建的是50G。编译下来,光项目文件夹就16个G了。
-
科学冲浪,最好全局的。否则,轻则速度感人,重则编译无法通过。
-
把apt-get的源替换成国内镜像,这也是为了提高下载速度。我替换成科大的镜像。具体来说就是,修改文件
/etc/apt/sources.list,把里面的源(http://archive.ubuntu.com,http://us.archive.ubuntu.com)换成科大的(mirrors.ustc.edu.cn)。可以用下面命令替换:
sudo sed -i s/archive.ubuntu.com/mirrors.ustc.edu.cn/g /etc/apt/sources.list
编译
总的来说,编译就是参考指引一步步来了。不过指引是很概要的,还有一些细节需要注意。这里罗列一些:
-
如果你在固件的配置中找不到某些你想要的功能(譬如科学冲浪工具),我只能说
helloworld了。 -
编译的时候需要选择设备CPU的架构、型号以及Profile,小米路由R3的Target,Subtarget以及Target Profile分别是
MediaTek Ralink MIPS,MT7620 based boards和Xiaomi Mi Router R3。 -
如果你要用到Samba,不需要在LuCI中选择相应的插件,LEDE已经默认配有。否则可能由于冲突的缘故,编译不能通过。我这轮编译还算顺利,只有这点出现异常。
-
编译好的固件在
bin/targets/ramips/mt7620/。
总结
文章写到中途发现,编译固件实则还是不太容易的。有不少前置知识,信任光ubuntu就难倒了一批人了,什么apt-get的,各种命令。另外固件配置界面是英文的,英语小白对此估计也毫无办法。编译的过程很漫长,折腾下来3、4个小时已经算快的。而且是CPU和网络都比较配合的情况下,而且是不要碰上太难搞的异常。
======
2021-03-13

















暂无评论内容