chore(ci): adding 2 dockerfiles to test ARM64 cross-compilation
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
This commit is contained in:
committed by
Robert Schmidt
parent
1f2098fcce
commit
c6fab23af7
@@ -0,0 +1,83 @@
|
||||
#/*
|
||||
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||
# * contributor license agreements. See the NOTICE file distributed with
|
||||
# * this work for additional information regarding copyright ownership.
|
||||
# * The OpenAirInterface Software Alliance licenses this file to You under
|
||||
# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
||||
# * except in compliance with the License.
|
||||
# * You may obtain a copy of the License at
|
||||
# *
|
||||
# * http://www.openairinterface.org/?page_id=698
|
||||
# *
|
||||
# * Unless required by applicable law or agreed to in writing, software
|
||||
# * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# * See the License for the specific language governing permissions and
|
||||
# * limitations under the License.
|
||||
# *-------------------------------------------------------------------------------
|
||||
# * For more information about the OpenAirInterface (OAI) Software Alliance:
|
||||
# * contact@openairinterface.org
|
||||
# */
|
||||
#---------------------------------------------------------------------
|
||||
#
|
||||
# Dockerfile for the Open-Air-Interface BUILD service
|
||||
# Valid for Ubuntu 20.04 to cross-compile for ARM64
|
||||
#
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
# Very important, the focal image shall not be using mirrors. A lot of them do NOT support ARM64.
|
||||
FROM ubuntu:focal AS ran-base
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV TZ=Europe/Paris
|
||||
|
||||
#install developers pkg/repo
|
||||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \
|
||||
#enabling arm64 architecture
|
||||
dpkg --add-architecture arm64 && \
|
||||
echo "deb [arch=arm64] http://ports.ubuntu.com/ focal main restricted\n" \
|
||||
"deb [arch=arm64] http://ports.ubuntu.com/ focal-updates main restricted\n" \
|
||||
"deb [arch=arm64] http://ports.ubuntu.com/ focal universe\n" \
|
||||
"deb [arch=arm64] http://ports.ubuntu.com/ focal-updates universe\n" \
|
||||
"deb [arch=arm64] http://ports.ubuntu.com/ focal multiverse\n" \
|
||||
"deb [arch=arm64] http://ports.ubuntu.com/ focal-updates multiverse\n" \
|
||||
"deb [arch=arm64] http://ports.ubuntu.com/ focal-backports main restricted universe multiverse" \
|
||||
| tee /etc/apt/sources.list.d/arm-cross-compile-sources.list && \
|
||||
cp /etc/apt/sources.list "/etc/apt/sources.list.`date`.backup" && \
|
||||
sed -i -E "s/(deb)\ (http:.+)/\1\ [arch=amd64]\ \2/" /etc/apt/sources.list && \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get upgrade --yes && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install --yes \
|
||||
build-essential \
|
||||
psmisc \
|
||||
git \
|
||||
tzdata \
|
||||
xxd \
|
||||
# ARM64 packages
|
||||
libatlas-base-dev:arm64 \
|
||||
libblas-dev:arm64 \
|
||||
liblapack-dev:arm64 \
|
||||
liblapacke-dev:arm64 \
|
||||
libreadline-dev:arm64 \
|
||||
libgnutls28-dev:arm64 \
|
||||
libconfig-dev:arm64 \
|
||||
libsctp-dev:arm64 \
|
||||
libssl-dev:arm64 \
|
||||
libtool:arm64 \
|
||||
zlib1g-dev:arm64 \
|
||||
# cross build libs and compilers
|
||||
libc6-dev-i386 \
|
||||
gcc-9-aarch64-linux-gnu \
|
||||
g++-9-aarch64-linux-gnu && \
|
||||
apt-get clean
|
||||
|
||||
# create the WORKDIR
|
||||
WORKDIR /oai-ran
|
||||
COPY . .
|
||||
|
||||
#run build_oai -I to get the builder image
|
||||
RUN /bin/sh oaienv && \
|
||||
cd cmake_targets && \
|
||||
mkdir -p log && \
|
||||
./build_oai -I && \
|
||||
apt-get clean
|
||||
@@ -0,0 +1,47 @@
|
||||
#/*
|
||||
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||
# * contributor license agreements. See the NOTICE file distributed with
|
||||
# * this work for additional information regarding copyright ownership.
|
||||
# * The OpenAirInterface Software Alliance licenses this file to You under
|
||||
# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
||||
# * except in compliance with the License.
|
||||
# * You may obtain a copy of the License at
|
||||
# *
|
||||
# * http://www.openairinterface.org/?page_id=698
|
||||
# *
|
||||
# * Unless required by applicable law or agreed to in writing, software
|
||||
# * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# * See the License for the specific language governing permissions and
|
||||
# * limitations under the License.
|
||||
# *-------------------------------------------------------------------------------
|
||||
# * For more information about the OpenAirInterface (OAI) Software Alliance:
|
||||
# * contact@openairinterface.org
|
||||
# */
|
||||
#---------------------------------------------------------------------
|
||||
#
|
||||
# Dockerfile for the Open-Air-Interface BUILD service
|
||||
# Valid for Ubuntu 20.04 to cross-compile for ARM64
|
||||
#
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
FROM ran-base:latest as ran-build
|
||||
|
||||
RUN rm -Rf /oai-ran
|
||||
WORKDIR /oai-ran
|
||||
COPY . .
|
||||
|
||||
# build all targets so final targets can be created afterwards
|
||||
RUN /bin/sh oaienv && \
|
||||
cd cmake_targets && \
|
||||
mkdir -p ran_build/build ran_build/build-cross && \
|
||||
cd ran_build/build && \
|
||||
cmake ../../.. -GNinja && \
|
||||
echo "====== Start of log for host-tools ======" && \
|
||||
ninja ldpc_generators generate_T && \
|
||||
echo "====== End of log for host-tools ======" && \
|
||||
cd ../build-cross/ && \
|
||||
cmake ../../.. -GNinja -DCMAKE_TOOLCHAIN_FILE=../../../cmake_targets/cross-arm.cmake -DNATIVE_DIR=../build && \
|
||||
echo "====== Start of log for cross-build executables ======" && \
|
||||
ninja dlsim ulsim ldpctest polartest smallblocktest nr_pbchsim nr_dlschsim nr_ulschsim nr_dlsim nr_ulsim nr_pucchsim nr_prachsim lte-softmodem nr-softmodem nr-cuup oairu lte-uesoftmodem nr-uesoftmodem params_libconfig coding rfsimulator && \
|
||||
echo "====== End of log for cross-build executables ======"
|
||||
Reference in New Issue
Block a user