Linux 内核 defconfig 选项未在使用 BuildRoot 生成 .config 中



我正在通过 BuildRoot 为手臂目标构建内核版本 2.6.39.4。

我正在使用自定义defconfig文件,并在其中添加了以下 3 个选项:

CONFIG_WIRELESS=y
CONFIG_WEXT_PRIV=y
CONFIG_WIRELESS_EXT=y

在内核生成的 .config 文件中,我在添加到defconfig的 3 个文件中看到的唯一选项是CONFIG_WIRELESS=y

这正常吗?我知道一些内核配置选项是"隐藏的",但这会阻止它们出现在内核的最终.config中吗?

WEST_PRIVWIRELESS_EXT 都是盲选项(即它们没有提示,它们在 menuconfig/xconfig 中不可见(。
因此,您不能简单地在 .config(或 defconfig(文件中设置它们的值。
仅当另一个选项select它们时,才会启用它们。
因此,您必须启用一些可见的相关选项,然后该选项将自动select WEXT_PRIVWIRELESS_EXT

我遇到了同样的问题,我通过设置 CONFIG_HOSTAP=y 解决了它。此选项还会导致设置以下选项:

CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_WLAN=y
CONFIG_LIB80211=y
CONFIG_LIB80211_CRYPT_WEP=y
CONFIG_LIB80211_CRYPT_CCMP=y
CONFIG_LIB80211_CRYPT_TKIP=y

我已经验证了在使用 buildroot 时,仅在 defconfig 中设置 CONFIG_HOSTAP=y 确实会导致在 .config 中启用上述选项。

以下是某些内核版本的解决方案:https://lkml.org/lkml/2019/9/6/787

此修补程序添加了选择 wext_* 配置的父级。稍后您需要转到主板配置,即:拱门/臂/配置/imx_v7_android_defconfig并添加行:CONFIG_WIRELESS_ALLCONFIG=y

然后重新编译内核,即:在安卓上,你这样做:制作 -J32 内核映像

最新更新