在我的项目中添加对menuconfig/Kconfig的支持

12

我计划在我的项目中添加menuconfig支持。 该项目与Linux内核无关,因此我必须从头开始编写menuconfig和Makefile中的所有内容。

如何添加对menuconfig的支持并创建Kconfig文件,让makefile读取.config文件中的定义?

有没有好的入门教程可供参考?


一个不错的起点是U-Boot源代码。他们最近迁移到了内核构建系统,因此这是如何做的好参考。您可以从U-Boot源目录中的git log -- scripts/kconfig/开始调查该过程。 - Sam Protsenko
我和你有同样的问题。你能告诉大家你最终做了什么吗? - Amit128
@user435739 你能找到解决方案吗?我需要在基于Cortex-M微控制器的项目中执行相同操作,与Linux无关。如果您已经将menuconfig添加到您的项目中,请分享一下。 - m4l490n
3个回答

4

0

首先,您需要从Linux文件夹'scripts'中复制以下文件夹和文件到您自己的项目中

  • basic
  • kconfig
  • Kbuild.include
  • Makefile.build
  • Makefile.host
  • Makefile.lib

文件夹basic和kconfig中的源代码需要根据您的处理器架构进行构建。如何构建详见Linux Makefile。您可以使用下列变量来更改一些名称

  • KCONFIG_CONFIG = .config
  • KCONFIG_AUTOHEADER = application/autoconf.h
  • KCONFIG_AUTOCONFIG = build/include/config/auto.conf
  • KCONFIG_TRISTATE = build/include/config/tristate.conf

以下项目最初是为ARM微控制器创建的,可以帮助您了解kconfig。

https://github.com/mcu/kconfig


-1
我假设你正在创建一个位于内核目录外的驱动程序。关于此的信息可以在这里找到: https://www.kernel.org/doc/Documentation/kbuild/modules.txt
除此之外,如果你想让用户空间文件看到.config变量,你可以让它依赖于内核构建,然后包含autoconf.h,对于最新版本的内核而言,它在include/generated文件夹中。用户空间不直接使用kbuild。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接