diff options
| author | Scott Rifenbark <srifenbark@gmail.com> | 2017-09-27 09:38:23 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-10-06 12:06:33 +0100 |
| commit | 2e21a56a8a0a933af4fe3f63fa6d921f13e85f4e (patch) | |
| tree | 6c0b71582a128c29636a0d77ea93dfb9b64c99fa /documentation/kernel-dev | |
| parent | 77a52d0b103a96d8503f5d7c65ff9e6d31dd6e89 (diff) | |
| download | poky-2e21a56a8a0a933af4fe3f63fa6d921f13e85f4e.tar.gz | |
kernel-dev: Added "Validating Configuration" section
Provided a new section on how to validate the configuration of the
kernel.
(From yocto-docs rev: 25f43d1baeff7d571fc60c7edca957d4ce6d6357)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/kernel-dev')
| -rw-r--r-- | documentation/kernel-dev/kernel-dev-common.xml | 154 |
1 files changed, 105 insertions, 49 deletions
diff --git a/documentation/kernel-dev/kernel-dev-common.xml b/documentation/kernel-dev/kernel-dev-common.xml index bfc82e2451..494f6af117 100644 --- a/documentation/kernel-dev/kernel-dev-common.xml +++ b/documentation/kernel-dev/kernel-dev-common.xml | |||
| @@ -1748,6 +1748,111 @@ | |||
| 1748 | </para> | 1748 | </para> |
| 1749 | </section> | 1749 | </section> |
| 1750 | 1750 | ||
| 1751 | <section id='validating-configuration'> | ||
| 1752 | <title>Validating Configuration</title> | ||
| 1753 | |||
| 1754 | <para> | ||
| 1755 | You can use the | ||
| 1756 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-kernel_configcheck'><filename>do_kernel_configcheck</filename></ulink> | ||
| 1757 | task to provide configuration validation: | ||
| 1758 | <literallayout class='monospaced'> | ||
| 1759 | $ bitbake linux-yocto -c kernel_configcheck -f | ||
| 1760 | </literallayout> | ||
| 1761 | Running this task produces warnings for when a | ||
| 1762 | requested configuration does not appear in the final | ||
| 1763 | <filename>.config</filename> file or when you override a | ||
| 1764 | policy configuration in a hardware configuration fragment. | ||
| 1765 | </para> | ||
| 1766 | |||
| 1767 | <para> | ||
| 1768 | In order to run this task, you must have an existing | ||
| 1769 | <filename>.config</filename> file. | ||
| 1770 | See the | ||
| 1771 | "<link linkend='using-menuconfig'>Using <filename>menuconfig</filename></link>" | ||
| 1772 | section for information on how to create a configuration file. | ||
| 1773 | </para> | ||
| 1774 | |||
| 1775 | <para> | ||
| 1776 | Following is sample output from the | ||
| 1777 | <filename>do_kernel_configcheck</filename> task: | ||
| 1778 | <literallayout class='monospaced'> | ||
| 1779 | Loading cache: 100% |########################################################| Time: 0:00:00 | ||
| 1780 | Loaded 1275 entries from dependency cache. | ||
| 1781 | NOTE: Resolving any missing task queue dependencies | ||
| 1782 | |||
| 1783 | Build Configuration: | ||
| 1784 | . | ||
| 1785 | . | ||
| 1786 | . | ||
| 1787 | |||
| 1788 | NOTE: Executing SetScene Tasks | ||
| 1789 | NOTE: Executing RunQueue Tasks | ||
| 1790 | WARNING: linux-yocto-4.12.12+gitAUTOINC+eda4d18ce4_16de014967-r0 do_kernel_configcheck: | ||
| 1791 | [kernel config]: specified values did not make it into the kernel's final configuration: | ||
| 1792 | |||
| 1793 | ---------- CONFIG_X86_TSC ----------------- | ||
| 1794 | Config: CONFIG_X86_TSC | ||
| 1795 | From: /home/scottrif/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/bsp/common-pc/common-pc-cpu.cfg | ||
| 1796 | Requested value: CONFIG_X86_TSC=y | ||
| 1797 | Actual value: | ||
| 1798 | |||
| 1799 | |||
| 1800 | ---------- CONFIG_X86_BIGSMP ----------------- | ||
| 1801 | Config: CONFIG_X86_BIGSMP | ||
| 1802 | From: /home/scottrif/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/cfg/smp.cfg | ||
| 1803 | /home/scottrif/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/defconfig | ||
| 1804 | Requested value: # CONFIG_X86_BIGSMP is not set | ||
| 1805 | Actual value: | ||
| 1806 | |||
| 1807 | |||
| 1808 | ---------- CONFIG_NR_CPUS ----------------- | ||
| 1809 | Config: CONFIG_NR_CPUS | ||
| 1810 | From: /home/scottrif/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/cfg/smp.cfg | ||
| 1811 | /home/scottrif/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/bsp/common-pc/common-pc.cfg | ||
| 1812 | /home/scottrif/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/defconfig | ||
| 1813 | Requested value: CONFIG_NR_CPUS=8 | ||
| 1814 | Actual value: CONFIG_NR_CPUS=1 | ||
| 1815 | |||
| 1816 | |||
| 1817 | ---------- CONFIG_SCHED_SMT ----------------- | ||
| 1818 | Config: CONFIG_SCHED_SMT | ||
| 1819 | From: /home/scottrif/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/cfg/smp.cfg | ||
| 1820 | /home/scottrif/poky/build/tmp/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/defconfig | ||
| 1821 | Requested value: CONFIG_SCHED_SMT=y | ||
| 1822 | Actual value: | ||
| 1823 | |||
| 1824 | |||
| 1825 | |||
| 1826 | NOTE: Tasks Summary: Attempted 288 tasks of which 285 didn't need to be rerun and all succeeded. | ||
| 1827 | |||
| 1828 | Summary: There were 3 WARNING messages shown. | ||
| 1829 | </literallayout> | ||
| 1830 | <note> | ||
| 1831 | The previous output example has artificial line breaks | ||
| 1832 | to make it more readable. | ||
| 1833 | </note> | ||
| 1834 | </para> | ||
| 1835 | |||
| 1836 | <para> | ||
| 1837 | The output describes the various problems that you can | ||
| 1838 | encounter along with where to find the offending configuration | ||
| 1839 | items. | ||
| 1840 | You can use the information in the logs to adjust your | ||
| 1841 | configuration files and then repeat the | ||
| 1842 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-kernel_configme'><filename>do_kernel_configme</filename></ulink> | ||
| 1843 | and | ||
| 1844 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-kernel_configcheck'><filename>do_kernel_configcheck</filename></ulink> | ||
| 1845 | tasks until they produce no warnings. | ||
| 1846 | </para> | ||
| 1847 | |||
| 1848 | <para> | ||
| 1849 | For more information on how to use the | ||
| 1850 | <filename>menuconfig</filename> tool, see the | ||
| 1851 | "<link linkend='using-menuconfig'>Using <filename>menuconfig</filename></link>" | ||
| 1852 | section. | ||
| 1853 | </para> | ||
| 1854 | </section> | ||
| 1855 | |||
| 1751 | <section id='fine-tuning-the-kernel-configuration-file'> | 1856 | <section id='fine-tuning-the-kernel-configuration-file'> |
| 1752 | <title>Fine-Tuning the Kernel Configuration File</title> | 1857 | <title>Fine-Tuning the Kernel Configuration File</title> |
| 1753 | 1858 | ||
| @@ -2034,55 +2139,6 @@ | |||
| 2034 | section for more information. | 2139 | section for more information. |
| 2035 | </note> | 2140 | </note> |
| 2036 | </para> | 2141 | </para> |
| 2037 | |||
| 2038 | <para> | ||
| 2039 | The kernel tools also provide configuration validation. | ||
| 2040 | You can use these tools to produce warnings for when a | ||
| 2041 | requested configuration does not appear in the final | ||
| 2042 | <filename>.config</filename> file or when you override a | ||
| 2043 | policy configuration in a hardware configuration fragment. | ||
| 2044 | Here is an example with some sample output of the command | ||
| 2045 | that runs these tools: | ||
| 2046 | <literallayout class='monospaced'> | ||
| 2047 | $ bitbake linux-yocto -c kernel_configcheck -f | ||
| 2048 | |||
| 2049 | ... | ||
| 2050 | |||
| 2051 | NOTE: validating kernel configuration | ||
| 2052 | This BSP sets 3 invalid/obsolete kernel options. | ||
| 2053 | These config options are not offered anywhere within this kernel. | ||
| 2054 | The full list can be found in your kernel src dir at: | ||
| 2055 | meta/cfg/standard/mybsp/invalid.cfg | ||
| 2056 | |||
| 2057 | This BSP sets 21 kernel options that are possibly non-hardware related. | ||
| 2058 | The full list can be found in your kernel src dir at: | ||
| 2059 | meta/cfg/standard/mybsp/specified_non_hdw.cfg | ||
| 2060 | |||
| 2061 | WARNING: There were 2 hardware options requested that do not | ||
| 2062 | have a corresponding value present in the final ".config" file. | ||
| 2063 | This probably means you are not getting the config you wanted. | ||
| 2064 | The full list can be found in your kernel src dir at: | ||
| 2065 | meta/cfg/standard/mybsp/mismatch.cfg | ||
| 2066 | </literallayout> | ||
| 2067 | </para> | ||
| 2068 | |||
| 2069 | <para> | ||
| 2070 | The output describes the various problems that you can | ||
| 2071 | encounter along with where to find the offending configuration | ||
| 2072 | items. | ||
| 2073 | You can use the information in the logs to adjust your | ||
| 2074 | configuration files and then repeat the | ||
| 2075 | <filename>kernel_configme</filename> and | ||
| 2076 | <filename>kernel_configcheck</filename> commands until | ||
| 2077 | they produce no warnings. | ||
| 2078 | </para> | ||
| 2079 | |||
| 2080 | <para> | ||
| 2081 | For more information on how to use the | ||
| 2082 | <filename>menuconfig</filename> tool, see the | ||
| 2083 | "<link linkend='using-menuconfig'>Using <filename>menuconfig</filename></link>" | ||
| 2084 | section. | ||
| 2085 | </para> | ||
| 2086 | </section> | 2142 | </section> |
| 2087 | 2143 | ||
| 2088 | <section id='modifying-source-code'> | 2144 | <section id='modifying-source-code'> |
