Merge pull request #1146 from justincormack/mv-kernel

Move kernel directory to top level
This commit is contained in:
Justin Cormack 2017-02-04 12:02:25 +01:00 committed by GitHub
commit f524a1eb5a
69 changed files with 32 additions and 33 deletions

View File

@ -12,8 +12,8 @@ alpine/initrd.img:
alpine/initrd-test.img: alpine/initrd-test.img:
$(MAKE) -C alpine initrd-test.img $(MAKE) -C alpine initrd-test.img
alpine/kernel/x86_64/vmlinuz64: kernel/x86_64/vmlinuz64:
$(MAKE) -C alpine/kernel x86_64/vmlinuz64 $(MAKE) -C kernel
alpine/mobylinux-bios.iso: alpine/mobylinux-bios.iso:
$(MAKE) -C alpine mobylinux-bios.iso $(MAKE) -C alpine mobylinux-bios.iso
@ -24,8 +24,8 @@ alpine/gce.img.tar.gz:
QEMU_IMAGE=mobylinux/qemu:0fb8c648e8ed9ef6b1ec449587aeab6c53872744@sha256:606f30d815102e73bc01c07915dc0d5f153b0252c63f5f0ed1e39621ec656eb5 QEMU_IMAGE=mobylinux/qemu:0fb8c648e8ed9ef6b1ec449587aeab6c53872744@sha256:606f30d815102e73bc01c07915dc0d5f153b0252c63f5f0ed1e39621ec656eb5
# interactive versions need to use volume mounts # interactive versions need to use volume mounts
qemu: alpine/initrd.img alpine/kernel/x86_64/vmlinuz64 qemu: alpine/initrd.img kernel/x86_64/vmlinuz64
docker run -it --rm -v $(CURDIR)/alpine/initrd.img:/tmp/initrd.img -v $(CURDIR)/alpine/kernel/x86_64/vmlinuz64:/tmp/vmlinuz64 $(QEMU_IMAGE) docker run -it --rm -v $(CURDIR)/alpine/initrd.img:/tmp/initrd.img -v $(CURDIR)/kernel/x86_64/vmlinuz64:/tmp/vmlinuz64 $(QEMU_IMAGE)
qemu-iso: alpine/mobylinux-bios.iso qemu-iso: alpine/mobylinux-bios.iso
docker run -it --rm -v $(CURDIR)/alpine/mobylinux-bios.iso:/tmp/mobylinux-bios.iso $(QEMU_IMAGE) docker run -it --rm -v $(CURDIR)/alpine/mobylinux-bios.iso:/tmp/mobylinux-bios.iso $(QEMU_IMAGE)
@ -60,19 +60,19 @@ bin/regextract: | bin
curl -fsSL https://circleci.com/api/v1/project/justincormack/regextract/latest/artifacts/0/\$$CIRCLE_ARTIFACTS/darwin/amd64/regextract > $@ curl -fsSL https://circleci.com/api/v1/project/justincormack/regextract/latest/artifacts/0/\$$CIRCLE_ARTIFACTS/darwin/amd64/regextract > $@
chmod a+x $@ chmod a+x $@
hyperkit: hyperkit.sh bin/com.docker.hyperkit bin/com.docker.slirp alpine/initrd.img alpine/kernel/x86_64/vmlinuz64 hyperkit: hyperkit.sh bin/com.docker.hyperkit bin/com.docker.slirp alpine/initrd.img kernel/x86_64/vmlinuz64
./hyperkit.sh ./hyperkit.sh
define check_test_log define check_test_log
@cat $1 |grep -q 'Moby test suite PASSED' @cat $1 |grep -q 'Moby test suite PASSED'
endef endef
hyperkit-test: hyperkit.sh bin/com.docker.hyperkit bin/com.docker.slirp alpine/initrd-test.img alpine/kernel/x86_64/vmlinuz64 hyperkit-test: hyperkit.sh bin/com.docker.hyperkit bin/com.docker.slirp alpine/initrd-test.img kernel/x86_64/vmlinuz64
rm -f disk.img rm -f disk.img
INITRD=alpine/initrd-test.img script -q /dev/null ./hyperkit.sh | tee test.log INITRD=alpine/initrd-test.img script -q /dev/null ./hyperkit.sh | tee test.log
$(call check_test_log, test.log) $(call check_test_log, test.log)
test: alpine/initrd-test.img alpine/kernel/x86_64/vmlinuz64 test: alpine/initrd-test.img kernel/x86_64/vmlinuz64
tar cf - $^ | docker run --rm -i $(QEMU_IMAGE) 2>&1 | tee test.log tar cf - $^ | docker run --rm -i $(QEMU_IMAGE) 2>&1 | tee test.log
$(call check_test_log, test.log) $(call check_test_log, test.log)
@ -88,22 +88,22 @@ endif
MEDIA_IMAGE=mobylinux/media:$(MEDIA_PREFIX)$(AUFS_PREFIX)$(TAG) MEDIA_IMAGE=mobylinux/media:$(MEDIA_PREFIX)$(AUFS_PREFIX)$(TAG)
INITRD_IMAGE=mobylinux/mobylinux:$(MEDIA_PREFIX)$(AUFS_PREFIX)$(TAG) INITRD_IMAGE=mobylinux/mobylinux:$(MEDIA_PREFIX)$(AUFS_PREFIX)$(TAG)
KERNEL_IMAGE=mobylinux/kernel:$(MEDIA_PREFIX)$(AUFS_PREFIX)$(TAG) KERNEL_IMAGE=mobylinux/kernel:$(MEDIA_PREFIX)$(AUFS_PREFIX)$(TAG)
media: Dockerfile.media alpine/initrd.img alpine/initrd-test.img alpine/kernel/x86_64/vmlinuz64 alpine/mobylinux-efi.iso media: Dockerfile.media alpine/initrd.img alpine/initrd-test.img kernel/x86_64/vmlinuz64 alpine/mobylinux-efi.iso
ifeq ($(STATUS),) ifeq ($(STATUS),)
tar cf - $^ alpine/mobylinux.efi alpine/kernel/x86_64/vmlinux alpine/kernel/x86_64/kernel-headers.tar alpine/kernel/x86_64/kernel-dev.tar | docker build -f Dockerfile.media -t $(MEDIA_IMAGE) - tar cf - $^ alpine/mobylinux.efi kernel/x86_64/vmlinux kernel/x86_64/kernel-headers.tar kernel/x86_64/kernel-dev.tar | docker build -f Dockerfile.media -t $(MEDIA_IMAGE) -
docker push $(MEDIA_IMAGE) docker push $(MEDIA_IMAGE)
[ -f $(MOBYLINUX_TAG) ] [ -f $(MOBYLINUX_TAG) ]
docker tag $(shell cat $(MOBYLINUX_TAG)) $(INITRD_IMAGE) docker tag $(shell cat $(MOBYLINUX_TAG)) $(INITRD_IMAGE)
docker push $(INITRD_IMAGE) docker push $(INITRD_IMAGE)
tar cf - Dockerfile.kernel alpine/kernel/x86_64/vmlinuz64 | docker build -f Dockerfile.kernel -t $(KERNEL_IMAGE) - tar cf - Dockerfile.kernel kernel/x86_64/vmlinuz64 | docker build -f Dockerfile.kernel -t $(KERNEL_IMAGE) -
docker push $(KERNEL_IMAGE) docker push $(KERNEL_IMAGE)
else else
$(error "git not clean") $(error "git not clean")
endif endif
EBPF_TAG=alpine/base/ebpf/ebpf.tag EBPF_TAG=ebpf/ebpf.tag
EBPF_IMAGE=mobylinux/ebpf:$(MEDIA_PREFIX)$(AUFS_PREFIX)$(TAG) EBPF_IMAGE=mobylinux/ebpf:$(MEDIA_PREFIX)$(AUFS_PREFIX)$(TAG)
ebpf: alpine/initrd.img alpine/kernel/x86_64/vmlinuz64 ebpf: alpine/initrd.img kernel/x86_64/vmlinuz64
ifeq ($(STATUS),) ifeq ($(STATUS),)
[ -f $(EBPF_TAG) ] [ -f $(EBPF_TAG) ]
docker tag $(shell cat $(EBPF_TAG)) $(EBPF_IMAGE) docker tag $(shell cat $(EBPF_TAG)) $(EBPF_IMAGE)
@ -112,13 +112,13 @@ else
$(error "git not clean") $(error "git not clean")
endif endif
MEDIA_FILES=alpine/kernel/x86_64/vmlinuz64 alpine/kernel/x86_64/vmlinux alpine/initrd.img alpine/mobylinux-efi.iso alpine/mobylinux.efi MEDIA_FILES=kernel/x86_64/vmlinuz64 kernel/x86_64/vmlinux alpine/initrd.img alpine/mobylinux-efi.iso alpine/mobylinux.efi
MEDIA_FILES_OPT=alpine/kernel/x86_64/kernel-headers.tar alpine/kernel/x86_64/kernel-dev.tar alpine/initrd-test.img MEDIA_FILES_OPT=kernel/x86_64/kernel-headers.tar kernel/x86_64/kernel-dev.tar alpine/initrd-test.img
get: get:
ifeq ($(STATUS),) ifeq ($(STATUS),)
IMAGE=$$( docker create mobylinux/media:$(MEDIA_PREFIX)$(AUFS_PREFIX)$(TAG) /dev/null ) && \ IMAGE=$$( docker create mobylinux/media:$(MEDIA_PREFIX)$(AUFS_PREFIX)$(TAG) /dev/null ) && \
mkdir -p alpine/kernel/x86_64 && \ mkdir -p kernel/x86_64 && \
for FILE in $(MEDIA_FILES); do docker cp $$IMAGE:$$(basename $$FILE) $$FILE || exit; done; \ for FILE in $(MEDIA_FILES); do docker cp $$IMAGE:$$(basename $$FILE) $$FILE || exit; done; \
for FILE in $(MEDIA_FILES_OPT); do docker cp $$IMAGE:$$(basename $$FILE) $$FILE; done; \ for FILE in $(MEDIA_FILES_OPT); do docker cp $$IMAGE:$$(basename $$FILE) $$FILE; done; \
docker rm $$IMAGE docker rm $$IMAGE
@ -132,6 +132,7 @@ ifeq ($(STATUS),)
TMP_EXTRACT=$$(mktemp -d) && \ TMP_EXTRACT=$$(mktemp -d) && \
for FILE in $(MEDIA_FILES) $(MEDIA_FILES_OPT); do mkdir -p $$(dirname $$FILE); done; \ for FILE in $(MEDIA_FILES) $(MEDIA_FILES_OPT); do mkdir -p $$(dirname $$FILE); done; \
bin/regextract mobylinux/media:$(MEDIA_PREFIX)$(AUFS_PREFIX)$(TAG) | tar xf - -C $$TMP_EXTRACT && \ bin/regextract mobylinux/media:$(MEDIA_PREFIX)$(AUFS_PREFIX)$(TAG) | tar xf - -C $$TMP_EXTRACT && \
mkdir -p kernel/x86_64 && \
for FILE in $(MEDIA_FILES); do cp $$TMP_EXTRACT/$$(basename $$FILE) $$FILE || exit; done; \ for FILE in $(MEDIA_FILES); do cp $$TMP_EXTRACT/$$(basename $$FILE) $$FILE || exit; done; \
for FILE in $(MEDIA_FILES_OPT); do cp $$TMP_EXTRACT/$$(basename $$FILE) $$FILE; done; \ for FILE in $(MEDIA_FILES_OPT); do cp $$TMP_EXTRACT/$$(basename $$FILE) $$FILE; done; \
rm -Rf $$TMP_EXTRACT rm -Rf $$TMP_EXTRACT
@ -156,4 +157,5 @@ clean:
$(MAKE) -C alpine clean $(MAKE) -C alpine clean
$(MAKE) -C containers clean $(MAKE) -C containers clean
$(MAKE) -C test clean $(MAKE) -C test clean
$(MAKE) -C kernel clean
rm -rf bin disk.img test.log rm -rf bin disk.img test.log

