$ sudo dd if=/dev/mmcblk1 of=/home/linaro/Desktop/mmcblk1.img bs=X count=Y conv=noerror,sync
[NOTE]:
X means Block size; Y means Processing number of blocks.
X*Y has to a little bit bigger than the resized capacity. The dd procedure needs to reserve some space to process. If the reserve space is not enough, the dd procedure would be failed.
For example: For this case, the bs would be 5M and count would be 1000 and the created image size would be 5GB totally.
Then the created image could be restored back to the whole storage of the next board by dd/ecther/Win32DiskImager.
PS: u can follow way to rezise storage partition before u backup the image
https://github.com/TinkerBoard/TinkerBoard/wiki/Developer-Guide#for-tinker-board-2s