WRT why it stopped after 10MB, if i specified a smaller size it would just stop after whatever was specified, so its just doing a single chunk equal to whatever bs has been specified as.
I think the re-read of the partition table is probably the problem - so thanks for that suggestion. To check my understanding - would it be correct to say that; 1. Using dd to copy the first 512 bytes (MBR) is ALL that is needed to setup the partitions - that is i wont need to run fdisk etc afterward. 2. Using dd in this way of course will not update the kernel's knowledge of the partition table so a partprobe is necessary 3. When using fdisk to write a partition table and exit, it calls a re-read of the partition table by the kernel so any changes should be ready straight away. (there's a message about calling ioctl when it exits - so i guess that is the update)