#!/bin/sh /etc/rc.common # Copyright (C) 2013-2017 OpenWrt.org START=99 USE_PROCD=1 start_service() { procd_open_instance procd_set_param command qemu-system-x86_64 procd_append_param command -enable-kvm procd_append_param command -cpu host procd_append_param command -smp 2 procd_append_param command -m 1G procd_append_param command -machine type=q35,accel=kvm procd_append_param command -drive file=/dev/sdb,cache=none,if=virtio,format=raw procd_append_param command -nic tap,model=virtio-net-pci,script=/usr/lib/offloader_vm_net_up,downscript=no,ifname=tap0 procd_append_param command -nic tap,model=virtio-net-pci,script=/usr/lib/offloader_vm_net_up,downscript=no,ifname=tap1 procd_append_param command -pidfile /var/run/qemu-offloader.pid procd_append_param command -chardev socket,path=/tmp/qga.qemu-offloader.sock,server=on,wait=off,id=qga0 procd_append_param command -device virtio-serial procd_append_param command -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 procd_set_param stdout 1 procd_set_param stderr 1 procd_set_param respawn procd_close_instance } #stop_service() { # [ ! -e /tmp/qga.sock ] && exit 0 # echo "sending shutdown command via guest agent" # socat stdio unix-connect:/tmp/qga.sock << EOF #{"execute":"guest-shutdown"} #EOF #} # #service_stopped() { # for i in $(seq 1 20) # do # if [ ! -e /var/run/qemu-alpine.pid ]; then # echo "vm down !" # exit 0 # fi # echo "vm not down yet" # sleep 1 # done #}