mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-21 01:59:07 +00:00
Move built kernel to arch specific subdir
We want be able to build kernels for different archs without that they clash with each other so we but the generated files into an $arch subdir. Signed-off-by: Natanael Copa <natanael.copa@docker.com>
This commit is contained in:
parent
2547512809
commit
66ba586cac
@ -1,6 +1,6 @@
|
|||||||
FROM justincormack/alpine-qemu
|
FROM justincormack/alpine-qemu
|
||||||
|
|
||||||
COPY alpine/initrd.img.gz .
|
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" ]
|
ENTRYPOINT [ "qemu-system-x86_64", "-serial", "stdio", "-kernel", "vmlinuz64", "-initrd", "initrd.img.gz", "-m", "2048", "-append", "earlyprintk=serial console=ttyS0 noapic", "-vnc", "none" ]
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
FROM justincormack/alpine-qemu
|
FROM justincormack/alpine-qemu
|
||||||
|
|
||||||
COPY alpine/initrd-arm.img .
|
COPY alpine/initrd-arm.img .
|
||||||
COPY alpine/kernel/zImage .
|
COPY alpine/kernel/arm/zImage .
|
||||||
COPY alpine/kernel/dtb dtb
|
COPY alpine/kernel/dtb dtb
|
||||||
|
|
||||||
RUN gzip -9 initrd-arm.img
|
RUN gzip -9 initrd-arm.img
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
FROM justincormack/alpine-qemu
|
FROM justincormack/alpine-qemu
|
||||||
|
|
||||||
COPY alpine/initrd.img.gz .
|
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" ]
|
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" ]
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
FROM alpine:3.4
|
FROM alpine:3.4
|
||||||
|
|
||||||
|
ENV ARCH=x86_64
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
addgroup -g 50 docker && \
|
addgroup -g 50 docker && \
|
||||||
adduser -G docker -u 1001 -s /bin/sh -D -g "Docker" docker && \
|
adduser -G docker -u 1001 -s /bin/sh -D -g "Docker" docker && \
|
||||||
@ -30,11 +32,11 @@ RUN \
|
|||||||
COPY etc /etc/
|
COPY etc /etc/
|
||||||
RUN mkdir -p /etc/docker
|
RUN mkdir -p /etc/docker
|
||||||
|
|
||||||
ADD kernel/aufs-utils.tar /
|
ADD kernel/$ARCH/aufs-utils.tar /
|
||||||
COPY mkinitrd.sh /bin/
|
COPY mkinitrd.sh /bin/
|
||||||
COPY kernel/kernel-source-info /etc/
|
COPY kernel/$ARCH/kernel-source-info /etc/
|
||||||
ADD kernel/kernel-patches.tar /etc/kernel-patches
|
ADD kernel/$ARCH/kernel-patches.tar /etc/kernel-patches
|
||||||
ADD kernel/kernel-modules.tar /
|
ADD kernel/$ARCH/kernel-modules.tar /
|
||||||
|
|
||||||
COPY packages/proxy/slirp-proxy /usr/bin/
|
COPY packages/proxy/slirp-proxy /usr/bin/
|
||||||
COPY packages/proxy/slirp-proxy /sbin/proxy-vsockd
|
COPY packages/proxy/slirp-proxy /sbin/proxy-vsockd
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# Create a legacy BIOS bootable ISO
|
# Create a legacy BIOS bootable ISO
|
||||||
FROM ubuntu:15.10
|
FROM ubuntu:15.10
|
||||||
|
|
||||||
|
ENV ARCH=x86_64
|
||||||
|
|
||||||
RUN apt-get update && apt-get -y upgrade && apt-get -y install \
|
RUN apt-get update && apt-get -y upgrade && apt-get -y install \
|
||||||
genisoimage \
|
genisoimage \
|
||||||
xorriso \
|
xorriso \
|
||||||
@ -13,7 +15,7 @@ RUN mkdir -p /tmp/iso/isolinux && \
|
|||||||
cp usr/lib/syslinux/modules/bios/ldlinux.c32 /tmp/iso/isolinux
|
cp usr/lib/syslinux/modules/bios/ldlinux.c32 /tmp/iso/isolinux
|
||||||
|
|
||||||
COPY initrd.img /tmp/iso
|
COPY initrd.img /tmp/iso
|
||||||
COPY kernel/vmlinuz64 /tmp/iso
|
COPY kernel/$ARCH/vmlinuz64 /tmp/iso
|
||||||
COPY isolinux.cfg /tmp/iso/isolinux
|
COPY isolinux.cfg /tmp/iso/isolinux
|
||||||
|
|
||||||
RUN cd /tmp/iso && \
|
RUN cd /tmp/iso && \
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
# Create a EFI Bootable ISO
|
# Create a EFI Bootable ISO
|
||||||
FROM alpine:3.4
|
FROM alpine:3.4
|
||||||
|
|
||||||
|
ENV ARCH=x86_64
|
||||||
|
|
||||||
RUN apk add --no-cache binutils mtools xorriso gummiboot
|
RUN apk add --no-cache binutils mtools xorriso gummiboot
|
||||||
|
|
||||||
RUN mkdir -p /tmp/efi
|
RUN mkdir -p /tmp/efi
|
||||||
|
|
||||||
COPY initrd.img.gz /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:
|
# Create a EFI boot file with kernel and initrd. From:
|
||||||
# https://github.com/haraldh/mkrescue-uefi/blob/master/mkrescue-uefi.sh
|
# https://github.com/haraldh/mkrescue-uefi/blob/master/mkrescue-uefi.sh
|
||||||
|
11
alpine/kernel/.gitignore
vendored
11
alpine/kernel/.gitignore
vendored
@ -1,9 +1,2 @@
|
|||||||
vmlinuz64
|
x86_64
|
||||||
vmlinux
|
arm
|
||||||
zImage
|
|
||||||
aufs-utils.tar
|
|
||||||
kernel-patches.tar
|
|
||||||
kernel-modules.tar
|
|
||||||
kernel-source-info
|
|
||||||
mobykernel-build
|
|
||||||
mobyarmkernel-build
|
|
||||||
|
@ -57,7 +57,7 @@ RUN git clone -b "$AUFS_BRANCH" "$AUFS_REPO" /aufs && \
|
|||||||
patch -p1 < "$patch"; \
|
patch -p1 < "$patch"; \
|
||||||
done
|
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
|
COPY kernel_config.arm /linux/arch/arm/configs/versatile_defconfig
|
||||||
|
|
||||||
# Apply local patches
|
# Apply local patches
|
||||||
|
@ -1,28 +1,30 @@
|
|||||||
all: vmlinuz64
|
ARCH ?= x86_64
|
||||||
|
|
||||||
mobykernel-build: Dockerfile kernel_config
|
all: $(ARCH)/vmlinuz64
|
||||||
docker build -t mobykernel:build .
|
|
||||||
|
$(ARCH)/mobykernel-build: Dockerfile kernel_config.$(ARCH)
|
||||||
|
mkdir -p $(ARCH) && \
|
||||||
|
docker build --build-arg ARCH=$(ARCH) -t mobykernel-$(ARCH):build .
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
mobyarmkernel-build: Dockerfile kernel_config.arm
|
$(ARCH)/aufs-utils.tar $(ARCH)/kernel-source-info $(ARCH)/kernel-patches.tar $(ARCH)/kernel-modules.tar: $(ARCH)/mobykernel-build
|
||||||
docker build --build-arg ARCH=arm -t mobyarmkernel:build .
|
docker run --rm mobykernel-$(ARCH):build cat /$(notdir $@) > $@ || ! rm $@
|
||||||
touch $@
|
|
||||||
|
|
||||||
aufs-utils.tar kernel-source-info kernel-patches.tar kernel-modules.tar: mobykernel-build
|
$(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:build cat /$@ > $@ || ! rm $@
|
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
|
$(ARCH)/vmlinux: $(ARCH)/bzImage
|
||||||
docker run --rm mobykernel:build cat /linux/arch/x86_64/boot/bzImage > $@ || ! rm $@
|
docker run --rm mobykernel-$(ARCH):build cat /linux/vmlinux > $@ || ! rm $@
|
||||||
|
|
||||||
vmlinux: vmlinuz64
|
$(ARCH)/vmlinuz64: $(ARCH)/bzImage
|
||||||
docker run --rm mobykernel:build cat /linux/vmlinux > $@ || ! rm $@
|
cp $< $@
|
||||||
|
|
||||||
arm: zImage
|
arm: arm/zImage
|
||||||
|
|
||||||
zImage: mobyarmkernel-build aufs-utils.tar kernel-source-info kernel-patches.tar kernel-modules.tar
|
clean-arch:
|
||||||
docker run --rm mobyarmkernel:build cat /linux/arch/arm/boot/zImage > $@
|
rm -rf $(ARCH)
|
||||||
|
docker images -q mobykernel-$(ARCH):build | xargs docker rmi -f || true
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f zImage vmlinuz64 aufs-utils.tar kernel-source-info kernel-patches.tar mobykernel-build mobyarmkernel-build
|
$(MAKE) clean-arch ARCH=arm
|
||||||
docker images -q mobykernel:build | xargs docker rmi -f || true
|
$(MAKE) clean-arch ARCH=x86_64
|
||||||
docker images -q mobyarmkernel:build | xargs docker rmi -f || true
|
|
||||||
|
@ -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/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 /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/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
|
fi
|
||||||
|
|
||||||
killall com.docker.driver.amd64-linux
|
killall com.docker.driver.amd64-linux
|
||||||
|
Loading…
Reference in New Issue
Block a user