summaryrefslogtreecommitdiffstats
path: root/documentation/bsp-guide
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2013-04-22 18:19:36 (GMT)
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-05-22 16:23:37 (GMT)
commit818ec77cd3d0293ec5ef659e18a7e22d49f81737 (patch)
tree7abefa73b6251d2611ad34d45eba8401dc494ef5 /documentation/bsp-guide
parentcaa6e079c316c70f3600114069654c459607e983 (diff)
downloadpoky-818ec77cd3d0293ec5ef659e18a7e22d49f81737.tar.gz
bsp-guide, ref-manual: Various fixes from Robert P. J. Day review.
Robert read through the BSP Guide and noted several issues. There were several typos, inacurracies for crown bay code, out-dated kernel usage example, etc. One change I had to make that was related was to fix two cross-reference links to a re-named section. These links were the changes in the FAQ chapter of the ref-manual. Reported-by: Robert P. J. Day <rpjday@crashcourse.ca> (From yocto-docs rev: ae45df660ebf33105ebf5e60e606b0ec76eb9a6d) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/bsp-guide')
-rw-r--r--documentation/bsp-guide/bsp.xml91
1 files changed, 50 insertions, 41 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml
index 363ab77..a14dd3b 100644
--- a/documentation/bsp-guide/bsp.xml
+++ b/documentation/bsp-guide/bsp.xml
@@ -34,11 +34,13 @@
34 The BSP consists of a file structure inside a base directory. 34 The BSP consists of a file structure inside a base directory.
35 Collectively, you can think of the base directory and the file structure 35 Collectively, you can think of the base directory and the file structure
36 as a BSP Layer. 36 as a BSP Layer.
37 BSP Layers use the following naming convention: 37 Although not a strict requirement, layers in the Yocto Project use the
38 following well established naming convention:
38 <literallayout class='monospaced'> 39 <literallayout class='monospaced'>
39 meta-&lt;bsp_name&gt; 40 meta-&lt;bsp_name&gt;
40 </literallayout> 41 </literallayout>
41 "bsp_name" is a placeholder for the machine or platform name. 42 The string "meta-" is prepended to the machine or platform name, which is
43 "bsp_name" in the above form.
42 </para> 44 </para>
43 45
44 <para> 46 <para>
@@ -318,9 +320,9 @@
318 # We have a conf and classes directory, add to BBPATH 320 # We have a conf and classes directory, add to BBPATH
319 BBPATH .= ":${LAYERDIR}" 321 BBPATH .= ":${LAYERDIR}"
320 322
321 # We have recipes-* directories, add to BBFILES 323 # We have a recipes directory, add to BBFILES
322 BBFILES += "${LAYERDIR}/recipes-*/*.bb \ 324 BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
323 ${LAYERDIR}/recipes-*/*.bbappend" 325 ${LAYERDIR}/recipes-*/*/*.bbappend"
324 326
325 BBFILE_COLLECTIONS += "bsp" 327 BBFILE_COLLECTIONS += "bsp"
326 BBFILE_PATTERN_bsp = "^${LAYERDIR}/" 328 BBFILE_PATTERN_bsp = "^${LAYERDIR}/"
@@ -329,8 +331,8 @@
329 </para> 331 </para>
330 332
331 <para> 333 <para>
332 To illustrate the string substitutions, here are the last three statements from the Crown 334 To illustrate the string substitutions, here are the corresponding statements
333 Bay <filename>conf/layer.conf</filename> file: 335 from the Crown Bay <filename>conf/layer.conf</filename> file:
334 <literallayout class='monospaced'> 336 <literallayout class='monospaced'>
335 BBFILE_COLLECTIONS += "crownbay" 337 BBFILE_COLLECTIONS += "crownbay"
336 BBFILE_PATTERN_crownbay = "^${LAYERDIR}/" 338 BBFILE_PATTERN_crownbay = "^${LAYERDIR}/"
@@ -397,9 +399,8 @@
397 Tuning files are found in the <filename>meta/conf/machine/include</filename> 399 Tuning files are found in the <filename>meta/conf/machine/include</filename>
398 directory within the 400 directory within the
399 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. 401 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
400 Tuning files can also reside in the BSP Layer itself.
401 For example, the <filename>ia32-base.inc</filename> file resides in the 402 For example, the <filename>ia32-base.inc</filename> file resides in the
402 <filename>meta-intel</filename> BSP Layer in <filename>conf/machine/include</filename>. 403 <filename>meta/conf/machine/include</filename> directory.
403 </para> 404 </para>
404 405
405 <para> 406 <para>
@@ -409,12 +410,13 @@
409 <literallayout class='monospaced'> 410 <literallayout class='monospaced'>
410 require conf/machine/include/tune-atom.inc 411 require conf/machine/include/tune-atom.inc
411 require conf/machine/include/ia32-base.inc 412 require conf/machine/include/ia32-base.inc
413 require conf/machine/include/meta-intel.inc
412 </literallayout> 414 </literallayout>
413 </para> 415 </para>
414 </section> 416 </section>
415 417
416 <section id='bsp-filelayout-misc-recipes'> 418 <section id='bsp-filelayout-misc-recipes'>
417 <title>Miscellaneous Recipe Files</title> 419 <title>Miscellaneous BSP-Specific Recipe Files</title>
418 <para> 420 <para>
419 You can find these files in the BSP Layer at: 421 You can find these files in the BSP Layer at:
420 <literallayout class='monospaced'> 422 <literallayout class='monospaced'>
@@ -500,28 +502,28 @@
500 the <filename>meta-&lt;bsp_name&gt;/recipes-kernel/linux</filename> directory). 502 the <filename>meta-&lt;bsp_name&gt;/recipes-kernel/linux</filename> directory).
501 </para> 503 </para>
502 <para> 504 <para>
503 Suppose you are using the <filename>linux-yocto_3.4.bb</filename> recipe to build 505 Suppose you are using the <filename>linux-yocto_3.8.bb</filename> recipe to build
504 the kernel. 506 the kernel.
505 In other words, you have selected the kernel in your 507 In other words, you have selected the kernel in your
506 <filename>&lt;bsp_name&gt;.conf</filename> file by adding these types 508 <filename>&lt;bsp_name&gt;.conf</filename> file by adding these types
507 of statements: 509 of statements:
508 <literallayout class='monospaced'> 510 <literallayout class='monospaced'>
509 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" 511 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
510 PREFERRED_VERSION_linux-yocto = "3.4%" 512 PREFERRED_VERSION_linux-yocto ?= "3.8%"
511 </literallayout> 513 </literallayout>
512 <note> 514 <note>
513 When the preferred provider is assumed by default, the 515 When the preferred provider is assumed by default, the
514 <filename>PREFERRED_PROVIDER</filename> statement does not appear in the 516 <filename>PREFERRED_PROVIDER</filename> statement does not appear in the
515 <filename>&lt;bsp_name&gt;.conf</filename> file. 517 <filename>&lt;bsp_name&gt;.conf</filename> file.
516 </note> 518 </note>
517 You would use the <filename>linux-yocto_3.4.bbappend</filename> file to append 519 You would use the <filename>linux-yocto_3.8.bbappend</filename> file to append
518 specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. 520 specific BSP settings to the kernel, thus configuring the kernel for your particular BSP.
519 </para> 521 </para>
520 <para> 522 <para>
521 As an example, look at the existing Crown Bay BSP. 523 As an example, look at the existing Crown Bay BSP.
522 The append file used is: 524 The append file used is:
523 <literallayout class='monospaced'> 525 <literallayout class='monospaced'>
524 meta-crownbay/recipes-kernel/linux/linux-yocto_3.4.bbappend 526 meta-crownbay/recipes-kernel/linux/linux-yocto_3.8.bbappend
525 </literallayout> 527 </literallayout>
526 The following listing shows the file. 528 The following listing shows the file.
527 Be aware that the actual commit ID strings in this example listing might be different 529 Be aware that the actual commit ID strings in this example listing might be different
@@ -531,40 +533,43 @@
531 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 533 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
532 534
533 COMPATIBLE_MACHINE_crownbay = "crownbay" 535 COMPATIBLE_MACHINE_crownbay = "crownbay"
534 KMACHINE_crownbay = "crownbay" 536 KMACHINE_crownbay = "crownbay"
535 KBRANCH_crownbay = "standard/crownbay" 537 KBRANCH_crownbay = "standard/crownbay"
538 KERNEL_FEATURES_crownbay_append = " features/drm-emgd/drm-emgd-1.16 cfg/vesafb"
536 539
537 COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd" 540 COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd"
538 KMACHINE_crownbay-noemgd = "crownbay" 541 KMACHINE_crownbay-noemgd = "crownbay"
539 KBRANCH_crownbay-noemgd = "standard/crownbay" 542 KBRANCH_crownbay-noemgd = "standard/crownbay"
543 KERNEL_FEATURES_crownbay-noemgd_append = " cfg/vesafb"
540 544
541 SRCREV_machine_pn-linux-yocto_crownbay ?= "449f7f520350700858f21a5554b81cc8ad23267d" 545 LINUX_VERSION = "3.8.4"
542 SRCREV_meta_pn-linux-yocto_crownbay ?= "9e3bdb7344054264b750e53fbbb6394cc1c942ac"
543 SRCREV_emgd_pn-linux-yocto_crownbay ?= "86643bdd8cbad616a161ab91f51108cf0da827bc"
544 546
545 SRCREV_machine_pn-linux-yocto_crownbay-noemgd ?= "449f7f520350700858f21a5554b81cc8ad23267d" 547 SRCREV_meta_crownbay = "2a6d36e75ca0a121570a389d7bab76ec240cbfda"
546 SRCREV_meta_pn-linux-yocto_crownbay-noemgd ?= "9e3bdb7344054264b750e53fbbb6394cc1c942ac" 548 SRCREV_machine_crownbay = "47aed0c17c1c55988198ad39f86ae88894c8e0a4"
549 SRCREV_emgd_crownbay = "c780732f175ff0ec866fac2130175876b519b576"
547 550
548 KSRC_linux_yocto_3_4 ?= "git.yoctoproject.org/linux-yocto-3.4.git" 551 SRCREV_meta_crownbay-noemgd = "2a6d36e75ca0a121570a389d7bab76ec240cbfda"
549 SRC_URI_crownbay = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta,emgd-1.14;name=machine,meta,emgd" 552 SRCREV_machine_crownbay-noemgd = "47aed0c17c1c55988198ad39f86ae88894c8e0a4"
550 SRC_URI_crownbay-noemgd = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta" 553
554 SRC_URI_crownbay = "git://git.yoctoproject.org/linux-yocto-3.8.git;protocol=git;nocheckout=1;branch=${KBRANCH},${KMETA},emgd-1.16;name=machine,meta,emgd"
551 </literallayout> 555 </literallayout>
552 This append file contains statements used to support the Crown Bay BSP for both 556 This append file contains statements used to support the Crown Bay BSP for both
553 <trademark class='registered'>Intel</trademark> EMGD and the VESA graphics. 557 <trademark class='registered'>Intel</trademark> EMGD and the VESA graphics.
554 The build process, in this case, recognizes and uses only the statements that 558 The build process, in this case, recognizes and uses only the statements that
555 apply to the defined machine name - <filename>crownbay</filename> in this case. 559 apply to the defined machine name - <filename>crownbay</filename> in this case.
556 So, the applicable statements in the <filename>linux-yocto_3.4.bbappend</filename> 560 So, the applicable statements in the <filename>linux-yocto_3.8.bbappend</filename>
557 file are follows: 561 file are follows:
558 <literallayout class='monospaced'> 562 <literallayout class='monospaced'>
559 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 563 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
560 564
561 COMPATIBLE_MACHINE_crownbay = "crownbay" 565 COMPATIBLE_MACHINE_crownbay = "crownbay"
562 KMACHINE_crownbay = "crownbay" 566 KMACHINE_crownbay = "crownbay"
563 KBRANCH_crownbay = "standard/crownbay" 567 KBRANCH_crownbay = "standard/crownbay"
568 KERNEL_FEATURES_crownbay_append = " features/drm-emgd/drm-emgd-1.16 cfg/vesafb"
564 569
565 SRCREV_machine_pn-linux-yocto_crownbay ?= "449f7f520350700858f21a5554b81cc8ad23267d" 570 SRCREV_meta_crownbay = "2a6d36e75ca0a121570a389d7bab76ec240cbfda"
566 SRCREV_meta_pn-linux-yocto_crownbay ?= "9e3bdb7344054264b750e53fbbb6394cc1c942ac" 571 SRCREV_machine_crownbay = "47aed0c17c1c55988198ad39f86ae88894c8e0a4"
567 SRCREV_emgd_pn-linux-yocto_crownbay ?= "86643bdd8cbad616a161ab91f51108cf0da827bc" 572 SRCREV_emgd_crownbay = "c780732f175ff0ec866fac2130175876b519b576"
568 </literallayout> 573 </literallayout>
569 The append file defines <filename>crownbay</filename> as the 574 The append file defines <filename>crownbay</filename> as the
570 <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink> 575 <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink>
@@ -574,8 +579,11 @@
574 machine name used by the Linux Yocto kernel. 579 machine name used by the Linux Yocto kernel.
575 The file also uses the optional 580 The file also uses the optional
576 <ulink url='&YOCTO_DOCS_REF_URL;#var-KBRANCH'><filename>KBRANCH</filename></ulink> variable 581 <ulink url='&YOCTO_DOCS_REF_URL;#var-KBRANCH'><filename>KBRANCH</filename></ulink> variable
577 to ensure the build process uses the <filename>standard/default/crownbay</filename> 582 to ensure the build process uses the <filename>standard/crownbay</filename>
578 kernel branch. 583 kernel branch.
584 The
585 <ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'><filename>KERNEL_FEATURES</filename></ulink>
586 variable enables features specific to the kernel.
579 Finally, the append file points to specific commits in the 587 Finally, the append file points to specific commits in the
580 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git 588 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git
581 repository and the <filename>meta</filename> Git repository branches to identify the 589 repository and the <filename>meta</filename> Git repository branches to identify the
@@ -601,7 +609,7 @@
601 </para> 609 </para>
602 610
603 <para> 611 <para>
604 For example, suppose you had a some configuration options in a file called 612 For example, suppose you had some configuration options in a file called
605 <filename>network_configs.cfg</filename>. 613 <filename>network_configs.cfg</filename>.
606 You can place that file inside a directory named <filename>/linux-yocto</filename> and then add 614 You can place that file inside a directory named <filename>/linux-yocto</filename> and then add
607 a <filename>SRC_URI</filename> statement such as the following to the append file. 615 a <filename>SRC_URI</filename> statement such as the following to the append file.
@@ -723,7 +731,7 @@
723 as outlined in <filename>recipes.txt</filename>. 731 as outlined in <filename>recipes.txt</filename>.
724 If you cannot find a category in <filename>recipes.txt</filename> 732 If you cannot find a category in <filename>recipes.txt</filename>
725 to fit a particular recipe, you can make up your own 733 to fit a particular recipe, you can make up your own
726 <filename>recipe-*</filename> subdirectory. 734 <filename>recipes-*</filename> subdirectory.
727 You can find <filename>recipes.txt</filename> in the 735 You can find <filename>recipes.txt</filename> in the
728 <filename>meta</filename> directory of the 736 <filename>meta</filename> directory of the
729 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>, 737 <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>,
@@ -811,9 +819,9 @@
811 This file identifies the <filename>meta-&lt;bsp_name&gt;</filename> 819 This file identifies the <filename>meta-&lt;bsp_name&gt;</filename>
812 BSP layer as a layer to the build system.</para></listitem> 820 BSP layer as a layer to the build system.</para></listitem>
813 <listitem><para><emphasis>Machine Configuration File:</emphasis> 821 <listitem><para><emphasis>Machine Configuration File:</emphasis>
814 You must include a <filename>conf/machine/&lt;bsp_name&gt;.conf</filename> 822 You must include one or more <filename>conf/machine/&lt;bsp_name&gt;.conf</filename>
815 in the <filename>meta-&lt;bsp_name&gt;</filename> directory. 823 files in the <filename>meta-&lt;bsp_name&gt;</filename> directory.
816 This configuration file defines a machine target that can be built 824 These configuration files define machine targets that can be built
817 using the BSP layer. 825 using the BSP layer.
818 Multiple machine configuration files define variations of machine 826 Multiple machine configuration files define variations of machine
819 configurations that are supported by the BSP. 827 configurations that are supported by the BSP.
@@ -827,7 +835,8 @@
827 <note>It is completely possible for a developer to structure the 835 <note>It is completely possible for a developer to structure the
828 working repository as a conglomeration of unrelated BSP 836 working repository as a conglomeration of unrelated BSP
829 files, and to possibly generate BSPs targeted for release 837 files, and to possibly generate BSPs targeted for release
830 from that directory using scripts or some other mechanism. 838 from that directory using scripts or some other mechanism
839 (e.g. <filename>meta-yocto-bsp</filename> layer).
831 Such considerations are outside the scope of this document.</note> 840 Such considerations are outside the scope of this document.</note>
832 </para></listitem> 841 </para></listitem>
833 </itemizedlist> 842 </itemizedlist>
@@ -1259,7 +1268,7 @@
1259 As the <filename>yocto-bsp create</filename> command runs, default values for 1268 As the <filename>yocto-bsp create</filename> command runs, default values for
1260 the prompts appear in brackets. 1269 the prompts appear in brackets.
1261 Pressing enter without supplying anything on the command line or pressing enter 1270 Pressing enter without supplying anything on the command line or pressing enter
1262 and providing an invalid response causes the script to accept the default value. 1271 with an invalid response causes the script to accept the default value.
1263 Once the script completes, the new <filename>meta-myarm</filename> BSP layer 1272 Once the script completes, the new <filename>meta-myarm</filename> BSP layer
1264 is created in the current working directory. 1273 is created in the current working directory.
1265 This example assumes you have sourced the 1274 This example assumes you have sourced the
@@ -1350,7 +1359,7 @@
1350 <filename>bblayers.conf</filename> file. 1359 <filename>bblayers.conf</filename> file.
1351 Here is an example: 1360 Here is an example:
1352 <literallayout class='monospaced'> 1361 <literallayout class='monospaced'>
1353 BBLAYERS = ?" \ 1362 BBLAYERS = ? " \
1354 /usr/local/src/yocto/meta \ 1363 /usr/local/src/yocto/meta \
1355 /usr/local/src/yocto/meta-yocto \ 1364 /usr/local/src/yocto/meta-yocto \
1356 /usr/local/src/yocto/meta-yocto-bsp \ 1365 /usr/local/src/yocto/meta-yocto-bsp \