Formatando um sdcard com o mkfs trava indefinidamente

6

Estou tentando formatar um sdcard seguindo este guia . Eu sou capaz de criar com sucesso a tabela de partição, mas tentar formatar a partição Linux com mkfs produz a seguinte saída:

mke2fs 1.42.9 (4-Feb-2014)
Discarding device blocks:    4096/1900544

onde parece ser interrompido indefinidamente. Deixei o processo em execução por um tempo, mas nada muda. Se ejetar o sdcard, o mkfs gravará a saída esperada no terminal:

mke2fs 1.42.9 (4-Feb-2014)
Discarding device blocks: failed - Input/output error
Warning: could not erase sector 2: Attempt to write block to filesystem resulted in short write
warning: 512 blocks unused.

Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
476064 inodes, 1900544 blocks
95026 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1946157056
58 block groups
32768 blocks per group, 32768 fragments per group
8208 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done                            
Warning: could not read block 0: Attempt to read block from filesystem resulted in short read
Warning: could not erase sector 0: Attempt to write block to filesystem resulted in short write
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:  0/58
Warning, had trouble writing out superblocks.

Por que o mkfs está reportando que estamos "descartando" bloqueios e o que pode estar causando o desligamento?

EDITAR

Eu sou capaz de criar duas partições com sucesso - uma com 100 MB e as outras com 7,3 GB. Em seguida, posso formatar e montar a partição de 100MB como FAT32 - é a partição ext4 de 7.3GB que está tendo esse problema.

O dmesg é inundado com:

[ 9350.097112] mmc0: Got data interrupt 0x02000000 even though no data operation was in progress.
[ 9360.122946] mmc0: Timeout waiting for hardware interrupt.
[ 9360.125083] mmc_erase: erase error -110, status 0x0
[ 9360.125086] end_request: I/O error, dev mmcblk0, sector 3096576

EDIT 2

Parece que o problema se manifesta quando tento formatá-lo como ext4. Se eu formatar a partição 7.3GB como FAT32, como exemplo, a operação é bem-sucedida.

EDIT 2

Para concluir de forma interessante o acima, inseri o sdcard em um BeagleBone e o formatei exatamente da mesma forma que estava no Mint e tudo funcionou perfeitamente. Eu removi o sdcard, o reinseri em minha máquina principal e terminei de copiar os dados para as partições recém-criadas e formatadas.

    
por sherrellbc 11.01.2016 / 18:47

1 resposta

4

Eu realmente suspeito que você está sendo mordido por um bug de corrupção ext4 muito falado no kernel 3 e 4. Dê uma olhada neste tópico,

link

Há relatos constantes de erros de corrupção nos sistemas de arquivos ext4, com configurações variadas. Muitas pessoas reclamando em fóruns. O bug parece afetar mais pessoas com configurações de RAID.

No entanto, eles são supostamente corrigidos na versão 4.0.3.

"4.0.3 inclui uma correção para um bug crítico do ext4 que pode resultar em uma grande perda de dados."

link

Existem outros bugs do ext4, incluindo bugs corrigidos a partir do dia 30 de novembro [de 2015].

link

Há também aqui um artigo muito interessante falando sobre opções de configuração no ext4, e possível corrupção com ele com falhas de energia.

link

Eu testaria o cartão com outro sistema de arquivos diferente de ext4, talvez ext3.

Esses erros sistemáticos com ext4 são uma das razões pelas quais estou usando o linux-image-4.3.0-0.bpo.1-amd64 do repositório de backports debian em Jessie em minha fazenda de servidores no trabalho.

Sua versão em particular, o kernel 3.13 parece ser mais afetado pelo bug.

link link

Eu não colocaria isso de lado, talvez alguma combinação de configuração e hardware ao seu lado esteja acionando o bug mais do que o normal.

Cartões SD também ficam ruins com o uso e desgaste, e devido ao sistema de arquivos de registro no diário, um sistema ext4fs não é o ideal para um cartão SD. Como curiosidade, estou usando um Lamobo R1 e usando o cartão SD apenas para inicializar o kernel, com um disco SSD.

link

    
por 12.01.2016 / 05:10