O comando é:
blockdev --getsize64 /dev/mmcblk0p1
Ele fornece o resultado em bytes, como um número inteiro de 64 bits. Ele consulta o tamanho de byte de um dispositivo de bloco , conforme o kernel vê seu tamanho.
O motivo, por fdisk -l /dev/mmcblk0p1
que não funcionou, é que fdisk
faz algo totalmente diferente: lê na tabela de partição (= primeiro setor) do dispositivo de bloco e imprime o que encontrou . Ele não verifica nada, apenas diz o que está na tabela de partições.
Nem sequer se incomoda se a tabela de partição está danificada ou se o dispositivo de bloco não possui uma: ele imprimirá um aviso de que a soma de verificação não está correta, mas ainda imprime o que foi encontrado, mesmo que os valores não sejam claramente -sentido.
Foi o que aconteceu no seu caso: /dev/mmcblk0p1
não possui uma tabela de partição. Como o nome do dispositivo mostra, ele já é a primeira partição do disco físico /dev/mmcblk0
. Este disco contém uma tabela de partições, se você a consultou fdisk -l /dev/mmcblk0
, funcionou (supondo que tivesse uma tabela de partições msdos).