From 2d97cb1be50acdf7e7604dd666d52cb9765de018 Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Mon, 16 May 2016 11:27:56 -0600 Subject: util/docker: Update docker files for coreboot-sdk & jenkins builders - Check out the specific toolchain version we want before building the toolchain (This version uses 1.42). - Add additional libraries and tools needed to build coreboot related packages. - Move everything required to build any of the coreboot or related packages into the coreboot-sdk from coreboot-jenkins-node Dockerfile. - Separate the text of the commands in the Dockerfiles. - Use nproc to get the number of processors for building the toolchain - Add some additional comments about why things are done the way that they are to the README - Update the version of coreboot-sdk that coreboot-jenkins-node uses to 1.42. (This matches the toolchain version) - Move ccache setup from jenkins-node to coreboot-sdk. - Update the maintainer. Change-Id: I293285ef72e3e70259355d924d425fea98ee773d Signed-off-by: Martin Roth Reviewed-on: https://review.coreboot.org/16239 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi --- util/docker/coreboot-jenkins-node/Dockerfile | 39 +++++++++++++++++----------- 1 file changed, 24 insertions(+), 15 deletions(-) (limited to 'util/docker/coreboot-jenkins-node/Dockerfile') diff --git a/util/docker/coreboot-jenkins-node/Dockerfile b/util/docker/coreboot-jenkins-node/Dockerfile index b675f80997..b60466dc69 100644 --- a/util/docker/coreboot-jenkins-node/Dockerfile +++ b/util/docker/coreboot-jenkins-node/Dockerfile @@ -1,21 +1,30 @@ -FROM coreboot/coreboot-sdk:1.37 -MAINTAINER Patrick Georgi +FROM coreboot/coreboot-sdk:1.42 +MAINTAINER Martin Roth USER root -ADD https://raw.githubusercontent.com/pgeorgi/encapsulate/master/encapsulate.c /tmp/encapsulate.c -COPY authorized_keys /home/coreboot/.ssh/authorized_keys -RUN mount |grep "on /dev type tmpfs" > /dev/null || exit 1 + +# 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 \ - curl p7zip-full unrar-free libusb-1.0-0-dev pkg-config libreadline-dev libglib2.0-dev \ - subversion libpci-dev libusb-dev libftdi-dev \ - lua5.3 liblua5.3-dev \ - ccache openjdk-8-jre-headless openssh-server libssl-dev vim-common libgmp-dev && \ - apt-get clean && \ - mkdir /home/coreboot/.ccache && chown coreboot /home/coreboot/.ccache && \ - mkdir -p /home/coreboot/.ssh && chown -R coreboot /home/coreboot/.ssh && chmod 0700 /home/coreboot/.ssh && chmod 0600 /home/coreboot/.ssh/authorized_keys && \ - gcc -o /usr/sbin/encapsulate /tmp/encapsulate.c && chown root /usr/sbin/encapsulate && chmod +s /usr/sbin/encapsulate && \ - mkdir /var/run/sshd && chmod 0755 /var/run/sshd -VOLUME /home/coreboot/.ccache + lua5.3 liblua5.3-dev openjdk-8-jre-headless openssh-server && \ + apt-get clean + +COPY authorized_keys /home/coreboot/.ssh/authorized_keys +RUN chown -R 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 + +# 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 && \ + chown root /usr/sbin/encapsulate && \ + chmod +s /usr/sbin/encapsulate + + VOLUME /data/cache ENTRYPOINT mkdir /dev/cb-build && chown coreboot /dev/cb-build && /usr/sbin/sshd -p 49151 -D EXPOSE 49151 -- cgit v1.2.3