Merge remote-tracking branch 'origin/doc-updates' into integration_2025_w33 (!3590)

Improve MAC docs for MCS and docker for BuildKit usage

See commits for details. The first one is for fixing an omission in
!3281, the second to clarify docker build usage.

Closes: #973
This commit is contained in:
Robert Schmidt
2025-08-14 16:46:44 +02:00
20 changed files with 53 additions and 35 deletions

View File

@@ -32,7 +32,7 @@ ARG NEEDED_GIT_PROXY
ARG TARGETARCH
ENV TZ=Europe/Paris
ENV BUILD_UHD_FROM_SOURCE=True
ENV UHD_VERSION=4.4.0.0
ENV UHD_VERSION=4.8.0.0
# Copy the entitlements
COPY ./etc-pki-entitlement /etc/pki/entitlement

View File

@@ -30,7 +30,7 @@ FROM $BASE_IMAGE AS ran-base
ARG TARGETARCH
ENV TZ=Europe/Paris
ENV BUILD_UHD_FROM_SOURCE=True
ENV UHD_VERSION=4.4.0.0
ENV UHD_VERSION=4.8.0.0
RUN dnf install 'dnf-command(config-manager)' -y && \
dnf install epel-release -y && crb enable && \

View File

@@ -32,7 +32,7 @@ ARG TARGETARCH
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Paris
ENV BUILD_UHD_FROM_SOURCE=True
ENV UHD_VERSION=4.4.0.0
ENV UHD_VERSION=4.8.0.0
#install developers pkg/repo
RUN apt-get update && \

View File

@@ -90,7 +90,7 @@ COPY --from=enb-base \
# Now we are copying from builder-image the UHD files.
COPY --from=enb-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=enb-base /usr/local/lib64/libuhd.so.4.4.0 /usr/local/lib64
COPY --from=enb-base /usr/local/lib64/libuhd.so.4.8.0 /usr/local/lib64
COPY --from=enb-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-enb/bin
WORKDIR /usr/local/share/uhd/rfnoc
@@ -111,7 +111,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
/usr/local/lib/liboai_iqplayer.so \
/usr/local/lib/libtelnetsrv.so \
/usr/local/lib/libtelnetsrv_enb.so \
/usr/local/lib64/libuhd.so.4.4.0
/usr/local/lib64/libuhd.so.4.8.0
WORKDIR /opt/oai-enb

View File

@@ -91,7 +91,7 @@ COPY --from=enb-base \
# Now we are copying from builder-image the UHD files.
COPY --from=enb-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=enb-base /usr/local/lib64/libuhd.so.4.4.0 /usr/local/lib64
COPY --from=enb-base /usr/local/lib64/libuhd.so.4.8.0 /usr/local/lib64
COPY --from=enb-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-enb/bin
WORKDIR /usr/local/share/uhd/rfnoc
@@ -112,7 +112,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
/usr/local/lib/liboai_iqplayer.so \
/usr/local/lib/libtelnetsrv.so \
/usr/local/lib/libtelnetsrv_enb.so \
/usr/local/lib64/libuhd.so.4.4.0
/usr/local/lib64/libuhd.so.4.8.0
WORKDIR /opt/oai-enb

View File

@@ -98,7 +98,7 @@ COPY --from=enb-build \
# Now we are copying from builder-image the UHD files.
COPY --from=enb-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=enb-base /usr/local/lib/libuhd.so.4.4.0 /usr/local/lib
COPY --from=enb-base /usr/local/lib/libuhd.so.4.8.0 /usr/local/lib
COPY --from=enb-base /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-enb/bin
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
@@ -115,7 +115,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
/usr/local/lib/liboai_iqplayer.so \
/usr/local/lib/libtelnetsrv.so \
/usr/local/lib/libtelnetsrv_enb.so \
/usr/local/lib/libuhd.so.4.4.0
/usr/local/lib/libuhd.so.4.8.0
WORKDIR /opt/oai-enb

View File

@@ -97,7 +97,7 @@ COPY --from=gnb-base \
# Now we are copying from builder-image the UHD files.
COPY --from=gnb-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=gnb-base /usr/local/lib64/libuhd.so.4.4.0 /usr/local/lib64
COPY --from=gnb-base /usr/local/lib64/libuhd.so.4.8.0 /usr/local/lib64
COPY --from=gnb-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-gnb/bin
## Copy E2 SM models
@@ -120,7 +120,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
/usr/local/lib/libldpc*.so \
/usr/local/lib/libtelnetsrv.so \
/usr/local/lib/libtelnetsrv_ci.so \
/usr/local/lib64/libuhd.so.4.4.0
/usr/local/lib64/libuhd.so.4.8.0
WORKDIR /opt/oai-gnb
#EXPOSE 2152/udp # S1U, GTP/UDP

View File

