diff options
-rw-r--r-- | documentation/kernel-dev/kernel-dev-faq.xml | 225 |
1 files changed, 117 insertions, 108 deletions
diff --git a/documentation/kernel-dev/kernel-dev-faq.xml b/documentation/kernel-dev/kernel-dev-faq.xml index 7389c9c9c5..2b99ad2dde 100644 --- a/documentation/kernel-dev/kernel-dev-faq.xml +++ b/documentation/kernel-dev/kernel-dev-faq.xml | |||
@@ -4,127 +4,136 @@ | |||
4 | 4 | ||
5 | <appendix id='kernel-dev-faq'> | 5 | <appendix id='kernel-dev-faq'> |
6 | <title>Kernel Development FAQ</title> | 6 | <title>Kernel Development FAQ</title> |
7 | <qandaset> | ||
8 | <qandaentry> | ||
9 | <question> | ||
10 | <para> | ||
11 | How do I use my own Linux kernel <filename>.config</filename> | ||
12 | file? | ||
13 | </para> | ||
14 | </question> | ||
15 | <answer> | ||
16 | <para> | ||
17 | Refer to the "<link linkend='changing-the-configuration'>Changing the Configuration</link>" | ||
18 | section for information. | ||
19 | </para> | ||
20 | </answer> | ||
21 | </qandaentry> | ||
22 | 7 | ||
23 | <qandaentry> | 8 | <section id='kernel-dev-faq-section'> |
24 | <question> | 9 | <title>Common Questions and Solutions</title> |
25 | <para> | ||
26 | How do I create configuration fragments? | ||
27 | </para> | ||
28 | </question> | ||
29 | <answer> | ||
30 | <para> | ||
31 | Refer to the "<link linkend='generating-configuration-files'>Generating Configuration Files</link>" | ||
32 | section for information. | ||
33 | </para> | ||
34 | </answer> | ||
35 | </qandaentry> | ||
36 | 10 | ||
37 | <qandaentry> | 11 | <para> |
38 | <question> | 12 | The following lists some solutions for common questions. |
39 | <para> | ||
40 | How do I use my own Linux kernel sources? | ||
41 | </para> | ||
42 | </question> | ||
43 | <answer> | ||
44 | <para> | ||
45 | Refer to the "<link linkend='working-with-your-own-sources'>Working With Your Own Sources</link>" | ||
46 | section for information. | ||
47 | </para> | ||
48 | </answer> | ||
49 | </qandaentry> | ||
50 | 13 | ||
51 | <qandaentry> | ||
52 | <question> | ||
53 | <para> | ||
54 | How do I install/not-install the kernel image on the rootfs? | ||
55 | </para> | ||
56 | </question> | ||
57 | <answer> | ||
58 | <para> | ||
59 | The kernel image (e.g. <filename>vmlinuz</filename>) is provided | ||
60 | by the <filename>kernel-image</filename> package. | ||
61 | Image recipes depend on <filename>kernel-base</filename>. | ||
62 | To specify whether or not the kernel | ||
63 | image is installed in the generated root filesystem, override | ||
64 | <filename>RDEPENDS_kernel-base</filename> to include or not | ||
65 | include "kernel-image".</para> | ||
66 | <para>See the | ||
67 | "<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files</ulink>" | ||
68 | section in the Yocto Project Development Manual for information on | ||
69 | how to use an append file to override metadata. | ||
70 | </para> | ||
71 | </answer> | ||
72 | </qandaentry> | ||
73 | 14 | ||
74 | <qandaentry> | 15 | <qandaset> |
75 | <question> | 16 | <qandaentry> |
17 | <question> | ||
18 | <para> | ||
19 | How do I use my own Linux kernel <filename>.config</filename> | ||
20 | file? | ||
21 | </para> | ||
22 | </question> | ||
23 | <answer> | ||
76 | <para> | 24 | <para> |
77 | How do I install a specific kernel module? | 25 | Refer to the "<link linkend='changing-the-configuration'>Changing the Configuration</link>" |
78 | </para> | 26 | section for information. |
79 | </question> | 27 | </para> |
80 | <answer> | 28 | </answer> |
81 | <para> | 29 | </qandaentry> |
82 | Linux kernel modules are packaged individually. | 30 | |
83 | To ensure a specific kernel module is included in an image, | 31 | <qandaentry> |
84 | include it in the appropriate machine | 32 | <question> |
85 | <ulink url='&YOCTO_DOCS_REF_URL;#var-RRECOMMENDS'><filename>RRECOMMENDS</filename></ulink> | 33 | <para> |
86 | variable.</para> | 34 | How do I create configuration fragments? |
87 | <para>These other variables are useful for installing specific | 35 | </para> |
88 | modules: | 36 | </question> |
89 | <literallayout class='monospaced'> | 37 | <answer> |
38 | <para> | ||
39 | Refer to the "<link linkend='generating-configuration-files'>Generating Configuration Files</link>" | ||
40 | section for information. | ||
41 | </para> | ||
42 | </answer> | ||
43 | </qandaentry> | ||
44 | |||
45 | <qandaentry> | ||
46 | <question> | ||
47 | <para> | ||
48 | How do I use my own Linux kernel sources? | ||
49 | </para> | ||
50 | </question> | ||
51 | <answer> | ||
52 | <para> | ||
53 | Refer to the "<link linkend='working-with-your-own-sources'>Working With Your Own Sources</link>" | ||
54 | section for information. | ||
55 | </para> | ||
56 | </answer> | ||
57 | </qandaentry> | ||
58 | |||
59 | <qandaentry> | ||
60 | <question> | ||
61 | <para> | ||
62 | How do I install/not-install the kernel image on the rootfs? | ||
63 | </para> | ||
64 | </question> | ||
65 | <answer> | ||
66 | <para> | ||
67 | The kernel image (e.g. <filename>vmlinuz</filename>) is provided | ||
68 | by the <filename>kernel-image</filename> package. | ||
69 | Image recipes depend on <filename>kernel-base</filename>. | ||
70 | To specify whether or not the kernel | ||
71 | image is installed in the generated root filesystem, override | ||
72 | <filename>RDEPENDS_kernel-base</filename> to include or not | ||
73 | include "kernel-image".</para> | ||
74 | <para>See the | ||
75 | "<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files</ulink>" | ||
76 | section in the Yocto Project Development Manual for information on | ||
77 | how to use an append file to override metadata. | ||
78 | </para> | ||
79 | </answer> | ||
80 | </qandaentry> | ||
81 | |||
82 | <qandaentry> | ||
83 | <question> | ||
84 | <para> | ||
85 | How do I install a specific kernel module? | ||
86 | </para> | ||
87 | </question> | ||
88 | <answer> | ||
89 | <para> | ||
90 | Linux kernel modules are packaged individually. | ||
91 | To ensure a specific kernel module is included in an image, | ||
92 | include it in the appropriate machine | ||
93 | <ulink url='&YOCTO_DOCS_REF_URL;#var-RRECOMMENDS'><filename>RRECOMMENDS</filename></ulink> | ||
94 | variable.</para> | ||
95 | <para>These other variables are useful for installing specific | ||
96 | modules: | ||
97 | <literallayout class='monospaced'> | ||
90 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_ESSENTIAL_EXTRA_RDEPENDS'><filename>MACHINE_ESSENTIAL_EXTRA_RDEPENDS</filename></ulink> | 98 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_ESSENTIAL_EXTRA_RDEPENDS'><filename>MACHINE_ESSENTIAL_EXTRA_RDEPENDS</filename></ulink> |
91 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS'><filename>MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS</filename></ulink> | 99 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS'><filename>MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS</filename></ulink> |
92 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_EXTRA_RDEPENDS'><filename>MACHINE_EXTRA_RDEPENDS</filename></ulink> | 100 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_EXTRA_RDEPENDS'><filename>MACHINE_EXTRA_RDEPENDS</filename></ulink> |
93 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_EXTRA_RRECOMMENDS'><filename>MACHINE_EXTRA_RRECOMMENDS</filename></ulink> | 101 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_EXTRA_RRECOMMENDS'><filename>MACHINE_EXTRA_RRECOMMENDS</filename></ulink> |
94 | </literallayout> | 102 | </literallayout> |
95 | For example, set the following in the <filename>qemux86.conf</filename> | 103 | For example, set the following in the <filename>qemux86.conf</filename> |
96 | file to include the <filename>ab123</filename> kernel modules | 104 | file to include the <filename>ab123</filename> kernel modules |
97 | with images built for the <filename>qemux86</filename> machine: | 105 | with images built for the <filename>qemux86</filename> machine: |
98 | <literallayout class='monospaced'> | 106 | <literallayout class='monospaced'> |
99 | MACHINE_EXTRA_RRECOMMENDS += "kernel-module-ab123" | 107 | MACHINE_EXTRA_RRECOMMENDS += "kernel-module-ab123" |
100 | </literallayout> | 108 | </literallayout> |
101 | For more information, see the | 109 | For more information, see the |
102 | "<link linkend='incorporating-out-of-tree-modules'>Incorporating Out-of-Tree Modules</link>" | 110 | "<link linkend='incorporating-out-of-tree-modules'>Incorporating Out-of-Tree Modules</link>" |
103 | section. | 111 | section. |
104 | </para> | 112 | </para> |
105 | </answer> | 113 | </answer> |
106 | </qandaentry> | 114 | </qandaentry> |
107 | 115 | ||
108 | <qandaentry> | 116 | <qandaentry> |
109 | <question> | 117 | <question> |
110 | <para> | 118 | <para> |
111 | How do I change the Linux kernel command line? | 119 | How do I change the Linux kernel command line? |
112 | </para> | 120 | </para> |
113 | </question> | 121 | </question> |
114 | <answer> | 122 | <answer> |
115 | <para> | 123 | <para> |
116 | The Linux kernel command line is typically specified in | 124 | The Linux kernel command line is typically specified in |
117 | the machine config using the <filename>APPEND</filename> variable. | 125 | the machine config using the <filename>APPEND</filename> variable. |
118 | For example, you can add some helpful debug information doing | 126 | For example, you can add some helpful debug information doing |
119 | the following: | 127 | the following: |
120 | <literallayout class='monospaced'> | 128 | <literallayout class='monospaced'> |
121 | APPEND += "printk.time=y initcall_debug debug" | 129 | APPEND += "printk.time=y initcall_debug debug" |
122 | </literallayout> | 130 | </literallayout> |
123 | </para> | 131 | </para> |
124 | </answer> | 132 | </answer> |
125 | </qandaentry> | 133 | </qandaentry> |
126 | 134 | </qandaset> | |
127 | </qandaset> | 135 | </para> |
136 | </section> | ||
128 | </appendix> | 137 | </appendix> |
129 | <!-- | 138 | <!-- |
130 | vim: expandtab tw=80 ts=4 | 139 | vim: expandtab tw=80 ts=4 |