The smallest linode is exactly 24 GiB (i.e. 24*1024^3 bytes).
Uploading only part of the image should be ok as far as you are completely sure that the part you don't upload is still unused and unallocated. For example, I once created a 24 GiB disk this way:
Code:
qemu-img create linode-disk 24G
Then installed Debian on a small 2000 MB partition (/dev/vda1 in my VM) and without swap. This is what fdisk -l told me:
Code:
Device Boot Start End Sectors Size Id Type
/dev/vda1 * 2048 3999743 3997696 1,9G 83 Linux
So I had to transfer sectors from 0 to 3999743 and this is what I did:
Code:
head --bytes=2047868928 linode-disk | pv | ssh -C root@123.456.789.123 "cat > /dev/sda"
If your image is bigger than that, make sure all your tools are able to handle files larger than 2GiB, i.e. what's commonly called "Large File Support". For that, using a 64-bit OS may help.