OpenWrt折腾小计_03
书接上回
这次主要记录下在捣腾时遇到问题的一些解决办法,以及记录下目前最新的使用情况
1. 实际使用
1.7 安装新组件mosdns
这期中遇到几个问题:
opkg
方式安装失败
使用 opkg install
命令来进行安装,结果在 opkg update
时得到如下错误
- opkg_download: Failed to download ... wget returned 8.
我觉着应该是 opkg 的源有问题,于是我改换了确认可用的源
opkg install
报错
具体错误是:
- pkg_hash_check_unresolved: cannot find dependency kernel ...
- pkg_hash_fetch_best_installation_candidate: Packages for luci-app-mosdns found, but incompatible with the architectures configured
看样子应该是跟内核不匹配?
自编译ipk
于是我又想到,之前编译OpenWrt时,其实就有对应的软件包选项,只不过当时我漏选了
首先,如果你编译时把某个模块选成了 <M>
的状态,它其实就已经生成了.ipk文件,只是没有集成到最终的固件中
可以在 lede/bin/packages/你编译时选择的架构
下面看到所有的.ipk文件,在顶级目录中搜索即可
当然也可以针对某个插件单独编译
以 > LuCI > 3. Applications 下面的插件为例:
在编译选择页找到其插件名,类似 luci-app-mosdns
在 lede 根目录,执行 make package/luci-app-mosdns/compile V=99
即可
完成后它会新生成到上文描述的目录中
不过通过这种方式我还是没能完成安装,系统报错:
- pkg_hash_check_unresolved: cannot find dependency mosdns for luci-app-mosdns
- pkg_hash_fetch_best_installation_candidate: Packages for luci-app-mosdns found, but incompatible with the architectures configured
直接找插件源头尝试安装
一筹莫展之际,我突然到:为何不去插件官方页找找方法呢?
幸运得很,官方除了放了源码,也给了脚本安装方式
于是经由官方脚本,终于完成了插件的安装
2. 更换内核
初次编译尝试使用的是 78+
的内核
用了几天还算稳定,但是某天我突然手贱,想试试 IPv6 是不是可以正常使用了
结果一番配置后,系统喜闻乐见的跟之前n次配置一样,把整个内网环境搞崩了
于是我照着之前的经验,手动重启网络设备进行恢复
可惜N1重启完之后,出现了根目录只读的问题(显示错误类似 ... Read-Only
,可以使用 mount -o remount,rw /
来临时解决),导致很多服务异常
于是又去翻阅固件作者的帖子,提到老的固件建议使用 +o 的内核,于是又去打包 78+o
内核
结果该打包固件复现了之前刷的好几个版本都有的 间歇断网
问题(不知道该问题到底什么原因导致,翻看系统日志可以看到 OOM
字样的报错)
所以只能搜索解决办法,目前的情况是使用 60+o
内核(因为flippy帖子里说该版本适合“养老”),观察下工作情况