我想TMP_WRITE_PROTECT
在我的 SD 卡上設定(臨時寫保護)位元/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
以及 Stack Overflow 評論提到了一個名為 sdtool 的命令列工具,但不提供網址...
答案1
那個sdtool
你找不到的神秘存在這裡,您確實可以使用它來啟用卡片上的臨時寫入保護:
sudo umount /dev/mmcblk0p*
sudo sdtool /dev/mmcblk0 lock
sudo sdtool /dev/mmcblk0 reset
同樣,unlock
將寫入保護去掉。
警告:我的系統無法識別該標誌已設置,因此我需要將檔案系統重新掛載為唯讀。安裝寫入保護卡將rw
默默地允許實際上不會發生的寫入,從而導致奇怪的檔案系統錯誤(幸運的是,這不會影響 SD 卡,但仍然可以在電腦上提交程式)。