Releases
Releases are tested, stable Kuiper images that we recommend for most users. Every release is a Kuiper 2 image. If you have an existing SD card and are unsure which generation it holds, see Checking Your Kuiper Version. If you want to check the list of supported projects, see Supported Projects.
Note
Kuiper 1 is the previous generation. It is deprecated and no longer maintained. New releases are Kuiper 2 only.
Note
If you are having problems make sure to check Common Issues.
Downloads
The current release is Kuiper 2026.1.0. Each variant ships as an image (the SD-card image, write it with these steps) and a metadata archive. The Full editions are recommended for most users; the Basic editions are available below under Advanced.
Full editions (recommended):
Variant |
Image |
Metadata |
|---|---|---|
ARM 32-bit Full ( |
||
ARM 64-bit Full ( |
The Basic editions are minimal images without a desktop environment or the ADI software stack. See Basic Edition for details.
Release Variants
Each release is published in four variants, one for every combination of architecture (32-bit or 64-bit) and edition (Basic or Full):
Variant |
Architecture |
Edition |
|---|---|---|
ARM 32-bit Basic |
|
Basic |
ARM 32-bit Full |
|
Full |
ARM 64-bit Basic |
|
Basic |
ARM 64-bit Full |
|
Full |
Choose the architecture that matches your hardware, then choose the edition that matches how you intend to use the system.
Choosing an Architecture
The architecture must match your target device. Boot files differ between the two, so a 32-bit image will not boot a 64-bit-only target and vice versa.
ARM 32-bit (
armhf) — the default. Includes boot files for the Zynq, Arria10, and Cyclone5 platforms (ZedBoard, ZC706, DE10-Nano, etc.) as well as Raspberry Pi.ARM 64-bit (
arm64) — includes boot files for the ZynqMP and Versal platforms (ZCU102, ADRV9009-ZU11EG, Jupiter SDR, VCK190, etc.) as well as Raspberry Pi.
For the full architecture-to-hardware mapping, see the boot files configuration in the Configuration section.
Choosing an Edition
Basic Edition
The Basic edition is the minimal, default Kuiper image. It contains only the essential packages and configuration needed for a functional system, plus the boot files for its architecture. It has no desktop environment and no ADI libraries or tools.
It is built from the default config file, with the architecture and boot-file options set to match the variant:
ARM 32-bit Basic —
TARGET_ARCHITECTURE=armhfwith thearmhfboot files (Zynq, Arria10, Cyclone5, Raspberry Pi).ARM 64-bit Basic —
TARGET_ARCHITECTURE=arm64with thearm64boot files (ZynqMP, Versal, Raspberry Pi).
Perfect for: headless applications, a foundation for custom development, and resource-constrained environments.
Full Edition
The Full edition includes everything in the Basic edition plus the complete ADI software stack and a graphical environment:
XFCE desktop environment with VNC server (
CONFIG_DESKTOP=y)The full ADI library suite (libiio, pyadi-iio, libm2k, libad9361, libad9166)
ADI applications (IIO Oscilloscope, Scopy) and GNU Radio
Additional development tools and utilities
This corresponds to the config file with all optional components enabled, built for the variant’s architecture.
Perfect for: complete development workstations, evaluation and testing, and learning the ADI ecosystem.
Tip
Need a different combination of components — say Basic plus one or two specific libraries? Build a custom image instead of using a release. See the Configuration section.
Included Components
The tables below list the main components that make up a release: the version shipped, the config option that controls it, and the Debian package it is installed from. Use the config option name to enable or disable the component in a custom build.
Note
Versions reflect the components at the time of writing and may differ
between releases. The exact versions built into your image are recorded in
/config and in /etc/kuiper-packages (the installed package versions),
and can also be listed on the device with dpkg -l.
System and Boot Components
Present in every edition. The boot files installed depend on the architecture and on the boot options selected (see Configuration).
Component |
Architecture |
Config option |
Debian package |
|---|---|---|---|
ADI Linux kernel |
armhf, arm64 |
(always included) |
built from the ADI Linux tree |
ADI Raspberry Pi kernel (6.12) |
armhf, arm64 |
|
|
ADI system utilities and scripts |
all |
(always included) |
|
Zynq boot files |
armhf |
|
|
Arria10 boot files |
armhf |
|
|
Cyclone5 boot files |
armhf |
|
|
ZynqMP boot files |
arm64 |
|
|
Versal boot files |
arm64 |
|
|
Note
The Intel/Xilinx boot file packages bundle the U-Boot and ARM Trusted Firmware binaries required to boot those platforms.
ADI Libraries (Full Edition)
Component |
Version |
Config option |
Debian package |
|---|---|---|---|
libiio |
v0.26 |
|
|
pyadi-iio |
v0.0.20 |
|
|
libm2k |
v0.9.0 |
|
|
libad9166-iio |
v0.3.0 |
|
|
libad9361-iio |
v0.4.0 |
|
|
ADI Applications (Full Edition)
Component |
Version |
Config option |
Debian package |
|---|---|---|---|
IIO Oscilloscope |
v0.18.1 |
|
|
IIO FM Radio |
v0.3.0 |
|
|
FRU Tools |
v0.8.1.7 |
|
|
JESD Eye Scan GTK |
v0.2 |
|
|
Colorimeter |
v0.3.0 |
|
|
Scopy |
v2.2.0 |
|
|
gr-m2k |
v1.0.0 |
|
|
GNU Radio |
Debian repository version |
|
|
Desktop Environment (Full Edition)
The Full edition also installs the XFCE desktop environment and an X11VNC
server for remote graphical access, controlled by CONFIG_DESKTOP. See
VNC Access for how to connect.
Building Beyond the Releases
The releases cover the two most common setups, Basic and Full. To pick an arbitrary subset of the components above, or to add options not included in any release, build a custom image. Some options only available when building your own image include:
Source code export (
EXPORT_SOURCES) — collect the source of every package in the image.Custom scripts (
EXTRA_SCRIPT) — run your own script during the build. See Custom Script Integration.Raspberry Pi packages (
INSTALL_RPI_PACKAGES) — addraspi-config, GPIO tooling, and other Raspberry Pi specific packages.
See the Configuration section for the full list of options.
Supported Projects
The table below lists every ADI evaluation board and carrier combination supported in the current release, together with the FPGA vendor platform, the boot-file Debian package it needs, and the Kuiper image architecture to use:
Eval Board — the ADI evaluation board project.
Carrier — the carrier or development board it is built for.
Platform — the FPGA vendor toolchain,
xilinxorintel.Debian Package — the boot-file platform, which selects the matching
adi-<platform>-bootpackage (for examplezynqis installed fromadi-zynq-boot). See Package Management.Architecture — the Kuiper image variant required:
armhf(32-bit) orarm64(64-bit).
Eval Board |
Carrier |
Platform |
Debian Package |
Architecture |
|---|---|---|---|---|
ad4000 |
zed |
xilinx |
zynq |
armhf |
ad4001 |
zed |
xilinx |
zynq |
armhf |
ad4002 |
zed |
xilinx |
zynq |
armhf |
ad4003 |
zed |
xilinx |
zynq |
armhf |
ad4020 |
zed |
xilinx |
zynq |
armhf |
ad403x |
zed |
xilinx |
zynq |
armhf |
ad4630_fmc |
zed |
xilinx |
zynq |
armhf |
ad469x_evb |
zed |
xilinx |
zynq |
armhf |
ad6676evb |
zc706 |
xilinx |
zynq |
armhf |
ad7383_4 |
zed |
xilinx |
zynq |
armhf |
ad738x_fmc |
zed |
xilinx |
zynq |
armhf |
ad7768 |
zed |
xilinx |
zynq |
armhf |
ad7768-4 |
zed |
xilinx |
zynq |
armhf |
ad77681_evb |
zed |
xilinx |
zynq |
armhf |
ad7984 |
coraz7s |
xilinx |
zynq |
armhf |
ad9081 |
zc706 |
xilinx |
zynq |
armhf |
ad9081_np12 |
zc706 |
xilinx |
zynq |
armhf |
ad9082 |
zc706 |
xilinx |
zynq |
armhf |
ad9172_fmc |
zc706 |
xilinx |
zynq |
armhf |
ad9265-fmc-125ebz |
zed |
xilinx |
zynq |
armhf |
ad9434-fmc |
zc706 |
xilinx |
zynq |
armhf |
ad9434-fmc |
zed |
xilinx |
zynq |
armhf |
ad9467-fmc |
zed |
xilinx |
zynq |
armhf |
adaq4003 |
coraz7s |
xilinx |
zynq |
armhf |
adaq4003 |
zed |
xilinx |
zynq |
armhf |
adaq4224-24 |
zed |
xilinx |
zynq |
armhf |
adaq8092 |
zed |
xilinx |
zynq |
armhf |
adrv9002 |
zc706 |
xilinx |
zynq |
armhf |
adrv9002 |
zed |
xilinx |
zynq |
armhf |
adrv9002_rx2tx2 |
zc706 |
xilinx |
zynq |
armhf |
adrv9002_rx2tx2 |
zed |
xilinx |
zynq |
armhf |
adrv9008-1 |
zc706 |
xilinx |
zynq |
armhf |
adrv9008-2 |
zc706 |
xilinx |
zynq |
armhf |
adrv9009 |
zc706 |
xilinx |
zynq |
armhf |
adrv9361z7035_cmos |
ccbob |
xilinx |
zynq |
armhf |
adrv9361z7035_lvds |
ccbob |
xilinx |
zynq |
armhf |
adrv9361z7035_lvds |
ccfmc |
xilinx |
zynq |
armhf |
adrv9364z7020_cmos |
ccbob |
xilinx |
zynq |
armhf |
adrv9364z7020_lvds |
ccbob |
xilinx |
zynq |
armhf |
adrv9371 |
zc706 |
xilinx |
zynq |
armhf |
adrv9375 |
zc706 |
xilinx |
zynq |
armhf |
adv7511 |
zc702 |
xilinx |
zynq |
armhf |
adv7511 |
zc706 |
xilinx |
zynq |
armhf |
adv7511 |
zed |
xilinx |
zynq |
armhf |
adv7511_without_bitstream |
zed |
xilinx |
zynq |
armhf |
cn0363 |
zed |
xilinx |
zynq |
armhf |
cn0506 |
socdk |
intel |
arria10 |
armhf |
cn0506_mii |
zc706 |
xilinx |
zynq |
armhf |
cn0506_mii |
zed |
xilinx |
zynq |
armhf |
cn0506_rgmii |
zc706 |
xilinx |
zynq |
armhf |
cn0506_rgmii |
zed |
xilinx |
zynq |
armhf |
cn0506_rmii |
zc706 |
xilinx |
zynq |
armhf |
cn0506_rmii |
zed |
xilinx |
zynq |
armhf |
cn0540 |
coraz7s |
xilinx |
zynq |
armhf |
cn0540 |
de10nano |
intel |
cyclone5 |
armhf |
cn0577 |
zed |
xilinx |
zynq |
armhf |
cn0579 |
coraz7s |
xilinx |
zynq |
armhf |
cn0579 |
de10nano |
intel |
cyclone5 |
armhf |
daq2 |
zc706 |
xilinx |
zynq |
armhf |
daq3 |
zc706 |
xilinx |
zynq |
armhf |
fmcomms11 |
zc706 |
xilinx |
zynq |
armhf |
fmcomms2 |
zc702 |
xilinx |
zynq |
armhf |
fmcomms2 |
zc706 |
xilinx |
zynq |
armhf |
fmcomms2 |
zed |
xilinx |
zynq |
armhf |
fmcomms3 |
zc702 |
xilinx |
zynq |
armhf |
fmcomms3 |
zc706 |
xilinx |
zynq |
armhf |
fmcomms3 |
zed |
xilinx |
zynq |
armhf |
fmcomms4 |
zc702 |
xilinx |
zynq |
armhf |
fmcomms4 |
zc706 |
xilinx |
zynq |
armhf |
fmcomms4 |
zed |
xilinx |
zynq |
armhf |
fmcomms5 |
zc702 |
xilinx |
zynq |
armhf |
fmcomms5 |
zc706 |
xilinx |
zynq |
armhf |
fmcomms5-ext-lo-adf5355 |
zc706 |
xilinx |
zynq |
armhf |
fmcomms8 |
socdk |
intel |
arria10 |
armhf |
sockit_arradio |
sockit |
intel |
cyclone5 |
armhf |
sockit_dc2677a |
sockit |
intel |
cyclone5 |
armhf |
ad9081 |
vck190 |
xilinx |
versal |
arm64 |
ad9081 |
vpk180 |
xilinx |
versal |
arm64 |
ad9081_204b_txmode9_rxmode4 |
zcu102 |
xilinx |
zynqmp |
arm64 |
ad9081_204c_txmode0_rxmode1 |
zcu102 |
xilinx |
zynqmp |
arm64 |
ad9081_204c_txmode22_rxmode23 |
vck190 |
xilinx |
versal |
arm64 |
ad9081_204c_txmode23_rxmode25 |
vck190 |
xilinx |
versal |
arm64 |
ad9081_m4_l8 |
zcu102 |
xilinx |
zynqmp |
arm64 |
ad9081_m8_l4 |
zcu102 |
xilinx |
zynqmp |
arm64 |
ad9081_m8_l4_overlay |
zcu102 |
xilinx |
zynqmp |
arm64 |
ad9081_m8_l4_qpllrx |
zcu102 |
xilinx |
zynqmp |
arm64 |
ad9081_m8_l4_tdd |
zcu102 |
xilinx |
zynqmp |
arm64 |
ad9081_m8_l4_vcxo122p88 |
zcu102 |
xilinx |
zynqmp |
arm64 |
ad9082 |
vck190 |
xilinx |
versal |
arm64 |
ad9082 |
vpk180 |
xilinx |
versal |
arm64 |
ad9082_204c_txmode22_rxmode23 |
vck190 |
xilinx |
versal |
arm64 |
ad9082_m1_l8 |
vpk180 |
xilinx |
versal |
arm64 |
ad9082_m4_l8 |
zcu102 |
xilinx |
zynqmp |
arm64 |
ad9083 |
zcu102 |
xilinx |
zynqmp |
arm64 |
ad9084 |
vck190 |
xilinx |
versal |
arm64 |
ad9084 |
vpk180 |
xilinx |
versal |
arm64 |
ad9084_m4_l1 |
vpk180 |
xilinx |
versal |
arm64 |
ad9144 |
zcu102 |
xilinx |
zynqmp |
arm64 |
ad9154 |
zcu102 |
xilinx |
zynqmp |
arm64 |
ad9172_mode4 |
zcu102 |
xilinx |
zynqmp |
arm64 |
ad9209 |
vck190 |
xilinx |
versal |
arm64 |
ad9467_fmc |
zcu102 |
xilinx |
zynqmp |
arm64 |
ad9695 |
zcu102 |
xilinx |
zynqmp |
arm64 |
ad9783 |
zcu102 |
xilinx |
zynqmp |
arm64 |
adrv9002_cmos |
zcu102 |
xilinx |
zynqmp |
arm64 |
adrv9002_lvds |
zcu102 |
xilinx |
zynqmp |
arm64 |
adrv9002_rx2tx2_cmos |
zcu102 |
xilinx |
zynqmp |
arm64 |
adrv9002_rx2tx2_lvds |
zcu102 |
xilinx |
zynqmp |
arm64 |
adrv9008-1 |
zcu102 |
xilinx |
zynqmp |
arm64 |
adrv9008-2 |
zcu102 |
xilinx |
zynqmp |
arm64 |
adrv9009 |
zcu102 |
xilinx |
zynqmp |
arm64 |
adrv9009zu11eg_adrv2crr |
adrv9009zu11eg_adrv2crr |
xilinx |
zynqmp |
arm64 |
adrv9025 |
zcu102 |
xilinx |
zynqmp |
arm64 |
adrv9025_jesd204c |
zcu102 |
xilinx |
zynqmp |
arm64 |
adrv9025_nls |
zcu102 |
xilinx |
zynqmp |
arm64 |
adrv9371 |
zcu102 |
xilinx |
zynqmp |
arm64 |
adrv9375 |
zcu102 |
xilinx |
zynqmp |
arm64 |
cn0506_mii |
zcu102 |
xilinx |
zynqmp |
arm64 |
cn0506_rgmii |
zcu102 |
xilinx |
zynqmp |
arm64 |
cn0506_rmii |
zcu102 |
xilinx |
zynqmp |
arm64 |
daq2 |
zcu102 |
xilinx |
zynqmp |
arm64 |
daq2_m4_l4 |
zcu102 |
xilinx |
zynqmp |
arm64 |
daq3 |
zcu102 |
xilinx |
zynqmp |
arm64 |
fmcomms2 |
zcu102 |
xilinx |
zynqmp |
arm64 |
fmcomms3 |
zcu102 |
xilinx |
zynqmp |
arm64 |
fmcomms4 |
zcu102 |
xilinx |
zynqmp |
arm64 |
fmcomms5 |
zcu102 |
xilinx |
zynqmp |
arm64 |
fmcomms5_ext_lo_adf5355 |
zcu102 |
xilinx |
zynqmp |
arm64 |
fmcomms8 |
adrv9009zu11eg_adrv2crr |
xilinx |
zynqmp |
arm64 |
fmcomms8 |
zcu102 |
xilinx |
zynqmp |
arm64 |
fmcomms8_multisom_primary |
adrv9009zu11eg_adrv2crr |
xilinx |
zynqmp |
arm64 |
fmcomms8_multisom_secondary |
adrv9009zu11eg_adrv2crr |
xilinx |
zynqmp |
arm64 |
jupiter_sdr |
jupiter_sdr |
xilinx |
zynqmp |
arm64 |
jupiter_sdr_rx2tx2 |
jupiter_sdr |
xilinx |
zynqmp |
arm64 |
multisom-primary |
adrv9009zu11eg_adrv2crr |
xilinx |
zynqmp |
arm64 |
multisom-secondary |
adrv9009zu11eg_adrv2crr |
xilinx |
zynqmp |
arm64 |
stingray |
zcu102 |
xilinx |
zynqmp |
arm64 |
stingray_direct_clk |
zcu102 |
xilinx |
zynqmp |
arm64 |
stingray_vcxo100 |
zcu102 |
xilinx |
zynqmp |
arm64 |
stingray_vcxo100_direct_clk |
zcu102 |
xilinx |
zynqmp |
arm64 |
Common Issues
Issues that are known to occur the current release, together with their status and a workaround.
Serial Console Stops Responding (ADRV9009-ZU11EG, Jupiter SDR)
Affected hardware: ADRV9009-ZU11EG (adrv9009zu11eg_adrv2crr) and
Jupiter SDR / Jupiter-EBZ (jupiter_sdr). Both are ZynqMP targets and use
the arm64 image.
Symptom: the board boots and the early boot output is printed over the serial port as expected, but the serial console then stops responding. Keystrokes are no longer echoed and no further output appears, so the login prompt cannot be reached over UART. Only the serial console is affected — the board itself keeps running and stays reachable over the network.
Cause: the fan-control service that runs on these boards halts the UART that carries the serial console. Once that service has started, the console is no longer accessible for the rest of the session.
Status: a patch is underway and will be included in a future release. Until it ships, apply the fix below or connect via network.
Fix
Once the patch is released, using the latest image is enough. No manual step is required after that.
In the meantime, the serial console can be recovered by manually setting the serial service as “simple” which will keep it always running:
mkdir -p /etc/systemd/system/serial-getty@ttyPS0.service.d
nano /etc/systemd/system/serial-getty@ttyPS0.service.d/override.conf
Then, once the file is created you have to insert the following:
[Service]
Type=simple
Save and exit the file using Ctrl+S and Ctrl+X and then reload the daemon to load the change:
systemctl daemon-reload
The serial console becomes usable again immediately, and stays usable across reboots.
If the problem persists after applying the fix, or you see it on hardware not listed above, please report it on the GitHub Issues page.