diff options
-rw-r--r-- | 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..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) |