Buildroot:允许软件包检查内核功能

问题描述 投票:0回答:1

希望这将是一个简单的问题:我正在尝试向buildroot添加一个需要启用内核BPF syscall功能的软件包。

如果启用了此功能,则一切正常,如果没有,则构建会失败,并会出现一些无用的错误。我想做的是在.mk文件中执行快速检查,以查看该功能是否存在,如果不存在,请打印出稍微更人性化的错误。

我尝试添加:

ifneq ($(CONFIG_BPF_SYSCALL),y)
$(error Kernel feature CONFIG_BPF_SYSCALL is required)
endif

但是这似乎总是会触发,因为我认为CONFIG_BPF_SYSCALL在软件包构建范围中不存在。有没有一种简单的方法可以从软件包构建环境中访问内核配置列表?

非常感谢

buildroot
1个回答
0
投票

它的工作方式相反:它是Buildroot中的“​​ linux”软件包,可确保在启用给定软件包并需要某些特定内核功能时,启用正确的选项。请参阅linux / linux.mk,其中包含以下内容:

        $(if $(BR2_PACKAGE_KTAP),
                $(call KCONFIG_ENABLE_OPT,CONFIG_DEBUG_FS,$(@D)/.config)
                $(call KCONFIG_ENABLE_OPT,CONFIG_ENABLE_DEFAULT_TRACERS,$(@D)/.config)
                $(call KCONFIG_ENABLE_OPT,CONFIG_PERF_EVENTS,$(@D)/.config)
                $(call KCONFIG_ENABLE_OPT,CONFIG_FUNCTION_TRACER,$(@D)/.config))

这将在启用ktap Buildroot时在内核配置中启用CONFIG_DEBUG_FS,CONFIG_ENABLE_DEFAULT_TRACERS,CONFIG_PERF_EVENTS和CONFIG_FUNCTION_TRACER。

请注意,此机制可能会在不久后在Buildroot中进行更改,请参阅http://patchwork.ozlabs.org/project/buildroot/list/?series=168565的修补程序系列。

© www.soinside.com 2019 - 2024. All rights reserved.