记一次对W527的第三方内核编写(零)

SoraNeko 发布于 23 天前 77 次阅读


这算是一的预备篇。 万一有人连 Config 都不会做,那不就废了。

在不少设备里,你打开 /proc 目录,能看到一个叫 config.gz 的文件

CONFIG_IKCONFIG 和 CONFIG_IKCONFIG_PROC 这两个设置会控制 config.gz 的生成

至少目前我见过的绝大多数设备都开了 没开就放弃或者直接自己写吧

这个文件就是 Linux 内核运行时暴露出来的编译配置 它是编译时把 .config 压缩成 ikconfig 塞进内核 启动后通过 procfs 给你看。

不过 我当时查gz魔术字 kernel文件里面也有他

实际上喵 和他有关的魔术字其实是 IKCFG_ST / IKCFG_ED 里面才是 gzip 数据

这个文件里面存着这个内核开了哪些 config,可以拿来当模板,改改就能用了

流程就是:提取——解压——重命名——修改。 但严格说,最后不是简单“重命名”成 defconfig,最好用 savedefconfig 精简一下。

# 丢进内核源码根目录
cp .config /path/to/kernel/.config
cd /path/to/kernel

# 对齐当前源码的 Kconfig
make ARCH=arm64 olddefconfig

# 生成精简 defconfig
make ARCH=arm64 savedefconfig

如果是arm32的话

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xxx_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j$(nproc)

注意几点:

  1. /proc/config.gz 不是所有设备都有,取决于内核有没有开 CONFIG_IKCONFIG_PROC 没root的话 洗洗睡吧
  2. 直接从设备抠出来的完整 .config 可以当底子,也够用。一般不会出问题

恭喜你,拥有了你的 defconfig,现在可以开始成为内核大手子了

此作者没有提供个人介绍。
最后更新于 2026-09-26