-
问题:比如我要移植yaffs到内核中,fs/yaffs2/Kconfig是正常的,fs中的Kconfig也包含了source "fs/yaffs2/Kconfig",但在make xconfig/menuconfig时就是不显示有Yaffs这个选项,这是为何?
-
解答:.config文件是内核当前使用的默认配置,对于内核的编译系统来说, menuconfig看到的菜单是各个子目录下Kconfig文件和.config文件的解析结果,其中很多菜单选项都是依赖于特定的配置的,如果这些依赖的配置没有在.config中定义,那对应的菜单项是不会被解析的,也就不会被显示。
-
对于yaffs来说, fs/yaffs2/Kconfig中应该有
-
config YAFFS_FS
-
tristate "YAFFS2 file system support"
-
default n
-
depends on MTD_BLOCK
这样的描述,也就是说,要菜单里出现“YAFFS2 file system support”, .config文件里就必须有CONFIG_MTD_BLOCK=y或者CONFIG_MTD_BLOCK=m这样的配置,才会显示yaffs的选项,因为它依赖于MTD_BLOCK。
-
-
如图所示,先配置好MTD_BLOCK:


再才可以配置YAFFS2:

-
后记:以后再遇到这样的情况,就可以从目标模块的Kconfig中的依赖入手,把相应的依赖先配置好就OK了。
关于make menuconfig中有些内核选项不显示的问题
最新推荐文章于 2025-05-26 13:25:43 发布
本文探讨了内核编译过程中隐藏模块配置的常见问题,并以YAFFS为例,解释了如何通过配置.MD文件和依赖模块来确保菜单项显示。通过实例分析,读者可以学会在遇到类似问题时,如何快速定位并解决。
2036

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



