diff options
author | Roman Bogorodskiy <bogorodskiy@gmail.com> | 2021-02-11 19:41:12 +0400 |
---|---|---|
committer | Cole Robinson <crobinso@redhat.com> | 2021-02-15 13:27:48 -0500 |
commit | 6c7080a39bf36283c59c924f9c0d65a05bcb221f (patch) | |
tree | 58c41392c8ea2d3a6e74ee07408d24df381485a6 /virtinst/domcapabilities.py | |
parent | dab099d413b22cf5026437e3c9c2db0b003846d1 (diff) | |
download | virt-manager-6c7080a39bf36283c59c924f9c0d65a05bcb221f.tar.gz |
virtinst: bhyve: properly configure loader
Bhyve requires explicit loader configuration. So query
domain capabilities, try to find the "official"
firmware and configure all the necessary loader options.
Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Roman Bogorodskiy <bogorodskiy@gmail.com>
Diffstat (limited to 'virtinst/domcapabilities.py')
-rw-r--r-- | virtinst/domcapabilities.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/virtinst/domcapabilities.py b/virtinst/domcapabilities.py index 81f664ed..7f81e5e8 100644 --- a/virtinst/domcapabilities.py +++ b/virtinst/domcapabilities.py @@ -211,6 +211,17 @@ class DomainCapabilities(XMLBuilder): if not self.arch_can_uefi(): return # pragma: no cover + if self.conn.is_bhyve(): + firmware_files = [f.value for f in self.os.loader.values] + if not firmware_files: + return + + for firmware_file in firmware_files: + if 'BHYVE_UEFI.fd' in firmware_file: + return firmware_file + + return firmware_files[0] + patterns = self._uefi_arch_patterns.get(self.arch) for pattern in patterns: for path in [v.value for v in self.os.loader.values]: |