@@ -94,7 +94,7 @@ COPY --from=gnb-base \
# Now we are copying from builder-image the UHD files.
COPY --from=gnb-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=gnb-base /usr/local/lib64/libuhd.so.4.4.0 /usr/local/lib64
COPY --from=gnb-base /usr/local/lib64/libuhd.so.4.8.0 /usr/local/lib64
COPY --from=gnb-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-gnb/bin
WORKDIR /usr/local/share/uhd/rfnoc
@@ -114,7 +114,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
/usr/local/lib/libldpc*.so \
/usr/local/lib/libtelnetsrv.so \
/usr/local/lib/libtelnetsrv_ci.so \
/usr/local/lib64/libuhd.so.4.4.0
/usr/local/lib64/libuhd.so.4.8.0
WORKDIR /opt/oai-gnb
#EXPOSE 2152/udp # S1U, GTP/UDP

View File

@@ -99,7 +99,7 @@ COPY --from=gnb-build \
# Now we are copying from builder-image the UHD files.
COPY --from=gnb-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=gnb-base /usr/local/lib/libuhd.so.4.4.0 /usr/local/lib
COPY --from=gnb-base /usr/local/lib/libuhd.so.4.8.0 /usr/local/lib
COPY --from=gnb-base /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-gnb/bin
## Copy E2 SM models
COPY --from=gnb-build /usr/local/lib/flexric /usr/local/lib/flexric
@@ -118,7 +118,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
/usr/local/lib/libldpc*.so \
/usr/local/lib/libtelnetsrv.so \
/usr/local/lib/libtelnetsrv_ci.so \
/usr/local/lib/libuhd.so.4.4.0
/usr/local/lib/libuhd.so.4.8.0
WORKDIR /opt/oai-gnb
#EXPOSE 2152/udp # S1U, GTP/UDP

View File

@@ -80,7 +80,7 @@ COPY --from=ru-base \
# Copying from the ran-build image the USRP needed packages
COPY --from=ru-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=ru-base /usr/local/lib64/libuhd.so.4.4.0 /usr/local/lib64
COPY --from=ru-base /usr/local/lib64/libuhd.so.4.8.0 /usr/local/lib64
COPY --from=ru-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ru/bin
WORKDIR /usr/local/share/uhd/rfnoc
@@ -96,7 +96,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
/usr/local/lib/liboai_usrpdevif.so \
/usr/local/lib/libparams_libconfig.so \
/usr/local/lib/libdfts.so \
/usr/local/lib64/libuhd.so.4.4.0
/usr/local/lib64/libuhd.so.4.8.0
WORKDIR /opt/oai-lte-ru

View File

@@ -76,7 +76,7 @@ COPY --from=ru-build \
# Now we are copying from builder-image the UHD files.
COPY --from=ru-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=ru-base /usr/local/lib/libuhd.so.4.4.0 /usr/local/lib
COPY --from=ru-base /usr/local/lib/libuhd.so.4.8.0 /usr/local/lib
COPY --from=ru-base /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ru/bin
@@ -90,7 +90,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
/usr/local/lib/liboai_usrpdevif.so \
/usr/local/lib/libparams_libconfig.so \
/usr/local/lib/libdfts.so \
/usr/local/lib/libuhd.so.4.4.0
/usr/local/lib/libuhd.so.4.8.0
WORKDIR /opt/oai-lte-ru

View File

@@ -95,7 +95,7 @@ COPY --from=lte-ue-base \
# Now we are copying from builder-image the UHD files.
COPY --from=lte-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=lte-ue-base /usr/local/lib64/libuhd.so.4.4.0 /usr/local/lib64
COPY --from=lte-ue-base /usr/local/lib64/libuhd.so.4.8.0 /usr/local/lib64
COPY --from=lte-ue-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ue/bin
WORKDIR /usr/local/share/uhd/rfnoc
@@ -113,7 +113,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
/usr/local/lib/libparams_libconfig.so \
/usr/local/lib/libdfts.so \
/usr/local/lib/libtelnetsrv.so \
/usr/local/lib64/libuhd.so.4.4.0
/usr/local/lib64/libuhd.so.4.8.0
WORKDIR /opt/oai-lte-ue
COPY --from=lte-ue-base /tini /tini

View File

@@ -96,7 +96,7 @@ COPY --from=lte-ue-base \
# Now we are copying from builder-image the UHD files.
COPY --from=lte-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=lte-ue-base /usr/local/lib64/libuhd.so.4.4.0 /usr/local/lib64
COPY --from=lte-ue-base /usr/local/lib64/libuhd.so.4.8.0 /usr/local/lib64
COPY --from=lte-ue-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ue/bin
WORKDIR /usr/local/share/uhd/rfnoc
@@ -114,7 +114,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
/usr/local/lib/libparams_libconfig.so \
/usr/local/lib/libdfts.so \
/usr/local/lib/libtelnetsrv.so \
/usr/local/lib64/libuhd.so.4.4.0
/usr/local/lib64/libuhd.so.4.8.0
WORKDIR /opt/oai-lte-ue
COPY --from=lte-ue-base /tini /tini

View File

