Docker Installation
XCENA Docker image provides a fully pre-configured environment that includes both the SDK and Emulator, allowing you to start development without any manual installation steps.
This setup is ideal for users who:
- Want to test XCENA SDK features without SW toolchain dependencies on the host system
- Need a consistent, reproducible environment for emulator-based development
- Work in environments where access to XCENA hardware is not available
Prerequisites
- Docker Engine installed on the host system
- For hardware: XCENA driver must be installed on the host
- For emulator: KVM support required (
/dev/kvm)
1. Pull Image
Obtain prebuilt container from Docker Hub. Ensure that you use the correct repository & tag name.
Example:
# Usage: docker pull <repository name>:<tag name>
docker pull xcenadev/sdk:latest
# Or specific version
docker pull xcenadev/sdk:1.4.0
Alternatively, you can build the image manually using the Dockerfile provided in the SDK repository (dockerfiles/README).
2. Install driver on host
Skip this step if you’re planning to run only emulator in Docker.
If you have the SDK package:
wget <URL_to_sdk_xxx.tar.xz>
tar -xvf sdk_xxx.tar.xz
cd sdk_xxx/driver
sudo ./install.sh
sudo reboot
Or install directly from the driver repository:
git clone git@github.com:metisx-dev/mxdriver.git
cd mxdriver
sudo ./install.sh
reboot
3. Run Docker Container
To ensure compatibility with the driver, you must run the container in privileged mode.
Example:
# Usage: docker run -it --privileged --name <container_name> <image>:<tag>
docker run -it --privileged --name xcena_sdk xcenadev/sdk:1.4.0
If you want to run emulator in Docker, run with KVM support, SYS_ADMIN capability, and user option (--device /dev/kvm, --cap-add=SYS_ADMIN, -e USER=$USER).
Example:
# Usage: docker run -it --name <container_name> --device=/dev/kvm --cap-add=SYS_ADMIN -e USER=$USER <image>:<tag>
docker run -it --name xcena_sdk --device=/dev/kvm --cap-add=SYS_ADMIN -e USER=$USER xcenadev/sdk:1.4.0
Navigate to the SDK directory (/work/) and check the installation contents, following the same procedure as described in Verify Installation.