# sfdisk /dev/mmcblk0p1
Welcome to sfdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Checking that no-one is using this disk right now ... FAILED
This disk is currently in use - repartitioning is probably a bad idea.
Umount all file systems, and swapoff all swap partitions on this disk.
Use the --no-reread flag to suppress this check.
Mas não consigo encontrar onde é usado.
# grep mmc /proc/mounts
# grep mmc /proc/swaps
# lsof /dev/mmc*
# fuser /dev/mmc*
sfdisk
é de util-linux 2.29.2-1+deb9u1
.
# strace -f sfdisk /dev/mmcblk0p1
...
write(1, "\33[0mChanges will remain in memor"..., 115Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
) = 115
write(1, "\n", 1
) = 1
fstat64(3, {st_mode=S_IFBLK|0660, st_rdev=makedev(179, 1), ...}) = 0
ioctl(3, BLKRRPART) = -1 EINVAL (Invalid argument)
write(1, "Checking that no-one is using th"..., 62Checking that no-one is using this disk right now ... FAILED
De fato, se a mensagem estivesse correta, o código de erro deveria mostrar
EBUSY
notEINVAL
.Você tem um "argumento inválido" porque você 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,