From cfe90cf06084d5ce767a8bae0fb1e16809005b33 Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Fri, 22 Jan 2016 17:37:07 +0000 Subject: [PATCH] WIP kexec script for testing on different hardware Signed-off-by: Justin Cormack --- Dockerfile.remora | 8 ++++++++ Makefile | 5 +++++ remora/do-kexec.sh | 14 ++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 Dockerfile.remora create mode 100755 remora/do-kexec.sh diff --git a/Dockerfile.remora b/Dockerfile.remora new file mode 100644 index 000000000..144f89c94 --- /dev/null +++ b/Dockerfile.remora @@ -0,0 +1,8 @@ +FROM justincormack/alpine-kexec + +ADD alpine/initrd.img . +ADD alpine/kernel/vmlinuz64 . + +ADD remora/do-kexec.sh /usr/local/bin + +ENTRYPOINT ["/usr/local/bin/do-kexec.sh"] diff --git a/Makefile b/Makefile index c7c38dc3e..4b5c94652 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,12 @@ qemu-arm: Dockerfile.armhf arm docker build -f Dockerfile.qemu.armhf -t mobyarmqemu:build . docker run -it mobyarmqemu:build +.PHONY: remora clean +remora: Dockerfile.remora remora/do-kexec.sh + docker build -f Dockerfile.remora -t justincormack/remora . + clean: $(MAKE) -C alpine clean $(MAKE) -C xhyve clean docker images -q mobyqemu:build | xargs docker rmi -f + docker images -q justincormack/remora | xargs docker rmi -f diff --git a/remora/do-kexec.sh b/remora/do-kexec.sh new file mode 100755 index 000000000..45893c633 --- /dev/null +++ b/remora/do-kexec.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +set -ex + +APPEND="$*" + +[ -z "$*" ] && APPEND="$(cat /proc/cmdline)" + +gzip initrd.img + +mv initrd.img.gz vmlinuz64 /var/tmp + +kexec -f /var/tmp/vmlinuz64 --initrd=/var/tmp/initrd.img.gz --append="$APPEND" +kexec -e