diff options
author | Daiane Angolini <daiane.angolini@freescale.com> | 2012-12-21 12:10:25 -0600 |
---|---|---|
committer | Otavio Salvador <otavio@ossystems.com.br> | 2012-12-21 16:48:24 -0200 |
commit | c5de02903826e1bc56f39c4ea177bb5d535ddd10 (patch) | |
tree | 24e7e3965f90066e9c2da7cf149b4ba4bb5a3059 /classes | |
parent | b2a323ef2781a9b22dccd299e58d6ffef84420dc (diff) | |
download | meta-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.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) |