diff options
Diffstat (limited to 'documentation/bsp-guide/bsp.xml')
-rw-r--r-- | documentation/bsp-guide/bsp.xml | 101 |
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-<bsp_name></filename> directory. | 741 | <filename>meta-<bsp_name></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-<bsp_name></filename> directory. | 751 | <filename>meta-<bsp_name></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-<bsp_name></filename> directory. | 789 | <filename>meta-<bsp_name></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-<bsp_name></filename> directory. | 799 | <filename>meta-<bsp_name></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-<bsp_name></filename> directory.</para></listitem> |
838 | <filename>meta-<bsp_name></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> |