summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--documentation/kernel-dev/kernel-dev-common.xml42
1 files changed, 27 insertions, 15 deletions
diff --git a/documentation/kernel-dev/kernel-dev-common.xml b/documentation/kernel-dev/kernel-dev-common.xml
index f0e95aca07..6f39a70dff 100644
--- a/documentation/kernel-dev/kernel-dev-common.xml
+++ b/documentation/kernel-dev/kernel-dev-common.xml
@@ -148,16 +148,16 @@
148 <para> 148 <para>
149 You can make wholesale or incremental changes to the Linux 149 You can make wholesale or incremental changes to the Linux
150 kernel <filename>.config</filename> file by including a 150 kernel <filename>.config</filename> file by including a
151 <filename>defconfig</filename> or by specifying 151 <filename>defconfig</filename> and by specifying
152 configuration fragments in the 152 configuration fragments in the
153 <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>. 153 <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>.
154 </para> 154 </para>
155 155
156 <para> 156 <para>
157 If you have a complete Linux kernel <filename>.config</filename> 157 If you have a final Linux kernel <filename>.config</filename>
158 file you want to use, copy it to a directory named 158 file you want to use, copy it to a directory named
159 <filename>files</filename>, which must be in 159 <filename>files</filename>, which must be in
160 your layer's <filename>recipes-kernel/linux</filename> 160 your layer's <filename>recipes-kernel/linux</filename>
161 directory, and name the file "defconfig". 161 directory, and name the file "defconfig".
162 Then, add the following lines to your linux-yocto 162 Then, add the following lines to your linux-yocto
163 <filename>.bbappend</filename> file in your layer: 163 <filename>.bbappend</filename> file in your layer:
@@ -165,24 +165,36 @@
165 FILESEXTRAPATHS_prepend := "${THISDIR}/files:" 165 FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
166 SRC_URI += "file://defconfig" 166 SRC_URI += "file://defconfig"
167 </literallayout> 167 </literallayout>
168 The 168 The <filename>SRC_URI</filename> tells the build system how to
169 <filename>SRC_URI</filename> tells the build system how to 169 search for the file, while the
170 search for the file, while the
171 <ulink url='&YOCTO_DOCS_REF_URL;#var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></ulink> 170 <ulink url='&YOCTO_DOCS_REF_URL;#var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></ulink>
172 extends the 171 extends the
173 <ulink url='&YOCTO_DOCS_REF_URL;#var-FILESPATH'><filename>FILESPATH</filename></ulink> 172 <ulink url='&YOCTO_DOCS_REF_URL;#var-FILESPATH'><filename>FILESPATH</filename></ulink>
174 variable (search directories) to include the 173 variable (search directories) to include the
175 <filename>files</filename> directory you created for the 174 <filename>files</filename> directory you created for the
176 configuration changes. 175 configuration changes.
177 </para> 176 </para>
178 177
178 <note>
179 The build system applies the configurations from the
180 <filename>.config</filename> file before applying any
181 subsequent configuration fragments.
182 The final kernel configuration is a combination of the
183 configurations in the <filename>.config</filename> file and
184 any configuration fragments you provide.
185 You need to realize that if you have any configuration
186 fragments, the build system applies these on top of and
187 after applying the existing <filename>.config</filename>
188 file configurations.
189 </note>
190
179 <para> 191 <para>
180 Generally speaking, the preferred approach is to determine the 192 Generally speaking, the preferred approach is to determine the
181 incremental change you want to make and add that as a 193 incremental change you want to make and add that as a
182 configuration fragment. 194 configuration fragment.
183 For example, if you want to add support for a basic serial 195 For example, if you want to add support for a basic serial
184 console, create a file named <filename>8250.cfg</filename> in the 196 console, create a file named <filename>8250.cfg</filename> in
185 <filename>files</filename> directory with the following 197 the <filename>files</filename> directory with the following
186 content (without indentation): 198 content (without indentation):
187 <literallayout class='monospaced'> 199 <literallayout class='monospaced'>
188 CONFIG_SERIAL_8250=y 200 CONFIG_SERIAL_8250=y
@@ -193,8 +205,8 @@
193 CONFIG_SERIAL_CORE=y 205 CONFIG_SERIAL_CORE=y
194 CONFIG_SERIAL_CORE_CONSOLE=y 206 CONFIG_SERIAL_CORE_CONSOLE=y
195 </literallayout> 207 </literallayout>
196 Next, include this configuration fragment and extend the 208 Next, include this configuration fragment and extend the
197 <filename>FILESPATH</filename> variable in your 209 <filename>FILESPATH</filename> variable in your
198 <filename>.bbappend</filename> file: 210 <filename>.bbappend</filename> file:
199 <literallayout class='monospaced'> 211 <literallayout class='monospaced'>
200 FILESEXTRAPATHS_prepend := "${THISDIR}/files:" 212 FILESEXTRAPATHS_prepend := "${THISDIR}/files:"