
The Open Programmable Acceleration Engine (OPAE) tools, and its required dependencies, are introduced in the stx-debian-tools-dev container, for the vRAN enablement with Intel hardware. The OPAE tools deliverables consist of the following packages, which are derived from the same source, but handled as individual packages. The OPAE Intel FGPA driver is not required in the container, because it is already supported in StarlingX kernel. - opae-sdk-1.3.7-5 - python3-opae.admin-1.0.3 - python3-opae.pacsign-1.0.4 - opae-intel-fpga-driver-2.0.1 When building OPAE from upstream source code, binaries are installed in bin directory, though privileged commands should be located in sbin. According to the upstream documentation, most OPAE commands need to be run in privileged mode, but the description is not always clear. Hence, in order to provide a consistent CLI interface in StarlingX, the OPAE binaries are installed in the proper standard directories. Test Plan: - Container image is built successfully on Debian (PASS) - OPAE packages are successfully installed (PASS) - Run time testing of the OPAE tools (WIP) Story: 2010138 Task: 46170 Depends-On: https://review.opendev.org/c/starlingx/tools/+/862743 Signed-off-by: Rogerio Ferraz <RogerioOliveira.Ferraz@windriver.com> Change-Id: I9430fb34362ee487b0de76b4dbef78331446f5f3
105 lines
2.7 KiB
Docker
105 lines
2.7 KiB
Docker
ARG BASE
|
|
FROM ${BASE}
|
|
|
|
# Install stx-dev repo (StarlingX-Debian CENGN repo)
|
|
COPY stx-dev.list /etc/apt/sources.list.d/stx-dev.list.disabled
|
|
|
|
#
|
|
# repos:
|
|
# /etc/apt/sources.list.d/
|
|
# debian.list.disabled - vanilla debian repo
|
|
# stx-x.list.disabled - starlingx binary & build repos
|
|
#
|
|
# To enable a repo list:
|
|
# cp /etc/apt/sources.list.d/$repo_list.disabled \
|
|
# /etc/apt/sources.list.d/$repo_list
|
|
#
|
|
# To disable a repo list:
|
|
# rm -f /etc/apt/sources.list.d/$repo_list
|
|
#
|
|
|
|
# Upgrade base packages to versions in managed repos
|
|
RUN set -ex && \
|
|
cp -f /etc/apt/sources.list.d/stx.list.disabled /etc/apt/sources.list.d/stx.list && \
|
|
apt-get update -y && \
|
|
apt-get upgrade -y && \
|
|
rm -f /etc/apt/sources.list.d/stx.list && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install packages provided only by Debian.
|
|
RUN set -ex && \
|
|
cp -f /etc/apt/sources.list.d/debian.list.disabled /etc/apt/sources.list.d/debian.list && \
|
|
cp -f /etc/apt/sources.list.d/stx.list.disabled /etc/apt/sources.list.d/stx.list && \
|
|
apt-get update -y && \
|
|
apt-get install -y \
|
|
autoconf-archive \
|
|
autogen \
|
|
cmake \
|
|
doxygen \
|
|
dwarves \
|
|
git \
|
|
git-review \
|
|
libcap-dev \
|
|
libjson-c-dev \
|
|
linux-perf-5.10 \
|
|
ncurses-dev \
|
|
sphinx-doc \
|
|
unzip \
|
|
uuid-dev \
|
|
&& \
|
|
rm -f /etc/apt/sources.list.d/debian.list && \
|
|
rm -f /etc/apt/sources.list.d/stx.list && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Enable stx repo only. Packages installs below this point will use
|
|
# only the managed locally-built & 3rd-party repos.
|
|
RUN set -ex && \
|
|
cp /etc/apt/sources.list.d/stx.list.disabled /etc/apt/sources.list.d/stx.list
|
|
|
|
# Install required packages
|
|
RUN set -ex && \
|
|
apt-get update -y && \
|
|
apt-get upgrade -y && \
|
|
apt-get install -y \
|
|
automake \
|
|
bash \
|
|
bc \
|
|
bison \
|
|
curl \
|
|
fakeroot \
|
|
flex \
|
|
gcc \
|
|
g++ \
|
|
gettext \
|
|
isomd5sum \
|
|
libelf-dev \
|
|
libhwloc-dev=1.11.12-3 \
|
|
libssl-dev \
|
|
linux-headers-5.10.0-6 \
|
|
make \
|
|
mkisofs \
|
|
python3-yaml \
|
|
rsync \
|
|
sphinx-common \
|
|
sudo \
|
|
vim \
|
|
wget \
|
|
xz-utils \
|
|
&& \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Enable StarlingX-Debian CENGN repo
|
|
# Packages installs below this point will use DEB packages on CENGN repo.
|
|
RUN set -ex && \
|
|
cp -f /etc/apt/sources.list.d/stx-dev.list.disabled /etc/apt/sources.list.d/stx.list && \
|
|
apt-get update && \
|
|
apt-get clean && \
|
|
rm -rf \
|
|
/var/lib/apt/lists/* \
|
|
/var/log/* \
|
|
/var/tmp/* \
|
|
/tmp/*
|