5

/dev/block/mmcblk0에서 읽으면/dev/block/mmcblk0p1에서 읽는 동안 이전 데이터가 반환되고 최신 데이터가 제공됩니다. 내 질문은 리눅스가 데이터를/dev/block/mmcblk0에 쓰면 백업을 유지합니까? 그 노드를 통해 읽음으로써 SD 카드의 오래된 내용을 읽을 수 있었기 때문입니다./dev/block/mmcblk0 및/dev/block/mmcblk0p1에서의 읽기 차이점

+5

데이터를 쓰기 전에 "이전 데이터"를 반환하고 있습니까? 이 두 블록 장치가 전체 디스크와 첫 번째 파티션 인 것처럼 들립니다. mmcblk0p1의 입출력은 오프셋이있는 mmcblk0의 읽기/쓰기와 같습니다. – cdleonard

+3

cdleonard가 정확합니다. mmcblk0은 전체 디스크 (부팅 섹터에서 시작하여 파티션 테이블 포함)이며 mmcblk0p1은 첫 번째 파티션입니다. mmcblk0에 "이전"데이터가 들어있는 방법은 없습니다. – Gnurou

답변

9

Linux 커널의 mmc 서브 시스템은 mmcblkXpY 형식의 장치 노드를 등록합니다. 리눅스 커널 withing에 등록

  • 각 MMC 장치는 자신의 MMC 장치 번호를 X를받습니다. 특정 장치에
  • 각 파티션은 그것을 Y가 I/O는 파티션 가리키는 노드 장치 장착 후

정상 파일 행할 수 고유 번호를 수신한다.

/dev/mmcblkX 장치에 유효한 파티션 테이블이 없으면 시스템에 후속 /dev/mmcblkXpY 노드가 없습니다.