diff options
| -rw-r--r-- | documentation/bsp-guide/bsp.xml | 196 |
1 files changed, 131 insertions, 65 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index 7f793c896e..f9b4e66ea5 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml | |||
| @@ -29,9 +29,14 @@ | |||
| 29 | 29 | ||
| 30 | <note> | 30 | <note> |
| 31 | The information here does not provide an example of how to create a BSP. | 31 | The information here does not provide an example of how to create a BSP. |
| 32 | For information on how to create a BSP, see the Yocto Project Development Manual or the | 32 | For examples on how to create a BSP, see the |
| 33 | <ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another'></ulink> | 33 | <ulink url='http://www.yoctoproject.org/docs/1.1/dev-manual/dev-manual.html#dev-manual-bsp-appendix'> |
| 34 | wiki page. | 34 | BSP Development Example</ulink> in |
| 35 | <ulink url='http://www.yoctoproject.org/docs/1.1/dev-manual/dev-manual.html'> | ||
| 36 | The Yocto Project Development Manual</ulink>. | ||
| 37 | You can also see the | ||
| 38 | <ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another'> | ||
| 39 | wiki page</ulink>. | ||
| 35 | </note> | 40 | </note> |
| 36 | 41 | ||
| 37 | <para> | 42 | <para> |
| @@ -116,31 +121,46 @@ | |||
| 116 | meta-<bsp_name>/conf/machine/*.conf | 121 | meta-<bsp_name>/conf/machine/*.conf |
| 117 | meta-<bsp_name>/recipes-bsp/* | 122 | meta-<bsp_name>/recipes-bsp/* |
| 118 | meta-<bsp_name>/recipes-graphics/* | 123 | meta-<bsp_name>/recipes-graphics/* |
| 119 | meta-<bsp_name>/recipes-kernel/linux/linux-yocto_git.bbappend | 124 | meta-<bsp_name>/recipes-kernel/linux/linux-yocto_<kernel_rev>.bbappend |
| 120 | </literallayout> | 125 | </literallayout> |
| 121 | </para> | 126 | </para> |
| 122 | 127 | ||
| 123 | <para> | 128 | <para> |
| 124 | Below is an example of the Crownbay BSP: | 129 | Below is an example of the Crown Bay BSP: |
| 125 | 130 | ||
| 126 | <literallayout class='monospaced'> | 131 | <literallayout class='monospaced'> |
| 127 | meta-crownbay/COPYING.MIT | 132 | meta-crownbay/COPYING.MIT |
| 128 | meta-crownbay/README | 133 | meta-crownbay/README |
| 129 | meta-crownbay/binary/.gitignore | 134 | meta-crownbay/binary |
| 135 | meta-crownbay/conf/ | ||
| 130 | meta-crownbay/conf/layer.conf | 136 | meta-crownbay/conf/layer.conf |
| 137 | meta-crownbay/conf/machine/ | ||
| 131 | meta-crownbay/conf/machine/crownbay.conf | 138 | meta-crownbay/conf/machine/crownbay.conf |
| 132 | meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/machconfig | 139 | meta-crownbay/conf/machine/crownbay-noemgd.conf |
| 140 | meta-crownbay/recipes-bsp/ | ||
| 141 | meta-crownbay/recipes-bsp/formfactor/ | ||
| 133 | meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend | 142 | meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend |
| 134 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf | 143 | meta-crownbay/recipes-bsp/formfactor/formfactor/ |
| 144 | meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/ | ||
| 145 | meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/machconfig | ||
| 146 | meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/ | ||
| 147 | meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig | ||
| 148 | meta-crownbay/recipes-graphics/ | ||
| 149 | meta-crownbay/recipes-graphics/xorg-xserver/ | ||
| 150 | meta-crownbay/recipes-graphics/xorg-xserver/emgd-driver-bin_1.6.bb | ||
| 135 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend | 151 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend |
| 136 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin/.gitignore | 152 | meta-crownbay/recipes-graphics/xorg-xserver/emgd-driver-bin-1.6/ |
| 137 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb | 153 | meta-crownbay/recipes-graphics/xorg-xserver/emgd-driver-bin-1.6/.gitignore |
| 138 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/crosscompile.patch | 154 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/ |
| 139 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch | 155 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/ |
| 140 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch | 156 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf |
| 141 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/nodolt.patch | 157 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd/ |
| 142 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb | 158 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd/xorg.conf |
| 143 | meta-crownbay/recipes-kernel/linux/linux-yocto_git.bbappend | 159 | meta-crownbay/recipes-kernel/ |
| 160 | meta-crownbay/recipes-kernel/linux/ | ||
| 161 | meta-crownbay/recipes-kernel/linux/linux-yocto_2.6.34.bbappend | ||
| 162 | meta-crownbay/recipes-kernel/linux/linux-yocto_2.6.37.bbappend | ||
| 163 | meta-crownbay/recipes-kernel/linux/linux-yocto_3.0.bbappend | ||
| 144 | </literallayout> | 164 | </literallayout> |
| 145 | </para> | 165 | </para> |
| 146 | 166 | ||
| @@ -161,7 +181,7 @@ | |||
| 161 | <para> | 181 | <para> |
| 162 | These optional files satisfy licensing requirements for the BSP. | 182 | These optional files satisfy licensing requirements for the BSP. |
| 163 | The type or types of files here can vary depending on the licensing requirements. | 183 | The type or types of files here can vary depending on the licensing requirements. |
| 164 | For example, in the Crownbay BSP all licensing requirements are handled with the | 184 | For example, in the Crown Bay BSP all licensing requirements are handled with the |
| 165 | <filename>COPYING.MIT</filename> file. | 185 | <filename>COPYING.MIT</filename> file. |
| 166 | </para> | 186 | </para> |
| 167 | 187 | ||
| @@ -223,14 +243,15 @@ | |||
| 223 | <section id='bsp-filelayout-layer'> | 243 | <section id='bsp-filelayout-layer'> |
| 224 | <title>Layer Configuration File</title> | 244 | <title>Layer Configuration File</title> |
| 225 | <para> | 245 | <para> |
| 226 | You can find these files in the Yocto Project file's directory structure at: | 246 | You can find this file in the Yocto Project file's directory structure at: |
| 227 | <literallayout class='monospaced'> | 247 | <literallayout class='monospaced'> |
| 228 | meta-<bsp_name>/conf/layer.conf | 248 | meta-<bsp_name>/conf/layer.conf |
| 229 | </literallayout> | 249 | </literallayout> |
| 230 | </para> | 250 | </para> |
| 231 | 251 | ||
| 232 | <para> | 252 | <para> |
| 233 | This file identifies the structure as a Yocto Project layer, identifies the | 253 | The <filename>conf/layer.conf</filename> file identifies the file structure as a Yocto |
| 254 | Project layer, identifies the | ||
| 234 | contents of the layer, and contains information about how Yocto Project should use it. | 255 | contents of the layer, and contains information about how Yocto Project should use it. |
| 235 | Generally, a standard boilerplate file such as the following works. | 256 | Generally, a standard boilerplate file such as the following works. |
| 236 | In the following example you would replace "bsp" and "_bsp" with the actual name | 257 | In the following example you would replace "bsp" and "_bsp" with the actual name |
| @@ -272,12 +293,13 @@ | |||
| 272 | in the BSP into a format that the Yocto Project build system can understand. | 293 | in the BSP into a format that the Yocto Project build system can understand. |
| 273 | If the BSP supports multiple machines, multiple machine configuration files | 294 | If the BSP supports multiple machines, multiple machine configuration files |
| 274 | can be present. | 295 | can be present. |
| 275 | These filenames correspond to the values to which users have set the MACHINE variable. | 296 | These filenames correspond to the values to which users have set the |
| 297 | <filename>MACHINE</filename> variable. | ||
| 276 | </para> | 298 | </para> |
| 277 | 299 | ||
| 278 | <para> | 300 | <para> |
| 279 | These files define things such as the kernel package to use | 301 | These files define things such as the kernel package to use |
| 280 | (PREFERRED_PROVIDER of virtual/kernel), the hardware drivers to | 302 | (<filename>PREFERRED_PROVIDER</filename> of virtual/kernel), the hardware drivers to |
| 281 | include in different types of images, any special software components | 303 | include in different types of images, any special software components |
| 282 | that are needed, any bootloader information, and also any special image | 304 | that are needed, any bootloader information, and also any special image |
| 283 | format requirements. | 305 | format requirements. |
| @@ -286,6 +308,15 @@ | |||
| 286 | <para> | 308 | <para> |
| 287 | At least one machine file is required for a BSP layer. | 309 | At least one machine file is required for a BSP layer. |
| 288 | However, you can supply more than one file. | 310 | However, you can supply more than one file. |
| 311 | For example, in the Crown Bay BSP shown earlier in this section, the | ||
| 312 | <filename>conf/machine</filename> directory contains two configuration files: | ||
| 313 | <filename>crownbay.conf</filename> and <filename>crownbay-noemgd.conf</filename>. | ||
| 314 | The <filename>crownbay.conf</filename> file is used for the Crown Bay BSP | ||
| 315 | that supports the <trademark class='registered'>Intel</trademark> Embedded | ||
| 316 | Media and Graphics Driver (<trademark class='registered'>Intel</trademark> | ||
| 317 | EMGD), while the <filename>crownbay-noemgd.conf</filename> file is used for the | ||
| 318 | Crown Bay BSP that does not support the <trademark class='registered'>Intel</trademark> | ||
| 319 | EMGD. | ||
| 289 | </para> | 320 | </para> |
| 290 | 321 | ||
| 291 | <para> | 322 | <para> |
| @@ -326,10 +357,16 @@ | |||
| 326 | <para> | 357 | <para> |
| 327 | This optional directory contains miscellaneous recipe files for the BSP. | 358 | This optional directory contains miscellaneous recipe files for the BSP. |
| 328 | Most notably would be the formfactor files. | 359 | Most notably would be the formfactor files. |
| 329 | For example, in the Crownbay BSP there is a <filename>machconfig</filename> file and a | 360 | For example, in the Crown Bay BSP there is the |
| 330 | <filename>formfactor_0.0.bbappend</filename> file: | 361 | <filename>formfactor_0.0.bbappend</filename> file, which is an append file used |
| 362 | to augment the recipe that starts the build. | ||
| 363 | Furthermore, there are machine-specific settings used during the build that are | ||
| 364 | defined by the <filename>machconfig</filename> files. | ||
| 365 | In the Crown Bay example, two <filename>machconfig</filename> files exist: | ||
| 366 | one that supports the Intel EMGD and one that does not: | ||
| 331 | <literallayout class='monospaced'> | 367 | <literallayout class='monospaced'> |
| 332 | meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/machconfig | 368 | meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/machconfig |
| 369 | meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig | ||
| 333 | meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend | 370 | meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend |
| 334 | </literallayout> | 371 | </literallayout> |
| 335 | </para> | 372 | </para> |
| @@ -353,17 +390,13 @@ | |||
| 353 | This optional directory contains recipes for the BSP if it has | 390 | This optional directory contains recipes for the BSP if it has |
| 354 | special requirements for graphics support. | 391 | special requirements for graphics support. |
| 355 | All files that are needed for the BSP to support a display are kept here. | 392 | All files that are needed for the BSP to support a display are kept here. |
| 356 | For example, in the Crownbay BSP several display support files exist: | 393 | For example, the Crown Bay BSP contains the following files that support |
| 394 | building a BSP that supports and does not support the Intel EMGD: | ||
| 357 | <literallayout class='monospaced'> | 395 | <literallayout class='monospaced'> |
| 358 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf | 396 | meta-crownbay/recipes-graphics/xorg-xserver/emgd-driver-bin_1.6.bb |
| 359 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend | 397 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend |
| 360 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin/.gitignore | 398 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf |
| 361 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd-bin_1.7.99.2.bb | 399 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd/xorg.conf |
| 362 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/crosscompile.patch | ||
| 363 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/fix_open_max_preprocessor_error.patch | ||
| 364 | eta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/macro_tweak.patch | ||
| 365 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd/nodolt.patch | ||
| 366 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-emgd_1.7.99.2.bb | ||
| 367 | </literallayout> | 400 | </literallayout> |
| 368 | </para> | 401 | </para> |
| 369 | </section> | 402 | </section> |
| @@ -373,65 +406,98 @@ | |||
| 373 | <para> | 406 | <para> |
| 374 | You can find these files in the Yocto Project file's directory structure at: | 407 | You can find these files in the Yocto Project file's directory structure at: |
| 375 | <literallayout class='monospaced'> | 408 | <literallayout class='monospaced'> |
| 376 | meta-<bsp_name>/recipes-kernel/linux/linux-yocto_git.bbappend | 409 | meta-<bsp_name>/recipes-kernel/linux/linux-yocto_*.bbappend |
| 377 | </literallayout> | 410 | </literallayout> |
| 378 | </para> | 411 | </para> |
| 379 | 412 | ||
| 380 | <para> | 413 | <para> |
| 381 | This file appends your specific changes to the kernel you are using. | 414 | These files append your specific changes to the kernel you are using. |
| 382 | </para> | 415 | </para> |
| 383 | <para> | 416 | <para> |
| 384 | For your BSP you typically want to use an existing Yocto Project kernel found in the | 417 | For your BSP, you typically want to use an existing Yocto Project kernel found in the |
| 385 | Yocto Project repository at <filename class='directory'>meta/recipes-kernel/linux</filename>. | 418 | Yocto Project repository at <filename class='directory'>meta/recipes-kernel/linux</filename>. |
| 386 | You can append your specific changes to the kernel recipe by using an append file, | 419 | You can append your specific changes to the kernel recipe by using a |
| 387 | which is located in the | 420 | similarly named append file, which is located in the |
| 388 | <filename class='directory'>meta-<bsp_name>/recipes-kernel/linux</filename> | 421 | <filename>meta-<bsp_name>/recipes-kernel/linux</filename> |
| 389 | directory. | 422 | directory. |
| 390 | </para> | 423 | </para> |
| 391 | <para> | 424 | <para> |
| 392 | Suppose you use a BSP that uses the <filename>linux-yocto_git.bb</filename> kernel, | 425 | Suppose you use a BSP that uses the <filename>linux-yocto_3.0.bb</filename> kernel, |
| 393 | which is the preferred kernel to use for developing a new BSP using the Yocto Project. | 426 | which is the preferred kernel to use for developing a new BSP using the Yocto Project. |
| 394 | In other words, you have selected the kernel in your | 427 | In other words, you have selected the kernel in your |
| 395 | <filename><bsp_name>.conf</filename> file by adding the following statement: | 428 | <filename><bsp_name>.conf</filename> file by adding the following statements: |
| 396 | <literallayout class='monospaced'> | 429 | <literallayout class='monospaced'> |
| 397 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" | 430 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" |
| 431 | PREFERRED_VERSION_linux-yocto = "3.0%" | ||
| 398 | </literallayout> | 432 | </literallayout> |
| 399 | You would use the <filename>linux-yocto_git.bbappend</filename> file to append | 433 | You would use the <filename>linux-yocto_3.0.bbappend</filename> file to append |
| 400 | specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. | 434 | specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. |
| 401 | </para> | 435 | </para> |
| 402 | <para> | 436 | <para> |
| 403 | Now take a look at the existing Crownbay BSP. | 437 | As an example, look at the existing Crown Bay BSP. |
| 404 | The append file used is: | 438 | The append file used is: |
| 405 | <literallayout class='monospaced'> | 439 | <literallayout class='monospaced'> |
| 406 | meta-crownbay/recipes-kernel/linux/linux-yocto_git.bbappend | 440 | meta-crownbay/recipes-kernel/linux/linux-yocto_3.0.bbappend |
| 407 | </literallayout> | 441 | </literallayout> |
| 408 | The file contains the following: | 442 | The file contains the following: |
| 409 | <literallayout class='monospaced'> | 443 | <literallayout class='monospaced'> |
| 410 | FILESEXTRAPATHS := "${THISDIR}/${PN}" | 444 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" |
| 445 | |||
| 411 | COMPATIBLE_MACHINE_crownbay = "crownbay" | 446 | COMPATIBLE_MACHINE_crownbay = "crownbay" |
| 412 | KMACHINE_crownbay = "yocto/standard/crownbay" | 447 | KMACHINE_crownbay = "yocto/standard/crownbay" |
| 448 | KERNEL_FEATURES_append_crownbay += " cfg/smp.scc" | ||
| 449 | |||
| 450 | COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd" | ||
| 451 | KMACHINE_crownbay-noemgd = "yocto/standard/crownbay" | ||
| 452 | KERNEL_FEATURES_append_crownbay-noemgd += " cfg/smp.scc" | ||
| 453 | |||
| 454 | SRCREV_machine_pn-linux-yocto_crownbay ?= "6b4b9acde5fb0ff66ae58fa98274bfe631501499" | ||
| 455 | SRCREV_meta_pn-linux-yocto_crownbay ?= "5b535279e61197cb194bb2dfceb8b7a04128387c" | ||
| 456 | |||
| 457 | SRCREV_machine_pn-linux-yocto_crownbay-noemgd ?= "6b4b9acde5fb0ff66ae58fa98274bfe631501499" | ||
| 458 | SRCREV_meta_pn-linux-yocto_crownbay-noemgd ?= "5b535279e61197cb194bb2dfceb8b7a04128387c" | ||
| 459 | </literallayout> | ||
| 460 | This append file contains statements used to support the Crown Bay BSP that both | ||
| 461 | supports and does not support the Intel EMGD. | ||
| 462 | If, for example, you were going to build the BSP that did not support Intel EMGD, | ||
| 463 | you would simply comment out or delete the statements that support building | ||
| 464 | Crown Bay with Intel EMGD support. | ||
| 465 | So, the <filename>linux-yocto_3.0.bbappend</filename> could be as follows: | ||
| 466 | <literallayout class='monospaced'> | ||
| 467 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | ||
| 468 | |||
| 469 | COMPATIBLE_MACHINE_crownbay = "crownbay" | ||
| 470 | KMACHINE_crownbay = "yocto/standard/crownbay" | ||
| 471 | KERNEL_FEATURES_append_crownbay += " cfg/smp.scc" | ||
| 472 | |||
| 473 | SRCREV_machine_pn-linux-yocto_crownbay ?= "6b4b9acde5fb0ff66ae58fa98274bfe631501499" | ||
| 474 | SRCREV_meta_pn-linux-yocto_crownbay ?= "5b535279e61197cb194bb2dfceb8b7a04128387c" | ||
| 413 | </literallayout> | 475 | </literallayout> |
| 414 | This append file adds Crownbay as a compatible machine, | 476 | The append file defines "crownbay" as the compatible machine, |
| 415 | and additionally sets a Yocto Kernel-specific variable that identifies the name of the | 477 | defines the <filename>KMACHINE</filename>, points to some configuration fragments |
| 416 | BSP branch to use in the Git repository to find configuration information. | 478 | to use by setting the <filename>KERNEL_FEATURES</filename> variable, and then points |
| 479 | to the specific commits in the Yocto Project files Git repository and the | ||
| 480 | <filename>meta</filename> Git repository branches to identify the exact kernel needed | ||
| 481 | to build the Crown Bay BSP. | ||
| 417 | </para> | 482 | </para> |
| 418 | <para> | 483 | <para> |
| 419 | One thing missing in this particular BSP, which you will typically need when | 484 | One thing missing in this particular BSP, which you will typically need when |
| 420 | developing a BSP, is the kernel configuration (.config) for your BSP. | 485 | developing a BSP, is the kernel configuration file (<filename>.config</filename>) for your BSP. |
| 421 | When developing a BSP, you probably have a kernel configuration file or a set of kernel | 486 | When developing a BSP, you probably have a kernel configuration file or a set of kernel |
| 422 | configuration files that, when taken together, define the kernel configuration for your BSP. | 487 | configuration files that, when taken together, define the kernel configuration for your BSP. |
| 423 | You can accomplish this definition by putting the configurations in a file or a set of files | 488 | You can accomplish this definition by putting the configurations in a file or a set of files |
| 424 | inside a directory located at the same level as your append file and having the same name | 489 | inside a directory located at the same level as your append file and having the same name |
| 425 | as the kernel. | 490 | as the kernel. |
| 426 | With all these conditions met simply reference those files in a SRC_URI statement in the append | 491 | With all these conditions met simply reference those files in a |
| 427 | file. | 492 | <filename>SRC_URI</filename> statement in the append file. |
| 428 | </para> | 493 | </para> |
| 429 | <para> | 494 | <para> |
| 430 | For example, suppose you had a set of configuration options in a file called | 495 | For example, suppose you had a set of configuration options in a file called |
| 431 | <filename>defconfig</filename>. | 496 | <filename>defconfig</filename>. |
| 432 | If you put that file inside a directory named | 497 | If you put that file inside a directory named |
| 433 | <filename class='directory'>/linux-yocto</filename> and then added | 498 | <filename>/linux-yocto</filename> and then added |
| 434 | a SRC_URI statement such as the following to the append file, those configuration | 499 | a <filename>SRC_URI</filename> statement such as the following to the append file, |
| 500 | those configuration | ||
| 435 | options will be picked up and applied when the kernel is built. | 501 | options will be picked up and applied when the kernel is built. |
| 436 | <literallayout class='monospaced'> | 502 | <literallayout class='monospaced'> |
| 437 | SRC_URI += "file://defconfig" | 503 | SRC_URI += "file://defconfig" |
| @@ -439,9 +505,9 @@ | |||
| 439 | </para> | 505 | </para> |
| 440 | <para> | 506 | <para> |
| 441 | As mentioned earlier, you can group related configurations into multiple files and | 507 | As mentioned earlier, you can group related configurations into multiple files and |
| 442 | name them all in the SRC_URI statement as well. | 508 | name them all in the <filename>SRC_URI</filename> statement as well. |
| 443 | For example, you could group separate configurations specifically for Ethernet and graphics | 509 | For example, you could group separate configurations specifically for Ethernet and graphics |
| 444 | into their own files and add those by using a SRC_URI statement like the | 510 | into their own files and add those by using a <filename>SRC_URI</filename> statement like the |
| 445 | following in your append file: | 511 | following in your append file: |
| 446 | <literallayout class='monospaced'> | 512 | <literallayout class='monospaced'> |
| 447 | SRC_URI += "file://defconfig \ | 513 | SRC_URI += "file://defconfig \ |
| @@ -450,24 +516,24 @@ | |||
| 450 | </literallayout> | 516 | </literallayout> |
| 451 | </para> | 517 | </para> |
| 452 | <para> | 518 | <para> |
| 453 | The FILESEXTRAPATHS variable is in boilerplate form here in order to make it easy | 519 | The <filename>FILESEXTRAPATHS</filename> variable is in boilerplate form here |
| 454 | to do that. | 520 | in order to make it easy to do that. |
| 455 | It basically allows those configuration files to be found by the build process. | 521 | It basically allows those configuration files to be found by the build process. |
| 456 | </para> | 522 | </para> |
| 457 | <note> | 523 | <note> |
| 458 | <para> | 524 | <para> |
| 459 | Other methods exist to accomplish grouping and defining configuration options. | 525 | Other methods exist to accomplish grouping and defining configuration options. |
| 460 | For example, you could directly add configuration options to the Yocto kernel | 526 | For example, you could directly add configuration options to the Yocto kernel |
| 461 | <filename class='directory'>meta</filename> branch for your BSP. | 527 | <filename>meta</filename> branch for your BSP. |
| 462 | The configuration options will likely end up in that location anyway if the BSP gets | 528 | The configuration options will likely end up in that location anyway if the BSP gets |
| 463 | added to the Yocto Project. | 529 | added to the Yocto Project. |
| 464 | For information on how to add these configurations directly, see the | 530 | For information on how to add these configurations directly, see |
| 465 | "Yocto Project Kernel Architecture and Use Manual" on the | 531 | <ulink url='http://yoctoproject.org/docs/1.1/kernel-manual/kernel-manual.html'> |
| 466 | <ulink url="http://yoctoproject.org/community/documentation">Yocto Project website | 532 | The Yocto Project Kernel Architecture and Use Manual</ulink>.</para> |
| 467 | Documentation Page</ulink></para> | ||
| 468 | <para> | 533 | <para> |
| 469 | In general, however, the Yocto Project maintainers take care of moving the SRC_URI-specified | 534 | In general, however, the Yocto Project maintainers take care of moving the |
| 470 | configuration options to the <filename class='directory'>meta</filename> branch. | 535 | <filename>SRC_URI</filename>-specified |
| 536 | configuration options to the <filename>meta</filename> branch. | ||
| 471 | Not only is it easier for BSP developers to not have to worry about putting those | 537 | Not only is it easier for BSP developers to not have to worry about putting those |
| 472 | configurations in the branch, but having the maintainers do it allows them to apply | 538 | configurations in the branch, but having the maintainers do it allows them to apply |
| 473 | 'global' knowledge about the kinds of common configuration options multiple BSPs in | 539 | 'global' knowledge about the kinds of common configuration options multiple BSPs in |
