emmctool: check file exists before writing and error on box images

This commit is contained in:
Christian Hewitt 2023-02-26 11:12:24 +00:00
parent 870d6d93ab
commit 585c672686
No known key found for this signature in database

View File

@ -148,20 +148,32 @@ do_write(){
do_umount do_umount
case $(dtname) in case $(dtname) in
radxa,zero) radxa,zero*)
do_writeprotect do_writeprotect
;; ;;
esac esac
if [ "${2: -7}" == ".img.gz" ]; then if [ -e "${2}" ]; then
case "${2}" in
*box.img.gz|*box.img)
echo "error: ${2} is not a bootable image, aborting!"
exit 1
;;
*.img.gz)
echo "info: writing ${2} to ${EMMC}" echo "info: writing ${2} to ${EMMC}"
gunzip -c "${2}" | dd of="${EMMC}" bs=1M gunzip -c "${2}" | dd of="${EMMC}" bs=1M
elif [ "${2: -4}" == ".img" ]; then ;;
*.img)
echo "info: writing ${2} to ${EMMC}" echo "info: writing ${2} to ${EMMC}"
dd if="${2}" of="${EMMC}" bs=1M dd if="${2}" of="${EMMC}" bs=1M
else ;;
*)
echo "error: ${2} is not a valid image file!" echo "error: ${2} is not a valid image file!"
exit 1 exit 1
esac
else
echo "error: ${2} not found!"
exit 1
fi fi
} }