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
|
||||
|
||||
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" ]
|
||||
|
@ -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
|
||||
|
@ -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" ]
|
||||
|
@ -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
|
||||
|
@ -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 && \
|
||||
|
@ -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
|
||||
|
11
alpine/kernel/.gitignore
vendored
11
alpine/kernel/.gitignore
vendored
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user