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

Linux内核defconfig选项未使用BuildRoot生成.config,linux,kernel,buildroot,Linux,Kernel,Buildroot,我正在通过BuildRoot为arm目标构建内核版本2.6.39.4 我正在使用一个自定义的defconfig文件,我在其中添加了以下3个选项: CONFIG_WIRELESS=y CONFIG_WEXT_PRIV=y CONFIG_WIRELESS_EXT=y 在内核生成的.config文件中,我在添加到defconfig的3个文件中看到的唯一选项是config\u WIRELESS=y 这正常吗?我知道一些内核配置选项是“隐藏”的,但这会阻止它们出现在内核的最终.config中吗?WEST

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

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

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


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

WEST_PRIV和
WIRELESS_EXT
都是盲选项(即它们没有提示,在menuconfig/xconfig中不可见)。
因此,您不能简单地在.config(或defconfig)文件中设置它们的值。
只有当另一个选项选择它们时,才会启用它们。

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

因此,您必须启用一些可见的相关选项,然后将自动
选择
WEXT\u PRIV
WIRELESS\u EXT
,我遇到了同样的问题,我通过设置CONFIG\u 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中启用上述选项。

我也遇到了同样的问题,我仅通过设置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中启用上述选项。

以下是一些内核版本的解决方案:

此修补程序添加选择wext_*configs的父级。 稍后,您需要转到板配置,即: arch/arm/configs/imx\u v7\u android\u defconfig 并添加行: CONFIG\u WIRELESS\u ALLCONFIG=y

然后重新编译内核,即:在Android上,您可以:
make-j32 kernelimage

以下是一些内核版本的解决方案:

此修补程序添加选择wext_*configs的父级。 稍后,您需要转到板配置,即: arch/arm/configs/imx\u v7\u android\u defconfig 并添加行: CONFIG\u WIRELESS\u ALLCONFIG=y

然后重新编译内核,即:在Android上,您可以:
make-j32 kernelimage

只是为了澄清一下:是否存在,让我们称之为“子选项”,在选择“父选项”之前,它们是不可见的?基本上,如果我希望
WEST_PRIV
WIRELESS_EXT
出现在配置中,我需要首先选择它们的父选项。或者你是说有些选项总是盲选项,永远不会出现在内核的
.config
结果中?@BackDoorNoBaby“是的,让我们称它们为“子选项”…--你把一个选项混为一谈,这个选项只有在启用了“依赖…”依赖项的情况下才会出现在menuconfig中。ThomasPetazzoni称之为盲选项,因为它从未出现在menuconfig中。您的defconfig被删除,不必要的选项被删除,因为没有启用的选项选择这些盲选项。如果您有一个已启用的选项(自动选择这些盲选项),那么这些盲选项将位于.config文件中。请澄清:是否存在,让我们称之为“子选项”,在选择“父选项”之前,这些选项是不可见的?基本上,如果我希望
WEST_PRIV
WIRELESS_EXT
出现在配置中,我需要首先选择它们的父选项。或者你是说有些选项总是盲选项,永远不会出现在内核的
.config
结果中?@BackDoorNoBaby“是的,让我们称它们为“子选项”…--你把一个选项混为一谈,这个选项只有在启用了“依赖…”依赖项的情况下才会出现在menuconfig中。ThomasPetazzoni称之为盲选项,因为它从未出现在menuconfig中。您的defconfig被删除,不必要的选项被删除,因为没有启用的选项选择这些盲选项。如果您确实有一个已启用的选项(自动选择那些盲选项),那么这些盲选项将位于.config文件中。