mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
44 lines
1.6 KiB
Docker
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
|