summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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)