summaryrefslogtreecommitdiffstats
path: root/classes
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
commitc5de02903826e1bc56f39c4ea177bb5d535ddd10 (patch)
tree24e7e3965f90066e9c2da7cf149b4ba4bb5a3059 /classes
parentb2a323ef2781a9b22dccd299e58d6ffef84420dc (diff)
downloadmeta-fsl-arm-c5de02903826e1bc56f39c4ea177bb5d535ddd10.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>
Diffstat (limited to 'classes')
-rw-r--r--classes/image_types_fsl.bbclass34
1 files changed, 22 insertions, 12 deletions
diff --git a/classes/image_types_fsl.bbclass b/classes/image_types_fsl.bbclass
index 8a9fde4..6bbbc0e 100644
--- a/classes/image_types_fsl.bbclass
+++ b/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)