I've done a little more digging. The use of /usr/libexec/hypervkvpd for the child scripts comes from upstream.
https://github.com/torvalds/linux/blob/master/tools/hv/Makefile https://github.com/torvalds/linux/blob/master/tools/hv/hv_kvp_daemon.c If the governing principle is to adhere to the default Linux & Debian paths (where reasonable), then the child scripts (hv_*.sh) should live there in Ubuntu. I.e. this is a packaging error that should be fixed in Ubuntu's debian/rules.d/3-binary-indep.mk. The default install location (in torvalds/linux) for the 3 hv_*_daemon binaries is /usr/sbin, but the hv_*.sh scripts install into /usr/libexec/hyperkvpd. For Debian, the hv_*_daemon binaries are in their hyperv-daemons package and install in /usr/sbin, but it seems that they have a long standing bug (#919350) where they don't provide any of the /usr/libexec/hyperkvpd scripts. ** Tags added: packaging -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux-azure in Ubuntu. https://bugs.launchpad.net/bugs/1766857 Title: [Hyper-V] KVP daemon fails to run scripts Status in linux package in Ubuntu: Confirmed Status in linux-azure package in Ubuntu: Confirmed Status in linux source package in Bionic: Confirmed Status in linux-azure source package in Bionic: Confirmed Status in linux source package in Cosmic: Confirmed Status in linux-azure source package in Cosmic: Confirmed Bug description: While testing Bionic daily build with kernel 4.15.0-20-generic we saw that there are 2 issues with the KVP daemon: 1. KVP daemon crash after boot. Opened a different bug for this: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1779640 2. After the KVP daemon is being started the following messages appear: Apr 25 04:45:25 bionicDaily hv_kvp_daemon[1895]: sh: 1: /usr/libexec/hypervkvpd/hv_get_dns_info: not found Apr 25 04:45:25 bionicDaily hv_kvp_daemon[1895]: sh: 1: /usr/libexec/hypervkvpd/hv_get_dhcp_info: not found The above binaries are present on the system, but the their actual path is /usr/sbin/hv_get_dns_info and /usr/sbin/hv_get_dhcp_info. Either the hv_get_dhcp_info and hv_get_dns_info binaries should be placed in the location where the daemon is looking for (/usr/libexec/hypervkvpd/), or the daemon should be set to search for the binaries in the /usr/sbin directory. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1766857/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp