summaryrefslogtreecommitdiffstats
path: root/documentation/bsp-guide/bsp.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/bsp-guide/bsp.xml')
-rw-r--r--documentation/bsp-guide/bsp.xml101
1 files changed, 61 insertions, 40 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml
index 1b5f0f5b2a..e111713285 100644
--- a/documentation/bsp-guide/bsp.xml
+++ b/documentation/bsp-guide/bsp.xml
@@ -670,10 +670,12 @@
670 <para> 670 <para>
671 Before looking at BSP requirements, you should consider the following: 671 Before looking at BSP requirements, you should consider the following:
672 <itemizedlist> 672 <itemizedlist>
673 <listitem><para>The requirements here assume the base Yocto Project requirements 673 <listitem><para>The requirements here assume the BSP layer is a well-formed, "legal"
674 for the BSP layer are already met. 674 layer that can be added to the Yocto Project.
675 For example, requirements for working with the 675 For guidelines on creating a Yocto Project layer that meets these base requirements, see the
676 <filename>oe-core</filename> and standard toolchain layers.</para></listitem> 676 "<link linkend='bsp-layers'>BSP Layers</link>" and the
677 "<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding
678 and Creating Layers"</ulink> in the Yocto Project Development Manual.</para></listitem>
677 <listitem><para>The requirements in this section apply regardless of how you 679 <listitem><para>The requirements in this section apply regardless of how you
678 ultimately package a BSP. 680 ultimately package a BSP.
679 You should consult the packaging and distribution guidelines for your 681 You should consult the packaging and distribution guidelines for your
@@ -686,7 +688,7 @@
686 For example, the BSP metadata can be contained within a Git repository 688 For example, the BSP metadata can be contained within a Git repository
687 and could have a directory structure completely different from what appears 689 and could have a directory structure completely different from what appears
688 in the officially released BSP layer.</para></listitem> 690 in the officially released BSP layer.</para></listitem>
689 <listitem><para>No requirement stipulates that specific packages or package 691 <listitem><para>It is not required that specific packages or package
690 modifications exist in the BSP layer, beyond the requirements for general 692 modifications exist in the BSP layer, beyond the requirements for general
691 compliance with the Yocto Project. 693 compliance with the Yocto Project.
692 For example, no requirement exists dictating that a specific kernel or 694 For example, no requirement exists dictating that a specific kernel or
@@ -705,9 +707,16 @@
705 "<link linkend='bsp-layers'>BSP Layers</link>" section. 707 "<link linkend='bsp-layers'>BSP Layers</link>" section.
706 </para></listitem> 708 </para></listitem>
707 <listitem><para><emphasis>File System Layout:</emphasis> 709 <listitem><para><emphasis>File System Layout:</emphasis>
708 In general, the filesystem layout for the BSP layer 710 When possible, use the same directory names in your
709 should use the same directory names 711 BSP layer as listed in the <filename>recipes.txt</filename> file.
710 as listed in <filename>recipes.txt</filename>. 712 In particular, you should place recipes
713 (<filename>.bb</filename> files) and recipe
714 modifications (<filename>.bbappend</filename> files) into
715 <filename>recipes-*</filename> subdirectories by functional area
716 as outlined in <filename>recipes.txt</filename>.
717 If you cannot find a category in <filename>recipes.txt</filename>
718 to fit a particular recipe, you can make up your own
719 <filename>recipe-*</filename> subdirectory.
711 You can find <filename>recipes.txt</filename> in the 720 You can find <filename>recipes.txt</filename> in the
712 <filename>meta</filename> directory of the 721 <filename>meta</filename> directory of the
713 <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-files'>Yocto 722 <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-files'>Yocto
@@ -715,13 +724,6 @@
715 (<filename>openembedded-core</filename>) found at 724 (<filename>openembedded-core</filename>) found at
716 <ulink url='http://git.openembedded.org/openembedded-core/tree/meta'></ulink>. 725 <ulink url='http://git.openembedded.org/openembedded-core/tree/meta'></ulink>.
717 </para> 726 </para>
718 <para>In particular, you should place recipes
719 (<filename>.bb</filename> files) and recipe
720 modifications (<filename>.bbappend</filename> files) into
721 <filename>recipes-*</filename> subdirectories by functional area
722 as outlined in <filename>recipes.txt</filename>.
723 If none of the categories fits a particular recipe, you can
724 make up your own <filename>recipe-*</filename> subdirectory.</para>
725 <para>Within any particular <filename>recipes-*</filename> category, the layout 727 <para>Within any particular <filename>recipes-*</filename> category, the layout
726 should match what is found in the OpenEmbedded Core 728 should match what is found in the OpenEmbedded Core
727 Git repository (<filename>openembedded-core</filename>) 729 Git repository (<filename>openembedded-core</filename>)
@@ -739,11 +741,19 @@
739 <filename>meta-&lt;bsp_name&gt;</filename> directory. 741 <filename>meta-&lt;bsp_name&gt;</filename> directory.
740 This license covers the BSP metadata as a whole. 742 This license covers the BSP metadata as a whole.
741 You must specify which license to use since there is no 743 You must specify which license to use since there is no
742 default license if one is not specified.</para></listitem> 744 default license if one is not specified.
745 See the
746 <ulink url='&YOCTO_GIT_URL;/cgit.cgi/meta-intel/tree/meta-fishriver/COPYING.MIT'><filename>COPYING.MIT</filename></ulink>
747 file for the Fish River BSP in the <filename>meta-fishriver</filename> BSP layer
748 as an example.</para></listitem>
743 <listitem><para><emphasis>README File:</emphasis> 749 <listitem><para><emphasis>README File:</emphasis>
744 You must include a <filename>README</filename> file in the 750 You must include a <filename>README</filename> file in the
745 <filename>meta-&lt;bsp_name&gt;</filename> directory. 751 <filename>meta-&lt;bsp_name&gt;</filename> directory.
746 At a minimum, the <filename>README</filename> file should 752 See the
753 <ulink url='&YOCTO_GIT_URL;/cgit.cgi/meta-intel/tree/meta-fishriver/README'><filename>README</filename></ulink>
754 file for the Fish River BSP in the <filename>meta-fishriver</filename> BSP layer
755 as an example.</para>
756 <para>At a minimum, the <filename>README</filename> file should
747 contain the following: 757 contain the following:
748 <itemizedlist> 758 <itemizedlist>
749 <listitem><para>A brief description about the hardware the BSP 759 <listitem><para>A brief description about the hardware the BSP
@@ -779,7 +789,11 @@
779 <filename>meta-&lt;bsp_name&gt;</filename> directory. 789 <filename>meta-&lt;bsp_name&gt;</filename> directory.
780 This file specifies exactly where you can find the sources used to 790 This file specifies exactly where you can find the sources used to
781 generate the binary images contained in the 791 generate the binary images contained in the
782 <filename>/binary</filename> directory, if present.</para></listitem> 792 <filename>/binary</filename> directory, if present.
793 See the
794 <ulink url='&YOCTO_GIT_URL;/cgit.cgi/meta-intel/tree/meta-fishriver/README.sources'><filename>README.sources</filename></ulink>
795 file for the Fish River BSP in the <filename>meta-fishriver</filename> BSP layer
796 as an example.</para></listitem>
783 <listitem><para><emphasis>Layer Configuration File:</emphasis> 797 <listitem><para><emphasis>Layer Configuration File:</emphasis>
784 You must include a <filename>conf/layer.conf</filename> in the 798 You must include a <filename>conf/layer.conf</filename> in the
785 <filename>meta-&lt;bsp_name&gt;</filename> directory. 799 <filename>meta-&lt;bsp_name&gt;</filename> directory.
@@ -814,28 +828,35 @@
814 <title>Released BSP Recommendations</title> 828 <title>Released BSP Recommendations</title>
815 829
816 <para> 830 <para>
817 One recommendation for BSP releases is that they contain 831 Following are recommendations for a released BSP that conforms to the
818 one or more bootable images. 832 Yocto Project:
819 Including bootable images allows users to easily try out the BSP 833 <itemizedlist>
820 on their own hardware. 834 <listitem><para><emphasis>Bootable Images:</emphasis>
821 </para> 835 BSP releases
822 836 can contain one or more bootable images.
823 <para> 837 Including bootable images allows users to easily try out the BSP
824 In some cases, it might not be convenient to include a 838 on their own hardware.</para>
825 bootable image. 839 <para>In some cases, it might not be convenient to include a
826 In this case, you might want to make two versions of the 840 bootable image.
827 BSP available: one that contains binary images, and one 841 In this case, you might want to make two versions of the
828 that does not. 842 BSP available: one that contains binary images, and one
829 The version that does not contain bootable images avoids 843 that does not.
830 unnecessary download times for users not interested in the images. 844 The version that does not contain bootable images avoids
831 </para> 845 unnecessary download times for users not interested in the images.
832 846 </para>
833 <para> 847 <para>If you need to distribute a BSP and include bootable images or build kernel and
834 If you need to distribute a BSP and include bootable images or build kernel and 848 filesystems meant to allow users to boot the BSP for evaluation
835 filesystems meant to allow users to boot the BSP for evaluation 849 purposes, you should put the images and artifacts within a
836 purposes, you should put the images and artifacts within a 850 <filename>binary/</filename> subdirectory located in the
837 <filename>binary/</filename> subdirectory located in the 851 <filename>meta-&lt;bsp_name&gt;</filename> directory.</para></listitem>
838 <filename>meta-&lt;bsp_name&gt;</filename> directory. 852 <listitem><para><emphasis>Use a Yocto Linux Kernel:</emphasis>
853 Kernel recipes in the BSP should be based on a Yocto Linux kernel.
854 Basing your recipes on these kernels reduces the costs for maintaining
855 the BSP and increases its scalability.
856 See the <filename>Yocto Linux Kernel</filename> category in the
857 <ulink url='&YOCTO_GIT_URL;/cgit.cgi'><filename>Yocto Source Repositories</filename></ulink>
858 for these kernels.</para></listitem>
859 </itemizedlist>
839 </para> 860 </para>
840 </section> 861 </section>
841 </section> 862 </section>