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