summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMing Liu <ming.liu@toradex.com>2020-09-03 09:58:47 +0200
committerMing Liu <ming.liu@toradex.com>2020-09-03 12:34:06 +0200
commitd48a90f293f8d44a7538f6b412c7b0ad6361f867 (patch)
treedc33916caf283ebf54b45fd0ef8aa781b2910f9c
parent9319d351d1c475386ca7b939459f6bf9f7aea9d6 (diff)
downloadmeta-updater-d48a90f293f8d44a7538f6b412c7b0ad6361f867.tar.gz
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 <ming.liu@toradex.com>
-rw-r--r--classes/sota.bbclass1
-rw-r--r--recipes-sota/ostree-kernel-initramfs/ostree-kernel-initramfs_0.0.1.bb7
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"
32OSTREE_KERNEL ??= "${KERNEL_IMAGETYPE}" 32OSTREE_KERNEL ??= "${KERNEL_IMAGETYPE}"
33OSTREE_DEPLOY_DEVICETREE ??= "0" 33OSTREE_DEPLOY_DEVICETREE ??= "0"
34OSTREE_DEVICETREE ??= "${KERNEL_DEVICETREE}" 34OSTREE_DEVICETREE ??= "${KERNEL_DEVICETREE}"
35OSTREE_MULTI_DEVICETREE_SUPPORT ??= "0"
35 36
36INITRAMFS_IMAGE ?= "initramfs-ostree-image" 37INITRAMFS_IMAGE ?= "initramfs-ostree-image"
37 38
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"
15FILES_ostree-kernel = "${nonarch_base_libdir}/modules/*/vmlinuz" 15FILES_ostree-kernel = "${nonarch_base_libdir}/modules/*/vmlinuz"
16FILES_ostree-initramfs = "${nonarch_base_libdir}/modules/*/initramfs.img" 16FILES_ostree-initramfs = "${nonarch_base_libdir}/modules/*/initramfs.img"
17FILES_ostree-devicetrees = "${nonarch_base_libdir}/modules/*/dtb/* \ 17FILES_ostree-devicetrees = "${nonarch_base_libdir}/modules/*/dtb/* \
18 ${nonarch_base_libdir}/modules/*/devicetree \ 18 ${@'' if oe.types.boolean(d.getVar('OSTREE_MULTI_DEVICETREE_SUPPORT')) else '${nonarch_base_libdir}/modules/*/devicetree'} \
19" 19"
20 20
21PACKAGE_ARCH = "${MACHINE_ARCH}" 21PACKAGE_ARCH = "${MACHINE_ARCH}"
@@ -47,7 +47,10 @@ do_install() {
47 dts_file_basename=$(basename $dts_file) 47 dts_file_basename=$(basename $dts_file)
48 cp ${DEPLOY_DIR_IMAGE}/$dts_file_basename $kerneldir/dtb/$dts_file_basename 48 cp ${DEPLOY_DIR_IMAGE}/$dts_file_basename $kerneldir/dtb/$dts_file_basename
49 done 49 done
50 cp $kerneldir/dtb/$(basename $(echo ${OSTREE_DEVICETREE} | awk '{print $1}')) $kerneldir/devicetree 50
51 if [ ${@ oe.types.boolean('${OSTREE_MULTI_DEVICETREE_SUPPORT}')} = False ]; then
52 cp $kerneldir/dtb/$(basename $(echo ${OSTREE_DEVICETREE} | awk '{print $1}')) $kerneldir/devicetree
53 fi
51 fi 54 fi
52 fi 55 fi
53} 56}