Merge pull request #336 from ncopa/kernel-to-arch-dir

Move built kernel to arch specific subdir
This commit is contained in:
Justin Cormack 2016-07-25 16:19:33 +01:00 committed by GitHub
commit 1b61921f01
11 changed files with 39 additions and 38 deletions

View File

@ -1,6 +1,6 @@
FROM justincormack/alpine-qemu
COPY alpine/initrd.img.gz .
COPY alpine/kernel/vmlinuz64 .
COPY alpine/kernel/x86_64/vmlinuz64 .
ENTRYPOINT [ "qemu-system-x86_64", "-serial", "stdio", "-kernel", "vmlinuz64", "-initrd", "initrd.img.gz", "-m", "2048", "-append", "earlyprintk=serial console=ttyS0 noapic", "-vnc", "none" ]

View File

@ -1,7 +1,7 @@
FROM justincormack/alpine-qemu
COPY alpine/initrd-arm.img .
COPY alpine/kernel/zImage .
COPY alpine/kernel/arm/zImage .
COPY alpine/kernel/dtb dtb
RUN gzip -9 initrd-arm.img

View File

@ -1,6 +1,6 @@
FROM justincormack/alpine-qemu
COPY alpine/initrd.img.gz .
COPY alpine/kernel/vmlinuz64 .
COPY alpine/kernel/x86_64/vmlinuz64 .
ENTRYPOINT [ "qemu-system-x86_64", "-serial", "stdio", "-kernel", "vmlinuz64", "-initrd", "initrd.img.gz", "-m", "1024", "-append", "earlyprintk=serial console=ttyS0 noapic mobyplatform=test", "-vnc", "none" ]

View File

@ -1,5 +1,7 @@
FROM alpine:3.4
ENV ARCH=x86_64
RUN \
addgroup -g 50 docker && \
adduser -G docker -u 1001 -s /bin/sh -D -g "Docker" docker && \
@ -30,11 +32,11 @@ RUN \
COPY etc /etc/
RUN mkdir -p /etc/docker
ADD kernel/aufs-utils.tar /
ADD kernel/$ARCH/aufs-utils.tar /
COPY mkinitrd.sh /bin/
COPY kernel/kernel-source-info /etc/
ADD kernel/kernel-patches.tar /etc/kernel-patches
ADD kernel/kernel-modules.tar /
COPY kernel/$ARCH/kernel-source-info /etc/
ADD kernel/$ARCH/kernel-patches.tar /etc/kernel-patches
ADD kernel/$ARCH/kernel-modules.tar /
COPY packages/proxy/slirp-proxy /usr/bin/
COPY packages/proxy/slirp-proxy /sbin/proxy-vsockd

View File

@ -1,6 +1,8 @@
# Create a legacy BIOS bootable ISO
FROM ubuntu:15.10
ENV ARCH=x86_64
RUN apt-get update && apt-get -y upgrade && apt-get -y install \
genisoimage \
xorriso \
@ -13,7 +15,7 @@ RUN mkdir -p /tmp/iso/isolinux && \
cp usr/lib/syslinux/modules/bios/ldlinux.c32 /tmp/iso/isolinux
COPY initrd.img /tmp/iso
COPY kernel/vmlinuz64 /tmp/iso
COPY kernel/$ARCH/vmlinuz64 /tmp/iso
COPY isolinux.cfg /tmp/iso/isolinux
RUN cd /tmp/iso && \

View File

@ -1,12 +1,14 @@
# Create a EFI Bootable ISO
FROM alpine:3.4
ENV ARCH=x86_64
RUN apk add --no-cache binutils mtools xorriso gummiboot
RUN mkdir -p /tmp/efi
COPY initrd.img.gz /tmp/efi
COPY kernel/vmlinuz64 /tmp/efi
COPY kernel/$ARCH/vmlinuz64 /tmp/efi
# Create a EFI boot file with kernel and initrd. From:
# https://github.com/haraldh/mkrescue-uefi/blob/master/mkrescue-uefi.sh

View File

@ -1,9 +1,2 @@
vmlinuz64
vmlinux
zImage
aufs-utils.tar
kernel-patches.tar
kernel-modules.tar
kernel-source-info
mobykernel-build
mobyarmkernel-build
x86_64
arm

