Debian sid is too unstable at this point, and frequently ends up having issues that cause the coreboot-sdk docker image to fail to build. Using stable also better reflects what users will typically be running. Also remove the parameters to quiet the apt-get install command so that if something does break, we can see what happened more easily. Fixes bug 536 Signed-off-by: Martin Roth <gaumless@gmail.com> Change-Id: I41b6464b024df89c114db2cdb9367c0526eb0297 Reviewed-on: https://review.coreboot.org/c/coreboot/+/82411 Reviewed-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
		
			
				
	
	
		
			122 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| # Generate the docker image for this file by running:
 | |
| #
 | |
| #   make coreboot-sdk
 | |
| 
 | |
| FROM debian:stable AS coreboot-sdk
 | |
| 
 | |
| # The coreboot Commit-ID to build the toolchain from.
 | |
| ARG DOCKER_COMMIT
 | |
| # The version of the coreboot sdk to use. Typically, this corresponds to the
 | |
| # toolchain version. This is used to identify this docker image.
 | |
| ARG SDK_VERSION
 | |
| ARG CROSSGCC_PARAM
 | |
| 
 | |
| RUN \
 | |
| 	useradd -p locked -m coreboot && \
 | |
| 	apt-get -qq update && \
 | |
| 	apt-get -y install --no-install-recommends \
 | |
| 		bash-completion \
 | |
| 		bc \
 | |
| 		bison \
 | |
| 		bsdextrautils \
 | |
| 		bzip2 \
 | |
| 		ca-certificates \
 | |
| 		ccache \
 | |
| 		cmake \
 | |
| 		cscope \
 | |
| 		curl \
 | |
| 		device-tree-compiler \
 | |
| 		dh-autoreconf \
 | |
| 		diffutils \
 | |
| 		exuberant-ctags \
 | |
| 		flex \
 | |
| 		g++ \
 | |
| 		gawk \
 | |
| 		gcc \
 | |
| 		git \
 | |
| 		gnat \
 | |
| 		golang \
 | |
| 		graphicsmagick-imagemagick-compat \
 | |
| 		graphviz \
 | |
| 		lcov \
 | |
| 		less \
 | |
| 		libcapture-tiny-perl \
 | |
| 		libcrypto++-dev \
 | |
| 		libcurl4-openssl-dev \
 | |
| 		libdatetime-perl \
 | |
| 		libelf-dev \
 | |
| 		libfreetype-dev \
 | |
| 		libftdi1-dev \
 | |
| 		libglib2.0-dev \
 | |
| 		libgmp-dev \
 | |
| 		libgpiod-dev \
 | |
| 		libjaylink-dev \
 | |
| 		liblzma-dev \
 | |
| 		libnss3-dev \
 | |
| 		libncurses-dev \
 | |
| 		libpci-dev \
 | |
| 		libreadline-dev \
 | |
| 		libssl-dev \
 | |
| 		libtimedate-perl \
 | |
| 		libusb-1.0-0-dev \
 | |
| 		libxml2-dev \
 | |
| 		libyaml-dev \
 | |
| 		m4 \
 | |
| 		make \
 | |
| 		meson \
 | |
| 		msitools \
 | |
| 		neovim \
 | |
| 		ninja-build \
 | |
| 		openssh-client \
 | |
| 		openssl \
 | |
| 		parted \
 | |
| 		patch \
 | |
| 		pbzip2 \
 | |
| 		pkgconf \
 | |
| 		python3 \
 | |
| 		python-is-python3 \
 | |
| 		qemu-system-arm \
 | |
| 		qemu-system-misc \
 | |
| 		qemu-system-ppc \
 | |
| 		qemu-system-x86 \
 | |
| 		rsync \
 | |
| 		sharutils \
 | |
| 		shellcheck \
 | |
| 		unifont \
 | |
| 		unzip \
 | |
| 		uuid-dev \
 | |
| 		vim-common \
 | |
| 		wget \
 | |
| 		xz-utils \
 | |
| 		zlib1g-dev \
 | |
| 	&& apt-get clean
 | |
| 
 | |
| RUN \
 | |
| 	cd /tmp && \
 | |
| 	git clone https://review.coreboot.org/coreboot && \
 | |
| 	cd coreboot && \
 | |
| 	git checkout ${DOCKER_COMMIT}; \
 | |
| 	if echo ${CROSSGCC_PARAM} | grep -q ^all; then \
 | |
| 		make -C /tmp/coreboot/util/crossgcc/ build_clang \
 | |
| 			BUILD_LANGUAGES=c,ada CPUS=$(nproc) DEST=/opt/xgcc; \
 | |
| 	fi; \
 | |
| 	make -C /tmp/coreboot/util/crossgcc/ ${CROSSGCC_PARAM} \
 | |
| 		BUILD_LANGUAGES=c,ada CPUS=$(nproc) DEST=/opt/xgcc && \
 | |
| 	rm -rf /tmp/coreboot
 | |
| 
 | |
| RUN mkdir /home/coreboot/.ccache && \
 | |
| 	chown coreboot:coreboot /home/coreboot/.ccache && \
 | |
| 	mkdir /home/coreboot/cb_build && \
 | |
| 	chown coreboot:coreboot /home/coreboot/cb_build && \
 | |
| 	echo "export PATH=$PATH:/opt/xgcc/bin" >> /home/coreboot/.bashrc && \
 | |
| 	echo "export SDK_VERSION=${SDK_VERSION}" >> /home/coreboot/.bashrc && \
 | |
| 	echo "export SDK_COMMIT=${DOCKER_COMMIT}" >> /home/coreboot/.bashrc
 | |
| 
 | |
| ENV PATH $PATH:/opt/xgcc/bin
 | |
| ENV SDK_VERSION=${SDK_VERSION}
 | |
| ENV SDK_COMMIT=${DOCKER_COMMIT}
 | |
| USER coreboot
 | |
| 
 | |
| FROM coreboot-sdk
 | |
| VOLUME /home/coreboot/.ccache
 |