summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaiane Angolini <daiane.angolini@freescale.com>2012-12-21 12:10:25 -0600
committerOtavio Salvador <otavio@ossystems.com.br>2012-12-21 16:48:24 -0200
commit3ec69a6051a9a9192dee585a01ee7370dff50597 (patch)
tree598c5ee13b80fcebd7a9a1d489ff9ddf8fbc8da5
parent4e092f0d9705d5a6e308806dc5f962a10bf8179b (diff)
downloadmeta-freescale-3ec69a6051a9a9192dee585a01ee7370dff50597.tar.gz
image_types_fsl: Fix .dtb file deploy
.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. Signed-off-by: Daiane Angolini <daiane.angolini@freescale.com>
-rw-r--r--meta-fsl-arm/classes/image_types_fsl.bbclass34
1 files changed, 22 insertions, 12 deletions
diff --git a/meta-fsl-arm/classes/image_types_fsl.bbclass b/meta-fsl-arm/classes/image_types_fsl.bbclass
index 8a9fde4f5..6bbbc0edf 100644
--- a/meta-fsl-arm/classes/image_types_fsl.bbclass
+++ b/meta-fsl-arm/classes/image_types_fsl.bbclass
@@ -129,12 +129,17 @@ generate_imx_sdcard () {
129 done 129 done
130 130
131 # Copy device tree file 131 # Copy device tree file
132 if [ -e "${KERNEL_IMAGETYPE}-${MACHINE}.dtb" ]; then 132 if test -n "${KERNEL_DEVICETREE}"; then
133 kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`" 133 for DTS_FILE in ${KERNEL_DEVICETREE}; do
134 kernel_dtb="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.dtb`" 134 DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
135 if [ `basename $kernel_bin .bin` = `basename $kernel_dtb .dtb` ]; then 135 if [ -e "${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
136 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.dtb ::/machine.dtb 136 kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
137 fi 137 kernel_bin_for_dtb="`readlink ${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
138 if [ $kernel_bin = $kernel_bin_for_dtb ]; then
139 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb ::/${DTS_BASE_NAME}.dtb
140 fi
141 fi
142 done
138 fi 143 fi
139 144
140 # Burn Partition 145 # Burn Partition
@@ -217,12 +222,17 @@ generate_mxs_sdcard () {
217 222
218 mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS 223 mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
219 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/uImage-${MACHINE}.bin ::/uImage 224 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/uImage-${MACHINE}.bin ::/uImage
220 if [ -e "${KERNEL_IMAGETYPE}-${MACHINE}.dtb" ]; then 225 if test -n "${KERNEL_DEVICETREE}"; then
221 kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`" 226 for DTS_FILE in ${KERNEL_DEVICETREE}; do
222 kernel_dtb="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.dtb`" 227 DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
223 if [ `basename $kernel_bin .bin` = `basename $kernel_dtb .dtb` ]; then 228 if [ -e "${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
224 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.dtb ::/machine.dtb 229 kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
225 fi 230 kernel_bin_for_dtb="`readlink ${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
231 if [ $kernel_bin = $kernel_bin_for_dtb ]; then
232 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb ::/${DTS_BASE_NAME}.dtb
233 fi
234 fi
235 done
226 fi 236 fi
227 237
228 dd if=${WORKDIR}/boot.img of=${SDCARD} conv=notrunc seek=2 bs=$(expr 1024 \* 1024) 238 dd if=${WORKDIR}/boot.img of=${SDCARD} conv=notrunc seek=2 bs=$(expr 1024 \* 1024)