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 image from Docker Hub. <tag> is the version name found in the release notes (e.g., 1.4.0).
docker pull xcenadev/sdk:<tag>
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 extract the driver from the Docker container. <container> is the container name or ID, which can be found using docker ps -a. This ensures compatibility between the driver and the SDK version in the container.
If you don’t have a container yet, create one with docker create:
# e.g., docker create --name xcena_sdk xcenadev/sdk:1.4.0
docker create --name <container> xcenadev/sdk:<tag>
Then copy the driver from the container:
# e.g., docker cp xcena_sdk:/work/driver ./
docker cp <container>:/work/driver ./
docker rm <container>
cd driver
sudo ./install.sh
sudo reboot
3. Run Docker Container
To ensure compatibility with the driver, you must run the container in privileged mode.
# e.g., docker run -it --privileged --name xcena_sdk xcenadev/sdk:1.4.0
docker run -it --privileged --name <container> xcenadev/sdk:<tag>
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).
# e.g., docker run -it --name xcena_sdk --device=/dev/kvm --cap-add=SYS_ADMIN -e USER=$USER xcenadev/sdk:1.4.0
docker run -it --name <container> --device=/dev/kvm --cap-add=SYS_ADMIN -e USER=$USER xcenadev/sdk:<tag>
Navigate to the SDK directory (/work/) and check the installation contents, following the same procedure as described in Verify Installation.