Запись на карту UDF WORM SD в Linux

860
David Ehrmann

Я ищу несколько карт памяти Sandisk 1GB WORM для архивирования. Я предполагаю, что они представляются ОС как блочное устройство (в конце концов, это SD). Я заметил, что mkudffs поддерживает тип носителя червя. Я попытался проверить это с файлом:

# 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 / 

Но файловая система не поддерживает WORM:

/ mnt / worm # dd if = / dev / urandom of = foo dd: запись в `foo ': на устройстве не осталось места 31329 + 0 записей в 31328 + 0 записей 16039936 байт (16 МБ) скопировано, 1,27185 с, 12,6 МБ / с / mnt / worm # rm foo  / mnt / worm # dd if = / dev / urandom of = bar dd: запись в `bar ': на устройстве не осталось места 31329 + 0 записей в 31328 + 0 записей 16039936 байт (16 МБ) скопировано, 1,19381 с, 13,4 МБ / с 

Если FS действительно применяет WORM, удаление может сработать, но я не смог бы записать 16 МБ дважды.

Итак, мои вопросы:

  • Будет ли WORM SD просто отображаться как блочное устройство? Сбой записи в уже написанные блоки? Будут ли пустые блоки просто нулями?
  • Я неправильно понимаю, что должен делать UDF WORM?
  • Будет ли работать UDF WORM, если у меня будет настоящее устройство WORM? Есть ли способ проверить это с помощью петлевого устройства?
  • Любые другие предложения для этого? Найти 100-летние СМИ, которым я доверяю, сложно
0
вы нашли решение для WORM SD-карты? Я ищу это. Tobia 8 лет назад 0

1 ответ на вопрос

1
David Ehrmann

It turns out a German company named Altec developed a drive and software for writing to Sandisk WORM devices. The device looks like (but I'm not sure) just a typical USB SD card reader. The software, however, is interesting. It somehow can write and update files in a WORM version of FAT that might even mount as an ordinary FAT FS.

They open sourced bits of their code (in the event they or the technology disappears, and the technology did). There's a file named WormHugeFile.cpp with implementation details for the WORM bit of all this. Basically, Sandisk created vendor-specific SCSI opcodes for WORM operation. You can query the device to see if it's a WORM device, switch it between WORM and ROM mode, open and close it for WORM writing, and mark it as read-only.

Out of the box, these cards seem to be in "ROM" mode and act like normal SD cards.

As for the UDF bits, UDF does support WORM media, but the Linux UDF driver driver doesn't currently have that support; it sees a UDF FS in WORM mode as a RW UDF FS.

Похожие вопросы