[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