mirror of
https://github.com/ROCm/ROCm-docker.git
synced 2025-12-25 06:41:45 +01:00
* Adding docker-compose Adding docker-compose configuration file to define how containers should be linked and what data to share. Adding setenv files to the hcc containers * New templating engine to generate dockerfiles on disk Changing roc-setup script to generate dockerfiles, so images are built with build contexts. Now, roc-setup only generates dockerfiles, and leverages the docker-compose utility to build images and compose the shared volumes * Adding thunk and runtime to docker compose file Building the thunk and runtime components with docker compose. Refactoring of various template files. * Further docker-compose development Added lots of little features and refactorings 1. Eliminated remove-image and dry-run options from roc-setup as redundant 2. Templated the install location of volumes 3. Rewrote the README file 4. Fixes to the install procedure for ROCT * Extracting binary hsa libraries, adding kfd device passthrough HSAIL generated binaries need libraries available in the ROCR debian package to properly function. The docker-compose yaml file now passes /dev/kfd access through to the container Various cleanup of docker template files * docker-compose.yml.template fix The image names for the example rocm-project services were the same
44 lines
1.6 KiB
Plaintext
44 lines
1.6 KiB
Plaintext
# Build this dockerfile with `docker build -f rock-deb-dockerfile -t roc/rock .`
|
|
|
|
# To reduce container rebuild time, place commands least likely to change at top to
|
|
# most changing at bottom
|
|
|
|
# This builds the radeon open compute kernel and kernel modules
|
|
|
|
# This kfd has only been tested so far on linux-headers-generic-lts-vivid
|
|
# ubuntu:14.04.3, the native kernel is '3.19'
|
|
FROM ubuntu:14.04.3
|
|
MAINTAINER Kent Knox <kent.knox@amd>
|
|
|
|
# Constant environment variables
|
|
ENV WORKPATH /root
|
|
|
|
# Set working directory to be root's home directory
|
|
WORKDIR ${WORKPATH}
|
|
|
|
# Default to a login shell
|
|
ENTRYPOINT ["/bin/bash"]
|
|
CMD ["-l"]
|
|
|
|
# Initialize image with debian package dependencies, cleanup to keep image small
|
|
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
|
crda \
|
|
wireless-crda \
|
|
git && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# App specific environment variables
|
|
ENV ROCK_BUILD_PATH=/usr/local/src/ROCK-Kernel-Driver
|
|
|
|
# Clone as small of a repository as we can, unpack and install ubuntu packages only
|
|
# Keep the cloned repository as record of what was compiled into the container, but it does make the container size bigger
|
|
RUN mkdir -p ${ROCK_BUILD_PATH} && \
|
|
cd ${ROCK_BUILD_PATH} && \
|
|
git clone --no-checkout --depth=1 --branch=${repo_branch} https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver.git ./ && \
|
|
git checkout ${repo_branch} -- packages/ubuntu && \
|
|
DEBIAN_FRONTEND=noninteractive dpkg -i packages/ubuntu/compute-*.deb && \
|
|
DEBIAN_FRONTEND=noninteractive dpkg -i packages/ubuntu/linux-*.deb && \
|
|
cd ~ && rm -rf ${ROCK_BUILD_PATH} && \
|
|
echo "KERNEL==\"kfd\", MODE=\"0666\"" | sudo tee /etc/udev/rules.d/kfd.rules
|