mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
runqemu: add an option to enable guest-agent virtio device
Add support to the runqemu script for a new option, 'guestagent', that enables the virtio serial port for host-to-guest communication. (From OE-Core rev: 21a1e52079089c5bbeee8ffc9c504471f4a8732a) Signed-off-by: Brenda Streiff <brenda.streiff@ni.com> Signed-off-by: Clément Péron <peron.clem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
1c01cbaed5
commit
1f6b7ec6a4
|
@ -82,6 +82,7 @@ of the following environment variables (in any order):
|
|||
kvm-vhost - enable KVM with vhost when running x86/x86_64 (VT-capable CPU required)
|
||||
publicvnc - enable a VNC server open to all hosts
|
||||
audio - enable audio
|
||||
guestagent - enable guest agent communication
|
||||
[*/]ovmf* - OVMF firmware file or base name for booting with UEFI
|
||||
tcpserial=<port> - specify tcp serial port number
|
||||
qemuparams=<xyz> - specify custom parameters to QEMU
|
||||
|
@ -216,6 +217,8 @@ class BaseConfig(object):
|
|||
self.cleaned = False
|
||||
# Files to cleanup after run
|
||||
self.cleanup_files = []
|
||||
self.guest_agent = False
|
||||
self.guest_agent_sockpath = '/tmp/qga.sock'
|
||||
|
||||
def acquire_taplock(self, error=True):
|
||||
logger.debug("Acquiring lockfile %s..." % self.taplock)
|
||||
|
@ -526,6 +529,10 @@ class BaseConfig(object):
|
|||
elif arg == 'publicvnc':
|
||||
self.publicvnc = True
|
||||
self.qemu_opt_script += ' -vnc :0'
|
||||
elif arg == 'guestagent':
|
||||
self.guest_agent = True
|
||||
elif arg.startswith('guestagent-sockpath='):
|
||||
self.guest_agent_sockpath = '%s' % arg[len('guestagent-sockpath='):]
|
||||
elif arg.startswith('tcpserial='):
|
||||
self.tcpserial_portnum = '%s' % arg[len('tcpserial='):]
|
||||
elif arg.startswith('qemuparams='):
|
||||
|
@ -1375,6 +1382,12 @@ class BaseConfig(object):
|
|||
except FileNotFoundError:
|
||||
raise RunQemuError("/dev/dri directory does not exist; no render nodes available on this machine. %s" %(render_hint))
|
||||
|
||||
def setup_guest_agent(self):
|
||||
if self.guest_agent == True:
|
||||
self.qemu_opt += ' -chardev socket,path=' + self.guest_agent_sockpath + ',server,nowait,id=qga0 '
|
||||
self.qemu_opt += ' -device virtio-serial '
|
||||
self.qemu_opt += ' -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 '
|
||||
|
||||
def setup_vga(self):
|
||||
if self.nographic == True:
|
||||
if self.sdl == True:
|
||||
|
@ -1506,6 +1519,7 @@ class BaseConfig(object):
|
|||
if self.snapshot:
|
||||
self.qemu_opt += " -snapshot"
|
||||
|
||||
self.setup_guest_agent()
|
||||
self.setup_serial()
|
||||
self.setup_vga()
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user