summaryrefslogtreecommitdiffstats
path: root/meta/classes-recipe/kernel-devicetree.bbclass
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2023-05-25 12:22:18 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-06-29 11:28:32 +0100
commitfbace4111441d36026c3b5cd2ef690250ca8c448 (patch)
tree6f19b8dbdca98399bd52b60389fbda0825109911 /meta/classes-recipe/kernel-devicetree.bbclass
parent92f8d99fe01734ddd81b0ddc145b0b18c7e00185 (diff)
downloadpoky-fbace4111441d36026c3b5cd2ef690250ca8c448.tar.gz
kernel-devicetree: install dtb files without -${KERNEL_DTB_NAME} suffix
* we were installing them with -${KERNEL_DTB_NAME} suffix and then adding a symlink without this suffix if KERNEL_IMAGETYPE_SYMLINK is set: if [ "${KERNEL_IMAGETYPE_SYMLINK}" = "1" ] ; then ln -sf $dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext $deployDir/$dtb_base_name.$dtb_ext fi and another one when KERNEL_DTB_LINK_NAME is set: if [ -n "${KERNEL_DTB_LINK_NAME}" ] ; then ln -sf $dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext $deployDir/$dtb_base_name-${KERNEL_DTB_LINK_NAME}.$dtb_ext fi but KERNEL_DEVICETREE variable doesn't include this -${KERNEL_DTB_NAME} suffix, so everything which uses KERNEL_DEVICETREE either needs to add it as well or depend on KERNEL_IMAGETYPE_SYMLINK being set, e.g. IMAGE_BOOT_FILES variable used by do_image_wic is generated by make_dtb_boot_files function here: https://github.com/agherzan/meta-raspberrypi/blob/2ad4dd667affb72bdbbc2d6b5f7b50589f506b31/conf/machine/include/rpi-base.inc#L118 and do_image_wic fails without KERNEL_IMAGETYPE_SYMLINK: | WARNING: bootloader config not specified, using defaults | | ERROR: _exec_cmd: install -m 0644 -D deploy/images/raspberrypi4-64/bcm2711-rpi-4-b.dtb image/1.0-r1/tmp-wic/boot.1/bcm2711-rpi-4-b.dtb returned '1' instead of 0 | output: install: cannot stat 'deploy/images/raspberrypi4-64/bcm2711-rpi-4-b.dtb': No such file or directory we can fix the function to append -${KERNEL_DTB_NAME} or we can change this to install without suffix and then add ${KERNEL_DTB_NAME} link only when KERNEL_DTB_NAME is set (${MACHINE} by default) * now it looks strange to have both KERNEL_DTB_LINK_NAME and KERNEL_DTB_NAME symlinks, but keep it for backwards compatibility and it will make more sense again together with the rest of [YOCTO #12937] where version specific *_LINK_NAME links are created as hardlinks in separate do_deploy_links task. [YOCTO #12937] (From OE-Core rev: 3d04a8405b0fffef7df0760bd4551bd8767a1954) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes-recipe/kernel-devicetree.bbclass')
-rw-r--r--meta/classes-recipe/kernel-devicetree.bbclass28
1 files changed, 18 insertions, 10 deletions
diff --git a/meta/classes-recipe/kernel-devicetree.bbclass b/meta/classes-recipe/kernel-devicetree.bbclass
index 1b60c14740..eff052b402 100644
--- a/meta/classes-recipe/kernel-devicetree.bbclass
+++ b/meta/classes-recipe/kernel-devicetree.bbclass
@@ -100,28 +100,36 @@ do_deploy:append() {
100 if "${@'false' if oe.types.boolean(d.getVar('KERNEL_DTBVENDORED')) else 'true'}"; then 100 if "${@'false' if oe.types.boolean(d.getVar('KERNEL_DTBVENDORED')) else 'true'}"; then
101 dtb=$dtb_base_name.$dtb_ext 101 dtb=$dtb_base_name.$dtb_ext
102 fi 102 fi
103 install -m 0644 ${D}/${KERNEL_DTBDEST}/$dtb $deployDir/$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext 103 install -m 0644 ${D}/${KERNEL_DTBDEST}/$dtb $deployDir/$dtb_base_name.$dtb_ext
104 if [ "${KERNEL_IMAGETYPE_SYMLINK}" = "1" ] ; then 104 if [ -n "${KERNEL_DTB_NAME}" ] ; then
105 ln -sf $dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext $deployDir/$dtb_base_name.$dtb_ext 105 ln -sf $dtb_base_name.$dtb_ext $deployDir/$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext
106 fi 106 fi
107 if [ -n "${KERNEL_DTB_LINK_NAME}" ] ; then 107 if [ -n "${KERNEL_DTB_LINK_NAME}" ] ; then
108 ln -sf $dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext $deployDir/$dtb_base_name-${KERNEL_DTB_LINK_NAME}.$dtb_ext 108 ln -sf $dtb_base_name.$dtb_ext $deployDir/$dtb_base_name-${KERNEL_DTB_LINK_NAME}.$dtb_ext
109 fi 109 fi
110 for type in ${KERNEL_IMAGETYPE_FOR_MAKE}; do 110 for type in ${KERNEL_IMAGETYPE_FOR_MAKE}; do
111 if [ "$type" = "zImage" ] && [ "${KERNEL_DEVICETREE_BUNDLE}" = "1" ]; then 111 if [ "$type" = "zImage" ] && [ "${KERNEL_DEVICETREE_BUNDLE}" = "1" ]; then
112 cat ${D}/${KERNEL_IMAGEDEST}/$type \ 112 cat ${D}/${KERNEL_IMAGEDEST}/$type \
113 $deployDir/$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext \ 113 $deployDir/$dtb_base_name.$dtb_ext \
114 > $deployDir/$type-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT} 114 > $deployDir/$type-$dtb_base_name.$dtb_ext${KERNEL_DTB_BIN_EXT}
115 if [ -n "${KERNEL_DTB_NAME}" ]; then
116 ln -sf $type-$dtb_base_name.$dtb_ext${KERNEL_DTB_BIN_EXT} \
117 $deployDir/$type-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT}
118 fi
115 if [ -n "${KERNEL_DTB_LINK_NAME}" ]; then 119 if [ -n "${KERNEL_DTB_LINK_NAME}" ]; then
116 ln -sf $type-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT} \ 120 ln -sf $type-$dtb_base_name.$dtb_ext${KERNEL_DTB_BIN_EXT} \
117 $deployDir/$type-$dtb_base_name-${KERNEL_DTB_LINK_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT} 121 $deployDir/$type-$dtb_base_name-${KERNEL_DTB_LINK_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT}
118 fi 122 fi
119 if [ -e "${KERNEL_OUTPUT_DIR}/${type}.initramfs" ]; then 123 if [ -e "${KERNEL_OUTPUT_DIR}/${type}.initramfs" ]; then
120 cat ${KERNEL_OUTPUT_DIR}/${type}.initramfs \ 124 cat ${KERNEL_OUTPUT_DIR}/${type}.initramfs \
121 $deployDir/$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext \ 125 $deployDir/$dtb_base_name.$dtb_ext \
122 > $deployDir/${type}-${INITRAMFS_NAME}-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT} 126 > $deployDir/${type}-${INITRAMFS_NAME}-$dtb_base_name.$dtb_ext${KERNEL_DTB_BIN_EXT}
127 if [ -n "${KERNEL_DTB_NAME}" ]; then
128 ln -sf ${type}-${INITRAMFS_NAME}-$dtb_base_name.$dtb_ext${KERNEL_DTB_BIN_EXT} \
129 $deployDir/${type}-${INITRAMFS_NAME}-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT}
130 fi
123 if [ -n "${KERNEL_DTB_LINK_NAME}" ]; then 131 if [ -n "${KERNEL_DTB_LINK_NAME}" ]; then
124 ln -sf ${type}-${INITRAMFS_NAME}-$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT} \ 132 ln -sf ${type}-${INITRAMFS_NAME}-$dtb_base_name.$dtb_ext${KERNEL_DTB_BIN_EXT} \
125 $deployDir/${type}-${INITRAMFS_NAME}-$dtb_base_name-${KERNEL_DTB_LINK_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT} 133 $deployDir/${type}-${INITRAMFS_NAME}-$dtb_base_name-${KERNEL_DTB_LINK_NAME}.$dtb_ext${KERNEL_DTB_BIN_EXT}
126 fi 134 fi
127 fi 135 fi