You can make sure the .config
file is as lean or efficient as
possible by reading the output of the kernel configuration fragment audit,
noting any issues, making changes to correct the issues, and then repeating.
As part of the kernel build process, the
kernel_configcheck
task runs.
This task validates the kernel configuration by checking the final
.config
file against the input files.
During the check, the task produces warning messages for the following
issues:
Requested options that did not make the final
.config
file.
Configuration items that appear twice in the same configuration fragment.
Configuration items tagged as "required" were overridden.
A board overrides a non-board specific option.
Listed options not valid for the kernel being processed. In other words, the option does not appear anywhere.
kernel_configcheck
task can also optionally report
if an option is overridden during processing.
For each output warning, a message points to the file that contains a list of the options and a pointer to the config fragment that defines them. Collectively, the files are the key to streamlining the configuration.
To streamline the configuration, do the following:
Start with a full configuration that you know works - it builds and boots successfully. This configuration file will be your baseline.
Separately run the configme
and
kernel_configcheck
tasks.
Take the resulting list of files from the
kernel_configcheck
task warnings and do the following:
Drop values that are redefined in the fragment but do not
change the final .config
file.
Analyze and potentially drop values from the
.config
file that override required
configurations.
Analyze and potentially remove non-board specific options.
Remove repeated and invalid options.
After you have worked through the output of the kernel configuration
audit, you can re-run the configme
and kernel_configcheck
tasks to see the results of your
changes.
If you have more issues, you can deal with them as described in the
previous step.
Iteratively working through steps two through four eventually yields
a minimal, streamlined configuration file.
Once you have the best .config
, you can build the Linux
Yocto kernel.