mirror of
https://github.com/ARM-software/devlib.git
synced 2025-10-30 05:23:20 +00:00
tools/docker: Add Docker image support for devlib
Introduce a Dockerfile in order to create Docker image for devlib and ``run_tests.sh`` script to test Android, Linux, LocalLinux, and QEMU targets on the Docker image. The Dockerfile forks from ``Ubuntu-22.04``, installs required system packages, checks out ``master`` branch of devlib, installs devlib, creates Android virtual devices via ``tools/android/install_base.sh``, and QEMU images for aarch64 and x86_84 architectures. Note that Android command line tools version, buildroot and devlib branches can be customized via environment variables. Signed-off-by: Metin Kaya <metin.kaya@arm.com>
This commit is contained in:
77
tools/docker/Dockerfile
Normal file
77
tools/docker/Dockerfile
Normal file
@@ -0,0 +1,77 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
# Copyright (C) 2024, ARM Limited and contributors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# This Dockerfile creates an image to run devlib CI tests.
|
||||
#
|
||||
# Running ``docker build -t devlib .`` command in ``tools/docker`` directory
|
||||
# creates the docker image.
|
||||
#
|
||||
# The image can be runned via ``docker run -it --privileged devlib`` command.
|
||||
#
|
||||
|
||||
FROM ubuntu:22.04
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
ENV DEVLIB_REF master
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
aapt \
|
||||
bc \
|
||||
bison \
|
||||
build-essential \
|
||||
cmake \
|
||||
cpio \
|
||||
file \
|
||||
flex \
|
||||
git \
|
||||
libelf-dev \
|
||||
libncurses5-dev \
|
||||
libssl-dev \
|
||||
locales \
|
||||
python3-pip \
|
||||
qemu-system-arm \
|
||||
qemu-system-x86 \
|
||||
rsync \
|
||||
sudo \
|
||||
unzip \
|
||||
wget \
|
||||
vim \
|
||||
xz-utils
|
||||
|
||||
RUN apt-get -y autoremove && \
|
||||
apt-get -y autoclean && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/cache/apt
|
||||
|
||||
RUN git clone -b ${DEVLIB_REF} -v https://github.com/ARM-software/devlib.git /devlib
|
||||
RUN cd /devlib && \
|
||||
pip install --upgrade pip setuptools wheel && \
|
||||
pip install .[full]
|
||||
|
||||
# Set CMDLINE_VERSION environment variable if you want to use a specific
|
||||
# version of Android command line tools rather than default which is
|
||||
# ``11076708`` as of writing this comment.
|
||||
RUN cd /devlib/tools/android && ./install_base.sh
|
||||
|
||||
# Set BUILDROOT_VERSION environment variable if you want to use a specific
|
||||
# branch of buildroot rather than default which is ``2023.11.1`` as of
|
||||
# writing this comment.
|
||||
RUN cd /devlib/tools/buildroot && \
|
||||
./generate-kernel-initrd.sh && \
|
||||
./generate-kernel-initrd.sh -a x86_64
|
||||
|
||||
Reference in New Issue
Block a user