我想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 卡,但仍会交出计算机上的程序)。