aboutsummaryrefslogtreecommitdiff
path: root/util/docker/coreboot-sdk/Dockerfile
blob: d31eaf692e0278dd11a1a86bf00c5be4bdca8488 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# This dockerfile is not meant to be used directly by docker.  The
# {{}} varibles are replaced with values by the makefile.  Please generate
# the docker image for this file by running:
#
#   make coreboot-sdk
#
# Variables can be updated on the make command line or left blank to use
# the default values set by the makefile.
#
#  SDK_VERSION is used to name the version of the coreboot sdk to use.
#              Typically, this corresponds to the toolchain version.  This
#              is used to identify this docker image.
#  DOCKER_COMMIT is the coreboot Commit-ID to build the toolchain from.

FROM debian:sid
MAINTAINER Martin Roth <martin@coreboot.org>

RUN \
	useradd -p locked -m coreboot && \
	apt-get -qq update && \
	apt-get -qqy install gcc g++ gnat-6 make patch python diffutils bison \
		flex git doxygen ccache subversion p7zip-full unrar-free \
		m4 wget curl bzip2 vim-common cmake xz-utils pkg-config \
		dh-autoreconf unifont \
		libssl1.0-dev libgmp-dev zlib1g-dev libpci-dev liblzma-dev \
		libyaml-dev libncurses5-dev uuid-dev libusb-dev libftdi-dev \
		libusb-1.0-0-dev libreadline-dev libglib2.0-dev libgmp-dev \
		libelf-dev libxml2-dev libfreetype6-dev libisl-dev && \
	apt-get clean

RUN \
	cd /root && \
	git clone http://review.coreboot.org/coreboot && \
	cd coreboot/util/crossgcc && \
	git checkout {{DOCKER_COMMIT}} && \
	make all_without_gdb \
		BUILD_LANGUAGES=c,ada CPUS=$(nproc) DEST=/opt/xgcc && \
	cd /root && \
	rm -rf coreboot

RUN mkdir /home/coreboot/.ccache && \
	chown coreboot:coreboot /home/coreboot/.ccache && \
	mkdir /home/coreboot/cb_build && \
	chown coreboot:coreboot /home/coreboot/cb_build
VOLUME /home/coreboot/.ccache

ENV PATH $PATH:/opt/xgcc/bin
ENV SDK_VERSION={{SDK_VERSION}}
ENV SDK_COMMIT={{DOCKER_COMMIT}}
USER coreboot