mb/google/nissa/var/gothrax: Add probe and GPIO config for HDMI and
[coreboot2.git] / util / docker / coreboot-sdk / Dockerfile
blob6c3a06b571a8a2fd1e88aa1f85b0548066af1697
1 # Generate the docker image for this file by running:
3 #   make coreboot-sdk
5 FROM debian:stable AS coreboot-sdk
7 # The coreboot Commit-ID to build the toolchain from.
8 ARG DOCKER_COMMIT
9 # The version of the coreboot sdk to use. Typically, this corresponds to the
10 # toolchain version. This is used to identify this docker image.
11 ARG SDK_VERSION
12 ARG CROSSGCC_PARAM
14 RUN \
15         useradd -p locked -m coreboot && \
16         apt-get -qq update && \
17         apt-get -y install --no-install-recommends \
18                 bash-completion \
19                 bc \
20                 bison \
21                 bsdextrautils \
22                 bzip2 \
23                 ca-certificates \
24                 ccache \
25                 cmake \
26                 cscope \
27                 curl \
28                 device-tree-compiler \
29                 dh-autoreconf \
30                 diffutils \
31                 exuberant-ctags \
32                 flex \
33                 g++ \
34                 gawk \
35                 gcc \
36                 gettext \
37                 git \
38                 gnat \
39                 golang \
40                 graphicsmagick-imagemagick-compat \
41                 graphviz \
42                 lcov \
43                 less \
44                 libcapture-tiny-perl \
45                 libcrypto++-dev \
46                 libcurl4-openssl-dev \
47                 libdatetime-perl \
48                 libelf-dev \
49                 libfreetype-dev \
50                 libftdi1-dev \
51                 libglib2.0-dev \
52                 libgmp-dev \
53                 libgpiod-dev \
54                 libjaylink-dev \
55                 liblzma-dev \
56                 libnss3-dev \
57                 libncurses-dev \
58                 libpci-dev \
59                 libreadline-dev \
60                 libssl-dev \
61                 libtimedate-perl \
62                 libusb-1.0-0-dev \
63                 libxml2-dev \
64                 libyaml-dev \
65                 make \
66                 meson \
67                 msitools \
68                 neovim \
69                 ninja-build \
70                 openssh-client \
71                 openssl \
72                 parted \
73                 patch \
74                 pbzip2 \
75                 pkgconf \
76                 python3 \
77                 python-is-python3 \
78                 qemu-system-arm \
79                 qemu-system-misc \
80                 qemu-system-ppc \
81                 qemu-system-x86 \
82                 rsync \
83                 sharutils \
84                 shellcheck \
85                 unifont \
86                 unzip \
87                 uuid-dev \
88                 vim-common \
89                 wget \
90                 xfonts-unifont \
91                 xz-utils \
92                 zlib1g-dev \
93         && apt-get clean
95 RUN \
96         cd /tmp && \
97         git clone https://review.coreboot.org/coreboot && \
98         cd coreboot && \
99         git checkout ${DOCKER_COMMIT}; \
100         if echo ${CROSSGCC_PARAM} | grep -q ^all; then \
101                 make -C /tmp/coreboot/util/crossgcc/ build_clang \
102                         BUILD_LANGUAGES=c,ada CPUS=$(nproc) DEST=/opt/xgcc; \
103         fi; \
104         make -C /tmp/coreboot/util/crossgcc/ ${CROSSGCC_PARAM} \
105                 BUILD_LANGUAGES=c,ada CPUS=$(nproc) DEST=/opt/xgcc && \
106         rm -rf /tmp/coreboot
108 RUN mkdir /home/coreboot/.ccache && \
109         chown coreboot:coreboot /home/coreboot/.ccache && \
110         mkdir /home/coreboot/cb_build && \
111         chown coreboot:coreboot /home/coreboot/cb_build && \
112         echo "export PATH=$PATH:/opt/xgcc/bin" >> /home/coreboot/.bashrc && \
113         echo "export SDK_VERSION=${SDK_VERSION}" >> /home/coreboot/.bashrc && \
114         echo "export SDK_COMMIT=${DOCKER_COMMIT}" >> /home/coreboot/.bashrc
116 ENV PATH $PATH:/opt/xgcc/bin
117 ENV SDK_VERSION=${SDK_VERSION}
118 ENV SDK_COMMIT=${DOCKER_COMMIT}
119 USER coreboot
121 FROM coreboot-sdk
122 VOLUME /home/coreboot/.ccache