Dies ist eine alte Version des Dokuments!


devtool

devtool is a helper program for adding and modifying recipes in yocto. It is available as part of the yocto build environment either through setting up a full yocto build environment or through the extensible SDK .

Upon invoking devtool, it creates a workspace layer inside the build directory to store any and all new recipes and modifications to existing ones. The workspace also includes the sources for all recipes touched by devtool, so that they can easily be modified and persist through cleaning actions such as bitbake -c cleanall.

Furthermore, devtool allows for easy creation of patches, at least when used with sources from a git repository.

Commands

devtool add

devtool modify

Use the devtool modify command to begin modifying the source of an existing recipe. The devtool modify command extracts the source for a recipe, sets it up as a Git repository if the source had not already been fetched from Git, checks out a branch for development, and applies any patches from the recipe as commits on top. The repository can now be modified in /build/workspace/sources. Use the command and supply a name of a recipe you want to adapt:

devtool modify <recipe>

devtool reset

Use the devtool reset command to remove a recipe and its configuration (e.g. the corresponding .bbappend file) from the workspace layer. From now on the image is build with the default repository linked in the recipe. Specify the recipe you want to reset:

devtool reset <recipe>

devtool menuconfig

devtool finish

devtool build-image

Use the devtool build-image command to build an image, extending it to include packages from recipes in the workspace. When you use the command, you must supply the name of the image:

devtool build-image <image>

devtool build

If the change affects only one or a few recipes, you can build this recipes individually with:

devtool build <recipe>
# for example:
devtool build ethercattest 

devtool deploy-target

The recipe changes described above can be deployed directly to the target machine, for example via ssh, using the following command:

devtool deploy-target <recipe> <target>
# for example:
devtool deploy-target ethercattest root@146.136.37.133