diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2011-07-27 11:50:26 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-08-04 15:06:47 +0100 |
commit | fd02be86862892f091c4ddf33a69e23f122d0fa2 (patch) | |
tree | 5e7bfa99aa9bd3649cc3692600a13e4642064c6a /documentation | |
parent | 5b8301a3b835890808e22d0fe34caac5ae5071d6 (diff) | |
download | poky-fd02be86862892f091c4ddf33a69e23f122d0fa2.tar.gz |
documentation/dev-manual/dev-manual-bsp-appendix.xml: removed redundancies
Some of the more general BSP development information was more appropriate
in the dev-manual-cases chapter. I removed this information and left
example-specific (mostly) text.
(From yocto-docs rev: d44c0fa8bdea9a2cad51ae3ca4b861a12d9fcdf9)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/dev-manual/dev-manual-bsp-appendix.xml | 148 |
1 files changed, 10 insertions, 138 deletions
diff --git a/documentation/dev-manual/dev-manual-bsp-appendix.xml b/documentation/dev-manual/dev-manual-bsp-appendix.xml index 9ccad105b7..3c0ab28d2b 100644 --- a/documentation/dev-manual/dev-manual-bsp-appendix.xml +++ b/documentation/dev-manual/dev-manual-bsp-appendix.xml | |||
@@ -54,29 +54,15 @@ | |||
54 | <title>Choosing a Base BSP</title> | 54 | <title>Choosing a Base BSP</title> |
55 | 55 | ||
56 | <para> | 56 | <para> |
57 | The Yocto Project ships with several BSPs that support various hardware. | 57 | For this example, the base BSP is the Intel Atom Processor E660 with Intel Platform |
58 | It is best to base your new BSP on an existing BSP rather than create all the | 58 | Controller Hub EG20T Development Kit, which is otherwise referred to as "Crown Bay." |
59 | recipes and configuration files from scratch. | 59 | The BSP layer is <filename>meta-crownbay</filename>. |
60 | While it is possible to create everything from scratch, basing your new BSP | ||
61 | on something that is close is much easier. | ||
62 | Or, at a minimum, it gives you some structure with which to start. | ||
63 | </para> | 60 | </para> |
64 | 61 | ||
65 | <para> | 62 | <para> |
66 | At this point you need to understand your target hardware well enough to determine which | 63 | For information on how to choose a base BSP, see |
67 | existing BSP it most closely matches. | 64 | <xref linkend='developing-a-board-support-package-bsp'>Developing a Board Support Package (BSP)</xref> |
68 | Things to consider are your hardware’s on-board features such as CPU type and graphics support. | 65 | earlier in this manual. |
69 | You should look at the README files for supported BSPs to get an idea of which one | ||
70 | you could use. | ||
71 | A generic Atom-based BSP to consider is the Crown Bay that does not support | ||
72 | the Intel® Embedded Media Graphics Driver (EMGD). | ||
73 | The remainder of this example uses that base BSP. | ||
74 | </para> | ||
75 | |||
76 | <para> | ||
77 | To see the supported BSPs, go to the Yocto Project | ||
78 | <ulink url='http://www.yoctoproject.org/download'>download page</ulink> and click | ||
79 | on “BSP Downloads.” | ||
80 | </para> | 66 | </para> |
81 | </section> | 67 | </section> |
82 | 68 | ||
@@ -90,7 +76,7 @@ | |||
90 | download the BSP tarball and extract it, or set up a local Git repository that | 76 | download the BSP tarball and extract it, or set up a local Git repository that |
91 | has the Yocto Project BSP layers. | 77 | has the Yocto Project BSP layers. |
92 | You should use the same method that you used to get the local Yocto Project files earlier. | 78 | You should use the same method that you used to get the local Yocto Project files earlier. |
93 | See the <xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual | 79 | See <xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual |
94 | for information on how to get the BSP files. | 80 | for information on how to get the BSP files. |
95 | </para> | 81 | </para> |
96 | 82 | ||
@@ -119,48 +105,11 @@ | |||
119 | <para> | 105 | <para> |
120 | Now that you have the local Yocto Project files and the base BSP files you need to create a | 106 | Now that you have the local Yocto Project files and the base BSP files you need to create a |
121 | new layer for your BSP. | 107 | new layer for your BSP. |
108 | To create your BSP layer you simply copy the <filename>meta-crownbay</filename> | ||
109 | layer to a new layer. | ||
122 | </para> | 110 | </para> |
123 | 111 | ||
124 | <para> | 112 | <para> |
125 | Layers are ideal for isolating and storing work for a given piece of hardware. | ||
126 | A layer is really just a location or area in which you place the recipes for your BSP. | ||
127 | In fact, a BSP is, in itself, a special type of layer. | ||
128 | Consider an application as another example that illustrates a layer. | ||
129 | Suppose you are creating an application that has library or other dependencies in | ||
130 | order for it to compile and run. | ||
131 | The layer, in this case, would be where all the recipes that define those dependencies | ||
132 | are kept. The key point for a layer is that it is an isolated area that contains | ||
133 | all the relevant information for the project that the Yocto Project build system knows about. | ||
134 | </para> | ||
135 | |||
136 | <note> | ||
137 | The Yocto Project supports four BSPs that are part of the | ||
138 | Yocto Project release: <filename>atom-pc</filename>, <filename>beagleboard</filename>, | ||
139 | <filename>mpc8315e</filename>, and <filename>routerstationpro</filename>. | ||
140 | The recipes and configurations for these four BSPs are located and dispersed | ||
141 | within local Yocto Project files. | ||
142 | Consequently, they are not totally isolated in the spirit of layers unless you think | ||
143 | of <filename>meta-yocto</filename> as a layer itself. | ||
144 | On the other hand, BSP layers for Crown Bay, Emenlow, Jasper Forest, | ||
145 | N450, and Sugar Bay are isolated. | ||
146 | </note> | ||
147 | |||
148 | <para> | ||
149 | When you set up a layer for a new BSP you should follow a standard layout. | ||
150 | This layout is described in the | ||
151 | <ulink url='http://www.yoctoproject.org/docs/1.1/bsp-guide/bsp-guide.html#bsp-filelayout'> | ||
152 | Example Filesystem Layout</ulink> section of the Board Support Package (BSP) Development | ||
153 | Guide. | ||
154 | In the standard layout you will notice a suggested structure for recipes and | ||
155 | configuration information. | ||
156 | You can see the standard layout for the Crown Bay BSP in this example by examining the | ||
157 | directory structure of the <filename>meta-crownbay</filename> layer inside the | ||
158 | local Yocto Project files. | ||
159 | </para> | ||
160 | |||
161 | <para> | ||
162 | To create your BSP layer you simply copy the <filename>meta-crownbay</filename> | ||
163 | layer to a new layer. | ||
164 | For this example the new layer will be named <filename>meta-mymachine</filename>. | 113 | For this example the new layer will be named <filename>meta-mymachine</filename>. |
165 | The name must follow the BSP layer naming convention, which is | 114 | The name must follow the BSP layer naming convention, which is |
166 | <filename>meta-<name></filename>. | 115 | <filename>meta-<name></filename>. |
@@ -486,22 +435,6 @@ | |||
486 | <title>Preparing for the Build</title> | 435 | <title>Preparing for the Build</title> |
487 | 436 | ||
488 | <para> | 437 | <para> |
489 | Once you have made all the changes to your BSP layer there remains a few things | ||
490 | you need to do for the Yocto Project build system in order for it to create your image. | ||
491 | You need to get the build environment ready by sourcing an environment setup script | ||
492 | and you need to be sure two key configuration files are configured appropriately. | ||
493 | </para> | ||
494 | |||
495 | <para> | ||
496 | The entire process for building an image is overviewed in the | ||
497 | <ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#building-image'> | ||
498 | Building an Image</ulink> section of the Yocto Project Quick Start. | ||
499 | You might want to reference this information. | ||
500 | The remainder of this section will apply to our example of the | ||
501 | <filename>meta-mymachine</filename> layer. | ||
502 | </para> | ||
503 | |||
504 | <para> | ||
505 | To get ready to build your image that uses the new layer you need to do the following: | 438 | To get ready to build your image that uses the new layer you need to do the following: |
506 | <orderedlist> | 439 | <orderedlist> |
507 | <listitem><para>Get the environment ready for the build by sourcing the environment | 440 | <listitem><para>Get the environment ready for the build by sourcing the environment |
@@ -560,67 +493,6 @@ | |||
560 | <title>Building the Image</title> | 493 | <title>Building the Image</title> |
561 | 494 | ||
562 | <para> | 495 | <para> |
563 | The Yocto Project uses the BitBake tool to build images based on the type of image | ||
564 | you want to create. | ||
565 | You can find more information on BitBake | ||
566 | <ulink url='http://bitbake.berlios.de/manual/'>here</ulink>. | ||
567 | </para> | ||
568 | |||
569 | <para> | ||
570 | The build process supports several types of images to satisfy different needs. | ||
571 | When you issue the BitBake command you provide a “top-level” recipe that essentially | ||
572 | starts the process off of building the type of image you want. | ||
573 | </para> | ||
574 | |||
575 | <para> | ||
576 | [WRITER'S NOTE: Consider moving this to the Poky Reference Manual.] | ||
577 | </para> | ||
578 | |||
579 | <para> | ||
580 | You can find these recipes in the <filename>meta/recipes-core/images</filename> and | ||
581 | <filename>meta/recipes-sato/images</filename> directories of your local Yocto Project | ||
582 | file structure (Git repository or extracted release tarball). | ||
583 | Although the recipe names are somewhat explanatory, here is a list that describes them: | ||
584 | <itemizedlist> | ||
585 | <listitem><para><emphasis>Base</emphasis> – A foundational basic image without support | ||
586 | for X that can be reasonably used for customization.</para></listitem> | ||
587 | <listitem><para><emphasis>Core</emphasis> – A foundational basic image with support for | ||
588 | X that can be reasonably used for customization.</para></listitem> | ||
589 | <listitem><para><emphasis>Direct Disk</emphasis> – An image that you can copy directory to | ||
590 | the disk of the target device.</para></listitem> | ||
591 | <listitem><para><emphasis>Live</emphasis> – An image you can run from a USB device or from | ||
592 | a CD without having to first install something.</para></listitem> | ||
593 | <listitem><para><emphasis>Minimal</emphasis> – A small image without a GUI. | ||
594 | This image is not much more than a kernel with a shell.</para></listitem> | ||
595 | <listitem><para><emphasis>Minimal Development</emphasis> – A Minimal image suitable for | ||
596 | development work.</para></listitem> | ||
597 | <listitem><para><emphasis>Minimal Direct Disk</emphasis> – A Minimal Direct Disk image.</para></listitem> | ||
598 | <listitem><para><emphasis>Minimal RAM-based Initial Root Filesystem</emphasis> – A minimal image | ||
599 | that has the <filename>initramfs</filename> as part of the kernel, which allows the | ||
600 | system to find the first “init” program more efficiently.</para></listitem> | ||
601 | <listitem><para><emphasis>Minimal Live</emphasis> – A Minimal Live image.</para></listitem> | ||
602 | <listitem><para><emphasis>Minimal MTD Utilities</emphasis> – A minimal image that has support | ||
603 | for the MTD utilities, which let the user interact with the MTD subsystem in | ||
604 | the kernel to perform operations on flash devices.</para></listitem> | ||
605 | <listitem><para><emphasis>Sato</emphasis> – An image with Sato support, a mobile environment | ||
606 | and visual style that works well with mobile devices.</para></listitem> | ||
607 | <listitem><para><emphasis>Sato Development</emphasis> – A Sato image suitable for | ||
608 | development work.</para></listitem> | ||
609 | <listitem><para><emphasis>Sato Direct Disk</emphasis> – A Sato Direct Disk image.</para></listitem> | ||
610 | <listitem><para><emphasis>Sato Live</emphasis> – A Sato Live image.</para></listitem> | ||
611 | <listitem><para><emphasis>Sato SDK</emphasis> – A Sato image that includes the Yocto Project | ||
612 | toolchain and development libraries.</para></listitem> | ||
613 | <listitem><para><emphasis>Sato SDK Direct Disk</emphasis> – A Sato SDK Direct | ||
614 | Disk image.</para></listitem> | ||
615 | <listitem><para><emphasis>Sato SDK Live</emphasis> – A Sato SDK Live image.</para></listitem> | ||
616 | </itemizedlist> | ||
617 | </para> | ||
618 | |||
619 | <para> | ||
620 | The remainder of this section applies to our example of the <filename>meta-mymachine</filename> layer. | ||
621 | </para> | ||
622 | |||
623 | <para> | ||
624 | To build the image for our <filename>meta-mymachine</filename> BSP enter the following command | 496 | To build the image for our <filename>meta-mymachine</filename> BSP enter the following command |
625 | from the same shell from which you ran the setup script. | 497 | from the same shell from which you ran the setup script. |
626 | You should run the <filename>bitbake</filename> command without any intervening shell commands. | 498 | You should run the <filename>bitbake</filename> command without any intervening shell commands. |