diff options
Diffstat (limited to 'documentation/kernel-dev')
| -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:" |
