> On Oct 6, 2016, at 5:20 AM, Jonathan Liu <net...@gmail.com> wrote:
> 
> The value of the RPI_KERNEL_VERSION can change between None and the
> kernel version which can result in taskhash mismatch errors while
> building images.
> 
> The taskhash mismatch errors can be reproduced using:
> bitbake -c cleansstate virtual/kernel core-image-minimal && bitbake 
> core-image-minimal
> 
> The get_dts() and split_overlays() functions are modified so that the
> kernel version argument is optional. If the version is not supplied to
> these functions, they will fallback to the Python equivalent of the
> expression used for RPI_KERNEL_VERSION.

I was able to see this error and was reaching same conclusions. I have staged 
this patch on
kraj/master and will test it out

> 
> Signed-off-by: Jonathan Liu <net...@gmail.com>
> ---
> classes/linux-raspberrypi-base.bbclass | 4 ++--
> classes/sdcard_image-rpi.bbclass       | 8 +++-----
> 2 files changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/classes/linux-raspberrypi-base.bbclass 
> b/classes/linux-raspberrypi-base.bbclass
> index 930fc44..3a6e33d 100644
> --- a/classes/linux-raspberrypi-base.bbclass
> +++ b/classes/linux-raspberrypi-base.bbclass
> @@ -1,6 +1,6 @@
> inherit linux-kernel-base
> 
> -def get_dts(d, ver):
> +def get_dts(d, ver=None):
>     import re
> 
>     staging_dir = d.getVar("STAGING_KERNEL_BUILDDIR", True)
> @@ -32,7 +32,7 @@ def get_dts(d, ver):
>     return dts
> 
> 
> -def split_overlays(d, ver, out):
> +def split_overlays(d, out, ver=None):
>     dts = get_dts(d, ver)
>     if out:
>         overlays = oe.utils.str_filter_out('\S+\-overlay\.dtb$', dts, d)
> diff --git a/classes/sdcard_image-rpi.bbclass 
> b/classes/sdcard_image-rpi.bbclass
> index 2f0daee..0487ef1 100644
> --- a/classes/sdcard_image-rpi.bbclass
> +++ b/classes/sdcard_image-rpi.bbclass
> @@ -71,8 +71,6 @@ SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.rpi-sdimg"
> # Additional files and/or directories to be copied into the vfat partition 
> from the IMAGE_ROOTFS.
> FATPAYLOAD ?= ""
> 
> -RPI_KERNEL_VERSION := 
> "${@get_kernelversion_file('${STAGING_KERNEL_BUILDDIR}')}"
> -
> IMAGE_CMD_rpi-sdimg () {
> 
>       # Align partitions
> @@ -83,7 +81,7 @@ IMAGE_CMD_rpi-sdimg () {
>       echo "Creating filesystem with Boot partition ${BOOT_SPACE_ALIGNED} KiB 
> and RootFS $ROOTFS_SIZE KiB"
> 
>       # Check if we are building with device tree support
> -     DTS="${@get_dts(d, '${RPI_KERNEL_VERSION}')}"
> +     DTS="${@get_dts(d)}"
> 
>       # Initialize sdcard image file
>       dd if=/dev/zero of=${SDIMG} bs=1024 count=0 seek=${SDIMG_SIZE}
> @@ -104,8 +102,8 @@ IMAGE_CMD_rpi-sdimg () {
>       mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* 
> ::/
>       if test -n "${DTS}"; then
>               # Device Tree Overlays are assumed to be suffixed by 
> '-overlay.dtb' (4.1.x) or by '.dtbo' (4.4.9+) string and will be put in a 
> dedicated folder
> -             DT_OVERLAYS="${@split_overlays(d, '${RPI_KERNEL_VERSION}', 0)}"
> -             DT_ROOT="${@split_overlays(d, '${RPI_KERNEL_VERSION}', 1)}"
> +             DT_OVERLAYS="${@split_overlays(d, 0)}"
> +             DT_ROOT="${@split_overlays(d, 1)}"
> 
>               # Copy board device trees to root folder
>               for DTB in ${DT_ROOT}; do
> --
> 2.10.0
> 

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to