mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-07-24 13:36:31 +00:00
Add qemu guest agent (#505)
* Add qemu guest agent * Fix make file * Fix targets * Convert it to autobuild * Fix paths * fix target * Fix options * Fix startup * Update kernel * Fix state dir * Only load on kvm
This commit is contained in:
parent
d340e79bea
commit
4c9a4aadc8
@ -4,3 +4,4 @@ source "$BR2_EXTERNAL_HASSOS_PATH/package/apparmor/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/bluetooth-bcm43xx/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/bluetooth-rtl8723/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/hardkernel-boot/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/qemu-guest-agent/Config.in"
|
||||
|
@ -5,6 +5,7 @@ CONFIG_VMWARE_PVSCSI=y
|
||||
CONFIG_VMWARE_VMCI_VSOCKETS=y
|
||||
CONFIG_VMWARE_VMCI=y
|
||||
CONFIG_VMWARE_BALLOON=y
|
||||
CONFIG_VMWARE_PVSCSI=y
|
||||
|
||||
CONFIG_VIRTIO=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
@ -12,6 +13,9 @@ CONFIG_VIRTIO_NET=y
|
||||
CONFIG_VIRTIO_BALLOON=m
|
||||
CONFIG_VIRTIO_INPUT=m
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_VIRTIO_CONSOLE=m
|
||||
CONFIG_VIRTIO_VSOCKETS=m
|
||||
CONFIG_SCSI_VIRTIO=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=y
|
||||
|
||||
CONFIG_SCSI_LOWLEVEL=y
|
||||
@ -27,4 +31,5 @@ CONFIG_HYPERV_BALLOON=m
|
||||
CONFIG_HYPERV_KEYBOARD=m
|
||||
CONFIG_HYPERV_STORAGE=y
|
||||
CONFIG_HYPERV_NET=y
|
||||
CONFIG_HYPERV_VSOCKETS=m
|
||||
CONFIG_FB_HYPERV=y
|
||||
|
@ -56,6 +56,7 @@ BR2_PACKAGE_TINI=y
|
||||
BR2_PACKAGE_DOCKER_ENGINE=y
|
||||
BR2_PACKAGE_DOCKER_CLI=y
|
||||
BR2_PACKAGE_OPENVMTOOLS=y
|
||||
BR2_PACKAGE_QEMU_GUEST_AGENT=y
|
||||
BR2_PACKAGE_RAUC=y
|
||||
BR2_PACKAGE_RAUC_NETWORK=y
|
||||
BR2_PACKAGE_RNG_TOOLS=y
|
||||
|
9
buildroot-external/package/qemu-guest-agent/Config.in
Normal file
9
buildroot-external/package/qemu-guest-agent/Config.in
Normal file
@ -0,0 +1,9 @@
|
||||
config BR2_PACKAGE_QEMU_GUEST_AGENT
|
||||
depends on BR2_USE_MMU # libglib2
|
||||
depends on BR2_USE_WCHAR # libglib2
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
|
||||
select BR2_PACKAGE_LIBGLIB2
|
||||
select BR2_PACKAGE_ZLIB
|
||||
bool "QEMU Guest Agent"
|
||||
help
|
||||
QEMU guest agent for qemu based virtualisations
|
110
buildroot-external/package/qemu-guest-agent/qemu-guest-agent.mk
Normal file
110
buildroot-external/package/qemu-guest-agent/qemu-guest-agent.mk
Normal file
@ -0,0 +1,110 @@
|
||||
################################################################################
|
||||
#
|
||||
# qemu-guest-agent
|
||||
#
|
||||
################################################################################
|
||||
|
||||
QEMU_GUEST_AGENT_VERSION = 3.1.1.1
|
||||
QEMU_GUEST_AGENT_SOURCE = qemu-$(QEMU_GUEST_AGENT_VERSION).tar.xz
|
||||
QEMU_GUEST_AGENT_SITE = http://download.qemu.org
|
||||
QEMU_GUEST_AGENT_LICENSE = GPL-2.0, LGPL-2.1, MIT, BSD-3-Clause, BSD-2-Clause, Others/BSD-1c
|
||||
QEMU_GUEST_AGENT_LICENSE_FILES = COPYING COPYING.LIB
|
||||
# NOTE: there is no top-level license file for non-(L)GPL licenses;
|
||||
# the non-(L)GPL license texts are specified in the affected
|
||||
# individual source files.
|
||||
|
||||
QEMU_GUEST_AGENT_DEPENDENCIES = host-pkgconf libglib2 zlib
|
||||
|
||||
# Need the LIBS variable because librt and libm are
|
||||
# not automatically pulled. :-(
|
||||
QEMU_GUEST_AGENT_LIBS = -lrt -lm
|
||||
|
||||
QEMU_GUEST_AGENT_VARS = LIBTOOL=$(HOST_DIR)/bin/libtool
|
||||
|
||||
QEMU_GUEST_AGENT_OPTS = --enable-guest-agent
|
||||
|
||||
# Override CPP, as it expects to be able to call it like it'd
|
||||
# call the compiler.
|
||||
define QEMU_GUEST_AGENT_CONFIGURE_CMDS
|
||||
( cd $(@D); \
|
||||
LIBS='$(QEMU_GUEST_AGENT_LIBS)' \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
$(TARGET_CONFIGURE_ARGS) \
|
||||
CPP="$(TARGET_CC) -E" \
|
||||
$(QEMU_GUEST_AGENT_VARS) \
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--localstatedir=/var \
|
||||
--cross-prefix=$(TARGET_CROSS) \
|
||||
--audio-drv-list= \
|
||||
--disable-kvm \
|
||||
--disable-linux-user \
|
||||
--disable-linux-aio \
|
||||
--disable-xen \
|
||||
--disable-docs \
|
||||
--disable-curl \
|
||||
--disable-gnutls \
|
||||
--disable-gtk \
|
||||
--disable-vte \
|
||||
--disable-vnc-jpeg \
|
||||
--disable-opengl \
|
||||
--disable-usb-redir \
|
||||
--disable-sdl \
|
||||
--disable-system \
|
||||
--disable-user \
|
||||
--disable-guest-agent \
|
||||
--disable-nettle \
|
||||
--disable-gcrypt \
|
||||
--disable-curses \
|
||||
--disable-vnc \
|
||||
--disable-virtfs \
|
||||
--disable-brlapi \
|
||||
--disable-fdt \
|
||||
--disable-bluez \
|
||||
--disable-kvm \
|
||||
--disable-rdma \
|
||||
--disable-vde \
|
||||
--disable-netmap \
|
||||
--disable-cap-ng \
|
||||
--disable-attr \
|
||||
--disable-vhost-net \
|
||||
--disable-spice \
|
||||
--disable-rbd \
|
||||
--disable-libiscsi \
|
||||
--disable-libnfs \
|
||||
--disable-smartcard \
|
||||
--disable-libusb \
|
||||
--disable-usb-redir \
|
||||
--disable-lzo \
|
||||
--disable-snappy \
|
||||
--disable-bzip2 \
|
||||
--disable-seccomp \
|
||||
--disable-coroutine-pool \
|
||||
--disable-glusterfs \
|
||||
--disable-tpm \
|
||||
--disable-numa \
|
||||
--disable-blobs \
|
||||
--disable-capstone \
|
||||
--disable-tools \
|
||||
--disable-tcg-interpreter \
|
||||
$(QEMU_GUEST_AGENT_OPTS) \
|
||||
)
|
||||
endef
|
||||
|
||||
define QEMU_GUEST_AGENT_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
|
||||
endef
|
||||
|
||||
define QEMU_GUEST_AGENT_INSTALL_TARGET_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(QEMU_GUEST_AGENT_MAKE_ENV) DESTDIR=$(TARGET_DIR) install
|
||||
endef
|
||||
|
||||
define QEMU_GUEST_AGENT_INSTALL_INIT_SYSTEMD
|
||||
$(INSTALL) -D -m 644 $(QEMU_GUEST_AGENT_PKGDIR)/qemu-guest.service \
|
||||
$(TARGET_DIR)/usr/lib/systemd/system/qemu-guest.service
|
||||
$(INSTALL) -d $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
|
||||
ln -fs ../../../../usr/lib/systemd/system/qemu-guest.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/qemu-guest.service
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=QEMU Guest Agent
|
||||
After=syslog.target network.target
|
||||
ConditionVirtualization=kvm
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/qemu-ga -m virtio-serial -p /dev/virtio-ports/org.qemu.guest_agent.0
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
x
Reference in New Issue
Block a user