开源软件的缺陷
从所周知Windows系统每隔一段时间就会推送系统补丁;一些补丁出于系统的安全性考虑,而另一些补丁则是对现有系统功能的缺陷修复。同样的,开源软件的缺陷也非常多,例如笔者就遇到过linaro开源编译器生成的可执行文件运行不正确的问题——一些有很大影响力的开源软件,其可靠性在某些时候会让开发者失望。
本文简要记录了笔者在使用树莓派的openwrt系统遇到的一个内核缺陷,以及一个初步但有效的解决方法。笔者在树莓派设备上使用的系统为Openwrt,内核版本为6.1(笔者验证Openwrt系统提供的5.15版本内核也存在该问题),系统基于以下Commit的代码仓库编译构建:
commit 02214ab8dce59ee6b599f8dfdacb0297dc5dcc24
Author: Hank Moretti <mchank9999@gmail.com>
Date: Mon Aug 28 15:45:05 2023 +0000
mediatek: fix sysupgrade error for WR30U
The NMBM-Enabled layout did not use fit image,
it just need default process. So it was been removed in platform.sh.
It will fix sysupgrade error for xiaomi,mi-router-wr30u-112m-nmbm.
Signed-off-by: Hank Moretti <mchank9999@gmail.com>
内核缺失的OOM-Kill
简单地说,当系统的内存被应用消耗完时,内核的默认配置会触发[OOM Killer](Out Of Memory Management (kernel.org)),通常会牺牲一个占用过多内存的进程以释放内存资源维持系统的正常运行。笔者基于之前博客文章中的代码做了以下修改:
diff --git a/fork-vfork.c b/fork-vfork.c
index 77d38ce..ba13b39 100644
--- a/fork-vfork.c
+++ b/fork-vfork.c


1万+

被折叠的 条评论
为什么被折叠?



