编译 openwrt for 小米 mini 路由器

前不久,买了小米 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 的那一项去掉。

转载于:https://my.oschina.net/u/260165/blog/1621110

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值