esac
  
        BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDCARD} unit b print \
-                         | awk '/ 2 / { print substr($4, 1, length($4 -1)) / 1024 }')
+                         | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 1024 }')
        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
 +      fi
  
        dd if=${WORKDIR}/boot.img of=${SDCARD} conv=notrunc seek=1 bs=1M
        dd if=${SDCARD_ROOTFS} of=${SDCARD} conv=notrunc seek=1 bs=${BOOT_SPACE}