发布时间:2026-07-21阅读(2)
编译linux内核时,一般会先用make oldconfig指令配置.config文件,网上资料说make oldconfig会用到当前目录中已经存在的.config文件,那如果当前目录中没有.config文件呢?此时make oldconfig和make config是一样的吗?我以练习ldd3时用到的linux-2.6.10和Ubuntu5.04为例来说明。
首先来看干净的linux-2.6.10代码执行make oldconfig指令:

干净的代码在当前目录中是不存在.config文件的,但是可以看到有提示 "using defaults found in /boot/config-2.6.10-5-386",config-2.6.10-5-386是Ubuntu5.04自带内核的配置文件,看来make oldconfig指令不仅会使用当前目录中的.config文件,也会使用其它位置的config文件,那make oldconfig指令到底会使用哪些config文件呢?
答案就在linux-2.6.10/scripts/kconfig/confdata.c这个文件中:

可以看到所使用的config文件按顺序依次是:
当这5个文件都不存在时,make oldconfig和make config的作用就是一样的了。
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图