Linux内核defconfig选项未使用BuildRoot生成.config
我正在通过BuildRoot为arm目标构建内核版本2.6.39.4 我正在使用一个自定义的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
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文件中。