[Buildroot] [PATCH 2/2] package/linux-tools: add hyperv integration services

Thomas Petazzoni thomas.petazzoni at bootlin.com
Sat Jan 4 15:20:16 UTC 2020


On Fri,  3 Jan 2020 20:57:05 +0100
"Yann E. MORIN" <yann.morin.1998 at free.fr> wrote:

> From: Pascal de Bruijn <p.debruijn at unilogic.nl>
> 
> The hyperv integration services offer convenience features for guest
> operating systems running on the microsoft hyperv virtualization
> platform. They roughly are for HyperV what openvmtools are for VMWare.
> 
> The installed binary names are derived from what seems common in large
> distros like RedHat:
> 
>   linux kernel source name -> installed binary name
>              hv_vss_daemon -> hypervvssd
>              hv_kvp_daemon -> hypervkvpd
>            hv_fcopy_daemon -> hypervfcopyd
> 
> Each tool was introduced at different points in the kernel history, so
> we need to check each of them.
> 
> We provide a single init script that is responsible for starting all
> enabled programs. The global status will be the status of the last
> program to fail to start, or empty (i.e. success) if they all started
> successfuly.
> 
> However, we provide one systemd unit per program, because it is not easy
> to use a single unit to start (and monitor) more than one executable.
> Additionally, we do not provide a template that is filled at tinstall
> time either, because it does not gain much (three simple units vs. a
> template and some replacement code in the .mk).
> 
> Finally, the key-value daemon uses a few helper scripts to get/set the
> network config. All are optional (their presence is checked before
> running them), but one, hv_set_ifconfig. However, it is not strictly
> speaking required either, so we just symlink it to /bin/true to avoid
> any warning at runtime. Providing actual helpers is left to the end
> user, to adapt to their own environment.
> 
> Signed-off-by: Pascal de Bruijn <p.debruijn at unilogic.nl>
> [yann.morin.1998 at free.fr:
>   - aggregate all three tools in a single sub-package
>   - introduce the main HV option, use a sub-option for each tool
>   - aggregate the three init scripts into one
>   - don't install the helpers; symlink the mandatory one
>   - don't create symlinks for systemd units (systemctl preset-all does
>     it for us now)
>   - expand commit log
> ]
> Signed-off-by: Yann E. MORIN <yann.morin.1998 at free.fr>

Thanks applied to master, with just one very minor change.

> +config BR2_PACKAGE_LINUX_TOOLS_HV
> +	bool "hv"
> +	depends on BR2_i386 || BR2_x86_64
> +	select BR2_PACKAGE_LINUX_TOOLS
> +	select BR2_PACKAGE_LINUX_TOOLS_HV_KVP_DAEMON if !BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE
> +	help
> +	  Microsoft HyperV integration services
> +
> +	  Relevant kernel configuration options: HYPERV, HYPERV_UTILS

Changed to CONFIG_HYPERV and CONFIG_HYPERV_UTILS, as we generally point
to kernel options including their CONFIG_ prefix.

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


More information about the buildroot mailing list