aboutsummaryrefslogtreecommitdiffstats
path: root/meta-agl-kvm-demo/recipes-config/qemu-config
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-kvm-demo/recipes-config/qemu-config')
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest-preconfigured.conf6
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest.conf6
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest-preconfigured.conf13
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest.conf13
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/files/bridge.conf1
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/files/connman-nodnsproxy.conf3
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/files/dnsmasq-qemu.conf4
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/files/vmnet0.netdev3
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/files/vmnet0.network7
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest-preconfigured.bb3
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest.bb29
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest-preconfigured.bb3
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest.bb29
-rw-r--r--meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-vmnet0.bb38
14 files changed, 158 insertions, 0 deletions
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest-preconfigured.conf b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest-preconfigured.conf
new file mode 100644
index 000000000..37003abde
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest-preconfigured.conf
@@ -0,0 +1,6 @@
+QEMU_TASKSET_CPUS="4-7"
+QEMU_SMP_OPT="-smp 2"
+QEMU_MEM_OPT="-m 1G"
+QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:03,netdev=net0"
+QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=2048M video=Virtual-1:1920x1080"
+QEMU_XDG_APP_ID="agl-cluster-demo"
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest.conf b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest.conf
new file mode 100644
index 000000000..37003abde
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-cluster-demo-flutter-guest.conf
@@ -0,0 +1,6 @@
+QEMU_TASKSET_CPUS="4-7"
+QEMU_SMP_OPT="-smp 2"
+QEMU_MEM_OPT="-m 1G"
+QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:03,netdev=net0"
+QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=2048M video=Virtual-1:1920x1080"
+QEMU_XDG_APP_ID="agl-cluster-demo"
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest-preconfigured.conf b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest-preconfigured.conf
new file mode 100644
index 000000000..c2d420eb6
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest-preconfigured.conf
@@ -0,0 +1,13 @@
+QEMU_TASKSET_CPUS="0-3"
+QEMU_SMP_OPT="-smp 4"
+QEMU_MEM_OPT="-m 4G"
+# With touchscreen plugged into the bottom connector of the 2x USB 2.0
+# on the reference hardware
+QEMU_INPUT_OPT="-device qemu-xhci -usb -device usb-host,hostbus=5,hostport=1"
+# Fallback for touchscreen or other pointing device plugged in elsewhere
+#QEMU_INPUT_OPT="-device virtio-tablet-device"
+QEMU_AUDIO_OPT="-audiodev alsa,id=agl -device intel-hda -device hda-duplex,audiodev=agl"
+QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:02,netdev=net0"
+QEMU_CAN_OPT="-object can-bus,id=canbus0 -object can-host-socketcan,id=canhost0,if=can0,canbus=canbus0 -device kvaser_pci,canbus=canbus0"
+QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=4196M video=Virtual-1:1920x1080"
+QEMU_XDG_APP_ID="agl-ivi-demo"
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest.conf b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest.conf
new file mode 100644
index 000000000..c2d420eb6
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/files/agl-ivi-demo-flutter-guest.conf
@@ -0,0 +1,13 @@
+QEMU_TASKSET_CPUS="0-3"
+QEMU_SMP_OPT="-smp 4"
+QEMU_MEM_OPT="-m 4G"
+# With touchscreen plugged into the bottom connector of the 2x USB 2.0
+# on the reference hardware
+QEMU_INPUT_OPT="-device qemu-xhci -usb -device usb-host,hostbus=5,hostport=1"
+# Fallback for touchscreen or other pointing device plugged in elsewhere
+#QEMU_INPUT_OPT="-device virtio-tablet-device"
+QEMU_AUDIO_OPT="-audiodev alsa,id=agl -device intel-hda -device hda-duplex,audiodev=agl"
+QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:02,netdev=net0"
+QEMU_CAN_OPT="-object can-bus,id=canbus0 -object can-host-socketcan,id=canhost0,if=can0,canbus=canbus0 -device kvaser_pci,canbus=canbus0"
+QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=4196M video=Virtual-1:1920x1080"
+QEMU_XDG_APP_ID="agl-ivi-demo"
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/files/bridge.conf b/meta-agl-kvm-demo/recipes-config/qemu-config/files/bridge.conf
new file mode 100644
index 000000000..72c73f39f
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/files/bridge.conf
@@ -0,0 +1 @@
+allow vmnet0
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/files/connman-nodnsproxy.conf b/meta-agl-kvm-demo/recipes-config/qemu-config/files/connman-nodnsproxy.conf
new file mode 100644
index 000000000..9d7f74b8f
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/files/connman-nodnsproxy.conf
@@ -0,0 +1,3 @@
+[Service]
+ExecStart=
+ExecStart=/usr/sbin/connmand -n --nodnsproxy
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/files/dnsmasq-qemu.conf b/meta-agl-kvm-demo/recipes-config/qemu-config/files/dnsmasq-qemu.conf
new file mode 100644
index 000000000..4ab6ee3bf
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/files/dnsmasq-qemu.conf
@@ -0,0 +1,4 @@
+interface=vmnet0
+dhcp-range=172.16.10.1,172.16.10.5,255.255.255.0,12h
+dhcp-host=52:54:00:12:00:02,172.16.10.2
+dhcp-host=52:54:00:12:00:03,172.16.10.3
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/files/vmnet0.netdev b/meta-agl-kvm-demo/recipes-config/qemu-config/files/vmnet0.netdev
new file mode 100644
index 000000000..e25453174
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/files/vmnet0.netdev
@@ -0,0 +1,3 @@
+[NetDev]
+Name=vmnet0
+Kind=bridge
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/files/vmnet0.network b/meta-agl-kvm-demo/recipes-config/qemu-config/files/vmnet0.network
new file mode 100644
index 000000000..600f8ac01
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/files/vmnet0.network
@@ -0,0 +1,7 @@
+[Match]
+Name=vmnet0
+
+[Network]
+Address=172.16.10.1/24
+IPForward=yes
+IPMasquerade=yes
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest-preconfigured.bb b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest-preconfigured.bb
new file mode 100644
index 000000000..b58dcae6e
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest-preconfigured.bb
@@ -0,0 +1,3 @@
+require qemu-config-agl-cluster-demo-flutter-guest.bb
+
+QEMU_IMAGE = "agl-cluster-demo-flutter-guest-preconfigured"
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest.bb b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest.bb
new file mode 100644
index 000000000..96d95113f
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-cluster-demo-flutter-guest.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Setting files for agl-cluster-demo-plaform-flutter guest VM"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+inherit systemd allarch
+
+SRC_URI = "file://${QEMU_IMAGE}.conf"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+QEMU_IMAGE = "agl-cluster-demo-flutter-guest"
+QEMU_UNIT = "agl-qemu-runner@${QEMU_IMAGE}.service"
+
+do_install() {
+ # Install template unit links
+ install -d ${D}${systemd_system_unitdir}
+ ln -sf agl-qemu-runner@.service ${D}${systemd_system_unitdir}/${QEMU_UNIT}
+ install -d ${D}${systemd_system_unitdir}/multi-user.target.wants
+ ln -sf ${systemd_system_unitdir}/${QEMU_UNIT} ${D}${systemd_system_unitdir}/multi-user.target.wants/${QEMU_UNIT}
+
+ # Install conf file
+ install -d ${D}${sysconfdir}/agl-qemu-runner
+ install -m 0644 ${WORKDIR}/${QEMU_IMAGE}.conf ${D}${sysconfdir}/agl-qemu-runner/
+}
+
+FILES:${PN} += "${systemd_system_unitdir}"
+
+RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0"
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest-preconfigured.bb b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest-preconfigured.bb
new file mode 100644
index 000000000..642876b5a
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest-preconfigured.bb
@@ -0,0 +1,3 @@
+require qemu-config-agl-ivi-demo-flutter-guest.bb
+
+QEMU_IMAGE = "agl-ivi-demo-flutter-guest-preconfigured"
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest.bb b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest.bb
new file mode 100644
index 000000000..cfab8b1a7
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-agl-ivi-demo-flutter-guest.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Setting files for agl-ivi-demo-plaform-flutter guest VM"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+inherit systemd allarch
+
+SRC_URI = "file://${QEMU_IMAGE}.conf"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+QEMU_IMAGE = "agl-ivi-demo-flutter-guest"
+QEMU_UNIT = "agl-qemu-runner@${QEMU_IMAGE}.service"
+
+do_install() {
+ # Install template unit links
+ install -d ${D}${systemd_system_unitdir}
+ ln -sf agl-qemu-runner@.service ${D}${systemd_system_unitdir}/${QEMU_UNIT}
+ install -d ${D}${systemd_system_unitdir}/multi-user.target.wants
+ ln -sf ${systemd_system_unitdir}/${QEMU_UNIT} ${D}${systemd_system_unitdir}/multi-user.target.wants/${QEMU_UNIT}
+
+ # Install conf file
+ install -d ${D}${sysconfdir}/agl-qemu-runner
+ install -m 0644 ${WORKDIR}/${QEMU_IMAGE}.conf ${D}${sysconfdir}/agl-qemu-runner/
+}
+
+FILES:${PN} += "${systemd_system_unitdir}"
+
+RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0"
diff --git a/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-vmnet0.bb b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-vmnet0.bb
new file mode 100644
index 000000000..a5a12982e
--- /dev/null
+++ b/meta-agl-kvm-demo/recipes-config/qemu-config/qemu-config-vmnet0.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Setting files for QEMU networking for guest VMs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+inherit systemd allarch
+
+SRC_URI = "file://vmnet0.netdev \
+ file://vmnet0.network \
+ file://bridge.conf \
+ file://dnsmasq-qemu.conf \
+ file://connman-nodnsproxy.conf \
+"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ # Install systemd-networkd vmnet0 configuration
+ install -d ${D}${systemd_unitdir}/network
+ install -m 0644 ${WORKDIR}/vmnet0.netdev ${D}${systemd_unitdir}/network/
+ install -m 0644 ${WORKDIR}/vmnet0.network ${D}${systemd_unitdir}/network/
+
+ # Install QEMU bridge configuration
+ install -d ${D}${sysconfdir}/qemu
+ install -m 0644 ${WORKDIR}/bridge.conf ${D}${sysconfdir}/qemu/
+
+ # Configure dnsmasq to serve DHCP to the guests
+ install -d ${D}${sysconfdir}/dnsmasq.d
+ install -m 0644 ${WORKDIR}/dnsmasq-qemu.conf ${D}${sysconfdir}/dnsmasq.d/
+
+ # Disable ConnMan's local DNS proxy to not conflict with dnsmasq
+ install -d ${D}${systemd_system_unitdir}/connman.service.d/
+ install -m 0644 ${WORKDIR}/connman-nodnsproxy.conf ${D}${systemd_system_unitdir}/connman.service.d/
+}
+
+FILES:${PN} += "${systemd_unitdir}/network ${systemd_system_unitdir}"
+
+RDEPENDS:${PN} += "agl-qemu-runner dnsmasq connman"