How to find other SDK versions¶
Every SDK entry in .workshop/zephyr-26-04.yaml pins one channel, and a
channel tracks one version at a time. Use the sdk command, which
ships as part of the workshop snap, to see which versions an SDK
publishes, then edit the definition to select a different one.
Prerequisites¶
Before starting, ensure you have these requirements satisfied:
Workshop installed on the host, as described in Get started with Workshop. The workshop snap also installs the sdk command.
A project directory that contains
.workshop/zephyr-26-04.yaml.
Run the host commands in this guide from that project directory.
Install the sdk command¶
The workshop snap includes sdk by default:
$ sudo snap install --classic workshop
Confirm the command is available:
$ command -v sdk
/snap/bin/sdk
If the command is not found, refresh the snap to the latest revision:
$ sudo snap refresh workshop
Find SDKs by name¶
You can search the SDK Store for SDKs matching a name:
$ sdk find zephyr
NAME VERSION PUBLISHER SUMMARY
zephyr 4.4.2 Dmitry Lyfar Zephyr SDK
zephyr-arc 1.0.1 Lincoln Wallace Zephyr Toolchain
zephyr-arc64 1.0.1 Lincoln Wallace Zephyr Toolchain
zephyr-xtensa-espressif-esp32s2 1.0.1 Lincoln Wallace Zephyr Toolchain
...
The VERSION column shows only the version published to each SDK’s
default channel, usually latest/stable. Toolchain SDKs such as
zephyr-xtensa-espressif-esp32s2 can look pinned to a single version,
1.0.1 here, even though other channels of the same SDK publish
different versions.
Inspect the channels of an SDK¶
To find other versions, inspect the SDK with the sdk info command. It lists every channel an SDK publishes, with the version, build date, and revision:
$ sdk info zephyr-xtensa-espressif-esp32s2
name: zephyr-xtensa-espressif-esp32s2
publisher: Lincoln Wallace (locnnil)
license: Apache-2.0
website: https://github.com/canonical/zephyr-xtensa-espressif-esp32s2-sdk
This SDK provides the cross-compiler toolchain for building Zephyr firmware
targeting the xtensa-espressif_esp32s2_zephyr-elf target triple. Use this SDK
alongside the zephyr base SDK.
CHANNELS
CHANNEL VERSION BUILD BASE REV SIZE
latest/stable 1.0.1 2026-07-15 all 4 63.07MB
latest/candidate ↑
latest/beta ↑
latest/edge ↑
26.04.0/stable 1.0.1 2026-09-17 all 34 52.54MB
26.04.0/candidate ↑
26.04.0/beta ↑
26.04.0/edge ↑
24.04.0/stable 0.16.9 2026-09-16 all 23 56.91MB
24.04.0/candidate ↑
24.04.0/beta ↑
24.04.0/edge ↑
1.0.1/stable 1.0.1 2026-09-17 all 35 52.54MB
1.0.1/candidate ↑
1.0.1/beta ↑
1.0.1/edge ↑
0.17.4/stable 0.17.4 2026-09-16 all 28 61.31MB
0.17.4/candidate ↑
0.17.4/beta ↑
0.17.4/edge ↑
0.16.9/stable 0.16.9 2026-09-16 all 24 56.91MB
0.16.9/candidate ↑
0.16.9/beta ↑
0.16.9/edge ↑
Each row of the CHANNELS table is one <track>/<risk> channel. An
arrow (↑) means that risk level publishes the same revision as the row
above it. Here the 0.16.9/stable, 0.17.4/stable, and
1.0.1/stable tracks each pin a different version with the same level of
risk.
Select a different channel¶
Edit .workshop/zephyr-26-04.yaml and change the channel of the SDK entry
to one of the channels reported by sdk info:
.workshop/zephyr-26-04.yaml¶sdks:
# Existing SDK entries...
- name: zephyr-xtensa-espressif-esp32s2
channel: 26.04.0/stable
Apply the updated definition with a refresh:
$ workshop refresh zephyr-26-04
Verify the change¶
Confirm the connected SDK now reports the channel you selected:
$ workshop info zephyr-26-04
name: zephyr-26-04
base: ubuntu@26.04
project: /home/user/hello-zephyr
status: ready
notes: -
sdks:
system:
installed: (1)
uv:
tracking: latest/stable
installed: 0.9.7 2026-09-01 (3)
zephyr:
tracking: 26.04/stable
installed: 4.4.2 2026-08-20 (12)
zephyr-sdk-ng:
tracking: 26.04.0/stable
installed: 1.0.1 2026-09-17 (41)
zephyr-xtensa-espressif-esp32s2:
tracking: 26.04.0/stable
installed: 1.0.1 2026-09-17 (34)
Find the SDK name under the sdks key. Its tracking field must
match the channel you set in .workshop/zephyr-26-04.yaml, and
installed must show the version and revision that channel publishes.
See also¶
Tutorial:
Reference: