summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-config/qemu-config/files/agl-cluster-demo-platform-flutter.conf1
-rw-r--r--recipes-config/qemu-config/files/agl-cluster-demo-platform.conf1
-rw-r--r--recipes-config/qemu-config/files/agl-demo-platform.conf1
-rw-r--r--recipes-config/qemu-config/files/agl-ivi-demo-platform-flutter.conf1
-rw-r--r--recipes-config/qemu-config/files/bridge.conf1
-rw-r--r--recipes-config/qemu-config/files/connman-nodnsproxy.conf3
-rw-r--r--recipes-config/qemu-config/files/dnsmasq-qemu.conf4
-rw-r--r--recipes-config/qemu-config/files/vmnet0.netdev3
-rw-r--r--recipes-config/qemu-config/files/vmnet0.network7
-rw-r--r--recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform-flutter.bb2
-rw-r--r--recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform.bb2
-rw-r--r--recipes-config/qemu-config/qemu-config-agl-demo-platform.bb2
-rw-r--r--recipes-config/qemu-config/qemu-config-agl-ivi-demo-platform-flutter.bb2
-rw-r--r--recipes-config/qemu-config/qemu-config-vmnet0.bb41
-rwxr-xr-xrecipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh7
15 files changed, 70 insertions, 8 deletions
diff --git a/recipes-config/qemu-config/files/agl-cluster-demo-platform-flutter.conf b/recipes-config/qemu-config/files/agl-cluster-demo-platform-flutter.conf
index 262f3c2d..1ecefc47 100644
--- a/recipes-config/qemu-config/files/agl-cluster-demo-platform-flutter.conf
+++ b/recipes-config/qemu-config/files/agl-cluster-demo-platform-flutter.conf
@@ -1,4 +1,5 @@
QEMU_TASKSET_CPUS="4-7"
QEMU_SMP_OPT="-smp 4"
QEMU_MEM_OPT="-m 2G"
+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"
diff --git a/recipes-config/qemu-config/files/agl-cluster-demo-platform.conf b/recipes-config/qemu-config/files/agl-cluster-demo-platform.conf
index 262f3c2d..1ecefc47 100644
--- a/recipes-config/qemu-config/files/agl-cluster-demo-platform.conf
+++ b/recipes-config/qemu-config/files/agl-cluster-demo-platform.conf
@@ -1,4 +1,5 @@
QEMU_TASKSET_CPUS="4-7"
QEMU_SMP_OPT="-smp 4"
QEMU_MEM_OPT="-m 2G"
+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"
diff --git a/recipes-config/qemu-config/files/agl-demo-platform.conf b/recipes-config/qemu-config/files/agl-demo-platform.conf
index e7238678..70c716f3 100644
--- a/recipes-config/qemu-config/files/agl-demo-platform.conf
+++ b/recipes-config/qemu-config/files/agl-demo-platform.conf
@@ -3,4 +3,5 @@ QEMU_SMP_OPT="-smp 4"
QEMU_MEM_OPT="-m 4G"
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_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=4196M video=Virtual-1:1920x1080"
diff --git a/recipes-config/qemu-config/files/agl-ivi-demo-platform-flutter.conf b/recipes-config/qemu-config/files/agl-ivi-demo-platform-flutter.conf
index e7238678..70c716f3 100644
--- a/recipes-config/qemu-config/files/agl-ivi-demo-platform-flutter.conf
+++ b/recipes-config/qemu-config/files/agl-ivi-demo-platform-flutter.conf
@@ -3,4 +3,5 @@ QEMU_SMP_OPT="-smp 4"
QEMU_MEM_OPT="-m 4G"
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_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=4196M video=Virtual-1:1920x1080"
diff --git a/recipes-config/qemu-config/files/bridge.conf b/recipes-config/qemu-config/files/bridge.conf
new file mode 100644
index 00000000..72c73f39
--- /dev/null
+++ b/recipes-config/qemu-config/files/bridge.conf
@@ -0,0 +1 @@
+allow vmnet0
diff --git a/recipes-config/qemu-config/files/connman-nodnsproxy.conf b/recipes-config/qemu-config/files/connman-nodnsproxy.conf
new file mode 100644
index 00000000..9d7f74b8
--- /dev/null
+++ b/recipes-config/qemu-config/files/connman-nodnsproxy.conf
@@ -0,0 +1,3 @@
+[Service]
+ExecStart=
+ExecStart=/usr/sbin/connmand -n --nodnsproxy
diff --git a/recipes-config/qemu-config/files/dnsmasq-qemu.conf b/recipes-config/qemu-config/files/dnsmasq-qemu.conf
new file mode 100644
index 00000000..4ab6ee3b
--- /dev/null
+++ b/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/recipes-config/qemu-config/files/vmnet0.netdev b/recipes-config/qemu-config/files/vmnet0.netdev
new file mode 100644
index 00000000..e2545317
--- /dev/null
+++ b/recipes-config/qemu-config/files/vmnet0.netdev
@@ -0,0 +1,3 @@
+[NetDev]
+Name=vmnet0
+Kind=bridge
diff --git a/recipes-config/qemu-config/files/vmnet0.network b/recipes-config/qemu-config/files/vmnet0.network
new file mode 100644
index 00000000..600f8ac0
--- /dev/null
+++ b/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/recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform-flutter.bb b/recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform-flutter.bb
index c15528a6..159d3939 100644
--- a/recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform-flutter.bb
+++ b/recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform-flutter.bb
@@ -26,4 +26,4 @@ do_install() {
FILES:${PN} += "${systemd_system_unitdir}"
-RDEPENDS:${PN} += "agl-qemu-runner"
+RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0"
diff --git a/recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform.bb b/recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform.bb
index 4f9c5a92..8e2aeb3e 100644
--- a/recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform.bb
+++ b/recipes-config/qemu-config/qemu-config-agl-cluster-demo-platform.bb
@@ -26,4 +26,4 @@ do_install() {
FILES:${PN} += "${systemd_system_unitdir}"
-RDEPENDS:${PN} += "agl-qemu-runner"
+RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0"
diff --git a/recipes-config/qemu-config/qemu-config-agl-demo-platform.bb b/recipes-config/qemu-config/qemu-config-agl-demo-platform.bb
index 1d5e0df2..da85b7a7 100644
--- a/recipes-config/qemu-config/qemu-config-agl-demo-platform.bb
+++ b/recipes-config/qemu-config/qemu-config-agl-demo-platform.bb
@@ -26,4 +26,4 @@ do_install() {
FILES:${PN} += "${systemd_system_unitdir}"
-RDEPENDS:${PN} += "agl-qemu-runner"
+RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0"
diff --git a/recipes-config/qemu-config/qemu-config-agl-ivi-demo-platform-flutter.bb b/recipes-config/qemu-config/qemu-config-agl-ivi-demo-platform-flutter.bb
index 5efb7a96..10c30445 100644
--- a/recipes-config/qemu-config/qemu-config-agl-ivi-demo-platform-flutter.bb
+++ b/recipes-config/qemu-config/qemu-config-agl-ivi-demo-platform-flutter.bb
@@ -26,4 +26,4 @@ do_install() {
FILES:${PN} += "${systemd_system_unitdir}"
-RDEPENDS:${PN} += "agl-qemu-runner"
+RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0"
diff --git a/recipes-config/qemu-config/qemu-config-vmnet0.bb b/recipes-config/qemu-config/qemu-config-vmnet0.bb
new file mode 100644
index 00000000..bc634bf3
--- /dev/null
+++ b/recipes-config/qemu-config/qemu-config-vmnet0.bb
@@ -0,0 +1,41 @@
+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"
+
+QEMU_IMAGE = "agl-cluster-demo-platform"
+QEMU_UNIT = "agl-qemu-runner@${QEMU_IMAGE}.service"
+
+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"
diff --git a/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh b/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh
index d1276473..6bf2cc4f 100755
--- a/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh
+++ b/recipes-extended/agl-qemu-runner/files/agl-qemu-runner.sh
@@ -58,14 +58,13 @@ qemu-system-${arch} \
-drive id=disk0,file=${disk},format=raw,if=none \
-serial mon:pty \
-object rng-random,filename=/dev/urandom,id=rng0 \
- -netdev user,id=net-user \
-device virtio-blk-device,drive=disk0 \
- -device virtio-net-device,netdev=net-user,mac=52:54:00:12:00:02 \
-device virtio-rng-device,rng=rng0 \
+ ${QEMU_NET_OPT} \
${QEMU_INPUT_OPT} \
-global virtio-mmio.force-legacy=false \
-device virtio-gpu-gl-device \
-display sdl,gl=on -vga std \
- ${QEMU_AUDIO_OPT} \
- ${QEMU_EXTRA_OPT} \
+ ${QEMU_AUDIO_OPT} \
+ ${QEMU_EXTRA_OPT} \
-full-screen