mirror of
				https://github.com/ARM-software/devlib.git
				synced 2025-10-30 21:43:21 +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