store source info for kernel and kernel patches in image for #45

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This commit is contained in:
Justin Cormack 2016-03-18 13:53:26 +00:00
parent 23458ff37f
commit cbd7af5e1d
4 changed files with 12 additions and 3 deletions

View File

@ -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/

View File

@ -1,3 +1,4 @@
vmlinuz64
zImage
aufs-utils.tar
kernel-source-info

View File

@ -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

View File

@ -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