On Thu, Sep 6, 2018 at 2:06 PM, Leon Woestenberg <[email protected]> wrote:
> kernel-fitimage.bbclass replaces an occurance of "fitImage" in
> KERNEL_IMAGETYPE_FOR_MAKE by an image type that is buildable for the
> architecture (such as zImage). The kernel-fitimage.bbclass packs that
> image as sub-image in a flattened image tree image (fitImage) and
> deploys this fitImage along with the image tree source file (.its).
>
> kernel-fitimage.bbclass does not alter KERNEL_IMAGETYPES, which thus
> also contains "fitImage", which kernel.bbclass will also deploy
> redundantly with different naming.
>
> The result is a dual deployment with slightly different naming,
> each with a set of symlinks.
>
> The solution chosen is to have fitImage deployment be handled by
> kernel-fitimage.bbclass, and have kernel.bbclass ignore fitImage
> types during deployment.
>
> Signed-off-by: Leon Woestenberg <[email protected]>
> ---
> meta/classes/kernel.bbclass | 21 +++++++++++++--------
> 1 file changed, 13 insertions(+), 8 deletions(-)
>
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index b57832c..5d168e8 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -669,8 +669,11 @@ kernel_do_deploy() {
> fi
>
> for imageType in ${KERNEL_IMAGETYPES} ; do
> - base_name=${imageType}-${KERNEL_IMAGE_NAME}
> - install -m 0644 ${KERNEL_OUTPUT_DIR}/${imageType}
> $deployDir/${base_name}.bin
> + for imageType in ${KERNEL_IMAGETYPES} ; do
> + if [ "$imageType" != "fitImage" ]; then
> + base_name=${imageType}-${KERNEL_IMAGE_NAME}
> + install -m 0644 ${KERNEL_OUTPUT_DIR}/${imageType}
> $deployDir/${base_name}.bin
> + fi
> done
> if [ ${MODULE_TARBALL_DEPLOY} = "1" ] && (grep -q -i -e
> '^CONFIG_MODULES=y$' .config); then
> mkdir -p ${D}/lib
> @@ -686,12 +689,14 @@ kernel_do_deploy() {
> done
>
> if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = x1
> ]; then
> - for imageType in ${KERNEL_IMAGETYPES} ; do
> - initramfs_base_name=${imageType}-${INITRAMFS_NAME}
> -
> initramfs_symlink_name=${imageType}-${INITRAMFS_LINK_NAME}
> - install -m 0644
> ${KERNEL_OUTPUT_DIR}/${imageType}.initramfs
> $deployDir/${initramfs_base_name}.bin
> - ln -sf ${initramfs_base_name}.bin
> $deployDir/${initramfs_symlink_name}.bin
> - done
> + if [ "$imageType" != "fitImage" ]; then
> + for imageType in ${KERNEL_IMAGETYPES} ; do
This looks odd. You test imageType before the for loop which assigns a
value to it?
> +
> initramfs_base_name=${imageType}-${INITRAMFS_NAME}
> +
> initramfs_symlink_name=${imageType}-${INITRAMFS_LINK_NAME}
> + install -m 0644
> ${KERNEL_OUTPUT_DIR}/${imageType}.initramfs
> $deployDir/${initramfs_base_name}.bin
> + ln -sf ${initramfs_base_name}.bin
> $deployDir/${initramfs_symlink_name}.bin
> + done
> + fi
> fi
> }
> do_deploy[cleandirs] = "${DEPLOYDIR}"
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> [email protected]
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core