4.3.1.3. Use devtool add to Integrate Your Code with the Image

The devtool add command automatically generates the needed Metadata that allows the OpenEmbedded build system to build your code into the image.

Note

If a package or packages produced by the recipe on which you are working are not already in IMAGE_INSTALL for the image, you must add them. The devtool add command does not add them for you.

Use the following command form:

     $ devtool add your-project-name path-to-source
                

Running devtool add modifies the bblayers.conf that the OpenEmbedded build system uses to build an image. For more information on the bblayers.conf, see the "build/conf/bblayers.conf" section in the Yocto Project Reference Manual.

Running devtool add adds a new workspace layer to the bblayers.conf file that is based on your project's location:

     path-to-source/build-directory/workspace-layer
                

By default, the name of the workspace layer is "workspace".

For details on the workspace layer created in the build-directory, see the "Adding a New Recipe to the Workspace Layer" section.

Running devtool add automatically generates your recipe:

     $ cat workspace/recipes/your-project-name/your-project-name.bb
     # Recipe created by recipetool
     # This is the basis of a recipe and may need further editing in order to be fully functional.
     # (Feel free to remove these comments when editing.)
     #
     # Unable to find any files that looked like license statements. Check the accompanying
     # documentation and source headers and set LICENSE and LIC_FILES_CHKSUM accordingly.
     LICENSE = "CLOSED"
     LIC_FILES_CHKSUM = ""

     # No information for SRC_URI yet (only an external source tree was
     # specified)
     SRC_URI = ""

     DEPENDS = "libx11"
     # NOTE: if this software is not capable of being built in a separate build directory
     # from the source, you should replace autotools with autotools­-brokensep in the
     # inherit line
     inherit autotools

     # Specify any options you want to pass to the configure script using EXTRA_OECONF:
     EXTRA_OECONF = ""
                

Lastly, the devtool add command creates the .bbappend file:

     $ cat workspace/appends/your-project-name.bbappend
     inherit externalsrc
     EXTERNALSRC = "/path-to-source/your-project-name"

     # initial_rev: commit-ID