diff options
| -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'> |