View File

@ -57,7 +57,7 @@ RUN git clone -b "$AUFS_BRANCH" "$AUFS_REPO" /aufs && \
patch -p1 < "$patch"; \
done
COPY kernel_config /linux/arch/x86/configs/x86_64_defconfig
COPY kernel_config.x86_64 /linux/arch/x86/configs/x86_64_defconfig
COPY kernel_config.arm /linux/arch/arm/configs/versatile_defconfig
# Apply local patches

View File

@ -1,28 +1,30 @@
all: vmlinuz64
ARCH ?= x86_64
mobykernel-build: Dockerfile kernel_config
docker build -t mobykernel:build .
all: $(ARCH)/vmlinuz64
$(ARCH)/mobykernel-build: Dockerfile kernel_config.$(ARCH)
mkdir -p $(ARCH) && \
docker build --build-arg ARCH=$(ARCH) -t mobykernel-$(ARCH):build .
touch $@
mobyarmkernel-build: Dockerfile kernel_config.arm
docker build --build-arg ARCH=arm -t mobyarmkernel:build .
touch $@
$(ARCH)/aufs-utils.tar $(ARCH)/kernel-source-info $(ARCH)/kernel-patches.tar $(ARCH)/kernel-modules.tar: $(ARCH)/mobykernel-build
docker run --rm mobykernel-$(ARCH):build cat /$(notdir $@) > $@ || ! rm $@
aufs-utils.tar kernel-source-info kernel-patches.tar kernel-modules.tar: mobykernel-build
docker run --rm mobykernel:build cat /$@ > $@ || ! rm $@
$(ARCH)/bzImage $(ARCH)/zImage: $(ARCH)/aufs-utils.tar $(ARCH)/kernel-source-info $(ARCH)/kernel-patches.tar $(ARCH)/kernel-modules.tar $(ARCH)/mobykernel-build
docker run --rm mobykernel-$(ARCH):build cat /linux/arch/$(ARCH)/boot/$(notdir $@) > $@ || ! rm $@
vmlinuz64: aufs-utils.tar kernel-source-info kernel-patches.tar kernel-modules.tar mobykernel-build
docker run --rm mobykernel:build cat /linux/arch/x86_64/boot/bzImage > $@ || ! rm $@
$(ARCH)/vmlinux: $(ARCH)/bzImage
docker run --rm mobykernel-$(ARCH):build cat /linux/vmlinux > $@ || ! rm $@
vmlinux: vmlinuz64
docker run --rm mobykernel:build cat /linux/vmlinux > $@ || ! rm $@
$(ARCH)/vmlinuz64: $(ARCH)/bzImage
cp $< $@
arm: zImage
arm: arm/zImage
zImage: mobyarmkernel-build aufs-utils.tar kernel-source-info kernel-patches.tar kernel-modules.tar
docker run --rm mobyarmkernel:build cat /linux/arch/arm/boot/zImage > $@
clean-arch:
rm -rf $(ARCH)
docker images -q mobykernel-$(ARCH):build | xargs docker rmi -f || true
clean:
rm -f zImage vmlinuz64 aufs-utils.tar kernel-source-info kernel-patches.tar mobykernel-build mobyarmkernel-build
docker images -q mobykernel:build | xargs docker rmi -f || true
docker images -q mobyarmkernel:build | xargs docker rmi -f || true
$(MAKE) clean-arch ARCH=arm
$(MAKE) clean-arch ARCH=x86_64

View File

@ -10,7 +10,7 @@ else
cp /Applications/Docker.app/Contents/Resources/moby/initrd.img /Applications/Docker.app/Contents/Resources/moby/initrd.img-
cp /Applications/Docker.app/Contents/Resources/moby/vmlinuz64 /Applications/Docker.app/Contents/Resources/moby/vmlinuz64-
cp alpine/initrd.img /Applications/Docker.app/Contents/Resources/moby/initrd.img
cp alpine/kernel/vmlinuz64 /Applications/Docker.app/Contents/Resources/moby/vmlinuz64
cp alpine/kernel/x86_64/vmlinuz64 /Applications/Docker.app/Contents/Resources/moby/vmlinuz64
fi
killall com.docker.driver.amd64-linux