Setzen Sie das „temporäre Schreibschutz“-Bit der SD-Karte unter Linux

Setzen Sie das „temporäre Schreibschutz“-Bit der SD-Karte unter Linux

TMP_WRITE_PROTECTIch 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 sdtoolSie 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 unlockwird 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 rwstillschweigend 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).

verwandte Informationen