- ...
- 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
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
simpleswitch-sdk-tool --local-storage=<path to storage> ...
export SDK_LOCAL_STORAGE=<path to storage>
simpleswitch-sdk-tool ...