summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2011-07-27 11:50:26 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-04 15:06:47 +0100
commitfd02be86862892f091c4ddf33a69e23f122d0fa2 (patch)
tree5e7bfa99aa9bd3649cc3692600a13e4642064c6a /documentation
parent5b8301a3b835890808e22d0fe34caac5ae5071d6 (diff)
downloadpoky-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.xml148
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-&lt;name&gt;</filename>. 115 <filename>meta-&lt;name&gt;</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.