From cbd7af5e1d125d40d779fba4371d39d710edd514 Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Fri, 18 Mar 2016 13:53:26 +0000 Subject: [PATCH] store source info for kernel and kernel patches in image for #45 Signed-off-by: Justin Cormack --- alpine/Dockerfile | 1 + alpine/kernel/.gitignore | 1 + alpine/kernel/Dockerfile | 9 +++++++-- alpine/kernel/Makefile | 4 +++- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/alpine/Dockerfile b/alpine/Dockerfile index 7549cf290..9e2ad2c8c 100644 --- a/alpine/Dockerfile +++ b/alpine/Dockerfile @@ -22,6 +22,7 @@ COPY etc /etc/ ADD kernel/aufs-utils.tar / COPY mkinitrd.sh /bin/ +COPY kernel/kernel-source-info /etc/ COPY packages/9pudc/9pudc /sbin/ COPY packages/9pudc/etc /etc/ diff --git a/alpine/kernel/.gitignore b/alpine/kernel/.gitignore index 9010dc23c..3673bdf01 100644 --- a/alpine/kernel/.gitignore +++ b/alpine/kernel/.gitignore @@ -1,3 +1,4 @@ vmlinuz64 zImage aufs-utils.tar +kernel-source-info diff --git a/alpine/kernel/Dockerfile b/alpine/kernel/Dockerfile index b49297439..c7d545810 100644 --- a/alpine/kernel/Dockerfile +++ b/alpine/kernel/Dockerfile @@ -3,6 +3,8 @@ FROM ubuntu:15.10 ARG KERNEL_VERSION=4.1.19 ARG ARCH=x86_64 +ENV KERNEL_SOURCE=https://www.kernel.org/pub/linux/kernel/v4.x/linux-${KERNEL_VERSION}.tar.xz + RUN apt-get update && apt-get -y upgrade && apt-get -y install \ unzip \ xz-utils \ @@ -25,7 +27,7 @@ RUN apt-get update && apt-get -y upgrade && apt-get -y install \ lzop \ gcc-arm-linux-gnueabihf -ADD https://www.kernel.org/pub/linux/kernel/v4.x/linux-${KERNEL_VERSION}.tar.xz . +ADD ${KERNEL_SOURCE} . RUN cat linux-${KERNEL_VERSION}.tar.xz | tar --absolute-names -xJ && mv /linux-${KERNEL_VERSION} /linux @@ -68,12 +70,15 @@ RUN jobs=$(nproc); \ # XXX not cross compiled yet! +ENV AUFS_TOOLS_REPO https://github.com/Distrotech/aufs-util.git ENV AUFS_TOOLS_COMMIT 5e0c348bd8b1898beb1e043b026bcb0e0c7b0d54 -RUN git clone https://github.com/Distrotech/aufs-util.git && \ +RUN git clone ${AUFS_TOOLS_REPO} && \ cd /aufs-util && \ git checkout "$AUFS_TOOLS_COMMIT" && \ CPPFLAGS="-I/tmp/kernel-headers/include" CLFAGS=$CPPFLAGS LDFLAGS=$CPPFLAGS make && \ DESTDIR=/tmp/aufs-utils make install && \ rm -rf /tmp/aufs-utils/usr/lib /tmp/aufs-utils/usr/share && \ cd /tmp/aufs-utils && tar cf /aufs-utils.tar . + +RUN printf "KERNEL_SOURCE=${KERNEL_SOURCE}\nAUFS_REPO=${AUFS_REPO}\nAUFS_BRANCH=${AUFS_BRANCH}\nAUFS_COMMIT=${AUFS_COMMIT}\nAUFS_TOOLS_REPO=${AUFS_TOOLS_REPO}\nAUFS_TOOLS_COMMIT=${AUFS_TOOLS_COMMIT}\n" > /kernel-source-info diff --git a/alpine/kernel/Makefile b/alpine/kernel/Makefile index f76d103ad..19879b845 100644 --- a/alpine/kernel/Makefile +++ b/alpine/kernel/Makefile @@ -4,6 +4,7 @@ vmlinuz64: kernel_config Dockerfile docker build -t mobykernel:build . docker run --rm mobykernel:build cat /linux/arch/x86_64/boot/bzImage > $@ docker run --rm mobykernel:build cat /aufs-utils.tar > aufs-utils.tar + docker run --rm mobykernel:build cat /kernel-source-info > kernel-source-info arm: zImage @@ -11,8 +12,9 @@ zImage: kernel_config.arm Dockerfile docker build --build-arg ARCH=arm -t mobyarmkernel:build . docker run --rm mobyarmkernel:build cat /linux/arch/arm/boot/zImage > $@ docker run --rm mobyarmkernel:build cat /aufs-utils.tar > aufs-utils.tar + docker run --rm mobykernel:build cat /kernel-source-info > kernel-source-info clean: - rm -f zImage vmlinuz64 aufs-utils.tar + rm -f zImage vmlinuz64 aufs-utils.tar kernel-source-info docker images -q mobykernel:build | xargs docker rmi -f docker images -q mobyarmkernel:build | xargs docker rmi -f