An open API service indexing awesome lists of open source software.

https://github.com/stv0g/xilinx-hw-server-docker

Run a Xilinx hw_server in a Docker container
https://github.com/stv0g/xilinx-hw-server-docker

docker xilinx

Last synced: 12 months ago
JSON representation

Run a Xilinx hw_server in a Docker container

Awesome Lists containing this project

README

          

# Xilinx hw_server & xsdb Docker Image

This Docker image allows you to run Xilinx's `hw_server` as well as the Xilinx debugger `xsdb` in a Docker container.
Using QEmu user-space emulation, these tools can also run on embedded devices like a Raspberry Pi or the Ultra-scale boards themself.

- [Blog article with details](https://noteblok.net/2022/02/23/running-a-xilinx-hw_server-as-docker-container/)

![Setup](./docs/setup.png)

## Tested Vivado versions

- [v2021.2](https://github.com/users/sstaehli/packages/container/hw_server/20585701?tag=2021.2)
- [v2020.1](https://github.com/users/sstaehli/packages/container/hw_server/20585725?tag=2020.1)

## Tested systems

- Raspberry Pi 4 with 64-bit Raspberry Pi OS (Debian Bullseye)

## Usage

### Docker

```bash
docker run \
--rm \
--restart unless-stopped \
--privileged \
--volume /dev/bus/usb:/dev/bus/usb \
--publish 3121:3121 \
--detach \
ghcr.io/stv0g/hw_server:v2021.2
```

### Docker-compose

Copy the `docker-compose.yml` file from this repo to your target's working directory and run the following command to start the container.

```bash
docker-compose up -d
```

## Running on non x86_64 systems

```bash
# Install docker
sudo apt-get update && sudo apt-get upgrade
curl -sSL https://get.docker.com | sh

sudo systemctl enable --now docker

# Optional: Install docker-compose (with Python3)
sudo apt-get install libffi-dev libssl-dev
sudo apt install python3-dev
sudo apt-get install -y python3 python3-pip
‍sudo pip3 install docker-compose

# Enable qemu-user emulation support for running amd64 Docker images
docker run --rm --privileged aptman/qus -s -- -p x86_64

# Run the hw_server with docker
docker run --rm --restart unless-stopped --privileged --volume /dev/bus/usb:/dev/bus/usb --publish 3121:3121 --detach ghcr.io/sst/hw_server:2021.2

# - OR -

# Run the hw_server with docker-compose (copy the docker-compose.yml to your working dir first)
docker-compose up -d
```

The following steps are not necessary if you use docker-compose.

### Optional: Enable QEmu userspace emulation at system startup

```bash
cat > /etc/systemd/system/qus.service < /etc/systemd/system/hw_server.service <