diff --git a/flavours/linux/bblayers.conf.sample b/flavours/linux/bblayers.conf.sample
index 306288623cb7558701e32634ad13364999f17ae9..f9a90606a2e0cde7b0ef61983e596dbe0d43a6fe 100644
--- a/flavours/linux/bblayers.conf.sample
+++ b/flavours/linux/bblayers.conf.sample
@@ -16,6 +16,7 @@ BBLAYERS ?= " \
   ##OEROOT##/../meta-zephyr \
   ##OEROOT##/../meta-zephyr-bsp \
   ##OEROOT##/../oniro/meta-oniro-core \
+  ##OEROOT##/../meta-arm-mixin/meta-arm \
   ##OEROOT##/../meta-freertos \
   ##OEROOT##/../meta-intel \
   ##OEROOT##/../meta-seco-intel \
diff --git a/manifests/default.xml b/manifests/default.xml
index 92f9c6df0437f13ae03fd2a5b4f96079eda87c92..33af03cbbe85918b6cab358fecb9e4ab5c449c11 100644
--- a/manifests/default.xml
+++ b/manifests/default.xml
@@ -74,6 +74,7 @@ SPDX-FileCopyrightText: Huawei Inc.
 	<project name="oniro" revision="dunfell" path="oniro">
 		<linkfile src="README.md" dest="README.md"/>
 	</project>
+	<project name="meta-arm-dunfell-backports" revision="dunfell" path="meta-arm-mixin" />
 	<project name="meta-clang" revision="main" path="meta-clang" />
 	<project name="meta-riscv" revision="OSTC/dunfell" path="meta-riscv" />
 	<project name="meta-zephyr" revision="ostc/master" path="meta-zephyr" />
diff --git a/meta-oniro-core/classes/oniro-image.bbclass b/meta-oniro-core/classes/oniro-image.bbclass
index a68fd3a6fac72dd4b657a45144e350f769d0d9c4..127846d2aaffbb26ddc6bf522302554cd54d708d 100644
--- a/meta-oniro-core/classes/oniro-image.bbclass
+++ b/meta-oniro-core/classes/oniro-image.bbclass
@@ -81,6 +81,9 @@ WKS_FILE_qemux86 ?= "x-qemux86-directdisk.wks.in"
 IMAGE_FSTYPES_qemux86-64 ?= "wic wic.bz2"
 WKS_FILE_qemux86-64 ?= "x-qemux86-directdisk.wks.in"
 
+WKS_FILE_qemu-generic-arm64 = "x-qemu-efi-disk.wks.in"
+IMAGE_FSTYPES_qemu-generic-arm64 += "wic wic.qcow2"
+
 WKS_FILE_seco-imx8mm-c61 ?= "x-imx-uboot-bootpart.wks.in"
 
 #
diff --git a/meta-oniro-core/conf/distro/oniro-linux.conf b/meta-oniro-core/conf/distro/oniro-linux.conf
index 5b7382ac96cc84c7a7705e8f60ac2dfe8f706249..326adf5e612fdab9e3d7d872735ce7733077b5a1 100644
--- a/meta-oniro-core/conf/distro/oniro-linux.conf
+++ b/meta-oniro-core/conf/distro/oniro-linux.conf
@@ -108,12 +108,21 @@ IMAGE_FEATURES_remove = " nfs-server nfs-client nfs-utils"
 DISTRO_EXTRA_RDEPENDS_remove = " packagegroup-core-device-devel"
 
 PREFERRED_VERSION_linux-raspberrypi = "5.10.%"
+
 PREFERRED_VERSION_linux-yocto = "5.10%"
 PREFERRED_PROVIDER_virtual/kernel_qemuarm = "linux-oniro"
 PREFERRED_PROVIDER_virtual/kernel_qemuarm64 = "linux-oniro"
 PREFERRED_PROVIDER_virtual/kernel_qemux86 = "linux-oniro"
 PREFERRED_PROVIDER_virtual/kernel_qemux86-64 = "linux-oniro"
 
+# qemu-generic-arm64 has issues booting past 5.10. See:
+# https://git.yoctoproject.org/meta-arm/tree/meta-arm/conf/machine/generic-arm64.conf?id=c40fb5348b1d0f8c4a1ed779c8df6ba3cf411930
+# When kernel version is bumped we will have to revisit here.
+PREFERRED_PROVIDER_virtual/kernel_qemu-generic-arm64 = "linux-oniro"
+
+# qemu-generic-arm64 specific requirements
+PREFERRED_VERSION_optee-os_qemu-generic-arm64 = "3.14.0"
+
 # Default to enabling serial debug console on RaspberryPi
 ENABLE_UART ?= "1"
 
diff --git a/meta-oniro-core/recipes-kernel/linux/linux-oniro_5.10.bb b/meta-oniro-core/recipes-kernel/linux/linux-oniro_5.10.bb
index cf4e9492ea4df99fcfbbe5e64a36f2f492603f5d..fcf4b7fd60f964fa8e7fdd56440a5fc8eed1344e 100644
--- a/meta-oniro-core/recipes-kernel/linux/linux-oniro_5.10.bb
+++ b/meta-oniro-core/recipes-kernel/linux/linux-oniro_5.10.bb
@@ -30,7 +30,7 @@ PROVIDES="linux-oniro virtual/kernel"
 
 KCONF_BSP_AUDIT_LEVEL = "1"
 
-COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemux86-64|qemuriscv64|qemuriscv32"
+COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemux86-64|qemuriscv64|qemuriscv32|qemu-generic-arm64"
 
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
diff --git a/meta-oniro-core/wic/x-qemu-efi-disk.wks.in b/meta-oniro-core/wic/x-qemu-efi-disk.wks.in
new file mode 100644
index 0000000000000000000000000000000000000000..24409d661f8e2b2d149902bbbbba6ad7fe78c30f
--- /dev/null
+++ b/meta-oniro-core/wic/x-qemu-efi-disk.wks.in
@@ -0,0 +1,11 @@
+# short-description: Create an EFI disk image
+# long-description: Creates a partitioned EFI disk image that the user
+# can directly dd to boot media.
+
+bootloader --ptable gpt --timeout=5 --append="rootwait rootfstype=squashfs"
+part /boot --source bootimg-efi --sourceparams="loader=${EFI_PROVIDER}" --label boot --active --align 1024 --use-uuid
+${WIC_ROOTA_PARTITION}
+${WIC_ROOTB_PARTITION}
+${WIC_DEVDATA_PARTITION}
+${WIC_SYSDATA_PARTITION}
+${WIC_APPDATA_PARTITION}