diff options
| author | Scott Rifenbark <srifenbark@gmail.com> | 2017-06-28 13:51:27 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-07-12 00:28:14 +0100 |
| commit | a8c8680f84a9d3496676be4d30c52f90c1c7c1d1 (patch) | |
| tree | c06fb2b921b157235905f031db649ea90f03526b | |
| parent | d552379be3b0240866d1a7d6fe206c0d93aeb43b (diff) | |
| download | poky-a8c8680f84a9d3496676be4d30c52f90c1c7c1d1.tar.gz | |
dev-manual, bsp-guide: Moved BSP development workflow section
Fixes [YOCTO #11630]
Moved the section on BSP Development workflow from the dev-manual
into the bsp-guide. This procedure needs to live in the BSP
guide.
Many links had to be fixed.
(From yocto-docs rev: fbf06240f83221929aea237660146e0076207f6a)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | documentation/Makefile | 2 | ||||
| -rw-r--r-- | documentation/bsp-guide/bsp.xml | 191 | ||||
| -rw-r--r-- | documentation/bsp-guide/figures/bsp-dev-flow.png (renamed from documentation/dev-manual/figures/bsp-dev-flow.png) | bin | 42751 -> 42751 bytes | |||
| -rw-r--r-- | documentation/dev-manual/dev-manual-model.xml | 186 |
4 files changed, 190 insertions, 189 deletions
diff --git a/documentation/Makefile b/documentation/Makefile index 6a2f22e40e..3c02a3c2f0 100644 --- a/documentation/Makefile +++ b/documentation/Makefile | |||
| @@ -88,6 +88,7 @@ ifeq ($(DOC),bsp-guide) | |||
| 88 | XSLTOPTS = --xinclude | 88 | XSLTOPTS = --xinclude |
| 89 | ALLPREQ = html eclipse tarball | 89 | ALLPREQ = html eclipse tarball |
| 90 | TARFILES = bsp-style.css bsp-guide.html figures/bsp-title.png \ | 90 | TARFILES = bsp-style.css bsp-guide.html figures/bsp-title.png \ |
| 91 | figures/bsp-dev-flow.png \ | ||
| 91 | eclipse | 92 | eclipse |
| 92 | MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse | 93 | MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse |
| 93 | FIGURES = figures | 94 | FIGURES = figures |
| @@ -128,7 +129,6 @@ TARFILES = dev-style.css dev-manual.html \ | |||
| 128 | figures/wip.png | 129 | figures/wip.png |
| 129 | else | 130 | else |
| 130 | TARFILES = dev-style.css dev-manual.html \ | 131 | TARFILES = dev-style.css dev-manual.html \ |
| 131 | figures/bsp-dev-flow.png \ | ||
| 132 | figures/dev-title.png \ | 132 | figures/dev-title.png \ |
| 133 | figures/kernel-dev-flow.png \ | 133 | figures/kernel-dev-flow.png \ |
| 134 | figures/kernel-overview-1.png figures/kernel-overview-2-generic.png \ | 134 | figures/kernel-overview-1.png figures/kernel-overview-2-generic.png \ |
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index 50822db2c2..f452c6eaec 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml | |||
| @@ -83,8 +83,8 @@ | |||
| 83 | 83 | ||
| 84 | <para> | 84 | <para> |
| 85 | For information on the BSP development workflow, see the | 85 | For information on the BSP development workflow, see the |
| 86 | "<ulink url='&YOCTO_DOCS_DEV_URL;#developing-a-board-support-package-bsp'>Developing a Board Support Package (BSP)</ulink>" | 86 | "<link linkend='developing-a-board-support-package-bsp'>Developing a Board Support Package (BSP)</link>" |
| 87 | section in the Yocto Project Development Manual. | 87 | section. |
| 88 | For more information on how to set up a local copy of source files | 88 | For more information on how to set up a local copy of source files |
| 89 | from a Git repository, see the | 89 | from a Git repository, see the |
| 90 | "<ulink url='&YOCTO_DOCS_DEV_URL;#working-with-yocto-project-source-files'>Working With Yocto Project Source Files</ulink>" | 90 | "<ulink url='&YOCTO_DOCS_DEV_URL;#working-with-yocto-project-source-files'>Working With Yocto Project Source Files</ulink>" |
| @@ -710,6 +710,193 @@ | |||
| 710 | </section> | 710 | </section> |
| 711 | </section> | 711 | </section> |
| 712 | 712 | ||
| 713 | <section id='developing-a-board-support-package-bsp'> | ||
| 714 | <title>Developing a Board Support Package (BSP)</title> | ||
| 715 | |||
| 716 | <para> | ||
| 717 | A BSP is a collection of recipes that, when applied during a build, results in | ||
| 718 | an image that you can run on a particular board. | ||
| 719 | Thus, the package when compiled into the new image, supports the operation of the board. | ||
| 720 | </para> | ||
| 721 | |||
| 722 | <note> | ||
| 723 | For a brief list of terms used when describing the development process in the Yocto Project, | ||
| 724 | see the | ||
| 725 | "<ulink url='&YOCTO_DOCS_REF_URL;#yocto-project-terms'>Yocto Project Terms</ulink>" section. | ||
| 726 | </note> | ||
| 727 | |||
| 728 | <para> | ||
| 729 | The remainder of this section presents the basic | ||
| 730 | steps used to create a BSP using the Yocto Project's | ||
| 731 | <link linkend='using-the-yocto-projects-bsp-tools'>BSP Tools</link>. | ||
| 732 | Although not required for BSP creation, the | ||
| 733 | <filename>meta-intel</filename> repository, which contains | ||
| 734 | many BSPs supported by the Yocto Project, is part of the example. | ||
| 735 | </para> | ||
| 736 | |||
| 737 | <para> | ||
| 738 | For an example that shows how to create a new layer using the tools, see the | ||
| 739 | "<link linkend='creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</link>" | ||
| 740 | section. | ||
| 741 | </para> | ||
| 742 | |||
| 743 | <para> | ||
| 744 | The following illustration and list summarize the BSP creation general workflow. | ||
| 745 | </para> | ||
| 746 | |||
| 747 | <para> | ||
| 748 | <imagedata fileref="figures/bsp-dev-flow.png" width="6in" depth="7in" align="center" scalefit="1" /> | ||
| 749 | </para> | ||
| 750 | |||
| 751 | <para> | ||
| 752 | <orderedlist> | ||
| 753 | <listitem><para><emphasis>Set up your host development system to support | ||
| 754 | development using the Yocto Project</emphasis>: See the | ||
| 755 | "<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distribution</ulink>" | ||
| 756 | and the | ||
| 757 | "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Build Host Packages</ulink>" sections both | ||
| 758 | in the Yocto Project Quick Start for requirements.</para></listitem> | ||
| 759 | <listitem><para><emphasis>Establish a local copy of the project files on your | ||
| 760 | system</emphasis>: You need this | ||
| 761 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink> | ||
| 762 | available on your host system. | ||
| 763 | Having these files on your system gives you access to the build | ||
| 764 | process and to the tools you need. | ||
| 765 | For information on how to set up the Source Directory, | ||
| 766 | see the | ||
| 767 | "<ulink url='&YOCTO_DOCS_DEV_URL;#working-with-yocto-project-source-files'>Working With Yocto Project Source Files</ulink>" | ||
| 768 | section in the Yocto Project Development Manual. | ||
| 769 | </para></listitem> | ||
| 770 | <listitem><para><emphasis>Establish the <filename>meta-intel</filename> | ||
| 771 | repository on your system</emphasis>: Having local copies | ||
| 772 | of these supported BSP layers on your system gives you | ||
| 773 | access to layers you might be able to build on or modify | ||
| 774 | to create your BSP. | ||
| 775 | For information on how to get these files, see the | ||
| 776 | "<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-bsp-layers'>Setting Up BSP Layers</ulink>" | ||
| 777 | section in the Yocto Project Development Manual. | ||
| 778 | </para></listitem> | ||
| 779 | <listitem><para><emphasis>Create your own BSP layer using the | ||
| 780 | <link linkend='creating-a-new-bsp-layer-using-the-yocto-bsp-script'><filename>yocto-bsp</filename></link> script</emphasis>: | ||
| 781 | Layers are ideal for | ||
| 782 | isolating and storing work for a given piece of hardware. | ||
| 783 | A layer is really just a location or area in which you place | ||
| 784 | the recipes and configurations for your BSP. | ||
| 785 | In fact, a BSP is, in itself, a special type of layer. | ||
| 786 | The simplest way to create a new BSP layer that is compliant with the | ||
| 787 | Yocto Project is to use the <filename>yocto-bsp</filename> script. | ||
| 788 | For information about that script, see the | ||
| 789 | "<link linkend='creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</link>" | ||
| 790 | section. | ||
| 791 | </para> | ||
| 792 | |||
| 793 | <para> | ||
| 794 | Another example that illustrates a layer | ||
| 795 | is an application. | ||
| 796 | Suppose you are creating an application that has | ||
| 797 | library or other dependencies in order for it to | ||
| 798 | compile and run. | ||
| 799 | The layer, in this case, would be where all the | ||
| 800 | recipes that define those dependencies are kept. | ||
| 801 | The key point for a layer is that it is an isolated | ||
| 802 | area that contains all the relevant information for | ||
| 803 | the project that the OpenEmbedded build system knows | ||
| 804 | about. | ||
| 805 | For more information on layers, see the | ||
| 806 | "<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding and Creating Layers</ulink>" | ||
| 807 | section in the Yocto Project Development Manual. | ||
| 808 | For more information on BSP layers, see the | ||
| 809 | "<link linkend='bsp-layers'>BSP Layers</link>" | ||
| 810 | section. | ||
| 811 | <note> | ||
| 812 | <para> | ||
| 813 | Five BSPs exist that are part of the Yocto Project release: | ||
| 814 | <filename>beaglebone</filename> (ARM), | ||
| 815 | <filename>mpc8315e</filename> (PowerPC), | ||
| 816 | and <filename>edgerouter</filename> (MIPS). | ||
| 817 | The recipes and configurations for these five BSPs | ||
| 818 | are located and dispersed within the | ||
| 819 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>. | ||
| 820 | </para> | ||
| 821 | |||
| 822 | <para> | ||
| 823 | Three core Intel BSPs exist as part of the Yocto | ||
| 824 | Project release in the | ||
| 825 | <filename>meta-intel</filename> layer: | ||
| 826 | <itemizedlist> | ||
| 827 | <listitem><para><filename>intel-core2-32</filename>, | ||
| 828 | which is a BSP optimized for the Core2 family of CPUs | ||
| 829 | as well as all CPUs prior to the Silvermont core. | ||
| 830 | </para></listitem> | ||
| 831 | <listitem><para><filename>intel-corei7-64</filename>, | ||
| 832 | which is a BSP optimized for Nehalem and later | ||
| 833 | Core and Xeon CPUs as well as Silvermont and later | ||
| 834 | Atom CPUs, such as the Baytrail SoCs. | ||
| 835 | </para></listitem> | ||
| 836 | <listitem><para><filename>intel-quark</filename>, | ||
| 837 | which is a BSP optimized for the Intel Galileo | ||
| 838 | gen1 & gen2 development boards. | ||
| 839 | </para></listitem> | ||
| 840 | </itemizedlist> | ||
| 841 | </para> | ||
| 842 | </note> | ||
| 843 | </para> | ||
| 844 | |||
| 845 | <para>When you set up a layer for a new BSP, you should follow a standard layout. | ||
| 846 | This layout is described in the | ||
| 847 | "<link linkend='bsp-filelayout'>Example Filesystem Layout</link>" | ||
| 848 | section. | ||
| 849 | In the standard layout, you will notice a suggested structure for recipes and | ||
| 850 | configuration information. | ||
| 851 | You can see the standard layout for a BSP by examining | ||
| 852 | any supported BSP found in the <filename>meta-intel</filename> layer inside | ||
| 853 | the Source Directory.</para></listitem> | ||
| 854 | <listitem><para><emphasis>Make configuration changes to your new BSP | ||
| 855 | layer</emphasis>: The standard BSP layer structure organizes the files you need | ||
| 856 | to edit in <filename>conf</filename> and several <filename>recipes-*</filename> | ||
| 857 | directories within the BSP layer. | ||
| 858 | Configuration changes identify where your new layer is on the local system | ||
| 859 | and identify which kernel you are going to use. | ||
| 860 | When you run the <filename>yocto-bsp</filename> script, you are able to interactively | ||
| 861 | configure many things for the BSP (e.g. keyboard, touchscreen, and so forth). | ||
| 862 | </para></listitem> | ||
| 863 | <listitem><para><emphasis>Make recipe changes to your new BSP layer</emphasis>: Recipe | ||
| 864 | changes include altering recipes (<filename>.bb</filename> files), removing | ||
| 865 | recipes you do not use, and adding new recipes or append files | ||
| 866 | (<filename>.bbappend</filename>) that you need to support your hardware. | ||
| 867 | </para></listitem> | ||
| 868 | <listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the | ||
| 869 | changes to your BSP layer, there remains a few things | ||
| 870 | you need to do for the OpenEmbedded build system in order for it to create your image. | ||
| 871 | You need to get the build environment ready by sourcing an environment setup script | ||
| 872 | (i.e. <filename>oe-init-build-env</filename> or | ||
| 873 | <filename>oe-init-build-env-memres</filename>) | ||
| 874 | and you need to be sure two key configuration files are configured appropriately: | ||
| 875 | the <filename>conf/local.conf</filename> and the | ||
| 876 | <filename>conf/bblayers.conf</filename> file. | ||
| 877 | You must make the OpenEmbedded build system aware of your new layer. | ||
| 878 | See the | ||
| 879 | "<ulink url='&YOCTO_DOCS_DEV_URL;#enabling-your-layer'>Enabling Your Layer</ulink>" | ||
| 880 | section in the Yocto Project Development Manual | ||
| 881 | for information on how to let the build system know about your new layer.</para> | ||
| 882 | <para>The entire process for building an image is overviewed in the section | ||
| 883 | "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>" section | ||
| 884 | of the Yocto Project Quick Start. | ||
| 885 | You might want to reference this information.</para></listitem> | ||
| 886 | <listitem><para><emphasis>Build the image</emphasis>: The OpenEmbedded build system | ||
| 887 | uses the BitBake tool to build images based on the type of image you want to create. | ||
| 888 | You can find more information about BitBake in the | ||
| 889 | <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>. | ||
| 890 | </para> | ||
| 891 | <para>The build process supports several types of images to satisfy different needs. | ||
| 892 | See the | ||
| 893 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter | ||
| 894 | in the Yocto Project Reference Manual for information on | ||
| 895 | supported images.</para></listitem> | ||
| 896 | </orderedlist> | ||
| 897 | </para> | ||
| 898 | </section> | ||
| 899 | |||
| 713 | <section id='requirements-and-recommendations-for-released-bsps'> | 900 | <section id='requirements-and-recommendations-for-released-bsps'> |
| 714 | <title>Requirements and Recommendations for Released BSPs</title> | 901 | <title>Requirements and Recommendations for Released BSPs</title> |
| 715 | 902 | ||
diff --git a/documentation/dev-manual/figures/bsp-dev-flow.png b/documentation/bsp-guide/figures/bsp-dev-flow.png index 540b0abb9f..540b0abb9f 100644 --- a/documentation/dev-manual/figures/bsp-dev-flow.png +++ b/documentation/bsp-guide/figures/bsp-dev-flow.png | |||
| Binary files differ | |||
diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index d2c84eae03..8b9aa4a223 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml | |||
| @@ -76,192 +76,6 @@ | |||
| 76 | configuration. | 76 | configuration. |
| 77 | </para> | 77 | </para> |
| 78 | 78 | ||
| 79 | <section id='developing-a-board-support-package-bsp'> | ||
| 80 | <title>Developing a Board Support Package (BSP)</title> | ||
| 81 | |||
| 82 | <para> | ||
| 83 | A BSP is a collection of recipes that, when applied during a build, results in | ||
| 84 | an image that you can run on a particular board. | ||
| 85 | Thus, the package when compiled into the new image, supports the operation of the board. | ||
| 86 | </para> | ||
| 87 | |||
| 88 | <note> | ||
| 89 | For a brief list of terms used when describing the development process in the Yocto Project, | ||
| 90 | see the | ||
| 91 | "<ulink url='&YOCTO_DOCS_REF_URL;#yocto-project-terms'>Yocto Project Terms</ulink>" section. | ||
| 92 | </note> | ||
| 93 | |||
| 94 | <para> | ||
| 95 | The remainder of this section presents the basic | ||
| 96 | steps used to create a BSP using the Yocto Project's | ||
| 97 | <ulink url='&YOCTO_DOCS_BSP_URL;#using-the-yocto-projects-bsp-tools'>BSP Tools</ulink>. | ||
| 98 | Although not required for BSP creation, the | ||
| 99 | <filename>meta-intel</filename> repository, which contains | ||
| 100 | many BSPs supported by the Yocto Project, is part of the example. | ||
| 101 | </para> | ||
| 102 | |||
| 103 | <para> | ||
| 104 | For an example that shows how to create a new layer using the tools, see the | ||
| 105 | "<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>" | ||
| 106 | section in the Yocto Project Board Support Package (BSP) Developer's Guide. | ||
| 107 | </para> | ||
| 108 | |||
| 109 | <para> | ||
| 110 | The following illustration and list summarize the BSP creation general workflow. | ||
| 111 | </para> | ||
| 112 | |||
| 113 | <para> | ||
| 114 | <imagedata fileref="figures/bsp-dev-flow.png" width="6in" depth="7in" align="center" scalefit="1" /> | ||
| 115 | </para> | ||
| 116 | |||
| 117 | <para> | ||
| 118 | <orderedlist> | ||
| 119 | <listitem><para><emphasis>Set up your host development system to support | ||
| 120 | development using the Yocto Project</emphasis>: See the | ||
| 121 | "<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distribution</ulink>" | ||
| 122 | and the | ||
| 123 | "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Build Host Packages</ulink>" sections both | ||
| 124 | in the Yocto Project Quick Start for requirements.</para></listitem> | ||
| 125 | <listitem><para><emphasis>Establish a local copy of the project files on your | ||
| 126 | system</emphasis>: You need this | ||
| 127 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink> | ||
| 128 | available on your host system. | ||
| 129 | Having these files on your system gives you access to the build | ||
| 130 | process and to the tools you need. | ||
| 131 | For information on how to set up the Source Directory, | ||
| 132 | see the | ||
| 133 | "<link linkend='working-with-yocto-project-source-files'>Working With Yocto Project Source Files</link>" | ||
| 134 | section. | ||
| 135 | </para></listitem> | ||
| 136 | <listitem><para><emphasis>Establish the <filename>meta-intel</filename> | ||
| 137 | repository on your system</emphasis>: Having local copies | ||
| 138 | of these supported BSP layers on your system gives you | ||
| 139 | access to layers you might be able to build on or modify | ||
| 140 | to create your BSP. | ||
| 141 | For information on how to get these files, see the | ||
| 142 | "<link linkend='setting-up-bsp-layers'>Setting Up BSP Layers</link>" section. | ||
| 143 | </para></listitem> | ||
| 144 | <listitem><para><emphasis>Create your own BSP layer using the | ||
| 145 | <ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'><filename>yocto-bsp</filename></ulink> script</emphasis>: | ||
| 146 | Layers are ideal for | ||
| 147 | isolating and storing work for a given piece of hardware. | ||
| 148 | A layer is really just a location or area in which you place | ||
| 149 | the recipes and configurations for your BSP. | ||
| 150 | In fact, a BSP is, in itself, a special type of layer. | ||
| 151 | The simplest way to create a new BSP layer that is compliant with the | ||
| 152 | Yocto Project is to use the <filename>yocto-bsp</filename> script. | ||
| 153 | For information about that script, see the | ||
| 154 | "<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>" | ||
| 155 | section in the Yocto Project Board Support (BSP) Developer's Guide. | ||
| 156 | </para> | ||
| 157 | |||
| 158 | <para> | ||
| 159 | Another example that illustrates a layer | ||
| 160 | is an application. | ||
| 161 | Suppose you are creating an application that has | ||
| 162 | library or other dependencies in order for it to | ||
| 163 | compile and run. | ||
| 164 | The layer, in this case, would be where all the | ||
| 165 | recipes that define those dependencies are kept. | ||
| 166 | The key point for a layer is that it is an isolated | ||
| 167 | area that contains all the relevant information for | ||
| 168 | the project that the OpenEmbedded build system knows | ||
| 169 | about. | ||
| 170 | For more information on layers, see the | ||
| 171 | "<link linkend='understanding-and-creating-layers'>Understanding and Creating Layers</link>" | ||
| 172 | section. | ||
| 173 | For more information on BSP layers, see the | ||
| 174 | "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>" | ||
| 175 | section in the Yocto Project Board Support Package (BSP) | ||
| 176 | Developer's Guide. | ||
| 177 | <note> | ||
| 178 | <para> | ||
| 179 | Five BSPs exist that are part of the Yocto Project release: | ||
| 180 | <filename>beaglebone</filename> (ARM), | ||
| 181 | <filename>mpc8315e</filename> (PowerPC), | ||
| 182 | and <filename>edgerouter</filename> (MIPS). | ||
| 183 | The recipes and configurations for these five BSPs | ||
| 184 | are located and dispersed within the | ||
| 185 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>. | ||
| 186 | </para> | ||
| 187 | |||
| 188 | <para> | ||
| 189 | Three core Intel BSPs exist as part of the Yocto | ||
| 190 | Project release in the | ||
| 191 | <filename>meta-intel</filename> layer: | ||
| 192 | <itemizedlist> | ||
| 193 | <listitem><para><filename>intel-core2-32</filename>, | ||
| 194 | which is a BSP optimized for the Core2 family of CPUs | ||
| 195 | as well as all CPUs prior to the Silvermont core. | ||
| 196 | </para></listitem> | ||
| 197 | <listitem><para><filename>intel-corei7-64</filename>, | ||
| 198 | which is a BSP optimized for Nehalem and later | ||
| 199 | Core and Xeon CPUs as well as Silvermont and later | ||
| 200 | Atom CPUs, such as the Baytrail SoCs. | ||
| 201 | </para></listitem> | ||
| 202 | <listitem><para><filename>intel-quark</filename>, | ||
| 203 | which is a BSP optimized for the Intel Galileo | ||
| 204 | gen1 & gen2 development boards. | ||
| 205 | </para></listitem> | ||
| 206 | </itemizedlist> | ||
| 207 | </para> | ||
| 208 | </note> | ||
| 209 | </para> | ||
| 210 | |||
| 211 | <para>When you set up a layer for a new BSP, you should follow a standard layout. | ||
| 212 | This layout is described in the | ||
| 213 | "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout'>Example Filesystem Layout</ulink>" | ||
| 214 | section of the Board Support Package (BSP) Development Guide. | ||
| 215 | In the standard layout, you will notice a suggested structure for recipes and | ||
| 216 | configuration information. | ||
| 217 | You can see the standard layout for a BSP by examining | ||
| 218 | any supported BSP found in the <filename>meta-intel</filename> layer inside | ||
| 219 | the Source Directory.</para></listitem> | ||
| 220 | <listitem><para><emphasis>Make configuration changes to your new BSP | ||
| 221 | layer</emphasis>: The standard BSP layer structure organizes the files you need | ||
| 222 | to edit in <filename>conf</filename> and several <filename>recipes-*</filename> | ||
| 223 | directories within the BSP layer. | ||
| 224 | Configuration changes identify where your new layer is on the local system | ||
| 225 | and identify which kernel you are going to use. | ||
| 226 | When you run the <filename>yocto-bsp</filename> script, you are able to interactively | ||
| 227 | configure many things for the BSP (e.g. keyboard, touchscreen, and so forth). | ||
| 228 | </para></listitem> | ||
| 229 | <listitem><para><emphasis>Make recipe changes to your new BSP layer</emphasis>: Recipe | ||
| 230 | changes include altering recipes (<filename>.bb</filename> files), removing | ||
| 231 | recipes you do not use, and adding new recipes or append files | ||
| 232 | (<filename>.bbappend</filename>) that you need to support your hardware. | ||
| 233 | </para></listitem> | ||
| 234 | <listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the | ||
| 235 | changes to your BSP layer, there remains a few things | ||
| 236 | you need to do for the OpenEmbedded build system in order for it to create your image. | ||
| 237 | You need to get the build environment ready by sourcing an environment setup script | ||
| 238 | (i.e. <filename>oe-init-build-env</filename> or | ||
| 239 | <filename>oe-init-build-env-memres</filename>) | ||
| 240 | and you need to be sure two key configuration files are configured appropriately: | ||
| 241 | the <filename>conf/local.conf</filename> and the | ||
| 242 | <filename>conf/bblayers.conf</filename> file. | ||
| 243 | You must make the OpenEmbedded build system aware of your new layer. | ||
| 244 | See the | ||
| 245 | "<link linkend='enabling-your-layer'>Enabling Your Layer</link>" section | ||
| 246 | for information on how to let the build system know about your new layer.</para> | ||
| 247 | <para>The entire process for building an image is overviewed in the section | ||
| 248 | "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>" section | ||
| 249 | of the Yocto Project Quick Start. | ||
| 250 | You might want to reference this information.</para></listitem> | ||
| 251 | <listitem><para><emphasis>Build the image</emphasis>: The OpenEmbedded build system | ||
| 252 | uses the BitBake tool to build images based on the type of image you want to create. | ||
| 253 | You can find more information about BitBake in the | ||
| 254 | <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>. | ||
| 255 | </para> | ||
| 256 | <para>The build process supports several types of images to satisfy different needs. | ||
| 257 | See the | ||
| 258 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter | ||
| 259 | in the Yocto Project Reference Manual for information on | ||
| 260 | supported images.</para></listitem> | ||
| 261 | </orderedlist> | ||
| 262 | </para> | ||
| 263 | </section> | ||
| 264 | |||
| 265 | <section id='modifying-the-kernel'> | 79 | <section id='modifying-the-kernel'> |
| 266 | <title><anchor id='kernel-spot' />Modifying the Kernel</title> | 80 | <title><anchor id='kernel-spot' />Modifying the Kernel</title> |
| 267 | 81 | ||
