Developer Mode

Developer Mode is provided as a pre-built core app (but not installed by default) created to bundle tools and features for developers that are not meant to be put on production targets.

devMode provides the following features:

  • bundles gdbserver executable for use on the target device, allowing step-by-step debugging of Legato apps.
  • sets the probation period of apps to 10 seconds, to prevent aggressive roll-back.
  • runs the tcf-agent, so the target is auto discoverable by Developer Studio.
  • holds a wake lock, so the target won't go to sleep when disconnected from USB.
  • removes the boot count file on startup to disable the boot loop detection feature of Legato.
Warning
Before deploying your system image or target in a production environment devMode must be uninstalled. devMode installs gdbserver which is licensed with GPLv3, uninstalling devMode removes all GPLv3 software from your target.

Installing Developer Mode

devMode is a core app that is built during the make <target> process but it is not included by default in the system.sdef.

To install devMode:

$ make wp85
$ app install $LEGATO_ROOT/build/wp85/tools/devMode.wp85.update 192.168.2.2

Enabling Developer Mode

To start devMode on your target (if it's disabled):

Start the app:

app start devMode 

Modify the config on the target to enable starting devMode upon reboot:

config set /apps/devMode/startManual false bool 

To configure enabling/disabling devMode (even after a system rebuild) add a start: auto (enabled) or start: manual (disabled) to the devMode adef.

Example devMode adef:

sandboxed: false
start: auto                 <-- change to manual to disable

executables:
{
    devMode = ( $LEGATO_ROOT/components/devMode/devMode )
}

processes:
{
    run:
    {

Disabling Developer Mode

To temporarily stop devMode:

app stop devMode 

Removing Developer Mode

To remove devMode from your target:

app remove devMode 

It is advisable to remove the devMode app before deploying targets in production. This can be done by removing devMode from the system sdef file and rebuilding the system for the target device.

Note
The tcf-agent creates extra network traffic between the host and the target. Stopping or removing devMode will decrease the traffic.