Drvbhyve hardcodes bhyveload(8) as the host bootloader for guests.
bhyveload(8) loader only supports FreeBSD guests.
This patch series adds <bootloader> and <bootloader_args> handling to
bhyve_command, so libvirt can boot non-FreeBSD guests in Bhyve.
Additionally, support for grub-bhyve(1)'s --cons-dev argument is added so that
interactive GRUB menus can be manipulated with the domain-configured serial
device.
See patch logs for further details.
Thanks,
Conrad
Changelog:
v4:
- Supports interactive GRUB menus (Per Roman) (Ubuntu CD tested)
- Various style fixes (per Roman) (syntax-check clean)
- Moved devices.map filename from driver connection object to domain private
object (per Roman)
- Fleshed out drvbhyve.html (per Roman)
v3:
- Based on latest git as of less than an hour ago; tested HDD booting a Linux
guest several times.
- Added first cut at CD booting. I'm not sure grub-bhyve supports this
(was not able to to test it).
- make 'syntax-check' clean
- Per Roman (off-list), split up virBhyveProcessBuildLoadCmd into a few
smaller functions.
- Also per Roman (off-list), use virCommandAddArgSet() for bootloader_args.
(Without the nasty cast, my compiler complains.)
v2:
- Dropped hvm -> xen change per Peter's feedback.
Conrad Meyer (3):
bhyve: Support /domain/bootloader configuration for non-FreeBSD
guests.
Generated PO files for 'bhyve: Support /domain/bootloader'
bhyve: Add console support for grub-bhyve bootloader
docs/drvbhyve.html.in | 94 +++++++++++++++++++-
docs/formatdomain.html.in | 4 +-
po/af.po | 7 +-
po/am.po | 7 +-
po/ar.po | 7 +-
po/as.po | 7 +-
po/be.po | 7 +-
po/bg.po | 7 +-
po/bn.po | 7 +-
po/bn_IN.po | 7 +-
po/bo.po | 7 +-
po/bs.po | 7 +-
po/ca.po | 7 +-
po/cs.po | 7 +-
po/cy.po | 7 +-
po/da.po | 7 +-
po/de.po | 7 +-
po/el.po | 7 +-
po/en_GB.po | 7 +-
po/es.po | 7 +-
po/et.po | 7 +-
po/eu_ES.po | 7 +-
po/fa.po | 7 +-
po/fi.po | 7 +-
po/fr.po | 7 +-
po/gl.po | 7 +-
po/gu.po | 7 +-
po/he.po | 7 +-
po/hi.po | 7 +-
po/hr.po | 7 +-
po/hu.po | 7 +-
po/hy.po | 7 +-
po/id.po | 7 +-
po/is.po | 7 +-
po/it.po | 7 +-
po/ja.po | 7 +-
po/ka.po | 7 +-
po/kn.po | 7 +-
po/ko.po | 7 +-
po/ku.po | 7 +-
po/libvirt.pot | 7 +-
po/lo.po | 7 +-
po/lt.po | 7 +-
po/lv.po | 7 +-
po/mk.po | 7 +-
po/ml.po | 7 +-
po/mr.po | 7 +-
po/ms.po | 7 +-
po/my.po | 7 +-
po/nb.po | 7 +-
po/nl.po | 7 +-
po/nn.po | 7 +-
po/nso.po | 7 +-
po/or.po | 7 +-
po/pa.po | 7 +-
po/pl.po | 7 +-
po/pt.po | 7 +-
po/pt_BR.po | 7 +-
po/ro.po | 7 +-
po/ru.po | 7 +-
po/si.po | 7 +-
po/sk.po | 7 +-
po/sl.po | 7 +-
po/sq.po | 7 +-
po/sr.po | 7 +-
po/sr(a)latin.po | 7 +-
po/sv.po | 7 +-
po/ta.po | 7 +-
po/te.po | 7 +-
po/th.po | 7 +-
po/tr.po | 7 +-
po/uk.po | 7 +-
po/ur.po | 7 +-
po/vi.po | 7 +-
po/vi_VN.po | 7 +-
po/zh_CN.po | 7 +-
po/zh_TW.po | 7 +-
po/zu.po | 7 +-
src/bhyve/bhyve_command.c | 215 ++++++++++++++++++++++++++++++++++++++++++----
src/bhyve/bhyve_command.h | 5 +-
src/bhyve/bhyve_domain.c | 5 ++
src/bhyve/bhyve_domain.h | 1 +
src/bhyve/bhyve_driver.c | 2 +-
src/bhyve/bhyve_process.c | 13 ++-
84 files changed, 768 insertions(+), 103 deletions(-)
--
1.9.3