Files
openairinterface5g/tools/docker-dev-env/Dockerfile

44 lines
1.6 KiB
Docker

# SPDX-License-Identifier: LicenseRef-CSSL-1.0
FROM ran-base:latest
ARG USERNAME=root
ARG USER_UID=1000
ARG USER_GID=1000
# More developer tools can be added here
RUN apt update && apt install -y vim sudo wget meson ninja-build libnuma-dev ccache
# Create the user
RUN groupadd --gid $USER_GID $USERNAME \
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
&& chmod 0440 /etc/sudoers.d/$USERNAME
## Download and build DPDK
RUN cd /oai-ran && \
wget http://fast.dpdk.org/rel/dpdk-20.11.9.tar.xz && \
tar -xvf dpdk-20.11.9.tar.xz && \
cd dpdk-stable-20.11.9 && \
meson build && \
ninja -C build && \
ninja install -C build
## Build Fronthaul library
COPY cmake_targets/tools/oran_fhi_integration_patches/F/oaioran_F.patch /oaioran_F.patch
RUN git clone https://github.com/openairinterface/o-du-phy.git /opt/phy && \
cd /opt/phy && \
git checkout oran_f_release_v1.0 &&\
git apply /oaioran_F.patch && \
cd /opt/phy/fhi_lib/lib && \
WIRELESS_SDK_TOOLCHAIN=gcc RTE_SDK=/oai-ran/dpdk-stable-20.11.9/ XRAN_DIR=/opt/phy/fhi_lib make XRAN_LIB_SO=1
ENV xran_LOCATION=/opt/phy/fhi_lib/lib/
# This is a temporary solution to issue with apt: one of the installed packages creates a group that may
# not be present in the host: remove the group entry to allow apt usage in container
RUN dpkg-statoverride --remove /usr/bin/uml_net
# Override ccache directory to avoid permission issues
ENV CCACHE_DIR=/home/$USERNAME/.cache/ccache-oai-dev-env
USER $USERNAME