diff options
author | Martin Roth <gaumless@gmail.com> | 2018-07-12 21:49:06 -0600 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2018-07-17 11:38:55 +0000 |
commit | 30b7c31547d68d5a327dc8924b9cc928300224f3 (patch) | |
tree | fff2584508cc93e16f715a2f717ea766cf9dbe67 /util/docker/coreboot-jenkins-node | |
parent | 125506e6fba2ddb22def82234d72ad20e351f72c (diff) | |
download | coreboot-30b7c31547d68d5a327dc8924b9cc928300224f3.tar.xz |
util/docker: Update coreboot-jenkins-node dockerfile
Because earlier versions of debian set /dev as a standard tmpfs
filesystem, that was a simple place to build. Now, this has been
changed and /dev isn't a standard tmpfs that will grow to 50% of
memory. It's a fixed, very small size, and can no longer even be
resized.
Because of this, create a new directory to build in and add it to
/etc/fstab. Mount it when the container is started.
As long as we're at it, make the other build directories (ccache
and slave-root/workspace) tmpfs as well. The builders we're using now
have plenty of memory, so don't write any of the files to disk.
Update the Makefile to get rid of all references to ccache directory.
Change-Id: I21fd2c4395d7ffb9428172f035991338658cd907
Signed-off-by: Martin Roth <gaumless@gmail.com>
Reviewed-on: https://review.coreboot.org/27470
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'util/docker/coreboot-jenkins-node')
-rw-r--r-- | util/docker/coreboot-jenkins-node/Dockerfile | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/util/docker/coreboot-jenkins-node/Dockerfile b/util/docker/coreboot-jenkins-node/Dockerfile index 230842c530..5c5c5296e7 100644 --- a/util/docker/coreboot-jenkins-node/Dockerfile +++ b/util/docker/coreboot-jenkins-node/Dockerfile @@ -17,9 +17,6 @@ FROM coreboot/coreboot-sdk:{{SDK_VERSION}} MAINTAINER Martin Roth <martin@coreboot.org> USER root -# Check to make sure /dev is a tmpfs file system -RUN mount | grep "on /dev type tmpfs" > /dev/null || exit 1 - RUN apt-get -y update && \ apt-get -y install \ lua5.3 liblua5.3-dev openjdk-8-jre-headless openssh-server && \ @@ -37,6 +34,16 @@ 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/pgeorgi/encapsulate/master/encapsulate.c /tmp/encapsulate.c RUN gcc -o /usr/sbin/encapsulate /tmp/encapsulate.c && \ @@ -44,6 +51,11 @@ RUN gcc -o /usr/sbin/encapsulate /tmp/encapsulate.c && \ chmod +s /usr/sbin/encapsulate VOLUME /data/cache -ENTRYPOINT mkdir /dev/cb-build && chown coreboot /dev/cb-build && /usr/sbin/sshd -p 49151 -D +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 |