ioctl(3, BLKRRPART) = -1 EINVAL (Invalid argument)
De fato, se a mensagem estava correta, o código de erro deve mostrar EBUSY não EINVAL .
Você tem um "argumento inválido" porque passou /dev/mmcblk0p1 . Esta é uma partição. sfdisk edita a tabela que lista todas as partições. Você precisa passar todo o dispositivo, ou seja,
# sfdisk /dev/mmcblk0