Development Mode

LmP provides the variable DEV_MODE that enables a development mode defined by the Factory source code.

The variable is defined as lmp:params:DEV_MODE, and can be configured by updating the factory-config.yml in ci-scripts.git with:

lmp:
  params:
    DEV_MODE: 1

The DEV_MODE param is set using the ref_options stanza in factory-config.yml for specified testing and debugging branches. Conditional appends can then control the source code. For example, if trying to enable systemd coredump:

$ cat  meta-subscriber-overrides/meta-subrecipes-core/systemd/systemd_%.bbappend
PACKAGECONFIG += "${@bb.utils.contains('DEV_MODE', '1', 'coredump', '', d)}"

Another example is to enable the Yocto Project IMAGE_FEATURES to include some development and debug artifacts in the final image, as defined by Yocto Project image features. The following can be added to the file, meta-subscriber-overrides/recipes-samples/images/lmp-factory-image.bb:

IMAGE_FEATURES += "${@bb.utils.contains('DEV_MODE', '1', '', 'debug-tweaks tools-sdk', d)}"

Important

  • The default LmP configuration has DEV_MODE disabled.
  • The default FoundriesFactory configuration ** does not** define a development mode.
  • The development mode should be defined to archive the intended goal.
  • DEV_MODE is a helper variable used in LmP to facilitate conditionally enabling debug packages to the image. Additional packages enabled in this mode should be fully supported by the customer.