[libvirt] [PATCHv5 0/6] Add non-FreeBSD guest support to Bhyve driver.

Conrad Meyer cse.cem at gmail.com
Mon Oct 27 14:37:35 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 for v5:
  - Added loader arguments tests to the bhyvexml2argvtest harness
  - Dropped po/pot file changes per Daniel
  - Added bootloader, bootloader_args to domain XML schema
  - Added xml2argv tests for new bhyve bootloader handling
  - Added xml2argv test for grub with console device

Conrad Meyer (6):
  bhyve: Support /domain/bootloader configuration for non-FreeBSD
    guests.
  bhyvexml2argv: Add loader argv tests.
  domaincommon.rng: Add bootloader, bootloader_arg to os=hvm schema for
    Bhyve
  bhyvexml2argv: Add tests for domain-configured bootloader, args
  bhyve: Add console support for grub-bhyve bootloader
  bhyvexml2argv: Add test for grub console support

 docs/drvbhyve.html.in                              |  94 ++++++++-
 docs/formatdomain.html.in                          |   4 +-
 docs/schemas/domaincommon.rng                      |  41 ++--
 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 +-
 .../bhyvexml2argv-acpiapic.ldargs                  |   1 +
 tests/bhyvexml2argvdata/bhyvexml2argv-base.ldargs  |   1 +
 .../bhyvexml2argv-bhyveload-explicitargs.args      |   3 +
 .../bhyvexml2argv-bhyveload-explicitargs.ldargs    |   1 +
 .../bhyvexml2argv-bhyveload-explicitargs.xml       |  23 +++
 .../bhyvexml2argvdata/bhyvexml2argv-console.ldargs |   1 +
 .../bhyvexml2argv-custom-loader.args               |   3 +
 .../bhyvexml2argv-custom-loader.ldargs             |   1 +
 .../bhyvexml2argv-custom-loader.xml                |  24 +++
 .../bhyvexml2argv-disk-cdrom-grub.args             |   3 +
 .../bhyvexml2argv-disk-cdrom-grub.ldargs           |   2 +
 .../bhyvexml2argv-disk-cdrom-grub.xml              |  23 +++
 .../bhyvexml2argv-disk-cdrom.ldargs                |   1 +
 .../bhyvexml2argv-disk-virtio.ldargs               |   1 +
 .../bhyvexml2argv-grub-defaults.args               |   3 +
 .../bhyvexml2argv-grub-defaults.ldargs             |   2 +
 .../bhyvexml2argv-grub-defaults.xml                |  23 +++
 .../bhyvexml2argvdata/bhyvexml2argv-macaddr.ldargs |   1 +
 .../bhyvexml2argv-serial-grub.args                 |   4 +
 .../bhyvexml2argv-serial-grub.ldargs               |   2 +
 .../bhyvexml2argv-serial-grub.xml                  |  26 +++
 .../bhyvexml2argvdata/bhyvexml2argv-serial.ldargs  |   1 +
 tests/bhyvexml2argvtest.c                          |  41 +++-
 32 files changed, 527 insertions(+), 44 deletions(-)
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-acpiapic.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-base.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-bhyveload-explicitargs.args
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-bhyveload-explicitargs.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-bhyveload-explicitargs.xml
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-console.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-custom-loader.args
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-custom-loader.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-custom-loader.xml
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.args
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom-grub.xml
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-disk-virtio.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.args
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-grub-defaults.xml
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-macaddr.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub.args
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub.xml
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial.ldargs

-- 
1.9.3




More information about the libvir-list mailing list