3404247115
The pgeorgi namespace is my own and things could change without notice there. To overcome this issue, encapsulate is now maintained on review.coreboot.org/encapsulate.git and mirrored over to github, so let's use that. Change-Id: I12e43f61f693a6b0392b84dd56ede665a1a2129a Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/38899 Reviewed-by: Martin Roth <martinroth@google.com> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
61 lines
2.4 KiB
Docker
61 lines
2.4 KiB
Docker
# 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-jenkins-node
|
|
#
|
|
# 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.
|
|
# SSH_KEY is the contents of the file coreboot-jenkins-node/authorized_keys
|
|
# Because we're piping the contents of the dockerfile into the
|
|
# docker build command, the 'COPY' keyword isn't valid.
|
|
|
|
FROM coreboot/coreboot-sdk:{{SDK_VERSION}}
|
|
MAINTAINER Martin Roth <martin@coreboot.org>
|
|
USER root
|
|
|
|
RUN apt-get -y update && \
|
|
apt-get -y install \
|
|
lua5.3 liblua5.3-dev default-jre-headless openssh-server && \
|
|
apt-get clean
|
|
|
|
# Because of the way that the variables are being replaced, docker's 'COPY'
|
|
# command does not work
|
|
RUN mkdir -p /home/coreboot/.ssh && \
|
|
echo "{{SSH_KEY}}" > /home/coreboot/.ssh/authorized_keys && \
|
|
chown -R coreboot:coreboot /home/coreboot/.ssh && \
|
|
chmod 0700 /home/coreboot/.ssh && \
|
|
chmod 0600 /home/coreboot/.ssh/authorized_keys
|
|
|
|
RUN mkdir /var/run/sshd && \
|
|
chmod 0755 /var/run/sshd && \
|
|
/usr/bin/ssh-keygen -A
|
|
|
|
# Create /cb-build as a tmpfs directory to build in
|
|
RUN mkdir /cb-build && \
|
|
chown coreboot:coreboot /cb-build && \
|
|
echo "tmpfs /cb-build tmpfs rw,mode=1777 0 0" > /etc/fstab && \
|
|
mkdir -p /home/coreboot/slave-root/workspace && \
|
|
chown -R coreboot:coreboot /home/coreboot/slave-root && \
|
|
echo "tmpfs /home/coreboot/slave-root/workspace tmpfs rw,mode=1777 0 0" >> /etc/fstab && \
|
|
chown coreboot:coreboot /home/coreboot/.ccache && \
|
|
echo "tmpfs /home/coreboot/.ccache tmpfs rw,mode=1777 0 0" >> /etc/fstab
|
|
|
|
# Build encapsulate tool
|
|
ADD https://raw.githubusercontent.com/coreboot/encapsulate/master/encapsulate.c /tmp/encapsulate.c
|
|
RUN gcc -o /usr/sbin/encapsulate /tmp/encapsulate.c && \
|
|
chown root /usr/sbin/encapsulate && \
|
|
chmod +s /usr/sbin/encapsulate
|
|
|
|
VOLUME /data/cache
|
|
ENTRYPOINT mount /cb-build && \
|
|
mount /home/coreboot/slave-root/workspace && \
|
|
chown -R coreboot:coreboot /home/coreboot/slave-root && \
|
|
mount /home/coreboot/.ccache && \
|
|
chown coreboot:coreboot /home/coreboot/.ccache && \
|
|
/usr/sbin/sshd -p 49151 -D
|
|
EXPOSE 49151
|
|
ENV PATH $PATH:/usr/sbin
|