Установить бит «временной защиты от записи» SD-карты в Linux

Установить бит «временной защиты от записи» SD-карты в Linux

Я хочу установить TMP_WRITE_PROTECTбит (временной защиты от записи) на моей SD-карте /dev/mmcblk0. Я думаю, это можно сделать, перезаписав CSD (данные, специфичные для карты) в /sys/block/mmcblk0/device/csd, но наверняка уже есть инструмент Linux, который может выполнить все эти битовые манипуляции и пересчитать CRC?

Я нашелmmc-утилиты, но, похоже, он использует несовместимый интерфейс:

# mmc extcsd read /dev/mmcblk0
ioctl: Connection timed out
Could not read EXT_CSD from /dev/mmcblk0
# mmc writeprotect get /dev/mmcblk0 
ioctl: Connection timed out
Could not read EXT_CSD from /dev/mmcblk0

И комментарий на Stack Overflowупомянул инструмент командной строки под названием sdtool, но не предоставляет URL...

решение1

Таинственное, что sdtoolвы не можете найти, размещеноздесь, и вы действительно можете использовать его для включения временной защиты от записи на вашей карте:

sudo umount /dev/mmcblk0p*
sudo sdtool /dev/mmcblk0 lock
sudo sdtool /dev/mmcblk0 reset

Аналогично unlockснимет защиту от записи.

Предупреждение: моя система не может распознать, что флаг установлен, поэтому мне нужно перемонтировать файловую систему как только для чтения. Монтирование защищенной от записи карты как rwмолча разрешает запись, которая на самом деле не будет иметь места, что приведет к странным ошибкам файловой системы (которые, к счастью, не повлияют на SD-карту, но все еще могут остановить программы на вашем компьютере).

Связанный контент