View File

@ -61,26 +61,26 @@ moby.img: Dockerfile etc usr init
../test/test.img: ../test/test.img:
$(MAKE) -C ../test $(MAKE) -C ../test
kernel/x86_64/kernel.img: ../kernel/x86_64/kernel.img:
$(MAKE) -C kernel $(MAKE) -C ../kernel
initrd.img: moby.img kernel/x86_64/kernel.img ../containers/container.img initrd.img: moby.img ../kernel/x86_64/kernel.img ../containers/container.img
cat $^ > $@ cat $^ > $@
initrd-test.img: initrd.img ../test/test.img initrd-test.img: initrd.img ../test/test.img
cat $^ > $@ cat $^ > $@
# outputs tarball of mobylinux-efi.iso mobylinux.efi # outputs tarball of mobylinux-efi.iso mobylinux.efi
mobylinux-efi.iso: initrd.img kernel/x86_64/vmlinuz64 mobylinux-efi.iso: initrd.img ../kernel/x86_64/vmlinuz64
tar cf - $^ | docker run --rm --net=none --log-driver=none -i $(EFI_IMAGE) | tar xf - tar cf - initrd.img -C ../kernel/x86_64 vmlinuz64 | docker run --rm --net=none --log-driver=none -i $(EFI_IMAGE) | tar xf -
mobylinux-bios.iso: initrd.img kernel/x86_64/vmlinuz64 mobylinux-bios.iso: initrd.img ../kernel/x86_64/vmlinuz64
tar cf - $^ | docker run --rm --net=none --log-driver=none -i $(BIOS_IMAGE) >$@ tar cf - initrd.img -C ../kernel/x86_64 vmlinuz64 | docker run --rm --net=none --log-driver=none -i $(BIOS_IMAGE) >$@
gce: gce.img.tar.gz gce: gce.img.tar.gz
gce.img.tar.gz: initrd.img kernel/x86_64/vmlinuz64 gce.img.tar.gz: initrd.img ../kernel/x86_64/vmlinuz64
tar cf - $^ | docker run --rm --net=none --log-driver=none -i $(GCE_IMAGE) >$@ tar cf - initrd.img -C ../kernel/x86_64 vmlinuz64 | docker run --rm --net=none --log-driver=none -i $(GCE_IMAGE) >$@
gce-upload: gce-upload:
ifeq ($(FORCE_GSUTIL_AUTH),1) ifeq ($(FORCE_GSUTIL_AUTH),1)
@ -93,11 +93,9 @@ endif
google/cloud-sdk \ google/cloud-sdk \
gsutil cp -a public-read /gce.img.tar.gz gs://docker-for-gcp-images/latest/gce.img.tar.gz gsutil cp -a public-read /gce.img.tar.gz gs://docker-for-gcp-images/latest/gce.img.tar.gz
common: initrd.img kernel/x86_64/vmlinuz64 ami: initrd.img ../kernel/x86_64/vmlinuz64
ami: common
tar cf - \ tar cf - \
cloud initrd.img kernel/x86_64/vmlinuz64 \ cloud initrd.img -C .. kernel/x86_64/vmlinuz64 \
| \ | \
docker build -t moby-ami:build -f cloud/Dockerfile.ami - docker build -t moby-ami:build -f cloud/Dockerfile.ami -
# The EBS device seems not to show up without mounting in /dev, even # The EBS device seems not to show up without mounting in /dev, even
@ -155,9 +153,9 @@ uploadvhd: azure
moby-azure:build \ moby-azure:build \
uploadvhd >./cloud/azure/vhd_blob_url.out uploadvhd >./cloud/azure/vhd_blob_url.out
azure: common vhdartifact azure: initrd.img ../kernel/x86_64/vmlinuz64 vhdartifact
tar cf - \ tar cf - \
cloud initrd.img kernel/x86_64/vmlinuz64 \ cloud initrd.img -C .. kernel/x86_64/vmlinuz64 \
| \ | \
docker build -t moby-azure:build -f cloud/Dockerfile.azure - docker build -t moby-azure:build -f cloud/Dockerfile.azure -
tar cf - \ tar cf - \
@ -200,6 +198,5 @@ clean:
docker images -q moby-azure:raw2vhd | xargs docker rmi -f || true docker images -q moby-azure:raw2vhd | xargs docker rmi -f || true
docker volume rm vhdartifact || true docker volume rm vhdartifact || true
$(MAKE) -C packages clean $(MAKE) -C packages clean
$(MAKE) -C kernel clean
.DELETE_ON_ERROR: .DELETE_ON_ERROR:

View File

@ -2,7 +2,7 @@
set -e set -e
KERNEL="alpine/kernel/x86_64/vmlinuz64" KERNEL="kernel/x86_64/vmlinuz64"
: ${INITRD:="alpine/initrd.img"} : ${INITRD:="alpine/initrd.img"}
CMDLINE="earlyprintk=serial console=ttyS0" CMDLINE="earlyprintk=serial console=ttyS0"