diff options
Diffstat (limited to 'documentation/bsp-guide/bsp.xml')
-rw-r--r-- | documentation/bsp-guide/bsp.xml | 49 |
1 files changed, 32 insertions, 17 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index a49c0bef0b..a8d571c038 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml | |||
@@ -513,7 +513,7 @@ | |||
513 | <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-files'>Yocto | 513 | <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-files'>Yocto |
514 | Project Files</ulink> at <filename>meta/recipes-kernel/linux</filename>. | 514 | Project Files</ulink> at <filename>meta/recipes-kernel/linux</filename>. |
515 | You can append your specific changes to the kernel recipe by using a | 515 | You can append your specific changes to the kernel recipe by using a |
516 | similarly named append file, which is located in BSP Layer (e.g. | 516 | similarly named append file, which is located in the BSP Layer (e.g. |
517 | the <filename>meta-<bsp_name>/recipes-kernel/linux</filename> directory). | 517 | the <filename>meta-<bsp_name>/recipes-kernel/linux</filename> directory). |
518 | </para> | 518 | </para> |
519 | <para> | 519 | <para> |
@@ -571,12 +571,17 @@ | |||
571 | SRCREV_machine_pn-linux-yocto_crownbay ?= "63c65842a3a74e4bd3128004ac29b5639f16433f" | 571 | SRCREV_machine_pn-linux-yocto_crownbay ?= "63c65842a3a74e4bd3128004ac29b5639f16433f" |
572 | SRCREV_meta_pn-linux-yocto_crownbay ?= "59314a3523e360796419d76d78c6f7d8c5ef2593" | 572 | SRCREV_meta_pn-linux-yocto_crownbay ?= "59314a3523e360796419d76d78c6f7d8c5ef2593" |
573 | </literallayout> | 573 | </literallayout> |
574 | The append file defines <filename>crownbay</filename> as the compatible machine, | 574 | The append file defines <filename>crownbay</filename> as the compatible machine and |
575 | defines the <filename>KMACHINE</filename>, points to some configuration fragments | 575 | defines the <filename>KMACHINE</filename>. |
576 | to use by setting the <filename>KERNEL_FEATURES</filename> variable, and then points | 576 | The file also points to some configuration fragments to use by setting the |
577 | to the specific commits in the Yocto Project Files Git repository and the | 577 | <filename>KERNEL_FEATURES</filename> variable. |
578 | <filename>meta</filename> Git repository branches to identify the exact kernel needed | 578 | The location for the configuration fragments is the kernel tree itself in the |
579 | to build the Crown Bay BSP. | 579 | <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-build-directory'>Yocto Project Build |
580 | Directory</ulink> under <filename>linux/meta</filename>. | ||
581 | Finally, the append file points to the specific commits in the | ||
582 | <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-files'>Yocto Project Files</ulink> Git | ||
583 | repository and the <filename>meta</filename> Git repository branches to identify the | ||
584 | exact kernel needed to build the Crown Bay BSP. | ||
580 | </para> | 585 | </para> |
581 | <para> | 586 | <para> |
582 | One thing missing in this particular BSP, which you will typically need when | 587 | One thing missing in this particular BSP, which you will typically need when |
@@ -591,14 +596,14 @@ | |||
591 | </para> | 596 | </para> |
592 | <para> | 597 | <para> |
593 | For example, suppose you had a set of configuration options in a file called | 598 | For example, suppose you had a set of configuration options in a file called |
594 | <filename>defconfig</filename>. | 599 | <filename>myconfig</filename>. |
595 | If you put that file inside a directory named | 600 | If you put that file inside a directory named |
596 | <filename>/linux-yocto</filename> and then added | 601 | <filename>/linux-yocto</filename> and then added |
597 | a <filename>SRC_URI</filename> statement such as the following to the append file, | 602 | a <filename>SRC_URI</filename> statement such as the following to the append file, |
598 | those configuration | 603 | those configuration |
599 | options will be picked up and applied when the kernel is built. | 604 | options will be picked up and applied when the kernel is built. |
600 | <literallayout class='monospaced'> | 605 | <literallayout class='monospaced'> |
601 | SRC_URI += "file://defconfig" | 606 | SRC_URI += "file://myconfig" |
602 | </literallayout> | 607 | </literallayout> |
603 | </para> | 608 | </para> |
604 | <para> | 609 | <para> |
@@ -608,30 +613,40 @@ | |||
608 | into their own files and add those by using a <filename>SRC_URI</filename> statement like the | 613 | into their own files and add those by using a <filename>SRC_URI</filename> statement like the |
609 | following in your append file: | 614 | following in your append file: |
610 | <literallayout class='monospaced'> | 615 | <literallayout class='monospaced'> |
611 | SRC_URI += "file://defconfig \ | 616 | SRC_URI += "file://myconfig \ |
612 | file://eth.cfg \ | 617 | file://eth.cfg \ |
613 | file://gfx.cfg" | 618 | file://gfx.cfg" |
614 | </literallayout> | 619 | </literallayout> |
615 | </para> | 620 | </para> |
616 | <para> | 621 | <para> |
617 | The <filename>FILESEXTRAPATHS</filename> variable is in boilerplate form here | 622 | The <filename>FILESEXTRAPATHS</filename> variable is in boilerplate form in the |
618 | in order to make it easy to do that. | 623 | previous example in order to make it easy to do that. |
619 | It basically allows those configuration files to be found by the build process. | 624 | This variable must be in your layer or BitBake will not find the patches or |
625 | configurations even if you have them in your <filename>SRC_URI</filename>. | ||
626 | The <filename>FILESEXTRAPATHS</filename> variable enables the build process to | ||
627 | find those configuration files. | ||
620 | </para> | 628 | </para> |
621 | <note> | 629 | <note> |
622 | <para> | 630 | <para> |
623 | Other methods exist to accomplish grouping and defining configuration options. | 631 | Other methods exist to accomplish grouping and defining configuration options. |
624 | For example, you could directly add configuration options to the Yocto kernel | 632 | For example, if you are working with a local clone of the kernel repository, |
633 | you could checkout the kernel's <filename>meta</filename> branch, make your changes, | ||
634 | and then push the changes to the local bare clone of the kernel. | ||
635 | The result is that you directly add configuration options to the Yocto kernel | ||
625 | <filename>meta</filename> branch for your BSP. | 636 | <filename>meta</filename> branch for your BSP. |
626 | The configuration options will likely end up in that location anyway if the BSP gets | 637 | The configuration options will likely end up in that location anyway if the BSP gets |
627 | added to the Yocto Project. | 638 | added to the Yocto Project. |
628 | For an example showing how to change the BSP configuration, see the | 639 | For an example showing how to change the BSP configuration, see the |
629 | "<ulink url='&YOCTO_DOCS_DEV_URL;#changing-the-bsp-configuration'>Changing the BSP Configuration</ulink>" section | 640 | "<ulink url='&YOCTO_DOCS_DEV_URL;#changing-the-bsp-configuration'>Changing the BSP Configuration</ulink>" |
630 | in the Yocto Project Development Manual.</para> | 641 | section in the Yocto Project Development Manual. |
642 | For a better understanding of working with a local clone of the kernel repository | ||
643 | and a local bare clone of the kernel, see the | ||
644 | "<ulink url='&YOCTO_DOCS_DEV_URL;#modifying-the-kernel-source-code'>Modifying the Kernel | ||
645 | Source Code</ulink>" section also in the Yocto Project Development Manual.</para> | ||
631 | <para> | 646 | <para> |
632 | In general, however, the Yocto Project maintainers take care of moving the | 647 | In general, however, the Yocto Project maintainers take care of moving the |
633 | <filename>SRC_URI</filename>-specified | 648 | <filename>SRC_URI</filename>-specified |
634 | configuration options to the <filename>meta</filename> branch. | 649 | configuration options to the kernel's <filename>meta</filename> branch. |
635 | Not only is it easier for BSP developers to not have to worry about putting those | 650 | Not only is it easier for BSP developers to not have to worry about putting those |
636 | configurations in the branch, but having the maintainers do it allows them to apply | 651 | configurations in the branch, but having the maintainers do it allows them to apply |
637 | 'global' knowledge about the kinds of common configuration options multiple BSPs in | 652 | 'global' knowledge about the kinds of common configuration options multiple BSPs in |