diff options
author | Martin Jansa <Martin.Jansa@gmail.com> | 2023-05-25 12:22:18 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-06-29 11:28:32 +0100 |
commit | fbace4111441d36026c3b5cd2ef690250ca8c448 (patch) | |
tree | 6f19b8dbdca98399bd52b60389fbda0825109911 /meta | |
parent | 92f8d99fe01734ddd81b0ddc145b0b18c7e00185 (diff) | |
download | poky-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')
-rw-r--r-- | meta/classes-recipe/kernel-devicetree.bbclass | 28 |
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 |