diff options
-rw-r--r-- | documentation/kernel-dev/kernel-dev-common.xml | 42 |
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:" |