From bd0a05579ccc71b304cd2c8f10c4400cf66ed12d Mon Sep 17 00:00:00 2001 From: Ming Liu Date: Thu, 3 Sep 2020 09:58:47 +0200 Subject: sota: introduce OSTREE_MULTI_DEVICETREE_SUPPORT ostree supports multiple devicetrees provided that there is no /lib/modules/$kversion/devicetree installed on rootfs, in which case, a uboot variable 'fdtdir' would be written to /boot/loader/uEnv.txt instead of fdt_file. Introduce OSTREE_MULTI_DEVICETREE_SUPPORT to control that, when it's set to '0', there is no functional changes with current implementation, while it's set to '1', then /lib/modules/$kversion/devicetree would not be installed and the end users need set their own fdtfile/fdt_file in boot script to locate the devicetree in 'fdtdir'. Signed-off-by: Ming Liu --- classes/sota.bbclass | 1 + .../ostree-kernel-initramfs/ostree-kernel-initramfs_0.0.1.bb | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/classes/sota.bbclass b/classes/sota.bbclass index fde00cd..e6a0f8b 100644 --- a/classes/sota.bbclass +++ b/classes/sota.bbclass @@ -32,6 +32,7 @@ OSTREE_BOOT_PARTITION ??= "/boot" OSTREE_KERNEL ??= "${KERNEL_IMAGETYPE}" OSTREE_DEPLOY_DEVICETREE ??= "0" OSTREE_DEVICETREE ??= "${KERNEL_DEVICETREE}" +OSTREE_MULTI_DEVICETREE_SUPPORT ??= "0" INITRAMFS_IMAGE ?= "initramfs-ostree-image" diff --git a/recipes-sota/ostree-kernel-initramfs/ostree-kernel-initramfs_0.0.1.bb b/recipes-sota/ostree-kernel-initramfs/ostree-kernel-initramfs_0.0.1.bb index 136bb22..9ac90b9 100644 --- a/recipes-sota/ostree-kernel-initramfs/ostree-kernel-initramfs_0.0.1.bb +++ b/recipes-sota/ostree-kernel-initramfs/ostree-kernel-initramfs_0.0.1.bb @@ -15,7 +15,7 @@ ALLOW_EMPTY_ostree-devicetrees = "1" FILES_ostree-kernel = "${nonarch_base_libdir}/modules/*/vmlinuz" FILES_ostree-initramfs = "${nonarch_base_libdir}/modules/*/initramfs.img" FILES_ostree-devicetrees = "${nonarch_base_libdir}/modules/*/dtb/* \ - ${nonarch_base_libdir}/modules/*/devicetree \ + ${@'' if oe.types.boolean(d.getVar('OSTREE_MULTI_DEVICETREE_SUPPORT')) else '${nonarch_base_libdir}/modules/*/devicetree'} \ " PACKAGE_ARCH = "${MACHINE_ARCH}" @@ -47,7 +47,10 @@ do_install() { dts_file_basename=$(basename $dts_file) cp ${DEPLOY_DIR_IMAGE}/$dts_file_basename $kerneldir/dtb/$dts_file_basename done - cp $kerneldir/dtb/$(basename $(echo ${OSTREE_DEVICETREE} | awk '{print $1}')) $kerneldir/devicetree + + if [ ${@ oe.types.boolean('${OSTREE_MULTI_DEVICETREE_SUPPORT}')} = False ]; then + cp $kerneldir/dtb/$(basename $(echo ${OSTREE_DEVICETREE} | awk '{print $1}')) $kerneldir/devicetree + fi fi fi } -- cgit v1.2.3-54-g00ecf