1.6.1. Common Features

Designed to have a command interface somewhat like Git, each tool is structured as a set of sub-commands under a top-level command. The top-level command (yocto-bsp or yocto-kernel) itself does nothing but invoke or provide help on the sub-commands it supports.

Both tools reside in the scripts/ subdirectory of the Source Directory. Consequently, to use the scripts, you must source the environment just as you would when invoking a build:

     $ source oe-init-build-env build_dir
                    

The most immediately useful function is to get help on both tools. The built-in help system makes it easy to drill down at any time and view the syntax required for any specific command. Simply enter the name of the command with the help switch:

     $ yocto-bsp help
     Usage:

      Create a customized Yocto BSP layer.

      usage: yocto-bsp [--version] [--help] COMMAND [ARGS]

      Current 'yocto-bsp' commands are:
         create            Create a new Yocto BSP
         list              List available values for options and BSP properties

      See 'yocto-bsp help COMMAND' for more information on a specific command.


     Options:
       --version    show program's version number and exit
       -h, --help   show this help message and exit
       -D, --debug  output debug information
                    

Similarly, entering just the name of a sub-command shows the detailed usage for that sub-command:

     $ yocto-bsp create
     ERROR:root:Wrong number of arguments, exiting

     Usage:

      Create a new Yocto BSP

      usage: yocto-bsp create <bsp-name> <karch> [-o <DIRNAME> | --outdir <DIRNAME>]
            [-i <JSON PROPERTY FILE> | --infile <JSON PROPERTY_FILE>]

      This command creates a Yocto BSP based on the specified parameters.
      The new BSP will be a new Yocto BSP layer contained by default within
      the top-level directory specified as 'meta-bsp-name'.  The -o option
      can be used to place the BSP layer in a directory with a different
      name and location.

      The value of the 'karch' parameter determines the set of files that
      will be generated for the BSP, along with the specific set of
      'properties' that will be used to fill out the BSP-specific portions
      of the BSP.  The possible values for the 'karch' parameter can be
      listed via 'yocto-bsp list karch'.

      ...
                    

For any sub-command, you can use the word "help" option just before the sub-command to get more extensive documentation:

     $ yocto-bsp help create

     NAME
         yocto-bsp create - Create a new Yocto BSP

     SYNOPSIS
         yocto-bsp create <bsp-name> <karch> [-o <DIRNAME> | --outdir <DIRNAME>]
             [-i <JSON PROPERTY FILE> | --infile <JSON PROPERTY_FILE>]

     DESCRIPTION
         This command creates a Yocto BSP based on the specified
         parameters.  The new BSP will be a new Yocto BSP layer contained
         by default within the top-level directory specified as
         'meta-bsp-name'.  The -o option can be used to place the BSP layer
         in a directory with a different name and location.

         ...
                    

Now that you know where these two commands reside and how to access information on them, you should find it relatively straightforward to discover the commands necessary to create a BSP and perform basic kernel maintenance on that BSP using the tools.

Note

You can also use the yocto-layer tool to create a "generic" layer. For information on this tool, see the "Creating a General Layer Using the yocto-layer Script" section in the Yocto Project Development Guide.

The next sections provide a concrete starting point to expand on a few points that might not be immediately obvious or that could use further explanation.