在当前内核上应用 menuconfig 更改

在当前内核上应用 menuconfig 更改


我是新手,想改一下网络选项里的一个小选项(启用 DCCP 的 CCID3)。
我用过:

制作菜单配置

并将更改保存到 .config
我查看了数十个教程和问题,但没有一个能回答我的问题。我只想将这个小更改应用到我当前的内核。就是这样。但是,所有教程都告诉您构建一个新内核(我不想这样做),当我尝试通过键入

制作

在 /usr/src/linux-headers-4.4.0-72 中,我收到以下错误:

arch/x86/Makefile:148:CONFIG_X86_X32 已启用但不支持 binutils Makefile:693:无法使用 CONFIG_CC_STACKPROTECTOR_STRONG:编译器脚本/kconfig/conf --silentoldconfig 不支持 -fstack-protector-strong Kconfig * 更新配置时出错。scripts/kconfig/Makefile:37: 目标‘silentoldconfig’的配方失败,make[2]:[silentoldconfig] 错误 1 ​​Makefile:552: 目标‘silentoldconfig’的配方失败 make[1]:[silentoldconfig] 错误 2 make[1]: *没有规则来制作目标“arch/x86/entry/syscalls/syscall_32.tbl”,而“arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h”需要该规则。停止。arch/x86/Makefile:199:目标“archheaders”的配方制作失败:*** [archheaders] 错误 2

我真的陷入困境。请帮忙。谢谢。

答案1

更改配置后,您确实需要编译内核。有问题的配置是用于编译内核的配置。它不是正在运行的内核的配置。正在运行的内核的配置通常通过 /proc 文件系统完成。

答案2

你之所以只找到有关如何编译新内核的教程,是因为不可能只更改一小部分。你必须构建一个全新的内核。

解决方法可能是复制当前的内核配置(应该位于/启动(例如 /boot/config-4.4.0-112-generic)添加到内核源代码树

cp /boot/config-4.4.0-112-generic /where/your/sources/are/.config

转到内核源代码并执行

make menuconfig

从此以后,我想你就可以按照任何教程操作了。不过你还有相当多的工作要做(例如构建初始 ramdisk)

这是构建内核的裸机方式。对于教育目的来说很好,但从长远来看并不方便。网上有很多关于如何更好地做到这一点的信息(例如如何编译和安装自定义主线内核

相关内容