mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-22 06:01:41 +02:00
oem-azure: add hyperv daemons (#2309)
* oem-azure: add hyperv daemons This change adds hyperv daemons hv_fcopy, hv_kvp, and hv_vss to the Azure and HyperV OEM sysexts. hv_kvp specifically is needed to submit OS version information to the Azure hypervisor. The daemons, tough userspace programs, are built from the kernel sources as they are included in the Linux kernel. As the ebuild is (somewhat) kernel specific, it should be updated when the kernel is updated. Respective additions have been made to the kernel update GitHub actions automation. Signed-off-by: Thilo Fromm <thilofromm@microsoft.com> Co-authored-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
This commit is contained in:
parent
03d1f406cf
commit
32c40fa1cb
10
.github/workflows/kernel-apply-patch.sh
vendored
10
.github/workflows/kernel-apply-patch.sh
vendored
@ -11,6 +11,7 @@ if ! check_remote_branch "linux-${VERSION_NEW}-${TARGET_BRANCH}"; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Dive into ebuild repo section of SDK
|
||||
pushd "${SDK_OUTER_OVERLAY}"
|
||||
|
||||
# trim the 3rd part in the input semver, e.g. from 5.4.1 to 5.4
|
||||
@ -31,6 +32,12 @@ for pkg in sources modules kernel; do
|
||||
popd
|
||||
done
|
||||
|
||||
# Update hyperv daemons ebuild soft-link to reflect new kernel version
|
||||
find -D exec app-emulation/hv-daemons/ -type l -exec rm '{}' \;
|
||||
ln -s app-emulation/hv-daemons/hv-daemons-9999.ebuild \
|
||||
app-emulation/hv-daemons/hv-daemons-${VERSION_NEW}.ebuild
|
||||
|
||||
# Leave ebuild repo section of SDK
|
||||
popd
|
||||
|
||||
function get_lwn_link() {
|
||||
@ -72,7 +79,8 @@ generate_update_changelog 'Linux' "${VERSION_NEW}" "${URL}" 'linux' "${OLD_VERSI
|
||||
|
||||
commit_changes sys-kernel/coreos-sources "${VERSION_OLD}" "${VERSION_NEW}" \
|
||||
sys-kernel/coreos-modules \
|
||||
sys-kernel/coreos-kernel
|
||||
sys-kernel/coreos-kernel \
|
||||
app-emulation/hv-daemons
|
||||
|
||||
cleanup_repo
|
||||
|
||||
|
1
changelog/changes/2024-09-12-azure-hv-daemons.md
Normal file
1
changelog/changes/2024-09-12-azure-hv-daemons.md
Normal file
@ -0,0 +1 @@
|
||||
- Azure, HyperV: Added daemons `kvp`, `vss`, and `fcopy` for better HyperV hypervisor integration with Flatcar guests ([scripts#2309](https://github.com/flatcar/scripts/pull/2309)).
|
@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Hyper-V FCOPY daemon
|
||||
ConditionPathExists=/dev/vmbus/hv_fcopy
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/hv_fcopy_daemon --no-daemon
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Hyper-V KVP daemon
|
||||
ConditionPathExists=/dev/vmbus/hv_kvp
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/hv_kvp_daemon --no-daemon
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Hyper-V VSS daemon
|
||||
ConditionPathExists=/dev/vmbus/hv_vss
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/hv_vss_daemon --no-daemon
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
1
sdk_container/src/third_party/coreos-overlay/app-emulation/hv-daemons/hv-daemons-6.6.50.ebuild
vendored
Symbolic link
1
sdk_container/src/third_party/coreos-overlay/app-emulation/hv-daemons/hv-daemons-6.6.50.ebuild
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
hv-daemons-9999.ebuild
|
32
sdk_container/src/third_party/coreos-overlay/app-emulation/hv-daemons/hv-daemons-9999.ebuild
vendored
Normal file
32
sdk_container/src/third_party/coreos-overlay/app-emulation/hv-daemons/hv-daemons-9999.ebuild
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
# Copyright 2044-2016 The Flatcar Maintainers
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit coreos-kernel savedconfig systemd
|
||||
|
||||
DESCRIPTION="HyperV guest support daemons."
|
||||
KEYWORDS="amd64 arm64"
|
||||
|
||||
if [[ "${PV}" == 9999 ]]; then
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
fi
|
||||
|
||||
src_compile() {
|
||||
# Build hv_vss_daemon, hv_kvp_daemon, hv_fcopy_daemon
|
||||
kmake tools/hv
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin "${S}/build/tools/hv/hv_fcopy_daemon"
|
||||
dobin "${S}/build/tools/hv/hv_kvp_daemon"
|
||||
dobin "${S}/build/tools/hv/hv_vss_daemon"
|
||||
|
||||
systemd_dounit "${FILESDIR}/hv_fcopy_daemon.service"
|
||||
systemd_dounit "${FILESDIR}/hv_kvp_daemon.service"
|
||||
systemd_dounit "${FILESDIR}/hv_vss_daemon.service"
|
||||
|
||||
systemd_enable_service "multi-user.target" "hv_fcopy_daemon.service"
|
||||
systemd_enable_service "multi-user.target" "hv_kvp_daemon.service"
|
||||
systemd_enable_service "multi-user.target" "hv_vss_daemon.service"
|
||||
}
|
4
sdk_container/src/third_party/coreos-overlay/app-emulation/hv-daemons/metadata.xml
vendored
Normal file
4
sdk_container/src/third_party/coreos-overlay/app-emulation/hv-daemons/metadata.xml
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
</pkgmetadata>
|
@ -17,6 +17,7 @@ IUSE=""
|
||||
RDEPEND="
|
||||
~app-emulation/wa-linux-agent-${PV}
|
||||
net-misc/chrony
|
||||
app-emulation/hv-daemons
|
||||
"
|
||||
|
||||
# for coreos-base/common-oem-files
|
@ -15,6 +15,10 @@ IUSE=""
|
||||
# no source directory
|
||||
S="${WORKDIR}"
|
||||
|
||||
RDEPEND="
|
||||
app-emulation/hv-daemons
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -e "s\\@@OEM_VERSION_ID@@\\${PVR}\\g" \
|
||||
|
Loading…
x
Reference in New Issue
Block a user