diff options
Diffstat (limited to 'documentation/bsp-guide')
-rw-r--r-- | documentation/bsp-guide/bsp.xml | 136 |
1 files changed, 45 insertions, 91 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index cfca34473b..e11eb4f663 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml | |||
@@ -183,17 +183,15 @@ | |||
183 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/ | 183 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/ |
184 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/ | 184 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/ |
185 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf | 185 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf |
186 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd/ | ||
187 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd/xorg.conf | ||
188 | meta-crownbay/recipes-kernel/ | 186 | meta-crownbay/recipes-kernel/ |
189 | meta-crownbay/recipes-kernel/linux/ | 187 | meta-crownbay/recipes-kernel/linux/ |
190 | meta-crownbay/recipes-kernel/linux/linux-yocto_3.2.bbappend | ||
191 | meta-crownbay/recipes-kernel/linux/linux-yocto_3.4.bbappend | 188 | meta-crownbay/recipes-kernel/linux/linux-yocto_3.4.bbappend |
192 | meta-crownbay/recipes-kernel/linux/linux-yocto_3.8.bbappend | 189 | meta-crownbay/recipes-kernel/linux/linux-yocto_3.8.bbappend |
190 | meta-crownbay/recipes-kernel/linux/linux-yocto_3.10.bbappend | ||
193 | meta-crownbay/recipes-kernel/linux/linux-yocto-dev.bbappend | 191 | meta-crownbay/recipes-kernel/linux/linux-yocto-dev.bbappend |
194 | meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.2.bbappend | ||
195 | meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.4.bbappend | 192 | meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.4.bbappend |
196 | meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.8.bbappend | 193 | meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.8.bbappend |
194 | meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend | ||
197 | </literallayout> | 195 | </literallayout> |
198 | </para> | 196 | </para> |
199 | 197 | ||
@@ -376,15 +374,6 @@ | |||
376 | <para> | 374 | <para> |
377 | Each BSP Layer requires at least one machine file. | 375 | Each BSP Layer requires at least one machine file. |
378 | However, you can supply more than one file. | 376 | However, you can supply more than one file. |
379 | For example, in the Crown Bay BSP shown earlier in this section, the | ||
380 | <filename>conf/machine</filename> directory contains two configuration files: | ||
381 | <filename>crownbay.conf</filename> and <filename>crownbay-noemgd.conf</filename>. | ||
382 | The <filename>crownbay.conf</filename> file is used for the Crown Bay BSP | ||
383 | that supports the <trademark class='registered'>Intel</trademark> Embedded | ||
384 | Media and Graphics Driver (<trademark class='registered'>Intel</trademark> | ||
385 | EMGD), while the <filename>crownbay-noemgd</filename> file is used for the | ||
386 | Crown Bay BSP that supports Video Electronics Standards Association (VESA) | ||
387 | graphics only. | ||
388 | </para> | 377 | </para> |
389 | 378 | ||
390 | <para> | 379 | <para> |
@@ -428,15 +417,13 @@ | |||
428 | This optional directory contains miscellaneous recipe files for the BSP. | 417 | This optional directory contains miscellaneous recipe files for the BSP. |
429 | Most notably would be the formfactor files. | 418 | Most notably would be the formfactor files. |
430 | For example, in the Crown Bay BSP there is the | 419 | For example, in the Crown Bay BSP there is the |
431 | <filename>formfactor_0.0.bbappend</filename> file, which is an append file used | 420 | <filename>formfactor_0.0.bbappend</filename> file, which is an |
432 | to augment the recipe that starts the build. | 421 | append file used to augment the recipe that starts the build. |
433 | Furthermore, there are machine-specific settings used during the build that are | 422 | Furthermore, there are machine-specific settings used during the |
434 | defined by the <filename>machconfig</filename> files. | 423 | build that are defined by the <filename>machconfig</filename>. |
435 | In the Crown Bay example, two <filename>machconfig</filename> files exist: | 424 | In the Crown Bay example, two <filename>machconfig</filename> files |
436 | one that supports the | 425 | exist: one that supports the Intel® Embedded Media and Graphics |
437 | <trademark class='registered'>Intel</trademark> Embedded | 426 | Driver (Intel® EMGD) and one that does not: |
438 | Media and Graphics Driver (<trademark class='registered'>Intel</trademark> | ||
439 | EMGD) and one that does not: | ||
440 | <literallayout class='monospaced'> | 427 | <literallayout class='monospaced'> |
441 | meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/machconfig | 428 | meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/machconfig |
442 | meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig | 429 | meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig |
@@ -467,15 +454,12 @@ | |||
467 | This optional directory contains recipes for the BSP if it has | 454 | This optional directory contains recipes for the BSP if it has |
468 | special requirements for graphics support. | 455 | special requirements for graphics support. |
469 | All files that are needed for the BSP to support a display are kept here. | 456 | All files that are needed for the BSP to support a display are kept here. |
470 | For example, the Crown Bay BSP contains two versions of the | 457 | For example, the Crown Bay BSP's <filename>xorg.conf</filename> file |
471 | <filename>xorg.conf</filename> file. | 458 | detects the graphics support needed (i.e. the Intel® Embedded Media |
472 | The version in <filename>crownbay</filename> builds a BSP that supports the | 459 | Graphics Driver (EMGD) or the Video Electronics Standards Association |
473 | <trademark class='registered'>Intel</trademark> Embedded Media Graphics Driver (EMGD), | 460 | (VESA) graphics): |
474 | while the version in <filename>crownbay-noemgd</filename> builds | ||
475 | a BSP that supports Video Electronics Standards Association (VESA) graphics only: | ||
476 | <literallayout class='monospaced'> | 461 | <literallayout class='monospaced'> |
477 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend | 462 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend |
478 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf | ||
479 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd/xorg.conf | 463 | meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd/xorg.conf |
480 | </literallayout> | 464 | </literallayout> |
481 | </para> | 465 | </para> |
@@ -502,28 +486,28 @@ | |||
502 | the <filename>meta-<bsp_name>/recipes-kernel/linux</filename> directory). | 486 | the <filename>meta-<bsp_name>/recipes-kernel/linux</filename> directory). |
503 | </para> | 487 | </para> |
504 | <para> | 488 | <para> |
505 | Suppose you are using the <filename>linux-yocto_3.8.bb</filename> recipe to build | 489 | Suppose you are using the <filename>linux-yocto_3.10.bb</filename> recipe to build |
506 | the kernel. | 490 | the kernel. |
507 | In other words, you have selected the kernel in your | 491 | In other words, you have selected the kernel in your |
508 | <filename><bsp_name>.conf</filename> file by adding these types | 492 | <filename><bsp_name>.conf</filename> file by adding these types |
509 | of statements: | 493 | of statements: |
510 | <literallayout class='monospaced'> | 494 | <literallayout class='monospaced'> |
511 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" | 495 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" |
512 | PREFERRED_VERSION_linux-yocto ?= "3.8%" | 496 | PREFERRED_VERSION_linux-yocto ?= "3.10%" |
513 | </literallayout> | 497 | </literallayout> |
514 | <note> | 498 | <note> |
515 | When the preferred provider is assumed by default, the | 499 | When the preferred provider is assumed by default, the |
516 | <filename>PREFERRED_PROVIDER</filename> statement does not appear in the | 500 | <filename>PREFERRED_PROVIDER</filename> statement does not appear in the |
517 | <filename><bsp_name>.conf</filename> file. | 501 | <filename><bsp_name>.conf</filename> file. |
518 | </note> | 502 | </note> |
519 | You would use the <filename>linux-yocto_3.8.bbappend</filename> file to append | 503 | You would use the <filename>linux-yocto_3.10.bbappend</filename> file to append |
520 | specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. | 504 | specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. |
521 | </para> | 505 | </para> |
522 | <para> | 506 | <para> |
523 | As an example, look at the existing Crown Bay BSP. | 507 | As an example, look at the existing Crown Bay BSP. |
524 | The append file used is: | 508 | The append file used is: |
525 | <literallayout class='monospaced'> | 509 | <literallayout class='monospaced'> |
526 | meta-crownbay/recipes-kernel/linux/linux-yocto_3.8.bbappend | 510 | meta-crownbay/recipes-kernel/linux/linux-yocto_3.10.bbappend |
527 | </literallayout> | 511 | </literallayout> |
528 | The following listing shows the file. | 512 | The following listing shows the file. |
529 | Be aware that the actual commit ID strings in this example listing might be different | 513 | Be aware that the actual commit ID strings in this example listing might be different |
@@ -532,46 +516,18 @@ | |||
532 | <literallayout class='monospaced'> | 516 | <literallayout class='monospaced'> |
533 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | 517 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" |
534 | 518 | ||
535 | COMPATIBLE_MACHINE_crownbay = "crownbay" | ||
536 | KMACHINE_crownbay = "crownbay" | ||
537 | KBRANCH_crownbay = "standard/crownbay" | ||
538 | KERNEL_FEATURES_crownbay_append = " features/drm-emgd/drm-emgd-1.16 cfg/vesafb" | ||
539 | |||
540 | COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd" | 519 | COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd" |
541 | KMACHINE_crownbay-noemgd = "crownbay" | 520 | KMACHINE_crownbay-noemgd = "crownbay" |
542 | KBRANCH_crownbay-noemgd = "standard/crownbay" | 521 | KBRANCH_crownbay-noemgd = "standard/crownbay" |
543 | KERNEL_FEATURES_crownbay-noemgd_append = " cfg/vesafb" | 522 | KERNEL_FEATURES_append_crownbay-noemgd = " cfg/vesafb" |
544 | |||
545 | LINUX_VERSION = "3.8.4" | ||
546 | |||
547 | SRCREV_meta_crownbay = "2a6d36e75ca0a121570a389d7bab76ec240cbfda" | ||
548 | SRCREV_machine_crownbay = "47aed0c17c1c55988198ad39f86ae88894c8e0a4" | ||
549 | SRCREV_emgd_crownbay = "c780732f175ff0ec866fac2130175876b519b576" | ||
550 | |||
551 | SRCREV_meta_crownbay-noemgd = "2a6d36e75ca0a121570a389d7bab76ec240cbfda" | ||
552 | SRCREV_machine_crownbay-noemgd = "47aed0c17c1c55988198ad39f86ae88894c8e0a4" | ||
553 | 523 | ||
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" | 524 | LINUX_VERSION = "3.10.11" |
555 | </literallayout> | ||
556 | This append file contains statements used to support the Crown Bay BSP for both | ||
557 | <trademark class='registered'>Intel</trademark> EMGD and the VESA graphics. | ||
558 | The build process, in this case, recognizes and uses only the statements that | ||
559 | apply to the defined machine name - <filename>crownbay</filename> in this case. | ||
560 | So, the applicable statements in the <filename>linux-yocto_3.8.bbappend</filename> | ||
561 | file are follows: | ||
562 | <literallayout class='monospaced'> | ||
563 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | ||
564 | |||
565 | COMPATIBLE_MACHINE_crownbay = "crownbay" | ||
566 | KMACHINE_crownbay = "crownbay" | ||
567 | KBRANCH_crownbay = "standard/crownbay" | ||
568 | KERNEL_FEATURES_crownbay_append = " features/drm-emgd/drm-emgd-1.16 cfg/vesafb" | ||
569 | 525 | ||
570 | SRCREV_meta_crownbay = "2a6d36e75ca0a121570a389d7bab76ec240cbfda" | 526 | SRCREV_meta_crownbay-noemgd = "285f93bf942e8f6fa678ffc6cc53696ed5400718" |
571 | SRCREV_machine_crownbay = "47aed0c17c1c55988198ad39f86ae88894c8e0a4" | 527 | SRCREV_machine_crownbay-noemgd = "702040ac7c7ec66a29b4d147665ccdd0ff015577" |
572 | SRCREV_emgd_crownbay = "c780732f175ff0ec866fac2130175876b519b576" | ||
573 | </literallayout> | 528 | </literallayout> |
574 | The append file defines <filename>crownbay</filename> as the | 529 | This append file contains statements used to support the Crown Bay BSP. |
530 | The file defines <filename>crownbay</filename> as the | ||
575 | <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink> | 531 | <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink> |
576 | and uses the | 532 | and uses the |
577 | <ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink> variable to | 533 | <ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink> variable to |
@@ -588,12 +544,6 @@ | |||
588 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git | 544 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git |
589 | repository and the <filename>meta</filename> Git repository branches to identify the | 545 | repository and the <filename>meta</filename> Git repository branches to identify the |
590 | exact kernel needed to build the Crown Bay BSP. | 546 | exact kernel needed to build the Crown Bay BSP. |
591 | <note> | ||
592 | For <filename>crownbay</filename>, a specific commit is also needed to point | ||
593 | to the branch that supports EMGD graphics. | ||
594 | At a minimum, every BSP points to the | ||
595 | <filename>machine</filename> and <filename>meta</filename> commits. | ||
596 | </note> | ||
597 | </para> | 547 | </para> |
598 | 548 | ||
599 | <para> | 549 | <para> |
@@ -1281,31 +1231,35 @@ | |||
1281 | Following is the complete example: | 1231 | Following is the complete example: |
1282 | <literallayout class='monospaced'> | 1232 | <literallayout class='monospaced'> |
1283 | $ yocto-bsp create myarm qemu | 1233 | $ yocto-bsp create myarm qemu |
1234 | Checking basic git connectivity... | ||
1235 | Done. | ||
1236 | |||
1284 | Which qemu architecture would you like to use? [default: i386] | 1237 | Which qemu architecture would you like to use? [default: i386] |
1285 | 1) i386 (32-bit) | 1238 | 1) i386 (32-bit) |
1286 | 2) x86_64 (64-bit) | 1239 | 2) x86_64 (64-bit) |
1287 | 3) ARM (32-bit) | 1240 | 3) ARM (32-bit) |
1288 | 4) PowerPC (32-bit) | 1241 | 4) PowerPC (32-bit) |
1289 | 5) MIPS (32-bit) | 1242 | 5) MIPS (32-bit) |
1290 | 3 | 1243 | 3 |
1291 | Would you like to use the default (3.8) kernel? (y/n) [default: y] | 1244 | Would you like to use the default (3.10) kernel? (y/n) [default: y] y |
1292 | Do you need a new machine branch for this BSP (the alternative is to re-use an existing branch)? [y/n] [default: y] | 1245 | Do you need a new machine branch for this BSP (the alternative is to re-use an existing branch)? [y/n] [default: y] |
1293 | Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.8.git... | 1246 | Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.10.git... |
1294 | Please choose a machine branch to base your new BSP branch on: [default: standard/base] | 1247 | Please choose a machine branch to base your new BSP branch on: [default: standard/base] |
1295 | 1) standard/arm-versatile-926ejs | 1248 | 1) standard/arm-versatile-926ejs |
1296 | 2) standard/base | 1249 | 2) standard/base |
1297 | 3) standard/beagleboard | 1250 | 3) standard/beagleboard |
1298 | 4) standard/ck | 1251 | 4) standard/ck |
1299 | 5) standard/crownbay | 1252 | 5) standard/crownbay |
1300 | 6) standard/edf | 1253 | 6) standard/edf |
1301 | 7) standard/emenlow | 1254 | 7) standard/emenlow |
1302 | 8) standard/fri2 | 1255 | 8) standard/fri2 |
1303 | 9) standard/fsl-mpc8315e-rdb | 1256 | 9) standard/fsl-mpc8315e-rdb |
1304 | 10) standard/mti-malta32 | 1257 | 10) standard/minnow |
1305 | 11) standard/mti-malta64 | 1258 | 11) standard/mti-malta32 |
1306 | 12) standard/qemuppc | 1259 | 12) standard/mti-malta64 |
1307 | 13) standard/routerstationpro | 1260 | 13) standard/qemuppc |
1308 | 14) standard/sys940x | 1261 | 14) standard/routerstationpro |
1262 | 15) standard/sys940x | ||
1309 | 1 | 1263 | 1 |
1310 | Would you like SMP support? (y/n) [default: y] | 1264 | Would you like SMP support? (y/n) [default: y] |
1311 | Does your BSP have a touchscreen? (y/n) [default: n] | 1265 | Does your BSP have a touchscreen? (y/n) [default: n] |
@@ -1320,7 +1274,7 @@ | |||
1320 | In the example, we use the ARM architecture. | 1274 | In the example, we use the ARM architecture. |
1321 | </para></listitem> | 1275 | </para></listitem> |
1322 | <listitem><para>The script then prompts you for the kernel. | 1276 | <listitem><para>The script then prompts you for the kernel. |
1323 | The default 3.8 kernel is acceptable. | 1277 | The default 3.10 kernel is acceptable. |
1324 | So, the example accepts the default. | 1278 | So, the example accepts the default. |
1325 | If you enter 'n', the script prompts you to further enter the kernel | 1279 | If you enter 'n', the script prompts you to further enter the kernel |
1326 | you do want to use (e.g. 3.2, 3.2_preempt-rt, and so forth.).</para></listitem> | 1280 | you do want to use (e.g. 3.2, 3.2_preempt-rt, and so forth.).</para></listitem> |