diff options
author | Scott Rifenbark <srifenbark@gmail.com> | 2016-10-21 12:54:25 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-10-25 17:55:37 +0100 |
commit | d89a35f0a05db7bfc287f7c1de0bef7915713896 (patch) | |
tree | 1b30956736b0ca2892b8cf044a4947d7ba491018 /documentation/yocto-project-qs/yocto-project-qs.xml | |
parent | 13f377964846520c60b4f46dcf87cffac9da20d6 (diff) | |
download | poky-d89a35f0a05db7bfc287f7c1de0bef7915713896.tar.gz |
yocto-project-qs: Created two sub-sections for the "Build" section.
Fixes [YOCTO #10462]
The section that shows how to build images had two examples all
within the same section. It was suggested to place these examples
in their own sub-sections. Good suggestion. I broke them out into
sub-sections titled appropriately.
(From yocto-docs rev: 280f304b9823553754c86a5fa6d0c4065d729e7b)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/yocto-project-qs/yocto-project-qs.xml')
-rw-r--r-- | documentation/yocto-project-qs/yocto-project-qs.xml | 642 |
1 files changed, 326 insertions, 316 deletions
diff --git a/documentation/yocto-project-qs/yocto-project-qs.xml b/documentation/yocto-project-qs/yocto-project-qs.xml index 1ae17b895d..d18f0aecd6 100644 --- a/documentation/yocto-project-qs/yocto-project-qs.xml +++ b/documentation/yocto-project-qs/yocto-project-qs.xml | |||
@@ -390,8 +390,8 @@ | |||
390 | </para> | 390 | </para> |
391 | 391 | ||
392 | <para> | 392 | <para> |
393 | You can try out the Yocto Project using the command-line interface | 393 | To use the Yocto Project through the command-line interface, |
394 | by finishing this quick start, which presents steps that let you | 394 | finish this quick start, which presents steps that let you |
395 | do the following: | 395 | do the following: |
396 | <itemizedlist> | 396 | <itemizedlist> |
397 | <listitem><para> | 397 | <listitem><para> |
@@ -400,230 +400,239 @@ | |||
400 | </para></listitem> | 400 | </para></listitem> |
401 | <listitem><para> | 401 | <listitem><para> |
402 | Easily change configurations so that you can quickly | 402 | Easily change configurations so that you can quickly |
403 | create a second image, which would be for MinnowBoard | 403 | create a second image that you can load onto bootable |
404 | media and actually boot target hardware. | ||
405 | This example uses the MinnowBoard | ||
404 | MAX-compatible boards. | 406 | MAX-compatible boards. |
405 | </para></listitem> | 407 | </para></listitem> |
406 | </itemizedlist> | 408 | </itemizedlist> |
407 | <note> | 409 | <note> |
408 | The steps in this section do not provide detail, but rather | 410 | The steps in the following two sections do not provide detail, |
409 | provide minimal, working commands and examples designed to | 411 | but rather provide minimal, working commands and examples |
410 | just get you started. | 412 | designed to just get you started. |
411 | For more details, see the appropriate manuals in the | 413 | For more details, see the appropriate manuals in the |
412 | <ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project manual set</ulink>. | 414 | <ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project manual set</ulink>. |
413 | </note> | 415 | </note> |
414 | </para> | 416 | </para> |
415 | 417 | ||
416 | <para> | 418 | <section id='building-an-image-for-emulation'> |
417 | Use the following commands to build your image. | 419 | <title>Building an Image for Emulation</title> |
418 | The OpenEmbedded build system creates an entire Linux | ||
419 | distribution, including the toolchain, from source. | ||
420 | <note><title>Note about Network Proxies</title> | ||
421 | <para> | ||
422 | By default, the build process searches for source code | ||
423 | using a pre-determined order through a set of | ||
424 | locations. | ||
425 | If you are working behind a firewall and your build | ||
426 | host is not set up for proxies, you could encounter | ||
427 | problems with the build process when fetching source | ||
428 | code (e.g. fetcher failures or Git failures). | ||
429 | </para> | ||
430 | |||
431 | <para> | ||
432 | If you do not know your proxy settings, consult your | ||
433 | local network infrastructure resources and get that | ||
434 | information. | ||
435 | A good starting point could also be to check your web | ||
436 | browser settings. | ||
437 | Finally, you can find more information on using the | ||
438 | Yocto Project behind a firewall in the Yocto Project | ||
439 | Reference Manual | ||
440 | <ulink url='&YOCTO_DOCS_REF_URL;#how-does-the-yocto-project-obtain-source-code-and-will-it-work-behind-my-firewall-or-proxy-server'>FAQ</ulink> | ||
441 | and on the | ||
442 | "<ulink url='https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy'>Working Behind a Network Proxy</ulink>" | ||
443 | wiki page. | ||
444 | </para> | ||
445 | </note> | ||
446 | </para> | ||
447 | 420 | ||
448 | <para> | 421 | <para> |
449 | <orderedlist> | 422 | Use the following commands to build your image. |
450 | <listitem><para><emphasis>Be Sure Your Build Host is Set Up:</emphasis> | 423 | The OpenEmbedded build system creates an entire Linux |
451 | The steps to build an image in this section depend on | 424 | distribution, including the toolchain, from source. |
452 | your build host being properly set up. | 425 | <note><title>Note about Network Proxies</title> |
453 | Be sure you have worked through the requirements | 426 | <para> |
454 | described in the | 427 | By default, the build process searches for source code |
455 | "<link linkend='yp-resources'>Setting Up to Use the Yocto Project</link>" | 428 | using a pre-determined order through a set of |
456 | section. | 429 | locations. |
457 | </para></listitem> | 430 | If you are working behind a firewall and your build |
458 | <listitem><para><emphasis>Check Out Your Branch:</emphasis> | 431 | host is not set up for proxies, you could encounter |
459 | Be sure you are in the | 432 | problems with the build process when fetching source |
460 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> | 433 | code (e.g. fetcher failures or Git failures). |
461 | (e.g. <filename>poky</filename>) and then check out | 434 | </para> |
462 | the branch associated with the latest Yocto Project | 435 | |
463 | Release: | 436 | <para> |
464 | <literallayout class='monospaced'> | 437 | If you do not know your proxy settings, consult your |
438 | local network infrastructure resources and get that | ||
439 | information. | ||
440 | A good starting point could also be to check your web | ||
441 | browser settings. | ||
442 | Finally, you can find more information on using the | ||
443 | Yocto Project behind a firewall in the Yocto Project | ||
444 | Reference Manual | ||
445 | <ulink url='&YOCTO_DOCS_REF_URL;#how-does-the-yocto-project-obtain-source-code-and-will-it-work-behind-my-firewall-or-proxy-server'>FAQ</ulink> | ||
446 | and on the | ||
447 | "<ulink url='https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy'>Working Behind a Network Proxy</ulink>" | ||
448 | wiki page. | ||
449 | </para> | ||
450 | </note> | ||
451 | </para> | ||
452 | |||
453 | <para> | ||
454 | <orderedlist> | ||
455 | <listitem><para><emphasis>Be Sure Your Build Host is Set Up:</emphasis> | ||
456 | The steps to build an image in this section depend on | ||
457 | your build host being properly set up. | ||
458 | Be sure you have worked through the requirements | ||
459 | described in the | ||
460 | "<link linkend='yp-resources'>Setting Up to Use the Yocto Project</link>" | ||
461 | section. | ||
462 | </para></listitem> | ||
463 | <listitem><para><emphasis>Check Out Your Branch:</emphasis> | ||
464 | Be sure you are in the | ||
465 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> | ||
466 | (e.g. <filename>poky</filename>) and then check out | ||
467 | the branch associated with the latest Yocto Project | ||
468 | Release: | ||
469 | <literallayout class='monospaced'> | ||
465 | $ cd ~/poky | 470 | $ cd ~/poky |
466 | $ git checkout -b &DISTRO_NAME_NO_CAP; origin/&DISTRO_NAME_NO_CAP; | 471 | $ git checkout -b &DISTRO_NAME_NO_CAP; origin/&DISTRO_NAME_NO_CAP; |
467 | </literallayout> | 472 | </literallayout> |
468 | Git's <filename>checkout</filename> command checks out | 473 | Git's <filename>checkout</filename> command checks out |
469 | the current Yocto Project release into a local branch | 474 | the current Yocto Project release into a local branch |
470 | whose name matches the release (i.e. | 475 | whose name matches the release (i.e. |
471 | <filename>&DISTRO_NAME_NO_CAP;</filename>). | 476 | <filename>&DISTRO_NAME_NO_CAP;</filename>). |
472 | The local branch tracks the upstream branch of the | 477 | The local branch tracks the upstream branch of the |
473 | same name. | 478 | same name. |
474 | Creating your own branch based on the released | 479 | Creating your own branch based on the released |
475 | branch ensures you are using the latest files for | 480 | branch ensures you are using the latest files for |
476 | that release. | 481 | that release. |
477 | </para></listitem> | 482 | </para></listitem> |
478 | <listitem><para><emphasis>Initialize the Build Environment:</emphasis> | 483 | <listitem><para><emphasis>Initialize the Build Environment:</emphasis> |
479 | Run the | 484 | Run the |
480 | <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink> | 485 | <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink> |
481 | environment setup script to define the OpenEmbedded | 486 | environment setup script to define the OpenEmbedded |
482 | build environment on your build host. | 487 | build environment on your build host. |
483 | <literallayout class='monospaced'> | 488 | <literallayout class='monospaced'> |
484 | $ source &OE_INIT_FILE; | 489 | $ source &OE_INIT_FILE; |
485 | </literallayout> | 490 | </literallayout> |
486 | Among other things, the script creates the | 491 | Among other things, the script creates the |
487 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>, | 492 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>, |
488 | which is <filename>build</filename> in this case | 493 | which is <filename>build</filename> in this case |
489 | and is located in the | 494 | and is located in the |
490 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. | 495 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. |
491 | After the script runs, your current working directory | 496 | After the script runs, your current working directory |
492 | is set to the Build Directory. | 497 | is set to the Build Directory. |
493 | Later, when the build completes, the Build Directory | 498 | Later, when the build completes, the Build Directory |
494 | contains all the files created during the build. | 499 | contains all the files created during the build. |
495 | <note> | 500 | <note> |
496 | For information on running a memory-resident | 501 | For information on running a memory-resident |
497 | <ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>, | 502 | <ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>, |
498 | see the | 503 | see the |
499 | <ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink> | 504 | <ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink> |
500 | setup script. | 505 | setup script. |
501 | </note> | 506 | </note> |
502 | </para></listitem> | 507 | </para></listitem> |
503 | <listitem><para><emphasis>Examine Your Local Configuration File:</emphasis> | 508 | <listitem><para><emphasis>Examine Your Local Configuration File:</emphasis> |
504 | When you set up the build environment, a local | 509 | When you set up the build environment, a local |
505 | configuration file named | 510 | configuration file named |
506 | <filename>local.conf</filename> becomes available in | 511 | <filename>local.conf</filename> becomes available in |
507 | a <filename>conf</filename> subdirectory of the | 512 | a <filename>conf</filename> subdirectory of the |
508 | Build Directory. | 513 | Build Directory. |
509 | Before using BitBake to start the build, you can | 514 | Before using BitBake to start the build, you can |
510 | look at this file and be sure your general | 515 | look at this file and be sure your general |
511 | configurations are how you want them: | 516 | configurations are how you want them: |
512 | <itemizedlist> | 517 | <itemizedlist> |
513 | <listitem><para> | 518 | <listitem><para> |
514 | To help conserve disk space during builds, | 519 | To help conserve disk space during builds, |
515 | you can add the following statement to your | 520 | you can add the following statement to your |
516 | project's configuration file, which for this | 521 | project's configuration file, which for this |
517 | example is | 522 | example is |
518 | <filename>poky/build/conf/local.conf</filename>. | 523 | <filename>poky/build/conf/local.conf</filename>. |
519 | Adding this statement deletes the work | 524 | Adding this statement deletes the work |
520 | directory used for building a recipe once the | 525 | directory used for building a recipe once the |
521 | recipe is built. | 526 | recipe is built. |
522 | <literallayout class='monospaced'> | 527 | <literallayout class='monospaced'> |
523 | INHERIT += "rm_work" | 528 | INHERIT += "rm_work" |
524 | </literallayout> | 529 | </literallayout> |
525 | </para></listitem> | 530 | </para></listitem> |
526 | <listitem><para> | 531 | <listitem><para> |
527 | By default, the target machine for the build is | 532 | By default, the target machine for the build is |
528 | <filename>qemux86</filename>, | 533 | <filename>qemux86</filename>, |
529 | which produces an image that can be used in | 534 | which produces an image that can be used in |
530 | the QEMU emulator and is targeted at an | 535 | the QEMU emulator and is targeted at an |
531 | <trademark class='registered'>Intel</trademark> | 536 | <trademark class='registered'>Intel</trademark> |
532 | 32-bit based architecture. | 537 | 32-bit based architecture. |
533 | Further on in this example, this default is | 538 | Further on in this example, this default is |
534 | easily changed through the | 539 | easily changed through the |
535 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> | 540 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> |
536 | variable so that you can quickly | 541 | variable so that you can quickly |
537 | build an image for a different machine. | 542 | build an image for a different machine. |
538 | </para></listitem> | 543 | </para></listitem> |
539 | <listitem><para> | 544 | <listitem><para> |
540 | Another consideration before you build is the | 545 | Another consideration before you build is the |
541 | package manager used when creating the image. | 546 | package manager used when creating the image. |
542 | The default <filename>local.conf</filename> | 547 | The default <filename>local.conf</filename> |
543 | file selects the RPM package manager. | 548 | file selects the RPM package manager. |
544 | You can control this configuration by using the | 549 | You can control this configuration by using the |
545 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink></filename> | 550 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink></filename> |
546 | variable.</para> | 551 | variable.</para> |
547 | <para>Selection of the package manager is separate | 552 | <para>Selection of the package manager is separate |
548 | from whether package management is used at runtime | 553 | from whether package management is used at runtime |
549 | in the target image.</para> | 554 | in the target image.</para> |
550 | <para>For additional package manager selection | 555 | <para>For additional package manager selection |
551 | information, see the | 556 | information, see the |
552 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-package'><filename>package.bbclass</filename></ulink>" | 557 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-package'><filename>package.bbclass</filename></ulink>" |
553 | section in the Yocto Project Reference Manual. | 558 | section in the Yocto Project Reference Manual. |
554 | </para></listitem> | 559 | </para></listitem> |
555 | </itemizedlist> | 560 | </itemizedlist> |
556 | </para></listitem> | 561 | </para></listitem> |
557 | <listitem><para><emphasis>Start the Build:</emphasis> | 562 | <listitem><para><emphasis>Start the Build:</emphasis> |
558 | Continue with the following command to build an OS image | 563 | Continue with the following command to build an OS image |
559 | for the target, which is | 564 | for the target, which is |
560 | <filename>core-image-sato</filename> in this example: | 565 | <filename>core-image-sato</filename> in this example: |
561 | <note> | 566 | <note> |
562 | Depending on the number of processors and cores, the | 567 | Depending on the number of processors and cores, the |
563 | amount of RAM, the speed of your Internet connection | 568 | amount of RAM, the speed of your Internet connection |
564 | and other factors, the build process could take several | 569 | and other factors, the build process could take several |
565 | hours the first time you run it. | 570 | hours the first time you run it. |
566 | Subsequent builds run much faster since parts of the | 571 | Subsequent builds run much faster since parts of the |
567 | build are cached. | 572 | build are cached. |
568 | </note> | 573 | </note> |
569 | <literallayout class='monospaced'> | 574 | <literallayout class='monospaced'> |
570 | $ bitbake core-image-sato | 575 | $ bitbake core-image-sato |
571 | </literallayout> | 576 | </literallayout> |
572 | For information on using the | 577 | For information on using the |
573 | <filename>bitbake</filename> command, see the | 578 | <filename>bitbake</filename> command, see the |
574 | "<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>" | 579 | "<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>" |
575 | section in the Yocto Project Reference Manual, or see the | 580 | section in the Yocto Project Reference Manual, or see the |
576 | "<ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual-command'>BitBake Command</ulink>" | 581 | "<ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual-command'>BitBake Command</ulink>" |
577 | section in the BitBake User Manual. | 582 | section in the BitBake User Manual. |
578 | For information on other targets, see the | 583 | For information on other targets, see the |
579 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" | 584 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" |
580 | chapter in the Yocto Project Reference Manual. | 585 | chapter in the Yocto Project Reference Manual. |
581 | </para></listitem> | 586 | </para></listitem> |
582 | <listitem><para><emphasis>Simulate Your Image Using QEMU:</emphasis> | 587 | <listitem><para><emphasis>Simulate Your Image Using QEMU:</emphasis> |
583 | Once this particular image is built, you can start QEMU | 588 | Once this particular image is built, you can start QEMU |
584 | and run the image: | 589 | and run the image: |
585 | <literallayout class='monospaced'> | 590 | <literallayout class='monospaced'> |
586 | $ runqemu qemux86 | 591 | $ runqemu qemux86 |
587 | </literallayout> | 592 | </literallayout> |
588 | If you want to learn more about running QEMU, see the | 593 | If you want to learn more about running QEMU, see the |
589 | "<ulink url="&YOCTO_DOCS_DEV_URL;#dev-manual-qemu">Using the Quick EMUlator (QEMU)</ulink>" | 594 | "<ulink url="&YOCTO_DOCS_DEV_URL;#dev-manual-qemu">Using the Quick EMUlator (QEMU)</ulink>" |
590 | chapter in the Yocto Project Development Manual. | 595 | chapter in the Yocto Project Development Manual. |
591 | </para></listitem> | 596 | </para></listitem> |
592 | <listitem><para><emphasis>Exit QEMU:</emphasis> | 597 | <listitem><para><emphasis>Exit QEMU:</emphasis> |
593 | Exit QEMU by either clicking on the shutdown icon or by | 598 | Exit QEMU by either clicking on the shutdown icon or by |
594 | opening a terminal, typing | 599 | opening a terminal, typing |
595 | <filename>poweroff</filename>, and then pressing "Enter". | 600 | <filename>poweroff</filename>, and then pressing "Enter". |
596 | </para></listitem> | 601 | </para></listitem> |
597 | </orderedlist> | 602 | </orderedlist> |
598 | </para> | 603 | </para> |
604 | </section> | ||
599 | 605 | ||
600 | <para id='qs-minnowboard-example'> | 606 | <section id='building-an-image-for-hardware'> |
601 | The following steps show how easy it is to set up to build an | 607 | <title>Building an Image for Hardware</title> |
602 | image for a new machine. | 608 | |
603 | These steps build an image for the MinnowBoard MAX, which is | 609 | <para id='qs-minnowboard-example'> |
604 | supported by the Yocto Project and the | 610 | The following steps show how easy it is to set up to build an |
605 | <filename>meta-intel</filename> <filename>intel-corei7-64</filename> | 611 | image for a new machine. |
606 | and <filename>intel-core2-32</filename> Board Support Packages | 612 | These steps build an image for the MinnowBoard MAX, which is |
607 | (BSPs). | 613 | supported by the Yocto Project and the |
608 | <note> | 614 | <filename>meta-intel</filename> <filename>intel-corei7-64</filename> |
609 | The MinnowBoard MAX ships with 64-bit firmware. | 615 | and <filename>intel-core2-32</filename> Board Support Packages |
610 | If you want to use the board in 32-bit mode, you must | 616 | (BSPs). |
611 | download the | 617 | <note> |
612 | <ulink url='http://firmware.intel.com/projects/minnowboard-max'>32-bit firmware</ulink>. | 618 | The MinnowBoard MAX ships with 64-bit firmware. |
613 | </note> | 619 | If you want to use the board in 32-bit mode, you must |
614 | </para> | 620 | download the |
621 | <ulink url='http://firmware.intel.com/projects/minnowboard-max'>32-bit firmware</ulink>. | ||
622 | </note> | ||
623 | </para> | ||
615 | 624 | ||
616 | <para> | 625 | <para> |
617 | <orderedlist> | 626 | <orderedlist> |
618 | <listitem><para><emphasis>Create a Local Copy of the | 627 | <listitem><para><emphasis>Create a Local Copy of the |
619 | <filename>meta-intel</filename> Repository:</emphasis> | 628 | <filename>meta-intel</filename> Repository:</emphasis> |
620 | Building an image for the MinnowBoard MAX requires the | 629 | Building an image for the MinnowBoard MAX requires the |
621 | <filename>meta-intel</filename> layer. | 630 | <filename>meta-intel</filename> layer. |
622 | Use the <filename>git clone</filename> command to create | 631 | Use the <filename>git clone</filename> command to create |
623 | a local copy of the repository inside your | 632 | a local copy of the repository inside your |
624 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>, | 633 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>, |
625 | which is <filename>poky</filename> in this example: | 634 | which is <filename>poky</filename> in this example: |
626 | <literallayout class='monospaced'> | 635 | <literallayout class='monospaced'> |
627 | $ cd $HOME/poky | 636 | $ cd $HOME/poky |
628 | $ git clone git://git.yoctoproject.org/meta-intel | 637 | $ git clone git://git.yoctoproject.org/meta-intel |
629 | Cloning into 'meta-intel'... | 638 | Cloning into 'meta-intel'... |
@@ -633,132 +642,133 @@ | |||
633 | remote: Total 11988 (delta 6881), reused 11752 (delta 6645) | 642 | remote: Total 11988 (delta 6881), reused 11752 (delta 6645) |
634 | Resolving deltas: 100% (6881/6881), done. | 643 | Resolving deltas: 100% (6881/6881), done. |
635 | Checking connectivity... done. | 644 | Checking connectivity... done. |
636 | </literallayout> | 645 | </literallayout> |
637 | By default when you clone a Git repository, the | 646 | By default when you clone a Git repository, the |
638 | "master" branch is checked out. | 647 | "master" branch is checked out. |
639 | Before you build your image that uses the | 648 | Before you build your image that uses the |
640 | <filename>meta-intel</filename> layer, you must be | 649 | <filename>meta-intel</filename> layer, you must be |
641 | sure that both repositories | 650 | sure that both repositories |
642 | (<filename>meta-intel</filename> and | 651 | (<filename>meta-intel</filename> and |
643 | <filename>poky</filename>) are using the same releases. | 652 | <filename>poky</filename>) are using the same releases. |
644 | Consequently, you need to checkout out the | 653 | Consequently, you need to checkout out the |
645 | "<filename>&DISTRO_NAME_NO_CAP;</filename>" release after | 654 | "<filename>&DISTRO_NAME_NO_CAP;</filename>" release after |
646 | cloning <filename>meta-intel</filename>: | 655 | cloning <filename>meta-intel</filename>: |
647 | <literallayout class='monospaced'> | 656 | <literallayout class='monospaced'> |
648 | $ cd $HOME/poky/meta-intel | 657 | $ cd $HOME/poky/meta-intel |
649 | $ git checkout &DISTRO_NAME_NO_CAP; | 658 | $ git checkout &DISTRO_NAME_NO_CAP; |
650 | Branch &DISTRO_NAME_NO_CAP; set up to track remote branch &DISTRO_NAME_NO_CAP; from origin. | 659 | Branch &DISTRO_NAME_NO_CAP; set up to track remote branch &DISTRO_NAME_NO_CAP; from origin. |
651 | Switched to a new branch '&DISTRO_NAME_NO_CAP;' | 660 | Switched to a new branch '&DISTRO_NAME_NO_CAP;' |
652 | </literallayout> | 661 | </literallayout> |
653 | </para></listitem> | 662 | </para></listitem> |
654 | <listitem><para><emphasis>Configure the Build:</emphasis> | 663 | <listitem><para><emphasis>Configure the Build:</emphasis> |
655 | To configure the build, you edit the | 664 | To configure the build, you edit the |
656 | <filename>bblayers.conf</filename> and | 665 | <filename>bblayers.conf</filename> and |
657 | <filename>local.conf</filename> files, both of which are | 666 | <filename>local.conf</filename> files, both of which are |
658 | located in the <filename>build/conf</filename> directory. | 667 | located in the <filename>build/conf</filename> directory. |
659 | </para> | 668 | </para> |
660 | 669 | ||
661 | <para>Here is a quick way to make the edits. | 670 | <para>Here is a quick way to make the edits. |
662 | The first command uses the | 671 | The first command uses the |
663 | <filename>bitbake-layers add-layer</filename> command | 672 | <filename>bitbake-layers add-layer</filename> command |
664 | to add the <filename>meta-intel</filename> | 673 | to add the <filename>meta-intel</filename> |
665 | layer, which contains the <filename>intel-core*</filename> | 674 | layer, which contains the <filename>intel-core*</filename> |
666 | BSPs to the build. | 675 | BSPs to the build. |
667 | The second command selects the BSP by setting the | 676 | The second command selects the BSP by setting the |
668 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> | 677 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> |
669 | variable. | 678 | variable. |
670 | <literallayout class='monospaced'> | 679 | <literallayout class='monospaced'> |
671 | $ cd $HOME/poky/build | 680 | $ cd $HOME/poky/build |
672 | $ bitbake-layers add-layer "$HOME/poky/meta-intel" | 681 | $ bitbake-layers add-layer "$HOME/poky/meta-intel" |
673 | $ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf | 682 | $ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf |
674 | </literallayout> | ||
675 | <note><title>Notes</title> | ||
676 | <para> | ||
677 | If you want a 64-bit build, use the following: | ||
678 | <literallayout class='monospaced'> | ||
679 | $ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf | ||
680 | </literallayout> | 683 | </literallayout> |
681 | </para> | 684 | <note><title>Notes</title> |
685 | <para> | ||
686 | If you want a 64-bit build, use the following: | ||
687 | <literallayout class='monospaced'> | ||
688 | $ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf | ||
689 | </literallayout> | ||
690 | </para> | ||
682 | 691 | ||
683 | <para> | 692 | <para> |
684 | If you want 32-bit images, use the following: | 693 | If you want 32-bit images, use the following: |
685 | <literallayout class='monospaced'> | 694 | <literallayout class='monospaced'> |
686 | $ echo 'MACHINE = "intel-core2-32"' >> conf/local.conf | 695 | $ echo 'MACHINE = "intel-core2-32"' >> conf/local.conf |
687 | </literallayout> | 696 | </literallayout> |
688 | </para> | 697 | </para> |
689 | </note> | 698 | </note> |
690 | </para></listitem> | 699 | </para></listitem> |
691 | <listitem><para><emphasis>Build an Image for MinnowBoard MAX:</emphasis> | 700 | <listitem><para><emphasis>Build an Image for MinnowBoard MAX:</emphasis> |
692 | The type of image you build depends on your goals. | 701 | The type of image you build depends on your goals. |
693 | For example, the previous build created a | 702 | For example, the previous build created a |
694 | <filename>core-image-sato</filename> image, which is an | 703 | <filename>core-image-sato</filename> image, which is an |
695 | image with Sato support. | 704 | image with Sato support. |
696 | It is possible to build many image types for the | 705 | It is possible to build many image types for the |
697 | MinnowBoard MAX. | 706 | MinnowBoard MAX. |
698 | Some possibilities are <filename>core-image-base</filename>, | 707 | Some possibilities are <filename>core-image-base</filename>, |
699 | which is a console-only image. | 708 | which is a console-only image. |
700 | Another choice could be a | 709 | Another choice could be a |
701 | <filename>core-image-full-cmdline</filename>, which is | 710 | <filename>core-image-full-cmdline</filename>, which is |
702 | another console-only image but has more full-features | 711 | another console-only image but has more full-features |
703 | Linux system functionality installed. | 712 | Linux system functionality installed. |
704 | For types of images you can build using the Yocto | 713 | For types of images you can build using the Yocto |
705 | Project, see the | 714 | Project, see the |
706 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" | 715 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" |
707 | chapter in the Yocto Project Reference Manual.</para> | 716 | chapter in the Yocto Project Reference Manual.</para> |
708 | <para>Because configuration changes are minimal to set up | 717 | <para>Because configuration changes are minimal to set up |
709 | for this second build, the OpenEmbedded build system can | 718 | for this second build, the OpenEmbedded build system can |
710 | re-use files from previous builds as much as possible. | 719 | re-use files from previous builds as much as possible. |
711 | Re-using files means this second build will be much faster | 720 | Re-using files means this second build will be much faster |
712 | than an initial build. | 721 | than an initial build. |
713 | For this example, the <filename>core-image-base</filename> | 722 | For this example, the <filename>core-image-base</filename> |
714 | image is built: | 723 | image is built: |
715 | <literallayout class='monospaced'> | 724 | <literallayout class='monospaced'> |
716 | $ bitbake core-image-base | 725 | $ bitbake core-image-base |
717 | </literallayout> | 726 | </literallayout> |
718 | Once the build completes, the resulting console-only image | 727 | Once the build completes, the resulting console-only image |
719 | is located in the Build Directory here: | 728 | is located in the Build Directory here: |
720 | <literallayout class='monospaced'> | 729 | <literallayout class='monospaced'> |
721 | tmp/deploy/images/intel-corei7-64/core-image-base-intel-corei7-64.hddimg | 730 | tmp/deploy/images/intel-corei7-64/core-image-base-intel-corei7-64.hddimg |
722 | </literallayout> | 731 | </literallayout> |
723 | </para></listitem> | 732 | </para></listitem> |
724 | <listitem><para><emphasis>Write the Image:</emphasis> | 733 | <listitem><para><emphasis>Write the Image:</emphasis> |
725 | You can write the image just built to a bootable media | 734 | You can write the image just built to a bootable media |
726 | (e.g. a USB key, SATA drive, SD card, etc.) using the | 735 | (e.g. a USB key, SATA drive, SD card, etc.) using the |
727 | <filename>dd</filename> utility: | 736 | <filename>dd</filename> utility: |
728 | <literallayout class='monospaced'> | 737 | <literallayout class='monospaced'> |
729 | $ sudo dd if=tmp/deploy/images/intel-corei7-64/core-image-minimal-intel-corei7-64.wic of=TARGET_DEVICE | 738 | $ sudo dd if=tmp/deploy/images/intel-corei7-64/core-image-minimal-intel-corei7-64.wic of=TARGET_DEVICE |
730 | </literallayout> | 739 | </literallayout> |
731 | In the previous command, the | 740 | In the previous command, the |
732 | <filename>TARGET_DEVICE</filename> is the device node in | 741 | <filename>TARGET_DEVICE</filename> is the device node in |
733 | the host machine (e.g. <filename>/dev/sdc</filename>, which | 742 | the host machine (e.g. <filename>/dev/sdc</filename>, which |
734 | is most likely a USB stick, or | 743 | is most likely a USB stick, or |
735 | <filename>/dev/mmcblk0</filename>, which is most likely an | 744 | <filename>/dev/mmcblk0</filename>, which is most likely an |
736 | SD card. | 745 | SD card. |
737 | </para></listitem> | 746 | </para></listitem> |
738 | <listitem><para><emphasis>Boot the Hardware:</emphasis> | 747 | <listitem><para><emphasis>Boot the Hardware:</emphasis> |
739 | With the boot device provisioned, you can insert the | 748 | With the boot device provisioned, you can insert the |
740 | media into the MinnowBoard MAX and boot the hardware. | 749 | media into the MinnowBoard MAX and boot the hardware. |
741 | The board should automatically detect the media and boot to | 750 | The board should automatically detect the media and boot to |
742 | the bootloader and subsequently the operating system. | 751 | the bootloader and subsequently the operating system. |
743 | </para> | 752 | </para> |
744 | 753 | ||
745 | <para>If the board does not boot automatically, you can | 754 | <para>If the board does not boot automatically, you can |
746 | boot it manually from the EFI shell as follows: | 755 | boot it manually from the EFI shell as follows: |
747 | <literallayout class='monospaced'> | 756 | <literallayout class='monospaced'> |
748 | Shell> connect -r | 757 | Shell> connect -r |
749 | Shell> map -r | 758 | Shell> map -r |
750 | Shell> fs0: | 759 | Shell> fs0: |
751 | Shell> bootx64 | 760 | Shell> bootx64 |
752 | </literallayout> | ||
753 | <note> | ||
754 | For a 32-bit image use the following: | ||
755 | <literallayout class='monospaced'> | ||
756 | Shell> bootia32 | ||
757 | </literallayout> | 761 | </literallayout> |
758 | </note> | 762 | <note> |
759 | </para></listitem> | 763 | For a 32-bit image use the following: |
760 | </orderedlist> | 764 | <literallayout class='monospaced'> |
761 | </para> | 765 | Shell> bootia32 |
766 | </literallayout> | ||
767 | </note> | ||
768 | </para></listitem> | ||
769 | </orderedlist> | ||
770 | </para> | ||
771 | </section> | ||
762 | </section> | 772 | </section> |
763 | 773 | ||
764 | <section id='qs-next-steps'> | 774 | <section id='qs-next-steps'> |