@@ -101,7 +101,7 @@ COPY --from=lte-ue-build \
# Now we are copying from builder-image the UHD files.
COPY --from=lte-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=lte-ue-base /usr/local/lib/libuhd.so.4.4.0 /usr/local/lib
COPY --from=lte-ue-base /usr/local/lib/libuhd.so.4.8.0 /usr/local/lib
COPY --from=lte-ue-base /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-lte-ue/bin
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
@@ -116,7 +116,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
/usr/local/lib/libparams_libconfig.so \
/usr/local/lib/libdfts.so \
/usr/local/lib/libtelnetsrv.so \
/usr/local/lib/libuhd.so.4.4.0
/usr/local/lib/libuhd.so.4.8.0
WORKDIR /opt/oai-lte-ue
COPY --from=lte-ue-base /tini /tini

View File

@@ -99,7 +99,7 @@ COPY --from=nr-ue-base \
# Now we are copying from builder-image the UHD files.
COPY --from=nr-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=nr-ue-base /usr/local/lib64/libuhd.so.4.4.0 /usr/local/lib64
COPY --from=nr-ue-base /usr/local/lib64/libuhd.so.4.8.0 /usr/local/lib64
COPY --from=nr-ue-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-nr-ue/bin
WORKDIR /usr/local/share/uhd/rfnoc
@@ -119,7 +119,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
/usr/local/lib/libldpc*.so \
/usr/local/lib/libtelnetsrv.so \
/usr/local/lib/libtelnetsrv_5Gue.so \
/usr/local/lib64/libuhd.so.4.4.0
/usr/local/lib64/libuhd.so.4.8.0
WORKDIR /opt/oai-nr-ue
COPY --from=nr-ue-base /tini /tini

View File

@@ -96,7 +96,7 @@ COPY --from=nr-ue-base \
# Now we are copying from builder-image the UHD files.
COPY --from=nr-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=nr-ue-base /usr/local/lib64/libuhd.so.4.4.0 /usr/local/lib64
COPY --from=nr-ue-base /usr/local/lib64/libuhd.so.4.8.0 /usr/local/lib64
COPY --from=nr-ue-base /usr/local/lib64/uhd/utils/uhd_images_downloader.py /opt/oai-nr-ue/bin
WORKDIR /usr/local/share/uhd/rfnoc
@@ -116,7 +116,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
/usr/local/lib/libldpc*.so \
/usr/local/lib/libtelnetsrv.so \
/usr/local/lib/libtelnetsrv_5Gue.so \
/usr/local/lib64/libuhd.so.4.4.0
/usr/local/lib64/libuhd.so.4.8.0
WORKDIR /opt/oai-nr-ue
COPY --from=nr-ue-base /tini /tini

View File

@@ -98,7 +98,7 @@ COPY --from=nr-ue-build \
# Now we are copying from builder-image the UHD files.
COPY --from=nr-ue-base /usr/local/bin/uhd_find_devices /usr/local/bin
COPY --from=nr-ue-base /usr/local/lib/libuhd.so.4.4.0 /usr/local/lib
COPY --from=nr-ue-base /usr/local/lib/libuhd.so.4.8.0 /usr/local/lib
COPY --from=nr-ue-base /usr/local/lib/uhd/utils/uhd_images_downloader.py /opt/oai-nr-ue/bin
RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai_device.so" && \
@@ -116,7 +116,7 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai
/usr/local/lib/libtelnetsrv.so \
/usr/local/lib/libtelnetsrv_ciUE.so \
/usr/local/lib/libtelnetsrv_5Gue.so \
/usr/local/lib/libuhd.so.4.4.0
/usr/local/lib/libuhd.so.4.8.0
WORKDIR /opt/oai-nr-ue
COPY --from=nr-ue-base /tini /tini

View File

@@ -91,6 +91,24 @@ For more details regarding the build on an Openshift Cluster, see [OpenShift REA
* `docker-ce` installed
* Pulling `ubuntu:jammy` from DockerHub
The docker files in this directory rely on [automatic Docker platform
arguments](https://docs.docker.com/reference/dockerfile/#automatic-platform-args-in-the-global-scope)
`TARGETARCH` and `TARGETPLATFORM` to be defined. This is the case when using
[BuildKit](https://docs.docker.com/build/buildkit/), which is automatically
enabled in newer (v23.0+) docker versions.
If you are running an older version of docker that does not have BuildKit
enabled and do not wish to upgrade to a newer docker version, you have two
possibilities:
1. [Enable BuildKit](https://docs.docker.com/build/buildkit/#getting-started)
when building: `DOCKER_BUILDKIT=1 docker build ...`
2. You should be able to define these variables manually.
- x86: `docker build --build-arg TARGETARCH=amd64 --build-arg
TARGETPLATFORM=linux/amd64 ...`
- arm: `docker build --build-arg TARGETARCH=arm64 --build-arg
TARGETPLATFORM=linux/arm64 ...`
## 3.2. Building the shared images ##
There are two shared images: one that has all dependencies, and a second that compiles all targets (eNB, gNB, [nr]UE).