summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2018-05-23 13:47:01 -0400
committerLuke Shumaker <lukeshu@lukeshu.com>2018-08-21 00:41:24 -0400
commit5016c1da15b3fadefb98f1fe18697b0cfe04187d (patch)
treed37c996ff959db81843876a8f5528e5fd6344a78
parent74f4141aa3fdf0033ab367157cd5e4a4313e3b76 (diff)
Add Type=notify for initialization errors, log ttyS0
-rw-r--r--conf.d/qemu.d/qemutest7
-rwxr-xr-xsystemd/system/qemu8
-rw-r--r--systemd/system/qemu@.service3
3 files changed, 16 insertions, 2 deletions
diff --git a/conf.d/qemu.d/qemutest b/conf.d/qemu.d/qemutest
new file mode 100644
index 0000000..04d9046
--- /dev/null
+++ b/conf.d/qemu.d/qemutest
@@ -0,0 +1,7 @@
+#!/hint/bash
+
+system=x86_64
+args=(
+ -machine accel=kvm -m 5G
+ -drive media=disk,file=/dev/vg_build64/lv_qemutest_root,format=raw,if=virtio
+)
diff --git a/systemd/system/qemu b/systemd/system/qemu
index 603a437..ca35498 100755
--- a/systemd/system/qemu
+++ b/systemd/system/qemu
@@ -6,6 +6,12 @@ args+=(
-pidfile "/run/qemu-$1/pid"
-vnc unix:"/run/qemu-$1/vnc.sock"
-monitor unix:"/run/qemu-$1/monitor.sock",server,nowait
+ -serial unix:"/run/qemu-$1/ttyS0.sock",server
-daemonize
)
-exec qemu-system-"${system}" "${args[@]}"
+{
+ until [[ -S /run/qemu-$1/ttyS0.sock ]]; do :; done
+ exec socat UNIX-CONNECT:"/run/qemu-$1/ttyS0.sock" STDOUT > >(exec cat)
+} &
+qemu-system-"${system}" "${args[@]}"
+systemd-notify --ready
diff --git a/systemd/system/qemu@.service b/systemd/system/qemu@.service
index 7adcbfb..95cbefc 100644
--- a/systemd/system/qemu@.service
+++ b/systemd/system/qemu@.service
@@ -5,7 +5,8 @@ PartOf=machines.target
Before=machines.target
[Service]
-Type=forking
+Type=notify
+NotifyAccess=all
RuntimeDirectory=qemu-%I
PIDFile=/run/qemu-%I/pid
ExecStart=/etc/systemd/system/qemu %I