The cornerstone of the extensible SDK is a command-line tool called devtool. This tool provides a number of features that help you build, test and package software within the extensible SDK, and optionally integrate it into an image built by the OpenEmbedded build system.

The devtool command line is organized similarly to Git in that it has a number of sub-commands for each function. You can run devtool –help to see all the commands.

Three devtool subcommands that provide entry-points into development are:

  • devtool add: Assists in adding new software to be built.
  • devtool modify: Sets up an environment to enable you to modify the source of an existing component.
  • devtool upgrade: Updates an existing recipe so that you can build it for an updated set of source files.

As with the OpenEmbedded build system, “recipes” represent software packages within devtool. When you use devtool add, a recipe is automatically created. When you use devtool modify, the specified existing recipe is used in order to determine where to get the source code and how to patch it. In both cases, an environment is set up so that when you build the recipe a source tree that is under your control is used in order to allow you to make changes to the source as desired. By default, both new recipes and the source go into a “workspace” directory under the SDK.