TMP_WRITE_PROTECT
Ich möchte das Bit (temporärer Schreibschutz) auf meiner SD-Karte setzen /dev/mmcblk0
. Ich denke, das geht durch Umschreiben der CSD (kartenspezifische Daten) unter /sys/block/mmcblk0/device/csd
, aber es gibt doch sicher schon ein Linux-Tool, das das ganze Bit-Banging durchführt und den CRC neu berechnet?
Ich habe gefundenmmc-Dienstprogramme, aber es scheint eine inkompatible Schnittstelle zu verwenden:
# 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
Und ein Stack Overflow-Kommentarerwähnte ein Kommandozeilentool namens sdtool, stellt aber keine URL bereit...
Antwort1
Das Geheimnisvolle, das sdtool
Sie nicht finden können, wird gehostetHier, und Sie können es tatsächlich verwenden, um einen temporären Schreibschutz auf Ihrer Karte zu aktivieren:
sudo umount /dev/mmcblk0p*
sudo sdtool /dev/mmcblk0 lock
sudo sdtool /dev/mmcblk0 reset
Ebenso unlock
wird der Schreibschutz aufgehoben.
Ein Wort der Warnung: Mein System kann nicht erkennen, dass das Flag gesetzt ist, daher muss ich das Dateisystem schreibgeschützt neu mounten. Das Mounten einer schreibgeschützten Karte lässt rw
stillschweigend Schreibvorgänge zu, die in Wirklichkeit nicht stattfinden, was zu seltsamen Dateisystemfehlern führt (die glücklicherweise nicht die SD-Karte betreffen, aber dennoch Programme auf Ihrem Computer verursachen können).