10.3. Configuration TargetsTable 10-3 shows targets that allow the kernel to be configured in a wide range of different ways.
Note that the allyesconfig, allmodconfig, allnoconfig, and randconfig targets also take advantage of the environment variable KCONFIG_ALLCONFIG. If that variable points to a file, that file will be used as a list of configuration values that you require to be set to a specific value. In other words, the file overrides the normal behavior of the make targets. For example, if the file ~/linux/must_be_set contains the following variables: $ cat ~/linux/must_be_set CONFIG_SWAP=y CONFIG_DEBUG_FS=y and you enter make allnoconfig with the proper KCONFIG_ALLCONFIG environment variable in effect: $ KCONFIG_ALLCONFIG=../must_be_set make allnoconfig $ grep CONFIG_SWAP .config CONFIG_SWAP=y then the results include: $ grep CONFIG_DEBUG_FS .config CONFIG_DEBUG_FS=y This variable would not have normally been set to y otherwise. If the KCONFIG_ALLCONFIG variable is not set, the build system checks for files in the top-level build directory named:
If any of those files are present, the build uses them as lists of configuration values that must be forced to the specified values. If none of those files are found, the build system finally looks for a file called all.config for a list of forced configuration values. You can use these different files to set up a known good base configuration that will always work. Then the other configuration options can be used to generate different testing configurations for the needed situation. |