From 3aff6b503c97e67708a008099daf8d418eed1d19 Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Thu, 19 Jan 2017 17:01:20 +0000 Subject: [PATCH] Simplify extracting from kernel build Makes build faster Improve #691 Signed-off-by: Justin Cormack --- alpine/kernel/Makefile | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/alpine/kernel/Makefile b/alpine/kernel/Makefile index 18473047c..62233426c 100644 --- a/alpine/kernel/Makefile +++ b/alpine/kernel/Makefile @@ -6,39 +6,30 @@ ifdef AUFS x86_64/vmlinuz64: Dockerfile.aufs kernel_config kernel_config.debug kernel_config.aufs patches-4.9 mkdir -p x86_64 etc lib usr sbin BUILD=$$( tar cf - $^ | docker build -f Dockerfile.aufs --build-arg DEBUG=$(DEBUG) -q - ) && [ -n "$$BUILD" ] && echo "Built $$BUILD" && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-modules.tar > x86_64/kernel-modules.tar && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /aufs-utils.tar | tar xf - && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-source-info > etc/kernel-source-info && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /vmlinux > x86_64/vmlinux && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-headers.tar > x86_64/kernel-headers.tar && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-dev.tar > x86_64/kernel-dev.tar && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /bzImage > $@ && \ - cp -a patches-4.9 etc/kernel-patches && \ + docker run --rm --net=none --log-driver=none $$BUILD cat aufs-utils.tar | tar xf - && \ + docker run --rm --net=none --log-driver=none $$BUILD cat kernel-source-info > etc/kernel-source-info && \ + docker run --rm --net=none --log-driver=none $$BUILD tar cf - bzImage kernel-dev.tar kernel-headers.tar vmlinux kernel-modules.tar | tar xf - -C x86_64 + mv x86_64/bzImage $@ + cp -a patches-4.9 etc/kernel-patches tar xf x86_64/kernel-modules.tar else ifdef LTS4.4 x86_64/vmlinuz64: Dockerfile.4.4 kernel_config kernel_config.debug kernel_config.4.4 patches-4.4 mkdir -p x86_64 etc lib usr sbin BUILD=$$( tar cf - $^ | docker build -f Dockerfile.4.4 --build-arg DEBUG=$(DEBUG) -q - ) && [ -n "$$BUILD" ] && echo "Built $$BUILD" && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-modules.tar > x86_64/kernel-modules.tar && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-source-info > etc/kernel-source-info && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /vmlinux > x86_64/vmlinux && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-headers.tar > x86_64/kernel-headers.tar && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-dev.tar > x86_64/kernel-dev.tar && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /bzImage > $@ && \ - cp -a patches-4.4 etc/kernel-patches && \ + docker run --rm --net=none --log-driver=none $$BUILD cat kernel-source-info > etc/kernel-source-info && \ + docker run --rm --net=none --log-driver=none $$BUILD tar cf - bzImage kernel-dev.tar kernel-headers.tar vmlinux kernel-modules.tar | tar xf - -C x86_64 + mv x86_64/bzImage $@ + cp -a patches-4.4 etc/kernel-patches tar xf x86_64/kernel-modules.tar else x86_64/vmlinuz64: Dockerfile kernel_config kernel_config.debug patches-4.9 mkdir -p x86_64 etc lib usr sbin BUILD=$$( tar cf - $^ | docker build --build-arg DEBUG=$(DEBUG) -q - ) && [ -n "$$BUILD" ] && echo "Built $$BUILD" && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-modules.tar > x86_64/kernel-modules.tar && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-source-info > etc/kernel-source-info && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /vmlinux > x86_64/vmlinux && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-headers.tar > x86_64/kernel-headers.tar && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /kernel-dev.tar > x86_64/kernel-dev.tar && \ - docker run --rm --net=none --log-driver=none $$BUILD cat /bzImage > $@ && \ - cp -a patches-4.9 etc/kernel-patches && \ + docker run --rm --net=none --log-driver=none $$BUILD cat kernel-source-info > etc/kernel-source-info && \ + docker run --rm --net=none --log-driver=none $$BUILD tar cf - bzImage kernel-dev.tar kernel-headers.tar vmlinux kernel-modules.tar | tar xf - -C x86_64 + mv x86_64/bzImage $@ + cp -a patches-4.9 etc/kernel-patches tar xf x86_64/kernel-modules.tar endif endif