>

내 임베디드 리눅스 장치에서 플래시 메모리의 파티션 크기가 혼란 스럽다 :

/ # cat /proc/partitions
major minor  #blocks  name
 240        0      93184 ndda
 240        1      85168 ndda1
 240        2       7000 ndda2
 240        3       1000 ndda3

ndda2와 ndda3에 해당하는 파티션이 각각 7000kB와 1000kB 크기로 생성되었다는 것을 알고 있습니다.

ndda가 ndda1 + ndda2 + ndda3의 크기보다 16 kB 더 큽니다.

즉,93184-(85168 + 7000 + 1000) = 16입니다.

16kB의 책임은 무엇이며 어디에서 더 자세한 정보를 얻을 수 있습니까?

이제 ndda1을/nand1이라는 디렉토리에 마운트하면 다음과 같은 결과를 얻습니다 :

/ # df
Filesystem           1k-blocks      Used Available Use% Mounted on
tmpfs                    27044         0     27044   0% /dev/shm
/dev/ndda1               84928     64288     20640  76% /nand1

크기 (84928 kB?)는/proc/partitions에 의해보고 된 것보다 240 kB 적습니다.

다시 말해 어떤 구조를 담당합니까?

파티션은vfat으로 마운트되었습니다.

  • 답변 # 1

    파티션은 일반적으로 파일 시스템 블록을 물리적 블록 (장치에 따라 16kB, 64kB 이상일 수 있음)에 맞추기 위해 2MB의 경계에서 시작됩니다. 정렬되지 않은 블록은 하나의 파일 시스템 블록이 업데이트 될 때 두 개의 장치 블록을 가져와야하며 첫 번째 블록의 마지막 부분이 업데이트되고 두 번째 블록의 첫 부분이 업데이트되며 두 블록이 모두 기록됨을 의미합니다. 이것은 올바르게 정렬 된 파일 시스템보다 2 개의 블록 읽기와 1 개의 블록 쓰기입니다.

    장치의 시작 부분에 파티션 테이블 자체가 있습니다. 이것이 첫 번째 파티션이 블록 0에서 시작할 수없는 이유입니다.

    두 번째 질문 (파일 시스템이 장치보다 작은 이유)과 관련하여 : 파일 시스템은 예약 된 공간 인 관리 데이터 (예 : 사용 가능한 블록 목록)가 필요하므로 직접 데이터 저장에 사용할 수 없습니다.

  • 이전 sudo - 찾기에서 명령 실행을 비활성화 할 수 있습니까
  • 다음 linux - sudo - mkdir/var/log/sudo-io/00/2a를 사용할 수 없음 : 장치에 남은 공간이 없습니다