Erro de espaço em disco ao usar o DD para gravar no disco bruto no leitor externo?

1

Continuo recebendo erros de espaço em disco ao usar o dd para gravar em disco bruto em cartões SD em um leitor de cartão SD externo conectado por USB.

➜  ~ gzip -cd < image.dd.gz | sudo dd of=/dev/rsda
dd: writing to '/dev/rsda': No space left on device
2598977+0 records in
2598976+0 records out
1330675712 bytes (1,3 GB, 1,2 GiB) copied, 7,08613 s, 188 MB/s

No entanto, /dev/sda funciona e eu sou capaz de copiar uma imagem gzip para meu leitor de cartão SD interno de laptops.

gzip -cd < image.dd.gz | sudo dd of=/dev/rmmcblk 

Eu usei fdisk e lsblk para examinar a configuração mais de perto:

➜  ~ sudo fdisk -l /dev/sda
Disk /dev/sda: 14,9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x4f669081

➜  ~ sudo fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 14,9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

➜  ~ lsblk
sda                  8:0    1  14,9G  0 disk
mmcblk0            179:0    0  14,9G  0 disk

Percebi a diferença sutil de que o nome do disco da minha unidade interna é mmcklk0 , mas parece que eu preciso soltar o 0 ao gravar no disco bruto. Eu ficaria surpreso se isso fosse um problema.

Eu também explorei essa questão -  " dd comando indica não há espaço em disco suficiente - tentando formatar o cartão SD para o pi de framboesa "- mas nada ajudou.

Qualquer ajuda seria apreciada!

Plano de fundo : estou clonando mais de 200 cartões SD de 16 GB. Escrever para raw leva 55s e 20+ minutos sem raw. Idealmente, eu gostaria de comprar vários leitores de cartão SD e clonar dez de cada vez.

    
por Mario Olivio Flores 06.02.2018 / 13:34

1 resposta

3

O Linux não possui conceitos de dispositivos brutos.

Você está usando /dev/rsda como o dispositivo de saída. No entanto, não existe tal dispositivo no linux, então o que você está fazendo é gravar em um arquivo simples no sistema de arquivos contendo /dev . Esta é a razão pela qual parece tão rápido: você não está escrevendo para o cartão SD, você está escrevendo para o disco.

    
por 06.02.2018 / 14:21