diff options
| author | Scott Rifenbark <srifenbark@gmail.com> | 2018-02-14 14:50:06 -0800 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-03-03 08:35:24 +0000 |
| commit | 324da6588514813ba1adf93a8b04c797336cbe32 (patch) | |
| tree | f1e5069580abd4d3c716ab22d715ed7c0b629808 /documentation | |
| parent | 8ec37c0811a57f779896ccdaf8d7f3f66f81f3bb (diff) | |
| download | poky-324da6588514813ba1adf93a8b04c797336cbe32.tar.gz | |
getting-started: Created Components and Tools section
New content that leverages off the same information from the new
website.
(From yocto-docs rev: 1d5bf1501a1d0efe388dc5f4a7f741a272c6301c)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
| -rw-r--r-- | documentation/getting-started/getting-started-yp-intro.xml | 455 |
1 files changed, 449 insertions, 6 deletions
diff --git a/documentation/getting-started/getting-started-yp-intro.xml b/documentation/getting-started/getting-started-yp-intro.xml index c160c1cf62..45c4b9ffdc 100644 --- a/documentation/getting-started/getting-started-yp-intro.xml +++ b/documentation/getting-started/getting-started-yp-intro.xml | |||
| @@ -32,12 +32,9 @@ | |||
| 32 | maintained and scaled. | 32 | maintained and scaled. |
| 33 | </para> | 33 | </para> |
| 34 | 34 | ||
| 35 | <mediaobject> | 35 | <para id='yp-key-dev-elements'> |
| 36 | <imageobject> | 36 | <imagedata fileref="figures/key-dev-elements.png" format="PNG" align='center' width="8in"/> |
| 37 | <imagedata fileref="figures/key-dev-elements.png" | 37 | </para> |
| 38 | format="PNG" align='center' width="8in"/> | ||
| 39 | </imageobject> | ||
| 40 | </mediaobject> | ||
| 41 | 38 | ||
| 42 | <para> | 39 | <para> |
| 43 | For further introductory information on the Yocto Project, you | 40 | For further introductory information on the Yocto Project, you |
| @@ -387,6 +384,452 @@ | |||
| 387 | <section id='components-and-tools'> | 384 | <section id='components-and-tools'> |
| 388 | <title>Components and Tools</title> | 385 | <title>Components and Tools</title> |
| 389 | 386 | ||
| 387 | <para> | ||
| 388 | The Yocto Project employs a collection of components and | ||
| 389 | tools used by the project itself, by project developers, | ||
| 390 | and by those using the Yocto Project. | ||
| 391 | These components and tools are open source projects and | ||
| 392 | metadata that are separate from the reference distribution | ||
| 393 | (Poky) and the OpenEmbedded build system. | ||
| 394 | Most of the components and tools are downloaded separately. | ||
| 395 | </para> | ||
| 396 | |||
| 397 | <para> | ||
| 398 | This section provides brief overviews of the components and | ||
| 399 | tools associated with the Yocto Project. | ||
| 400 | </para> | ||
| 401 | |||
| 402 | <section id='gs-development-tools'> | ||
| 403 | <title>Development Tools</title> | ||
| 404 | |||
| 405 | <para> | ||
| 406 | The following list consists of tools that help you develop | ||
| 407 | images and applications using the Yocto Project: | ||
| 408 | <itemizedlist> | ||
| 409 | <listitem><para id='gs-crops-overview'> | ||
| 410 | <emphasis>CROPS:</emphasis> | ||
| 411 | <ulink url='https://git.yoctoproject.org/cgit/cgit.cgi/crops/about/'>CROPS</ulink> | ||
| 412 | is an open source, cross-platform development framework | ||
| 413 | that leverages | ||
| 414 | <ulink url='https://www.docker.com/'>Docker Containers</ulink>. | ||
| 415 | CROPS provides an easily managed, extensible environment | ||
| 416 | that allows you to build binaries for a variety of | ||
| 417 | architectures on Windows, Linux and Mac OS X hosts. | ||
| 418 | </para></listitem> | ||
| 419 | <listitem><para> | ||
| 420 | <emphasis><filename>devtool</filename>:</emphasis> | ||
| 421 | This command-line tool is available as part of the | ||
| 422 | extensible SDK (eSDK) and is its cornerstone. | ||
| 423 | You can use <filename>devtool</filename> to help build, | ||
| 424 | test, and package software within the eSDK. | ||
| 425 | You can use the tool to optionally integrate what you | ||
| 426 | build into an image built by the OpenEmbedded build | ||
| 427 | system.</para> | ||
| 428 | |||
| 429 | <para>The <filename>devtool</filename> command employs | ||
| 430 | a number of sub-commands that allow you to add, modify, | ||
| 431 | and upgrade recipes. | ||
| 432 | As with the OpenEmbedded build system, “recipes” | ||
| 433 | represent software packages within | ||
| 434 | <filename>devtool</filename>. | ||
| 435 | When you use <filename>devtool add</filename>, a recipe | ||
| 436 | is automatically created. | ||
| 437 | When you use <filename>devtool modify</filename>, the | ||
| 438 | specified existing recipe is used in order to determine | ||
| 439 | where to get the source code and how to patch it. | ||
| 440 | In both cases, an environment is set up so that when | ||
| 441 | you build the recipe a source tree that is under your | ||
| 442 | control is used in order to allow you to make changes | ||
| 443 | to the source as desired. | ||
| 444 | By default, both new recipes and the source go into | ||
| 445 | a “workspace” directory under the eSDK. | ||
| 446 | The <filename>devtool upgrade</filename> command | ||
| 447 | updates an existing recipe so that you can build it | ||
| 448 | for an updated set of source files.</para> | ||
| 449 | |||
| 450 | <para>You can read about the | ||
| 451 | <filename>devtool</filename> workflow in the Yocto | ||
| 452 | Project Application Development and Extensible | ||
| 453 | Software Development Kit (eSDK) Manual in the | ||
| 454 | "<ulink url='&YOCTO_DOCS_SDK_URL;#using-devtool-in-your-sdk-workflow'>Using <filename>devtool</filename> in Your SDK Workflow'</ulink>" | ||
| 455 | section. | ||
| 456 | </para></listitem> | ||
| 457 | <listitem><para> | ||
| 458 | <emphasis>Extensible Software Development Kit (eSDK):</emphasis> | ||
| 459 | The eSDK provides a cross-development toolchain and | ||
| 460 | libraries tailored to the contents of a specific image. | ||
| 461 | The eSDK makes it easy to add new applications and | ||
| 462 | libraries to an image, modify the source for an | ||
| 463 | existing component, test changes on the target | ||
| 464 | hardware, and integrate into the rest of the | ||
| 465 | OpenEmbedded build system. | ||
| 466 | The eSDK gives you a toolchain experience supplemented | ||
| 467 | with the powerful set of <filename>devtool</filename> | ||
| 468 | commands tailored for the Yocto Project environment. | ||
| 469 | </para> | ||
| 470 | |||
| 471 | <para>For information on the eSDK, see the | ||
| 472 | <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and Extensible Software Development Kit (eSDK) Manual</ulink>. | ||
| 473 | </para></listitem> | ||
| 474 | <listitem><para> | ||
| 475 | <emphasis><trademark class='trade'>Eclipse</trademark> IDE Plug-in:</emphasis> | ||
| 476 | This plug-in enables you to use the popular Eclipse | ||
| 477 | Integrated Development Environment (IDE), which allows | ||
| 478 | for development using the Yocto Project all within the | ||
| 479 | Eclipse IDE. | ||
| 480 | You can work within Eclipse to cross-compile, deploy, | ||
| 481 | and execute your output into a QEMU emulation session | ||
| 482 | as well as onto actual target hardware.</para> | ||
| 483 | |||
| 484 | <para>The environment also supports performance | ||
| 485 | enhancing tools that allow you to perform remote | ||
| 486 | profiling, tracing, collection of power data, | ||
| 487 | collection of latency data, and collection of | ||
| 488 | performance data.</para> | ||
| 489 | |||
| 490 | <para>Once you enable the plug-in, standard Eclipse | ||
| 491 | functions automatically use the cross-toolchain | ||
| 492 | and target system libraries. | ||
| 493 | You can build applications using any of these | ||
| 494 | libraries.</para> | ||
| 495 | |||
| 496 | <para>For more information on the Eclipse plug-in, | ||
| 497 | see the | ||
| 498 | "<ulink url='&YOCTO_DOCS_SDK_URL;#adt-eclipse'>Working Within Eclipse</ulink>" | ||
| 499 | section in the Yocto Project Application Development | ||
| 500 | and the Extensible Software Development Kit (eSDK) | ||
| 501 | manual. | ||
| 502 | </para></listitem> | ||
| 503 | <listitem><para> | ||
| 504 | <emphasis>Toaster:</emphasis> | ||
| 505 | Toaster is a web interface to the Yocto Project | ||
| 506 | OpenEmbedded build system. | ||
| 507 | Toaster allows you to configure, run, and view | ||
| 508 | information about builds. | ||
| 509 | </para></listitem> | ||
| 510 | </itemizedlist> | ||
| 511 | </para> | ||
| 512 | </section> | ||
| 513 | |||
| 514 | <section id='gs-production-tools'> | ||
| 515 | <title>Production Tools</title> | ||
| 516 | |||
| 517 | <para> | ||
| 518 | The following list consists of tools that help production | ||
| 519 | related activities using the Yocto Project: | ||
| 520 | <itemizedlist> | ||
| 521 | <listitem><para> | ||
| 522 | <emphasis>Auto Upgrade Helper:</emphasis> | ||
| 523 | This utility when used in conjunction with the | ||
| 524 | OpenEmbedded build system (BitBake and OE-Core) | ||
| 525 | automatically generates upgrades for recipes that | ||
| 526 | are based on new versions of the recipes published | ||
| 527 | upstream. | ||
| 528 | </para></listitem> | ||
| 529 | <listitem><para> | ||
| 530 | <emphasis>Recipe Reporting System:</emphasis> | ||
| 531 | The Recipe Reporting System tracks recipe versions | ||
| 532 | available for Yocto Project. | ||
| 533 | The main purpose of the system is to help you | ||
| 534 | manage the recipes you maintain and to offer a dynamic | ||
| 535 | overview of the project. | ||
| 536 | The Recipe Reporting System tracks is built on top | ||
| 537 | the of OpenEmbedded Metadata Index, which is a website | ||
| 538 | that indexes layers for the OpenEmbedded build system. | ||
| 539 | </para></listitem> | ||
| 540 | <listitem><para> | ||
| 541 | <emphasis>Patchwork:</emphasis> | ||
| 542 | <ulink url='http://jk.ozlabs.org/projects/patchwork/'>Patchwork</ulink> | ||
| 543 | is a fork of a project originally started by | ||
| 544 | <ulink url='http://ozlabs.org/'>OzLabs</ulink>. | ||
| 545 | The project is a web-based tracking system designed | ||
| 546 | to streamline the process of bringing contributions | ||
| 547 | into a project. | ||
| 548 | The Yocto Project uses Patchwork as an organizational | ||
| 549 | tool to handle patches, which number in the thousands | ||
| 550 | for every release. | ||
| 551 | </para></listitem> | ||
| 552 | <listitem><para> | ||
| 553 | <emphasis>AutoBuilder:</emphasis> | ||
| 554 | AutoBuilder is a project that automates build tests | ||
| 555 | and quality assurance (QA). | ||
| 556 | By using the public AutoBuilder, anyone can determine | ||
| 557 | the status of the current "master" branch of Poky. | ||
| 558 | </para> | ||
| 559 | |||
| 560 | <para>A goal of the Yocto Project is to lead the | ||
| 561 | open source industry with a project that automates | ||
| 562 | testing and QA procedures. | ||
| 563 | In doing so, the project encourages a development | ||
| 564 | community that publishes QA and test plans, publicly | ||
| 565 | demonstrates QA and test plans, and encourages | ||
| 566 | development of tools that automate and test and QA | ||
| 567 | procedures for the benefit of the development | ||
| 568 | community.</para> | ||
| 569 | |||
| 570 | <para>You can learn more about the AutoBuilder used | ||
| 571 | by the Yocto Project | ||
| 572 | <ulink url='&YOCTO_AB_URL;'>here</ulink>. | ||
| 573 | </para></listitem> | ||
| 574 | <listitem><para> | ||
| 575 | <emphasis>Cross-Prelink:</emphasis> | ||
| 576 | Prelinking is the process of pre-computing the load | ||
| 577 | addresses and link tables generated by the dynamic | ||
| 578 | linker as compared to doing this at runtime. | ||
| 579 | Doing this ahead of time results in performance | ||
| 580 | improvements when the application is launched and | ||
| 581 | reduced memory usage for libraries shared by many | ||
| 582 | applications.</para> | ||
| 583 | |||
| 584 | <para>Historically, cross-prelink is a variant of | ||
| 585 | prelink, which was conceived by | ||
| 586 | <ulink url='http://people.redhat.com/jakub/prelink.pdf'>Jakub Jelínek</ulink> | ||
| 587 | a number of years ago. | ||
| 588 | Both prelink and cross-prelink are maintained in the | ||
| 589 | same repository albeit on separate branches. | ||
| 590 | By providing an emulated runtime dynamic linker | ||
| 591 | (i.e. <filename>glibc</filename>-derived | ||
| 592 | <filename>ld.so</filename> emulation), the | ||
| 593 | cross-prelink project extends the prelink software’s | ||
| 594 | ability to prelink a sysroot environment. | ||
| 595 | Additionally, the cross-prelink software enables the | ||
| 596 | ability to work in sysroot style environments.</para> | ||
| 597 | |||
| 598 | <para>The dynamic linker determines standard load | ||
| 599 | address calculations based on a variety of factors | ||
| 600 | such as mapping addresses, library usage, and library | ||
| 601 | function conflicts. | ||
| 602 | The prelink tool uses this information, from the | ||
| 603 | dynamic linker, to determine unique load addresses | ||
| 604 | for executable and linkable format (ELF) binaries | ||
| 605 | that are shared libraries and dynamically linked. | ||
| 606 | The prelink tool modifies these ELF binaries with the | ||
| 607 | pre-computed information. | ||
| 608 | The result is faster loading and often lower memory | ||
| 609 | consumption because more of the library code can | ||
| 610 | be re-used from shared Copy-On-Write (COW) pages. | ||
| 611 | </para> | ||
| 612 | |||
| 613 | <para>The original upstream prelink project only | ||
| 614 | supports running prelink on the end target device | ||
| 615 | due to the reliance on the target device’s dynamic | ||
| 616 | linker. | ||
| 617 | This restriction causes issues when developing a | ||
| 618 | cross-compiled system. | ||
| 619 | The cross-prelink adds a synthesized dynamic loader | ||
| 620 | that runs on the host, thus permitting cross-prelinking | ||
| 621 | without ever having to run on a read-write target | ||
| 622 | filesystem. | ||
| 623 | </para></listitem> | ||
| 624 | <listitem><para> | ||
| 625 | <emphasis>Pseudo:</emphasis> | ||
| 626 | Pseudo is the Yocto Project implementation of | ||
| 627 | <ulink url='http://man.he.net/man1/fakeroot'>fakeroot</ulink>, | ||
| 628 | which is used to run commands in an environment | ||
| 629 | that seemingly has root privileges.</para> | ||
| 630 | |||
| 631 | <para>During a build, it can be necessary to perform | ||
| 632 | operations that require system administrator | ||
| 633 | privileges. | ||
| 634 | For example, file ownership or permissions might need | ||
| 635 | definition. | ||
| 636 | Pseudo is a tool that you can either use directly or | ||
| 637 | through the environment variable | ||
| 638 | <filename>LD_PRELOAD</filename>. | ||
| 639 | Either method allows these operations to succeed as | ||
| 640 | if system administrator privileges exist even | ||
| 641 | when they do not.</para> | ||
| 642 | |||
| 643 | <para>You can read more about Pseudo in the | ||
| 644 | "<ulink url='&YOCTO_DOCS_CM_URL;#fakeroot-and-pseudo'>Fakeroot and Pseudo</ulink>" | ||
| 645 | section of the Yocto Project Concepts Manual. | ||
| 646 | </para></listitem> | ||
| 647 | </itemizedlist> | ||
| 648 | </para> | ||
| 649 | </section> | ||
| 650 | |||
| 651 | <section id='gs-openembedded-build-system'> | ||
| 652 | <title>Open-Embedded Build System Components</title> | ||
| 653 | |||
| 654 | <para> | ||
| 655 | The following list consists of components associated with the | ||
| 656 | Open-Embedded build system: | ||
| 657 | <itemizedlist> | ||
| 658 | <listitem><para> | ||
| 659 | <emphasis>BitBake:</emphasis> | ||
| 660 | BitBake is a core component of the Yocto Project and is | ||
| 661 | used by the OpenEmbedded build system to build images. | ||
| 662 | While BitBake is key to the build system, BitBake | ||
| 663 | is maintained separately from the Yocto Project.</para> | ||
| 664 | |||
| 665 | <para>BitBake is a generic task execution engine that | ||
| 666 | allows shell and Python tasks to be run efficiently | ||
| 667 | and in parallel while working within complex inter-task | ||
| 668 | dependency constraints. | ||
| 669 | In short, BitBake is a build engine that works | ||
| 670 | through recipes written in a specific format in order | ||
| 671 | to perform sets of tasks.</para> | ||
| 672 | |||
| 673 | <para>You can learn more about BitBake in the | ||
| 674 | <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>. | ||
| 675 | </para></listitem> | ||
| 676 | <listitem><para> | ||
| 677 | <emphasis>Openembedded Core:</emphasis> | ||
| 678 | OpenEmbedded Core (OE-Core) is a common layer of | ||
| 679 | metadata (i.e. recipes, classes, and associated files) | ||
| 680 | used by OpenEmbedded-derived systems, which includes | ||
| 681 | the Yocto Project. | ||
| 682 | The Yocto Project and the OpenEmbedded Project both | ||
| 683 | maintain the OpenEmbedded Core. | ||
| 684 | You can find the OE-Core metadata in the Yocto | ||
| 685 | Project | ||
| 686 | <ulink url='&YOCTO_DOCS_GS_URL;#source-repositories'>Source Repositories</ulink> | ||
| 687 | <ulink url='https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta'>here</ulink>. | ||
| 688 | </para> | ||
| 689 | |||
| 690 | <para>Historically, the Yocto Project integrated the | ||
| 691 | OE-Core metadata throughout the Yocto Project | ||
| 692 | source repository reference system (Poky). | ||
| 693 | After Yocto Project Version 1.0, the Yocto Project | ||
| 694 | and OpenEmbedded agreed to work together and share a | ||
| 695 | common core set of metadata (OE-Core), which contained | ||
| 696 | much of the functionality previously found in Poky. | ||
| 697 | This collaboration achieved a long-standing | ||
| 698 | OpenEmbedded objective for having a more tightly | ||
| 699 | controlled and quality-assured core. | ||
| 700 | The results also fit well with the Yocto Project | ||
| 701 | objective of achieving a smaller number of fully | ||
| 702 | featured tools as compared to many different ones. | ||
| 703 | </para> | ||
| 704 | |||
| 705 | <para>Sharing a core set of metadata results in Poky | ||
| 706 | as an integration layer on top of OE-Core. | ||
| 707 | You can see that in this | ||
| 708 | <link linkend='yp-key-dev-elements'>figure</link>. | ||
| 709 | The Yocto Project combines various components such as | ||
| 710 | BitBake, OE-Core, script “glue”, and documentation | ||
| 711 | for its build system. | ||
| 712 | </para></listitem> | ||
| 713 | </itemizedlist> | ||
| 714 | </para> | ||
| 715 | </section> | ||
| 716 | |||
| 717 | <section id='gs-reference-distribution-poky'> | ||
| 718 | <title>Reference Distribution (Poky)</title> | ||
| 719 | |||
| 720 | <para> | ||
| 721 | Poky is the Yocto Project reference distribution. | ||
| 722 | It contains the OpenEmbedded build system (BitBake and OE-Core) | ||
| 723 | as well as a set of metadata to get you started building your | ||
| 724 | own distribution. | ||
| 725 | See the | ||
| 726 | <link linkend='what-is-the-yocto-project'>figure</link> in | ||
| 727 | "What is the Yocto Project?" section for an illustration | ||
| 728 | that shows Poky and its relationship with other parts of the | ||
| 729 | Yocto Project.</para> | ||
| 730 | |||
| 731 | <para>To use the Yocto Project tools and components, you | ||
| 732 | can download (<filename>clone</filename>) Poky and use it | ||
| 733 | to bootstrap your own distribution. | ||
| 734 | <note> | ||
| 735 | Poky does not contain binary files. | ||
| 736 | It is a working example of how to build your own custom | ||
| 737 | Linux distribution from source. | ||
| 738 | </note> | ||
| 739 | </para> | ||
| 740 | </section> | ||
| 741 | |||
| 742 | <section id='gs-packages-for-finished-targets'> | ||
| 743 | <title>Packages for Finished Targets</title> | ||
| 744 | |||
| 745 | <para> | ||
| 746 | The following lists components associated with packages | ||
| 747 | for finished targets: | ||
| 748 | <itemizedlist> | ||
| 749 | <listitem><para> | ||
| 750 | <emphasis>Matchbox:</emphasis> | ||
| 751 | Matchbox is an Open Source, base environment for the | ||
| 752 | X Window System running on non-desktop, embedded | ||
| 753 | platforms such as handhelds, set-top boxes, kiosks, | ||
| 754 | and anything else for which screen space, input | ||
| 755 | mechanisms, or system resources are limited.</para> | ||
| 756 | |||
| 757 | <para>Matchbox consists of a number of interchangeable | ||
| 758 | and optional applications that you can tailor to a | ||
| 759 | specific, non-desktop platform to enhance usability | ||
| 760 | in constrained environments.</para> | ||
| 761 | |||
| 762 | <para>You can find the Matchbox source in its | ||
| 763 | <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi'>repository</ulink> | ||
| 764 | listed in the Yocto Project | ||
| 765 | <ulink url='&YOCTO_DOCS_GS_URL;#source-repositories'>Source Repositories</ulink>. | ||
| 766 | </para></listitem> | ||
| 767 | <listitem><para> | ||
| 768 | <emphasis>Opkg</emphasis> | ||
| 769 | Open PacKaGe management (opkg) is a lightweight | ||
| 770 | package management system based on the itsy package | ||
| 771 | (ipkg) management system. | ||
| 772 | Opkg is written in C and resembles Advanced Package | ||
| 773 | Tool (APT) and Debian Package (dpkg) in operation. | ||
| 774 | </para> | ||
| 775 | |||
| 776 | <para>Opkg is intended for use on embedded Linux | ||
| 777 | devices and is used in this capacity in the | ||
| 778 | <ulink url='http://www.openembedded.org/wiki/Main_Page'>OpenEmbedded</ulink> | ||
| 779 | and | ||
| 780 | <ulink url='https://openwrt.org/'>OpenWrt</ulink> | ||
| 781 | projects, as well as the Yocto Project. | ||
| 782 | <note> | ||
| 783 | As best it can, opkg maintains backwards | ||
| 784 | compatibility with ipkg and conforms to a subset | ||
| 785 | of Debian’s policy manual regarding control files. | ||
| 786 | </note> | ||
| 787 | </para></listitem> | ||
| 788 | </itemizedlist> | ||
| 789 | </para> | ||
| 790 | </section> | ||
| 791 | |||
| 792 | <section id='gs-archived-components'> | ||
| 793 | <title>Archived Components</title> | ||
| 794 | |||
| 795 | <para> | ||
| 796 | The Build Appliance is a virtual machine image that enables | ||
| 797 | you to build and boot a custom embedded Linux image with | ||
| 798 | the Yocto Project using a non-Linux development system. | ||
| 799 | </para> | ||
| 800 | |||
| 801 | <para> | ||
| 802 | Historically, the Build Appliance was the second of three | ||
| 803 | methods by which you could use the Yocto Project on a system | ||
| 804 | that was not native to Linux. | ||
| 805 | <orderedlist> | ||
| 806 | <listitem><para> | ||
| 807 | <emphasis>Hob:</emphasis> | ||
| 808 | Hob, which is now deprecated and is no longer available | ||
| 809 | since the 2.1 release of the Yocto Project provided | ||
| 810 | a rudimentary, GUI-based interface to the Yocto | ||
| 811 | Project. | ||
| 812 | Toaster has fully replaced Hob. | ||
| 813 | </para></listitem> | ||
| 814 | <listitem><para> | ||
| 815 | <emphasis>Build Appliance:</emphasis> | ||
| 816 | Post Hob, the Build Appliance became available. | ||
| 817 | It was never recommended that you use the Build | ||
| 818 | Appliance as a day-to-day production development | ||
| 819 | environment with the Yocto Project. | ||
| 820 | Build Appliance was useful as a way to try out | ||
| 821 | development in the Yocto Project environment. | ||
| 822 | </para></listitem> | ||
| 823 | <listitem><para> | ||
| 824 | <emphasis>CROPS:</emphasis> | ||
| 825 | The final and best solution available now for | ||
| 826 | developing using the Yocto Project on a system | ||
| 827 | not native to Linux is with | ||
| 828 | <link linkend='gs-crops-overview'>CROPS</link>. | ||
| 829 | </para></listitem> | ||
| 830 | </orderedlist> | ||
| 831 | </para> | ||
| 832 | </section> | ||
| 390 | </section> | 833 | </section> |
| 391 | 834 | ||
| 392 | <section id='the-development-environment'> | 835 | <section id='the-development-environment'> |
