编译 openwrt for 小米 mini 路由器
2018-02-11 02:34
645 查看
摘要: 小米 mini 路由器自带系统不好用,刷官网下载的系统,仍然不满足需求,故自己编译一套 openwrt 系统,满足自己需要。
前不久,买了小米 mini 路由器,经过一番折腾,终于刷好了 openwrt 系统。可是正常使用后,发现,还有不能满足我需求的地方,有些软件装了又没什么用,于是产生了编译一套 openwrt 系统的想法,有了想法就实施。
首先,在 github 上下载 openwrt 的源代码:
进入该目录,查看 README 内容,根据需要,安装编译过程中需要的软件包,否则,执行编译命令时,根本通不过,而且,README 中提示要安装的软件也不是全部,总之,提示缺少什么软件,就去安装,这样才能编译。
选择需要编译的模块:
主要是选择CPU 架构,选择型号,选择设备,之后是根据个人需要选择需要安装的包和驱动等。
我的选择依据:不需要支持 IPv6,不需要除小米 mini 之外的其他型号路由器的驱动,不需要一些杂七杂八的软件,需要 iptables, ssh, libstdc++, tcpdump 等,反正是个人需求。
开始编译:
在这一步,走过许多坑,第一次不知道编译多久,等了半天没有编译完,最后自己睡了,结果,第二天主机睡眠了,屏幕关了,死活不理我,强制关机,编译失败,原因不明;
第二次弄了个虚拟机,只分配了10G的存储,心想:我只安装一个命令行界面的系统,占不了多大空间,也不消耗多大内存,只用来编译 openwrt,那么,10G 空间应该足够了,于是按流程走完了,开始编译,一会儿就报错了:无法创建目录,原因是目录已满,df 命令查看,还真占满了,我晕,第二次编译失败;
第三次,把第二次编译时的整个openwrt 目录复制到新的虚拟机上,这次给预留了 14G 的空间,开始编译,报错,g++ 编译工具报错,找来找去也不明白为啥,最后查网上的帖子,大概明白了,应该是交叉编译链不对,第三次编译失败;
第四次,把第三次编译时的 .config 文件复制到一个全新的 openwrt 目录,编译,又报错:Can't locate Data/Dumper.pm,查网络,得知是 perl-Data-Dumper 软件没有安装,安装该软件,第四次编译失败;
第五次,安装好该软件,重新编译,编译报错:
enum uci_type' declared inside parameter list [-Werror]
const char *sct, const char *opt, enum uci_type type)
... ...
a lot of errors about uci
在百度上查,不知道什么原因,于是重新 make menuconfig ,把设计 UCI 的那一项去掉。
前不久,买了小米 mini 路由器,经过一番折腾,终于刷好了 openwrt 系统。可是正常使用后,发现,还有不能满足我需求的地方,有些软件装了又没什么用,于是产生了编译一套 openwrt 系统的想法,有了想法就实施。
首先,在 github 上下载 openwrt 的源代码:
$ git clone https://github.com/openwrt/openwrt.git
进入该目录,查看 README 内容,根据需要,安装编译过程中需要的软件包,否则,执行编译命令时,根本通不过,而且,README 中提示要安装的软件也不是全部,总之,提示缺少什么软件,就去安装,这样才能编译。
选择需要编译的模块:
主要是选择CPU 架构,选择型号,选择设备,之后是根据个人需要选择需要安装的包和驱动等。
我的选择依据:不需要支持 IPv6,不需要除小米 mini 之外的其他型号路由器的驱动,不需要一些杂七杂八的软件,需要 iptables, ssh, libstdc++, tcpdump 等,反正是个人需求。
开始编译:
在这一步,走过许多坑,第一次不知道编译多久,等了半天没有编译完,最后自己睡了,结果,第二天主机睡眠了,屏幕关了,死活不理我,强制关机,编译失败,原因不明;
第二次弄了个虚拟机,只分配了10G的存储,心想:我只安装一个命令行界面的系统,占不了多大空间,也不消耗多大内存,只用来编译 openwrt,那么,10G 空间应该足够了,于是按流程走完了,开始编译,一会儿就报错了:无法创建目录,原因是目录已满,df 命令查看,还真占满了,我晕,第二次编译失败;
第三次,把第二次编译时的整个openwrt 目录复制到新的虚拟机上,这次给预留了 14G 的空间,开始编译,报错,g++ 编译工具报错,找来找去也不明白为啥,最后查网上的帖子,大概明白了,应该是交叉编译链不对,第三次编译失败;
第四次,把第三次编译时的 .config 文件复制到一个全新的 openwrt 目录,编译,又报错:Can't locate Data/Dumper.pm,查网络,得知是 perl-Data-Dumper 软件没有安装,安装该软件,第四次编译失败;
第五次,安装好该软件,重新编译,编译报错:
enum uci_type' declared inside parameter list [-Werror]
const char *sct, const char *opt, enum uci_type type)
... ...
a lot of errors about uci
在百度上查,不知道什么原因,于是重新 make menuconfig ,把设计 UCI 的那一项去掉。
相关文章推荐
- openwrt下使用SDK编译ipk包遇到Package hiOpenwrt is missing dependencies for the following libraries: libc.so.
- OpenWrt for vmware 从openwrt.org下载10.03.1 或是自己下载最新的源码进行编译生成x86 vmdk格式
- ubuntu 下单独编译openwrt luci
- 【详细教程】编译openwrt + njit-client 1.3,通过iNode认证
- perl-Thread-Queue for openwrt
- OpenWRT with OpenvSwitch 刷路由器教程
- 小米 mini 路由器刷 openwrt
- 小米 mini 路由器刷 PandoraBox 系统实现 E 信破解
- Openwrt Package xxx is missing dependencies for the following libraries 问题分析
- openwrt build for asus rt-n13u b1
- 【详细教程】编译openwrt + njit-client 1.3 通过iNode认证
- Openwrt的docs目录下编译生成openwrt.pdf、openwrt.html、openwrt.css文档
- OpenWrt SDK 编写交叉编译Makefile的简单方法
- Openwrt的docs目录下编译生成openwrt.pdf、openwrt.html、openwrt.css文档
- 备库重新编译导致的ora-16000 :database open for read-only access
- You asked for an OpenJDK 7 build but your----Android源码编译之JDK下载问题
- Openwrt的docs目录下编译生成openwrt.pdf、openwrt.html、openwrt.css文档
- openwrf编译路由器