[meta-freescale] [meta-fsl-arm][PATCH 2/4] image_types_fsl: Fix .dtb file deploy

McClintock Matthew-B29882 B29882 at freescale.com
Fri Jan 4 12:33:23 PST 2013


On Fri, Dec 21, 2012 at 12:10 PM, Daiane Angolini
<daiane.angolini at freescale.com> wrote:
> .dtb file is copied to 'Boot' partition, the same partition
> uImage is placed.
>
> Now, more than one .dtb can be copied, if board conf file
> determinates more than one .dts file.

If recall correctly, seems like we are doing very similar if not the
same things in meta-fsl-ppc. Just a comment for now though.

-M

>
> Signed-off-by: Daiane Angolini <daiane.angolini at freescale.com>
> ---
>  classes/image_types_fsl.bbclass |   34 ++++++++++++++++++++++------------
>  1 files changed, 22 insertions(+), 12 deletions(-)
>
> diff --git a/classes/image_types_fsl.bbclass b/classes/image_types_fsl.bbclass
> index 8a9fde4..bb8c385 100644
> --- a/classes/image_types_fsl.bbclass
> +++ b/classes/image_types_fsl.bbclass
> @@ -129,12 +129,17 @@ generate_imx_sdcard () {
>         done
>
>         # Copy device tree file
> -       if [ -e "${KERNEL_IMAGETYPE}-${MACHINE}.dtb" ]; then
> -               kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
> -               kernel_dtb="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.dtb`"
> -               if [ `basename $kernel_bin .bin` = `basename $kernel_dtb .dtb` ]; then
> -                       mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.dtb ::/machine.dtb
> -               fi
> +       if test -n "${KERNEL_DEVICETREE}"; then
> +               for DTS_FILE in ${KERNEL_DEVICETREE}; do
> +                       DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
> +                       if [ -e "${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
> +                               kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
> +                               kernel_bin_for_dtb="`readlink ${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
> +                               if [ $kernel_bin = $kernel_bin_for_dtb ]; then
> +                                       mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb ::/${DTS_BASE_NAME}.dtb
> +                               fi
> +                       fi
> +               done
>         fi
>
>         # Burn Partition
> @@ -217,12 +222,17 @@ generate_mxs_sdcard () {
>
>                 mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
>                 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/uImage-${MACHINE}.bin ::/uImage
> -               if [ -e "${KERNEL_IMAGETYPE}-${MACHINE}.dtb" ]; then
> -                       kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
> -                       kernel_dtb="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.dtb`"
> -                       if [ `basename $kernel_bin .bin` = `basename $kernel_dtb .dtb` ]; then
> -                               mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.dtb ::/machine.dtb
> -                       fi
> +               if test -n "${KERNEL_DEVICETREE}"; then
> +                       for DTS_FILE in ${KERNEL_DEVICETREE}; do
> +                               DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
> +                               if [ -e "${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
> +                                       kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
> +                                       kernel_bin_for_dtb="`readlink ${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
> +                                       if [ $kernel_bin = $kernel_bin_for_dtb ]; then
> +                                               mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb ::/${DTS_BASE_NAME}.dtb
> +                                       fi
> +                               fi
> +                       done
>                 fi
>
>                 dd if=${WORKDIR}/boot.img of=${SDCARD} conv=notrunc seek=2 bs=$(expr 1024 \* 1024)
> --
> 1.7.5.4
>
>
> _______________________________________________
> meta-freescale mailing list
> meta-freescale at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-freescale



More information about the meta-freescale mailing list