Установить бит SDCard "временная защита от записи" в Linux

2896
mikador

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

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

# 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 

В комментарии к переполнению стека упоминается инструмент командной строки под названием sdtool, но он не предоставляет URL-адрес ...

2

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

2
Dmitry Grigoryev

That mysterious sdtool you cannot find is hosted here, and you can indeed use it to enable temporary write protection on your card:

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

Similarly, unlock will remove the write protection.

A word of warning: my system is not able to recognize that the flag is set, so it's up to me to remount the filesystem as read-only. Mounting write-protected card as rw will silently allow writes which in reality won't take place, resulting in weird filesystem errors (which fortunately won't affect the SD card but still can hand up programs on your computer).

`Sdtool` собирает для x86? Melab 8 лет назад 0

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