Escrevendo para um cartão UDF WORM SD no Linux

0

Estou procurando alguns cartões Sandisk 1GB WORM SD para arquivar as coisas. Eu suponho que eles aparecem para o sistema operacional como um dispositivo de bloco (eles são SD, afinal). Notei que o mkudffs suporta um tipo de mídia sem-fim. Eu tentei testar isso com um arquivo:

# dd if=/dev/zero of=worm.img bs=1M count=16
# mkudffs --blocksize=512 --media-type=worm worm.img
# mount -o loop worm.img /mnt/worm/

Mas o sistema de arquivos não está reforçando o WORM:

/mnt/worm# dd if=/dev/urandom of=foo
dd: writing to 'foo': No space left on device
31329+0 records in
31328+0 records out
16039936 bytes (16 MB) copied, 1.27185 s, 12.6 MB/s
/mnt/worm# rm foo
/mnt/worm# dd if=/dev/urandom of=bar
dd: writing to 'bar': No space left on device
31329+0 records in
31328+0 records out
16039936 bytes (16 MB) copied, 1.19381 s, 13.4 MB/s

Se o FS realmente aplicasse o WORM, delete poderia funcionar, mas eu não seria capaz de escrever 16 MB duas vezes.

Então, minhas perguntas:

  • Um SD do WORM realmente seria exibido apenas como um dispositivo de bloco? As gravações em blocos já escritos falham? Os blocos vazios seriam apenas zeros?
  • Estou entendendo mal o que a UDF WORM deve fazer?
  • O UDF WORM funcionaria se eu tivesse um dispositivo real WORM? Existe uma maneira de testar isso com um dispositivo de loopback?
  • Alguma outra sugestão para fazer isso? Encontrar mídia de 100 anos em que confio é complicado
por David Ehrmann 17.10.2013 / 19:49

1 resposta

1

Acontece que uma empresa alemã chamada Altec desenvolveu uma unidade e um software para gravar dispositivos Sandisk WORM. O dispositivo parece (mas não tenho certeza) apenas um típico leitor de cartão SD USB. O software, no entanto, é interessante. De alguma forma, ele pode gravar e atualizar arquivos em uma versão WORM do FAT que pode até ser montada como um FAT FS comum.

Eles abrem pedaços do código (no caso de eles ou a tecnologia desaparecer, e a tecnologia o fez). Há um arquivo chamado WormHugeFile.cpp com detalhes de implementação para o bit WORM disso tudo. Basicamente, a Sandisk criou opcodes SCSI específicos do fornecedor para operação WORM. Você pode consultar o dispositivo para ver se é um dispositivo WORM, alterná-lo entre o modo WORM e ROM, abrir e fechá-lo para gravação WORM e marcá-lo como somente leitura.

Fora da caixa, essas placas parecem estar no modo "ROM" e agem como cartões SD normais.

Quanto aos bits UDF, o UDF suporta mídia WORM, mas o driver de driver UDF do Linux não tem esse suporte atualmente; ele vê um UDF FS no modo WORM como um RW UDF FS.

    
por 29.12.2013 / 20:12