mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
testimage: enable ovmf support
Add support for running wic images with EFI as testimage. Introduces a variable called QEMU_USE_OVMF for configuration. (From OE-Core rev: 3af8aaff68ed332d812ea7dc184d392700ad7882) Signed-off-by: Konrad Weihmann <kweihmann@outlook.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
b3a109509b
commit
da0ab97f61
|
@ -275,11 +275,14 @@ def testimage_main(d):
|
||||||
# Get use_kvm
|
# Get use_kvm
|
||||||
kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'), d.getVar('TARGET_ARCH'))
|
kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'), d.getVar('TARGET_ARCH'))
|
||||||
|
|
||||||
|
# Get OVMF
|
||||||
|
ovmf = d.getVar("QEMU_USE_OVMF")
|
||||||
|
|
||||||
slirp = False
|
slirp = False
|
||||||
if d.getVar("QEMU_USE_SLIRP"):
|
if d.getVar("QEMU_USE_SLIRP"):
|
||||||
slirp = True
|
slirp = True
|
||||||
|
|
||||||
# TODO: We use the current implementatin of qemu runner because of
|
# TODO: We use the current implementation of qemu runner because of
|
||||||
# time constrains, qemu runner really needs a refactor too.
|
# time constrains, qemu runner really needs a refactor too.
|
||||||
target_kwargs = { 'machine' : machine,
|
target_kwargs = { 'machine' : machine,
|
||||||
'rootfs' : rootfs,
|
'rootfs' : rootfs,
|
||||||
|
@ -293,6 +296,7 @@ def testimage_main(d):
|
||||||
'slirp' : slirp,
|
'slirp' : slirp,
|
||||||
'dump_dir' : d.getVar("TESTIMAGE_DUMP_DIR"),
|
'dump_dir' : d.getVar("TESTIMAGE_DUMP_DIR"),
|
||||||
'serial_ports': len(d.getVar("SERIAL_CONSOLES").split()),
|
'serial_ports': len(d.getVar("SERIAL_CONSOLES").split()),
|
||||||
|
'ovmf' : ovmf,
|
||||||
}
|
}
|
||||||
|
|
||||||
if d.getVar("TESTIMAGE_BOOT_PATTERNS"):
|
if d.getVar("TESTIMAGE_BOOT_PATTERNS"):
|
||||||
|
|
|
@ -20,7 +20,7 @@ class OEQemuTarget(OESSHTarget):
|
||||||
port=None, machine='', rootfs='', kernel='', kvm=False, slirp=False,
|
port=None, machine='', rootfs='', kernel='', kvm=False, slirp=False,
|
||||||
dump_dir='', dump_host_cmds='', display='', bootlog='',
|
dump_dir='', dump_host_cmds='', display='', bootlog='',
|
||||||
tmpdir='', dir_image='', boottime=60, serial_ports=2,
|
tmpdir='', dir_image='', boottime=60, serial_ports=2,
|
||||||
boot_patterns = defaultdict(str), **kwargs):
|
boot_patterns = defaultdict(str), ovmf=False, **kwargs):
|
||||||
|
|
||||||
super(OEQemuTarget, self).__init__(logger, None, server_ip, timeout,
|
super(OEQemuTarget, self).__init__(logger, None, server_ip, timeout,
|
||||||
user, port)
|
user, port)
|
||||||
|
@ -31,6 +31,7 @@ class OEQemuTarget(OESSHTarget):
|
||||||
self.rootfs = rootfs
|
self.rootfs = rootfs
|
||||||
self.kernel = kernel
|
self.kernel = kernel
|
||||||
self.kvm = kvm
|
self.kvm = kvm
|
||||||
|
self.ovmf = ovmf
|
||||||
self.use_slirp = slirp
|
self.use_slirp = slirp
|
||||||
self.boot_patterns = boot_patterns
|
self.boot_patterns = boot_patterns
|
||||||
|
|
||||||
|
@ -39,7 +40,8 @@ class OEQemuTarget(OESSHTarget):
|
||||||
logfile=bootlog, boottime=boottime,
|
logfile=bootlog, boottime=boottime,
|
||||||
use_kvm=kvm, use_slirp=slirp, dump_dir=dump_dir,
|
use_kvm=kvm, use_slirp=slirp, dump_dir=dump_dir,
|
||||||
dump_host_cmds=dump_host_cmds, logger=logger,
|
dump_host_cmds=dump_host_cmds, logger=logger,
|
||||||
serial_ports=serial_ports, boot_patterns = boot_patterns)
|
serial_ports=serial_ports, boot_patterns = boot_patterns,
|
||||||
|
use_ovmf=ovmf)
|
||||||
|
|
||||||
def start(self, params=None, extra_bootparams=None, runqemuparams=''):
|
def start(self, params=None, extra_bootparams=None, runqemuparams=''):
|
||||||
if self.use_slirp and not self.server_ip:
|
if self.use_slirp and not self.server_ip:
|
||||||
|
|
|
@ -32,7 +32,7 @@ re_control_char = re.compile('[%s]' % re.escape("".join(control_chars)))
|
||||||
class QemuRunner:
|
class QemuRunner:
|
||||||
|
|
||||||
def __init__(self, machine, rootfs, display, tmpdir, deploy_dir_image, logfile, boottime, dump_dir, dump_host_cmds,
|
def __init__(self, machine, rootfs, display, tmpdir, deploy_dir_image, logfile, boottime, dump_dir, dump_host_cmds,
|
||||||
use_kvm, logger, use_slirp=False, serial_ports=2, boot_patterns = defaultdict(str)):
|
use_kvm, logger, use_slirp=False, serial_ports=2, boot_patterns = defaultdict(str), use_ovmf=False):
|
||||||
|
|
||||||
# Popen object for runqemu
|
# Popen object for runqemu
|
||||||
self.runqemu = None
|
self.runqemu = None
|
||||||
|
@ -55,6 +55,7 @@ class QemuRunner:
|
||||||
self.logged = False
|
self.logged = False
|
||||||
self.thread = None
|
self.thread = None
|
||||||
self.use_kvm = use_kvm
|
self.use_kvm = use_kvm
|
||||||
|
self.use_ovmf = use_ovmf
|
||||||
self.use_slirp = use_slirp
|
self.use_slirp = use_slirp
|
||||||
self.serial_ports = serial_ports
|
self.serial_ports = serial_ports
|
||||||
self.msg = ''
|
self.msg = ''
|
||||||
|
@ -158,6 +159,8 @@ class QemuRunner:
|
||||||
launch_cmd += ' nographic'
|
launch_cmd += ' nographic'
|
||||||
if self.use_slirp:
|
if self.use_slirp:
|
||||||
launch_cmd += ' slirp'
|
launch_cmd += ' slirp'
|
||||||
|
if self.use_ovmf:
|
||||||
|
launch_cmd += ' ovmf'
|
||||||
launch_cmd += ' %s %s %s' % (runqemuparams, self.machine, self.rootfs)
|
launch_cmd += ' %s %s %s' % (runqemuparams, self.machine, self.rootfs)
|
||||||
|
|
||||||
return self.launch(launch_cmd, qemuparams=qemuparams, get_ip=get_ip, extra_bootparams=extra_bootparams, env=env)
|
return self.launch(launch_cmd, qemuparams=qemuparams, get_ip=get_ip, extra_bootparams=extra_bootparams, env=env)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user