diff --git a/documentation/getting-started/getting-started-development-environment.xml b/documentation/getting-started/getting-started-development-environment.xml index 54a607f6ab..f7d646c2b7 100644 --- a/documentation/getting-started/getting-started-development-environment.xml +++ b/documentation/getting-started/getting-started-development-environment.xml @@ -15,9 +15,8 @@ - Specifically, this chapter addresses open source philosophy, workflows, - Git, source repositories, licensing, and development - syntax. + Specifically, this chapter addresses open source philosophy, source + repositories, workflows, Git, and licensing.
@@ -66,8 +65,256 @@
-
- Workflows +
+ The Development Host + + + A development host or build host is key to using the Yocto Project. + Because the goal of the Yocto Project is to develop images or + applications that run on embedded hardware, development of those + images and applications generally takes place on a system not + intended to run the software - the development host. + + + + You need to set up a development host in order to use it with the + Yocto Project. + Most find that it is best to have a native Linux machine function as + the development host. + However, it is possible to use a system that does not run Linux + as its operating system as your development host. + When you have a Mac or Windows-based system, you can set it up + as the development host by using + CROPS, + which leverages + Docker Containers. + Once you take the steps to set up a CROPS machine, you effectively + have access to a shell environment that is similar to what you see + when using a Linux-based development host. + For the steps needed to set up a system using CROPS, see the + "Setting Up to Use CROss PlatformS (CROPS)" + section in the Yocto Project Development Tasks Manual. + + + + If your development host is going to be a system that runs a Linux + distribution, steps still exist that you must take to prepare the + system for use with the Yocto Project. + You need to be sure that the Linux distribution on the system is + one that supports the Yocto Project. + You also need to be sure that the correct set of host packages are + installed that allow development using the Yocto Project. + For the steps needed to set up a development host that runs Linux, + see the + "Setting Up a Native Linux Host" + section in the Yocto Project Development Tasks Manual. + + + + Once your development host is set up to use the Yocto Project, + several methods exist for you to do work in the Yocto Project + environment: + + + Command Lines, BitBake, and Shells: + Traditional development in the Yocto Project involves using + OpenEmbedded build system, which uses BitBake, in a + command-line environment from a shell on your development + host. + You can accomplish this from a host that is a native Linux + machine or from a host that has been set up with CROPS. + Either way, you create, modify, and build images and + applications all within a shell-based environment using + components and tools available through your Linux distribution + and the Yocto Project. + + For a general flow of the build procedures, see the + "Building an Image" + section in the Yocto Project Development Tasks Manual. + + + Board Support Package (BSP) Development: + Development of BSPs involves using the Yocto Project to + create and test layers that allow easy development of + images and applications targeted for specific hardware. + To development BSPs, you need to take some additional steps + beyond what was described in setting up a development host. + + + The + Yocto Project Board Support Package (BSP) Developer's Guide' + provides BSP-related development information. + For specifics on development host preparation, see the + "Preparing Your Build Host to Work With BSP Layers" + section in the Yocto Project Board Support Package (BSP) + Developer's Guide. + + + Kernel Development: + If you are going to be developing kernels using the Yocto + Project you likely will be using devtool. + A workflow using devtool makes kernel + development quicker by reducing iteration cycle times. + + The + Yocto Project Linux Kernel Development Manual + provides kernel-related development information. + For specifics on development host preparation, see the + "Preparing the Build Host to Work on the Kernel" + section in the Yocto Project Linux Kernel Development Manual. + + + Using the Eclipse IDE: + One of two Yocto Project development methods that involves an + interface that effectively puts the Yocto Project into the + background is the popular Eclipse IDE. + This method of development is advantageous if you are already + familiar with working within Eclipse. + Development is supported through a plugin that you install + onto your development host. + + For steps that show you how to set up your development + host to use the Eclipse Yocto Project plugin, see the + "Developing Applications Using Eclipse" + Chapter in the Yocto Project Application Development and the + Extensible Software Development Kit (eSDK) manual. + + + Using the Toaster: + The other Yocto Project development method that involves an + interface that effectively puts the Yocto Project into the + background is Toaster. + Toaster provides an interface to the OpenEmbedded build system. + The interface enables you to configure and run your builds. + Information about builds is collected and stored in a database. + You can use Toaster to configure and start builds on multiple + remote build servers. + + For steps that show you how to set up your development + host to use Toaster and on how to use Toaster in general, + see the + Toaster User Manual. + + + +
+ +
+ Yocto Project Source Repositories + + + The Yocto Project team maintains complete source repositories for all + Yocto Project files at + . + This web-based source code browser is organized into categories by + function such as IDE Plugins, Matchbox, Poky, Yocto Linux Kernel, and + so forth. + From the interface, you can click on any particular item in the "Name" + column and see the URL at the bottom of the page that you need to clone + a Git repository for that particular item. + Having a local Git repository of the + Source Directory, + which is usually named "poky", allows + you to make changes, contribute to the history, and ultimately enhance + the Yocto Project's tools, Board Support Packages, and so forth. + + + + For any supported release of Yocto Project, you can also go to the + Yocto Project Website and + select the "Downloads" tab and get a released tarball of the + poky repository or any supported BSP tarballs. + Unpacking these tarballs gives you a snapshot of the released + files. + Notes + + + The recommended method for setting up the Yocto Project + Source Directory + and the files for supported BSPs + (e.g., meta-intel) is to use + Git to create a local copy of + the upstream repositories. + + + Be sure to always work in matching branches for both + the selected BSP repository and the + Source Directory + (i.e. poky) repository. + For example, if you have checked out the "master" branch + of poky and you are going to use + meta-intel, be sure to checkout the + "master" branch of meta-intel. + + + + + + + In summary, here is where you can get the project files needed for + development: + + + + Source Repositories: + + This area contains IDE Plugins, Matchbox, Poky, Poky Support, + Tools, Yocto Linux Kernel, and Yocto Metadata Layers. + You can create local copies of Git repositories for each of + these areas. + + + + For steps on how to view and access these upstream Git + repositories, see the + "Accessing Source Repositories" + Section in the Yocto Project Development Tasks Manual. + + + + Index of /releases: + + This is an index of releases such as + the Eclipse + Yocto Plug-in, miscellaneous support, Poky, Pseudo, installers + for cross-development toolchains, and all released versions of + Yocto Project in the form of images or tarballs. + Downloading and extracting these files does not produce a local + copy of the Git repository but rather a snapshot of a + particular release or image. + + + + For steps on how to view and access these files, see the + "Accessing Index of Releases" + section in the Yocto Project Development Tasks Manual. + + + "Downloads" page for the + Yocto Project Website: + + + This section will change due to + reworking of the YP Website. + + The Yocto Project website includes a "Downloads" tab + that allows you to download any Yocto Project + release and Board Support Package (BSP) in tarball form. + The tarballs are similar to those found in the + Index of /releases: area. + + + + For steps on how to use the "Downloads" page, see the + "Using the Downloads Page" + section in the Yocto Project Development Tasks Manual. + + + +
+ +
+ Git Workflows and the Yocto Project This section provides workflow concepts using the Yocto Project and @@ -298,8 +545,8 @@ As mentioned briefly in the previous section and also in the - "Workflows" section, - the Yocto Project maintains source repositories at + "Git Workflows and the Yocto Project" + section, the Yocto Project maintains source repositories at . If you look at this web-interface of the repositories, each item is a separate Git repository. @@ -622,120 +869,6 @@
-
- Yocto Project Source Repositories - - - The Yocto Project team maintains complete source repositories for all - Yocto Project files at - . - This web-based source code browser is organized into categories by - function such as IDE Plugins, Matchbox, Poky, Yocto Linux Kernel, and - so forth. - From the interface, you can click on any particular item in the "Name" - column and see the URL at the bottom of the page that you need to clone - a Git repository for that particular item. - Having a local Git repository of the - Source Directory, - which is usually named "poky", allows - you to make changes, contribute to the history, and ultimately enhance - the Yocto Project's tools, Board Support Packages, and so forth. - - - - For any supported release of Yocto Project, you can also go to the - Yocto Project Website and - select the "Downloads" tab and get a released tarball of the - poky repository or any supported BSP tarballs. - Unpacking these tarballs gives you a snapshot of the released - files. - Notes - - - The recommended method for setting up the Yocto Project - Source Directory - and the files for supported BSPs - (e.g., meta-intel) is to use - Git to create a local copy of - the upstream repositories. - - - Be sure to always work in matching branches for both - the selected BSP repository and the - Source Directory - (i.e. poky) repository. - For example, if you have checked out the "master" branch - of poky and you are going to use - meta-intel, be sure to checkout the - "master" branch of meta-intel. - - - - - - - In summary, here is where you can get the project files needed for - development: - - - - Source Repositories: - - This area contains IDE Plugins, Matchbox, Poky, Poky Support, - Tools, Yocto Linux Kernel, and Yocto Metadata Layers. - You can create local copies of Git repositories for each of - these areas. - - - - For steps on how to view and access these upstream Git - repositories, see the - "Accessing Source Repositories" - Section in the Yocto Project Development Tasks Manual. - - - - Index of /releases: - - This is an index of releases such as - the Eclipse - Yocto Plug-in, miscellaneous support, Poky, Pseudo, installers - for cross-development toolchains, and all released versions of - Yocto Project in the form of images or tarballs. - Downloading and extracting these files does not produce a local - copy of the Git repository but rather a snapshot of a - particular release or image. - - - - For steps on how to view and access these files, see the - "Accessing Index of Releases" - section in the Yocto Project Development Tasks Manual. - - - "Downloads" page for the - Yocto Project Website: - - - This section will change due to - reworking of the YP Website. - - The Yocto Project website includes a "Downloads" tab - that allows you to download any Yocto Project - release and Board Support Package (BSP) in tarball form. - The tarballs are similar to those found in the - Index of /releases: area. - - - - For steps on how to use the "Downloads" page, see the - "Using the Downloads Page" - section in the Yocto Project Development Tasks Manual. - - - -
-
Licensing