From dc08df210c16bc7d2a06065a3c43ef9078f986c9 Mon Sep 17 00:00:00 2001 From: Christopher Clark Date: Fri, 7 Aug 2020 00:05:03 -0700 Subject: xen, raspi4, linux-yocto-dev: Enable Xen on Raspberry Pi 4 Enable linux-yocto-dev as the Linux kernel for Xen on the Raspberry Pi 4, with the bcm-2xxx-rpi4 KMACHINE and KBRANCH. Set a Raspberry Pi SD card variable to increase the size of the boot partition to accommodate both the kernel and the Xen hypervisor. Signed-off-by: Christopher Clark Signed-off-by: Bruce Ashfield --- conf/distro/include/meta-virt-xen.inc | 4 ++++ .../raspberrypi/recipes-kernel/linux/linux-yocto-dev.bbappend | 10 ++++++++++ 2 files changed, 14 insertions(+) create mode 100644 dynamic-layers/raspberrypi/recipes-kernel/linux/linux-yocto-dev.bbappend diff --git a/conf/distro/include/meta-virt-xen.inc b/conf/distro/include/meta-virt-xen.inc index 0a91ef9a..44853d95 100644 --- a/conf/distro/include/meta-virt-xen.inc +++ b/conf/distro/include/meta-virt-xen.inc @@ -17,3 +17,7 @@ RPI_SDIMG_EXTRA_DEPENDS_append_raspberrypi4-64 = " xen:do_deploy" DEPLOYPAYLOAD_raspberrypi4-64 = "xen-${MACHINE}:xen" # We need the GIC enabled for Xen to work RPI_EXTRA_CONFIG_append_raspberrypi4-64 = "\nenable_gic=1" +# Increase boot partition for space for kernel and Xen +BOOT_SPACE_raspberrypi4-64 = "61440" +# Override the meta-raspberrypi default kernel preference +PREFERRED_PROVIDER_virtual/kernel_raspberrypi4-64 = "linux-yocto-dev" diff --git a/dynamic-layers/raspberrypi/recipes-kernel/linux/linux-yocto-dev.bbappend b/dynamic-layers/raspberrypi/recipes-kernel/linux/linux-yocto-dev.bbappend new file mode 100644 index 00000000..85d6febe --- /dev/null +++ b/dynamic-layers/raspberrypi/recipes-kernel/linux/linux-yocto-dev.bbappend @@ -0,0 +1,10 @@ +# For a Xen-enabled distro on the Raspberry Pi, override the contents of cmdline.txt +# with Xen-on-ARM-specific command line options + +DEFAULT_CMDLINE := "${CMDLINE}" +XEN_LINUX_CMDLINE ?= "console=hvc0 clk_ignore_unused earlycon=xenboot debug root=/dev/mmcblk0p2 rootwait" +CMDLINE = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', '${XEN_LINUX_CMDLINE}', '${DEFAULT_CMDLINE}', d)}" + +KBRANCH_raspberrypi4-64 = "standard/bcm-2xxx-rpi" +KMACHINE_raspberrypi4-64 = "bcm-2xxx-rpi4" +COMPATIBLE_MACHINE_raspberrypi4-64 = "(raspberrypi4-64)" -- cgit v1.2.3-54-g00ecf