diff --git a/recipes-bsp/fng-install/files/mx6/fng-install.sh b/recipes-bsp/fng-install/files/mx6/fng-install.sh index f26f1586bca0b9b1b80e458fbeb4fb753b0014f9..e1eded007462359bb9348002f858fabaa94a6641 100644 --- a/recipes-bsp/fng-install/files/mx6/fng-install.sh +++ b/recipes-bsp/fng-install/files/mx6/fng-install.sh @@ -1285,8 +1285,20 @@ load_and_untar() milestone "Writing rootfs (${FILE})" echo + # The tar of fng-system is not yet able to detect compression method + if [ -z "${ROOTFS/*.tar/}" ]; then + COMPRESSION="" + elif [ -z "${ROOTFS/*.tar.gz/}" ]; then + COMPRESSION="z" + elif [ -z "${ROOTFS/*.tar.bz2/}" ]; then + COMPRESSION="j" + else + error_msg "Unknown filetype of rootfs ${ROOTFS} failed, giving up." + return 1 + fi + set +e - ( curl ${CURL_PREFIX}/${FILE} | tar -C ${TARGET} -xz ) 2>&1 | tee /dev/fd/5 + ( curl ${CURL_PREFIX}/${FILE} | tar -C ${TARGET} -x"$COMPRESSION" ) 2>&1 | tee /dev/fd/5 ret=$? set -e @@ -1325,7 +1337,7 @@ load_and_write_files() fi mount /dev/mmcblk0p2 ${TMP_MOUNT_POINT}/boot - load_and_untar ${ROOTFS} ${TMP_MOUNT_POINT} + load_and_untar ${ROOTFS} ${TMP_MOUNT_POINT} for dtb in ${TMP_MOUNT_POINT}/boot/*.dtb ; do case $(basename $dtb) in *${PLATFORM}.dtb) @@ -1337,8 +1349,8 @@ load_and_write_files() exit 1 fi cp "${DTB}" ${TMP_MOUNT_POINT}/boot/devicetree.dtb - cat ${TMP_MOUNT_POINT}/boot/uImage* ${TMP_MOUNT_POINT}/boot/devicetree.dtb > ${TMP_MOUNT_POINT}/boot/linuximage - + cat ${TMP_MOUNT_POINT}/boot/uImage* ${TMP_MOUNT_POINT}/boot/devicetree.dtb > ${TMP_MOUNT_POINT}/boot/linuximage + umount ${TMP_MOUNT_POINT}/boot umount ${TMP_MOUNT_POINT}