From cb9178f314330493c982d707115cbc1f022df9b7 Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Sun, 11 Sep 2016 12:12:41 +0100 Subject: [PATCH] Use our own qemu base image Signed-off-by: Justin Cormack --- Dockerfile.qemu | 2 +- Dockerfile.qemu.armhf | 9 --------- Dockerfile.qemuiso | 2 +- Dockerfile.test | 2 +- alpine/base/alpine-qemu/Dockerfile | 9 +++++++++ alpine/base/alpine-qemu/Makefile | 32 ++++++++++++++++++++++++++++++ 6 files changed, 44 insertions(+), 12 deletions(-) delete mode 100644 Dockerfile.qemu.armhf create mode 100644 alpine/base/alpine-qemu/Dockerfile create mode 100644 alpine/base/alpine-qemu/Makefile diff --git a/Dockerfile.qemu b/Dockerfile.qemu index 20fca7c0e..e55b4ec0d 100644 --- a/Dockerfile.qemu +++ b/Dockerfile.qemu @@ -1,4 +1,4 @@ -FROM justincormack/alpine-qemu +FROM mobylinux/alpine-qemu:1f3de121e9dea39a198413344a72049839bea91b COPY alpine/initrd.img.gz . COPY alpine/kernel/x86_64/vmlinuz64 . diff --git a/Dockerfile.qemu.armhf b/Dockerfile.qemu.armhf deleted file mode 100644 index 25ef995e1..000000000 --- a/Dockerfile.qemu.armhf +++ /dev/null @@ -1,9 +0,0 @@ -FROM justincormack/alpine-qemu - -COPY alpine/initrd-arm.img . -COPY alpine/kernel/arm/zImage . -COPY alpine/kernel/dtb dtb - -RUN gzip -9 initrd-arm.img - -ENTRYPOINT [ "qemu-system-arm", "-machine", "vexpress-a15", "-cpu", "cortex-a15", "-no-reboot", "-netdev", "user,id=eth0", "-device", "virtio-net-device,netdev=eth0", "-serial", "stdio", "-kernel", "zImage", "-initrd", "initrd-arm.img.gz", "-dtb", "dtb/vexpress-v2p-ca15-tc1.dtb", "-m", "1024", "-append", "console=ttyAMA0,38400n8", "-vnc", "none" ] diff --git a/Dockerfile.qemuiso b/Dockerfile.qemuiso index 8ff221216..042612597 100644 --- a/Dockerfile.qemuiso +++ b/Dockerfile.qemuiso @@ -1,4 +1,4 @@ -FROM justincormack/alpine-qemu +FROM mobylinux/alpine-qemu:1f3de121e9dea39a198413344a72049839bea91b COPY alpine/mobylinux-bios.iso . diff --git a/Dockerfile.test b/Dockerfile.test index 62d7effe6..a139de963 100644 --- a/Dockerfile.test +++ b/Dockerfile.test @@ -1,4 +1,4 @@ -FROM justincormack/alpine-qemu +FROM mobylinux/alpine-qemu:1f3de121e9dea39a198413344a72049839bea91b COPY alpine/initrd.img.gz . COPY alpine/kernel/x86_64/vmlinuz64 . diff --git a/alpine/base/alpine-qemu/Dockerfile b/alpine/base/alpine-qemu/Dockerfile new file mode 100644 index 000000000..3c15db068 --- /dev/null +++ b/alpine/base/alpine-qemu/Dockerfile @@ -0,0 +1,9 @@ +FROM alpine:3.4 + +RUN \ + apk update && apk upgrade && \ + apk add \ + qemu-img \ + qemu-system-arm \ + qemu-system-x86_64 \ + && rm -rf /var/cache/apk/* diff --git a/alpine/base/alpine-qemu/Makefile b/alpine/base/alpine-qemu/Makefile new file mode 100644 index 000000000..fd9a07309 --- /dev/null +++ b/alpine/base/alpine-qemu/Makefile @@ -0,0 +1,32 @@ +.PHONY: tag push + +BASE=alpine:3.4 +IMAGE=alpine-qemu + +default: push + +hash: + docker pull $(BASE) + tar cf - Dockerfile | docker build --no-cache -t $(IMAGE):build - + docker run --rm $(IMAGE):build sha1sum /lib/apk/db/installed | sed 's/ .*//' > hash + +push: hash + docker pull mobylinux/$(IMAGE):$(shell cat hash) || \ + (docker tag $(IMAGE):build mobylinux/$(IMAGE):latest && \ + docker tag $(IMAGE):build mobylinux/$(IMAGE):$(shell cat hash) && \ + docker push mobylinux/$(IMAGE):$(shell cat hash) && \ + docker push mobylinux/$(IMAGE):latest) + docker rmi $(IMAGE):build + rm -f hash + +tag: hash + docker pull mobylinux/$(IMAGE):$(shell cat hash) || \ + (docker tag $(IMAGE):build mobylinux/$(IMAGE):latest && \ + docker tag $(IMAGE):build mobylinux/$(IMAGE):$(shell cat hash)) + docker rmi $(IMAGE):build + rm -f hash + +clean: + rm -f hash + +.DELETE_ON_ERROR: