Linux에서 sdcard "임시 쓰기 보호" 비트 설정

Linux에서 sdcard "임시 쓰기 보호" 비트 설정

TMP_WRITE_PROTECT내 sdcard에 (임시 쓰기 방지) 비트를 설정하고 싶습니다 /dev/mmcblk0. 에서 CSD(카드 특정 데이터)를 다시 작성하면 이 작업이 수행될 수 있다고 생각합니다. /sys/block/mmcblk0/device/csd하지만 모든 비트 뱅킹을 수행하고 CRC를 다시 계산하는 Linux 도구가 이미 있습니까?

내가 발견했다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을 제공하지 않습니다...

답변1

당신이 찾을 수 없는 그 신비로움이 sdtool호스팅됩니다여기, 실제로 이를 사용하여 카드에 임시 쓰기 방지를 활성화할 수 있습니다.

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

마찬가지로 unlock쓰기 금지를 제거합니다.

경고: 내 시스템은 플래그가 설정된 것을 인식할 수 없으므로 파일 시스템을 읽기 전용으로 다시 마운트하는 것은 나에게 달려 있습니다. 쓰기 방지된 카드를 마운트하면 rw실제로는 발생하지 않는 쓰기가 자동으로 허용되어 이상한 파일 시스템 오류가 발생합니다(다행히 SD 카드에는 영향을 미치지 않지만 여전히 컴퓨터의 프로그램을 손상시킬 수 있음).

관련 정보