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 /documentation | |
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>
Diffstat (limited to 'documentation')
-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 | ||