[libvirt] [PATCHv4 0/3] Add non-FreeBSD guest support to Bhyve driver.

Conrad Meyer cse.cem at gmail.com
Sun Oct 26 19:41:26 UTC 2014


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 at 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




More information about the libvir-list mailing list