Eu suponho que a partição para / dev / sdd2 é criada e é do tipo correto porque você tentou essa etapa manualmente e parecia OK, no entanto, você pode querer tentar executar o script ./setup_sdcard.sh com "- debug --fdisk-debug "para obter mais informações sobre o particionamento para ter certeza. De qualquer forma, como já temos uma partição que provavelmente está correta, como root ou 'sudo -i', faça o seguinte:
mkfs.ext4 /dev/sdd2 -L rootfs
mkdir /tmp/temp_mount
mount -t ext4 /dev/sdd2 /tmp/temp_mount
Esta última etapa deve falhar, pelo menos esperamos que seja porque é basicamente isso que o script está fazendo. Se for bem sucedido, então você tem um ./setup_sdcard.sh ruim e provavelmente deve baixá-lo novamente. Este seria um bom momento para verificar o dmesg (digite 'dmesg' em um terminal) para quaisquer erros recentes relacionados a discos rígidos ou partições. Se você vir algum erro sobre "diários", tente o seguinte:
tune2fs -j /dev/sdd2
mount -t ext4 /dev/sdd2 /tmp/temp_mount
e tente executar o fsck da seguinte maneira:
fsck.ext4 /dev/sdd2
mount -t ext4 /dev/sdd2 /tmp/temp_mount
Como teste de integridade, tente também:
mkfs.ext4 /dev/sdd2
mount /dev/sdd2 /tmp/temp_mount
Por fim, outra opção pode ser preencher (uma das) as cartas com zeros (dd se = / dev / zero de / / dev / sdd) e, em seguida, repetir o script. Mas certifique-se de que não há dados valiosos no cartão, pois isso apagará tudo. Em seguida, tente o processo novamente.
A razão pela qual isso está falhando provavelmente não se deve ao hardware da placa, já que você experimentou várias placas (embora você possa tentar uma leitora de cartão diferente). Eu suspeito que seja um bug de hardware com o leitor de cartão, um bug do kernel ou um problema com o e2fsprogs. O e2fsprogs é a última versão estável, o que provavelmente é OK. Tente formatar em uma máquina diferente com um leitor diferente.
Espero que uma das soluções acima o ajude.