[libvirt] [PATCHv8 0/7] Add non-FreeBSD guest support to Bhyve driver.

Michal Privoznik mprivozn at redhat.com
Tue Nov 11 14:52:36 UTC 2014


On 08.11.2014 17:48, Conrad Meyer wrote:
> 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
>
> Changes in v8:
>    - Fix typo in virBhyveProcessStart that prevented booting bhyve VMs.
>
> Conrad Meyer (7):
>    bhyve: Support /domain/bootloader configuration for non-FreeBSD
>      guests.
>    bhyvexml2argv: Add loader argv tests.
>    domaincommon.rng: Add 'bootloader' to os=hvm schema for Bhyve
>    bhyvexml2argv: Add tests for domain-configured bootloader, args
>    bhyve: Probe grub-bhyve for --cons-dev capability
>    bhyve: Add console support for grub-bhyve bootloader
>    bhyvexml2argv: Add test for grub console support
>
>   docs/drvbhyve.html.in                              | 100 ++++++++++-
>   docs/formatdomain.html.in                          |   4 +-
>   docs/schemas/domaincommon.rng                      |  17 +-
>   src/bhyve/bhyve_capabilities.c                     |  37 ++++
>   src/bhyve/bhyve_capabilities.h                     |   3 +
>   src/bhyve/bhyve_command.c                          | 189 +++++++++++++++++++--
>   src/bhyve/bhyve_command.h                          |   5 +-
>   src/bhyve/bhyve_driver.c                           |  16 +-
>   src/bhyve/bhyve_driver.h                           |   2 +
>   src/bhyve/bhyve_process.c                          |  38 ++++-
>   src/bhyve/bhyve_utils.h                            |   2 +
>   .../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.devmap           |   1 +
>   .../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.devmap             |   1 +
>   .../bhyvexml2argv-grub-defaults.ldargs             |   2 +
>   .../bhyvexml2argv-grub-defaults.xml                |  23 +++
>   .../bhyvexml2argvdata/bhyvexml2argv-macaddr.ldargs |   1 +
>   .../bhyvexml2argv-serial-grub-nocons.args          |   4 +
>   .../bhyvexml2argv-serial-grub-nocons.devmap        |   1 +
>   .../bhyvexml2argv-serial-grub-nocons.ldargs        |   2 +
>   .../bhyvexml2argv-serial-grub-nocons.xml           |  26 +++
>   .../bhyvexml2argv-serial-grub.args                 |   4 +
>   .../bhyvexml2argv-serial-grub.devmap               |   1 +
>   .../bhyvexml2argv-serial-grub.ldargs               |   2 +
>   .../bhyvexml2argv-serial-grub.xml                  |  26 +++
>   .../bhyvexml2argvdata/bhyvexml2argv-serial.ldargs  |   1 +
>   tests/bhyvexml2argvtest.c                          |  71 +++++++-
>   41 files changed, 631 insertions(+), 39 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.devmap
>   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.devmap
>   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-nocons.args
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub-nocons.devmap
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub-nocons.ldargs
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub-nocons.xml
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub.args
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-serial-grub.devmap
>   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
>

Looking good. Basically ACK to the patches. BUT, please post a follow-up 
patches to 1/7 and 5/7 (as reply to individual patches or cover letter 
ideally). I don't want to make you to send another version. I'll merge 
the patches then.

Michal




More information about the libvir-list mailing list