• ...
  • SDK
  • Yocto
  • ...
  • install SDK
  • your first application
  • ...
  • download
  • install

SDK extensions#

You will need…

  • a computer with internet access

  • a registration for our Github organization

  • a Github personal access token

The SimpleSwitch™ SDK supports extensions. That means you can extend the SDK with support for e.g. language frameworks without the need to install a different SimpleSwitch™ SDK.

It even supports to use custom created extensions for your custom made SDK.

To manage these extensions a tool called simpleswitch-sdk-tool is used.

We are making use of GHCR to provide our extensions, so most of the commands will require you to provide credentials for Github, including username and a personal access token.

Github personal access token

To create a Github personal access token see Github container registry (GHCR)

To automatically provide this information to the tool you can export the following in the shell session on your local computer

export GITHUB_USERNAME="<your github username>"
export GITHUB_TOKEN="<your personal access token>"

Additional license agreements

For some of the downloaded SDK extensions you will need to agree on additional license terms and conditions. Otherwise the installed extension won’t be listed and can’t be used.

To check for not yet agreed conditions run

simpleswitch-sdk-tool eula-accept

to interactively look at additional terms and conditions and accept or reject them.

List extensions#

To list all extensions run from the sourced SimpleSwitch™ SDK (see Source the SDK)

simpleswitch-sdk-tool list templates
c
python
browser

This will return all available extensions online and locally

You can also see what particular version of the extension is installed, by running

simpleswitch-sdk-tool list --detailed templates
c:2024.1
python:2024.3
browser:latest

List available extensions#

To list only the online available extensions run

simpleswitch-sdk-tool list online
c
python
browser

List locally installed extensions#

To list only the locally installed extensions run

simpleswitch-sdk-tool list local
c
python

Install extensions#

From GHCR#

To install a new extension run

simpleswitch-sdk-tool install "<name of the extension>"
simpleswitch-sdk-tool eula-accept

e.g.

simpleswitch-sdk-tool install python
simpleswitch-sdk-tool eula-accept

to install the Python SDK extension.

To install a specific version of the extension run

simpleswitch-sdk-tool install --version=<version> "<name of the extension>"
simpleswitch-sdk-tool eula-accept

To overwrite an existing installation run

simpleswitch-sdk-tool install --force "<name of the extension>"
simpleswitch-sdk-tool eula-accept

If that fails

If the installation fails with error messages like

tar: ... : Cannot open: Operation not permitted

or

No space left on device

likely your temporary storage is too small or inaccessible.

You can define a different location with the help of

From command line#
mkdir -p $HOME/.tmp
TMPDIR=$HOME/.tmp simpleswitch-sdk-tool install "<name of the extension>"

This step needs to be done only for the installation.

Source your SDK again

You will need to source the SDK again (see Source the SDK) when working from CLI.

From a local installer#

To install an extension from a locally stored *.sh installer, run

simpleswitch-sdk-tool install --local-path="<path to the folder of the *.sh installer>" "<name of the extension>"

Source your SDK again

You will need to source the SDK again (see Source the SDK) when working from CLI.

Update an extension#

To check for updates of an installed SDK extension run

simpleswitch-sdk-tool update "<name of the extension>"

e.g.

simpleswitch-sdk-tool update "python"
For the template python:sm2s-imx8plus an update to 2024.6 is available

then you can install the update by running

simpleswitch-sdk-tool install --force --version="2024.6" "python"
simpleswitch-sdk-tool eula-accept

Source your SDK again

You will need to source the SDK again (see Source the SDK) when working from CLI.

Remove an extension#

To remove a locally installed extension run

simpleswitch-sdk-tool remove "<name of the extension>"

Source your SDK again

You will need to source the SDK again (see Source the SDK) when working from CLI.

Get a command for a specific extension#

If you want to get a command line for a specific extension run

simpleswitch-sdk-tool get "<name of the extension>" '<command or command line>'

e.g.

simpleswitch-sdk-tool get "<name of the extension>" '${TARGET_PREFIX}-strip'
aarch64-simplecoredistro-linux-strip

Caution

The command always needs to be encapsulated by ' characters to avoid expansion in the current shell.

Additional license agreements#

To view and accept/reject additional license agreements run

simpleswitch-sdk-tool eula-accept

Source your SDK again

You will need to source the SDK again (see Source the SDK) when working from CLI.

to just list not yet accepted agreements run

simpleswitch-sdk-tool eula-open

Configure an alternative path for the extensions#

If you don’t want the extensions to be installed under ~/.simpleswitch, you can change the location by using

  • with command line options
  • with environment variables
simpleswitch-sdk-tool --local-storage=<path to storage> ...
export SDK_LOCAL_STORAGE=<path to storage>
simpleswitch-sdk-tool ...