From: "Christopher Clark" <christopher.w.clark@gmail.com>
To: meta-virtualization@lists.yoctoproject.org
Cc: cardoe@gentoo.org, bruce.ashfield@gmail.com, bertrand.marquis@arm.com
Subject: [meta-virtualization][PATCH 8/8] xen, rpi4: add xen-rpi-u-boot-scr recipe for default u-boot script
Date: Sat, 24 Apr 2021 01:31:03 -0700 [thread overview]
Message-ID: <20210424083103.202107-9-christopher.w.clark@gmail.com> (raw)
In-Reply-To: <20210424083103.202107-1-christopher.w.clark@gmail.com>
Add a new xen-rpi-u-boot-scr recipe to PROVIDE u-boot-default-script
instead of using a bbappend to rpi-u-boot-scr.
This allows the new recipe to be selected by indicating it as
PREFERRED_PROVIDER of u-boot-default-script, and then do that in the
Xen on Raspberry Pi 4 config file, xen-raspberrypi4-64.inc.
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
---
.../distro/include/xen-raspberrypi4-64.inc | 2 ++
.../rpi-u-boot-scr/rpi-u-boot-scr.bbappend | 17 ----------
.../files/boot.cmd.xen.in | 0
.../xen-rpi-u-boot-scr/xen-rpi-u-boot-scr.bb | 34 +++++++++++++++++++
4 files changed, 36 insertions(+), 17 deletions(-)
delete mode 100644 dynamic-layers/raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bbappend
rename dynamic-layers/raspberrypi/recipes-bsp/{rpi-u-boot-scr => xen-rpi-u-boot-scr}/files/boot.cmd.xen.in (100%)
create mode 100644 dynamic-layers/raspberrypi/recipes-bsp/xen-rpi-u-boot-scr/xen-rpi-u-boot-scr.bb
diff --git a/dynamic-layers/raspberrypi/conf/distro/include/xen-raspberrypi4-64.inc b/dynamic-layers/raspberrypi/conf/distro/include/xen-raspberrypi4-64.inc
index 9c36255..2ea19dd 100644
--- a/dynamic-layers/raspberrypi/conf/distro/include/xen-raspberrypi4-64.inc
+++ b/dynamic-layers/raspberrypi/conf/distro/include/xen-raspberrypi4-64.inc
@@ -21,3 +21,5 @@ BOOT_SPACE = "61440"
# Override the meta-raspberrypi default kernel preference
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
KERNEL_DEVICETREE ?= "broadcom/bcm2711-rpi-4-b.dtb"
+
+PREFERRED_PROVIDER_u-boot-default-script ?= "xen-rpi-u-boot-scr"
diff --git a/dynamic-layers/raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bbappend b/dynamic-layers/raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bbappend
deleted file mode 100644
index 2a51116..0000000
--- a/dynamic-layers/raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bbappend
+++ /dev/null
@@ -1,17 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-RPI_DOM0_MEM ??= "256M"
-RPI_DEBUG_XEN_ARGS ??= "sync_console bootscrub=0"
-
-SRC_URI += "file://boot.cmd.xen.in"
-
-# If the distro is Xen enabled, override the default boot.cmd.in with the
-# alternative boot.cmd.xen.in from this layer, with variables subsitution here
-do_compile_append() {
- if [ "${@bb.utils.contains('DISTRO_FEATURES', 'xen', 'yes', 'no', d)}" = "yes" ]; then
- sed -e 's/@@RPI_DOM0_MEM@@/${RPI_DOM0_MEM}/' \
- -e 's/@@RPI_DEBUG_XEN_ARGS@@/${RPI_DEBUG_XEN_ARGS}/' \
- "${WORKDIR}/boot.cmd.xen.in" > "${WORKDIR}/boot.cmd"
- mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr
- fi
-}
diff --git a/dynamic-layers/raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd.xen.in b/dynamic-layers/raspberrypi/recipes-bsp/xen-rpi-u-boot-scr/files/boot.cmd.xen.in
similarity index 100%
rename from dynamic-layers/raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd.xen.in
rename to dynamic-layers/raspberrypi/recipes-bsp/xen-rpi-u-boot-scr/files/boot.cmd.xen.in
diff --git a/dynamic-layers/raspberrypi/recipes-bsp/xen-rpi-u-boot-scr/xen-rpi-u-boot-scr.bb b/dynamic-layers/raspberrypi/recipes-bsp/xen-rpi-u-boot-scr/xen-rpi-u-boot-scr.bb
new file mode 100644
index 0000000..87619d0
--- /dev/null
+++ b/dynamic-layers/raspberrypi/recipes-bsp/xen-rpi-u-boot-scr/xen-rpi-u-boot-scr.bb
@@ -0,0 +1,34 @@
+SUMMARY = "U-boot boot script for Xen on Raspberry Pi 4"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+COMPATIBLE_MACHINE = "^raspberrypi4-64$"
+
+DEPENDS = "u-boot-mkimage-native"
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+SRC_URI = "file://boot.cmd.xen.in"
+
+RPI_DOM0_MEM ??= "256M"
+RPI_DEBUG_XEN_ARGS ??= "sync_console bootscrub=0"
+
+do_compile() {
+ sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \
+ -e 's/@@KERNEL_BOOTCMD@@/${KERNEL_BOOTCMD}/' \
+ -e 's/@@RPI_DOM0_MEM@@/${RPI_DOM0_MEM}/' \
+ -e 's/@@RPI_DEBUG_XEN_ARGS@@/${RPI_DEBUG_XEN_ARGS}/' \
+ "${WORKDIR}/boot.cmd.xen.in" > "${WORKDIR}/boot.cmd"
+
+ mkimage -A ${UBOOT_ARCH} -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr
+}
+
+inherit kernel-arch deploy nopackages
+
+do_deploy() {
+ install -d ${DEPLOYDIR}
+ install -m 0644 boot.scr ${DEPLOYDIR}
+}
+
+addtask do_deploy after do_compile before do_build
+
+PROVIDES += "u-boot-default-script"
--
2.25.1
next prev parent reply other threads:[~2021-04-24 8:31 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-24 8:30 [meta-virtualization][PATCH 0/8] Xen and Yocto Linux on Raspberry Pi 4 Christopher Clark
2021-04-24 8:30 ` [meta-virtualization][PATCH 1/8] xen, rpi4: use the preferred generic multiboot,module compatible string Christopher Clark
2021-04-24 8:30 ` [meta-virtualization][PATCH 2/8] xen, rpi4: drop the raspberrypi4-64 defconfig, xen_git.bbappend Christopher Clark
2021-04-24 8:30 ` [meta-virtualization][PATCH 3/8] xen, rpi4, linux-yocto: enable linux-yocto 5.10 for RPi4 Christopher Clark
2021-04-24 8:30 ` [meta-virtualization][PATCH 4/8] xen, rpi4: switch Xen-on-Rpi4 kernel preference to linux-yocto Christopher Clark
2021-04-24 8:31 ` [meta-virtualization][PATCH 5/8] xen, rpi4: fix u-boot script to load binaries from boot partition Christopher Clark
2021-04-24 8:31 ` [meta-virtualization][PATCH 6/8] xen, rpi4: apply workaround to fix crash on boot with Xen 4.14 Christopher Clark
2021-04-24 8:31 ` [meta-virtualization][PATCH 7/8] xen, rpi4: move rpi4-machine+xen-distro cfg into dynamic layer Christopher Clark
2021-04-24 8:31 ` Christopher Clark [this message]
2021-04-28 2:54 ` [meta-virtualization][PATCH 0/8] Xen and Yocto Linux on Raspberry Pi 4 Bruce Ashfield
2021-04-28 8:34 ` Bertrand Marquis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210424083103.202107-9-christopher.w.clark@gmail.com \
--to=christopher.w.clark@gmail.com \
--cc=bertrand.marquis@arm.com \
--cc=bruce.ashfield@gmail.com \
--cc=cardoe@gentoo.org \
--cc=meta-virtualization@lists.yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.