[yocto] [meta-raspberrypi][PATCH] sdcard_image-rpi.bbclass: Remove redundant RPI_KERNEL_VERSION

Khem Raj raj.khem at gmail.com
Thu Oct 6 09:59:59 PDT 2016


> On Oct 6, 2016, at 5:20 AM, Jonathan Liu <net147 at 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 <net147 at 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
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20161006/f17e7bfc/attachment.pgp>


More information about the yocto mailing list