eMMC 덤프에서 모든 파티션을 읽는 방법

eMMC 덤프에서 모든 파티션을 읽는 방법

우리는 4GB eMMC 및 256MB RAM을 갖춘 Beaglebone Black 기반의 맞춤형 보드를 보유하고 있습니다.
eMMC 파티션은 다음과 같습니다

# parted --list
Model: MMC MMC04G (sd/mmc)
Disk /dev/mmcblk0: 3842MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name        Flags
 1      131kB   262kB   131kB                
 2      262kB   393kB   131kB                
 3      393kB   524kB   131kB                
 4      524kB   1573kB  1049kB               
 5      1573kB  2621kB  1049kB               
 6      2621kB  3146kB  524kB                
 7      3146kB  3277kB  131kB                
 8      3277kB  8520kB  5243kB               
 9      8520kB  13.8MB  5243kB               
10      13.8MB  19.0MB  5243kB               
11      19.0MB  19.3MB  262kB                
12      19.3MB  19.5MB  262kB                
13      19.5MB  19.8MB  262kB                
14      21.0MB  32.5MB  11.5MB               
15      33.6MB  243MB   210MB   ext4         
16      243MB   453MB   210MB   ext4         
17      453MB   558MB   105MB   ext4         
18      558MB   621MB   62.9MB  ext4         
19      621MB   830MB   210MB   ext4         
20      830MB   867MB   36.7MB  ext4         
21      867MB   3827MB  2960MB  ext4        

이제 eMMC 파티션을 덤프하고 여기에서 데이터를 읽어보겠습니다. 이는 주로 필드에서 반환된 보드의 디버깅 목적으로 사용됩니다. 예를 들어, 바이너리의 파티션 중 하나를 읽고 이를 마운트하고 해당 데이터를 읽을 수 있습니다.

예를 들어 파티션 20(예: ext4 파티션)을 선택하면 파일 이름에서 읽거나 다음을 u-boot사용할 수 있습니다.Lauterbach debuggerpart20.bin

파일을 구해서 Ubuntu PC루프 장치에 설치하는 방법은 다음과 같습니다.

cat part20.bin >  part20.iso
sudo losetup /dev/loop0 part20.iso

이 명령은 파티션 20을 마운트하고 해당 내용을 표시합니다.

이제 디버거를 사용하여 바이너리의 전체 eMMC 콘텐츠를 읽을 때 한 단계 더 나아갑니다 Lauterbach. 이제 이전에 했던 방식으로 모든 파티션을 마운트했는지 확실하지 않습니다. 내 우분투 PC에 4GB 바이너리가 있고 위 명령을 시도했는데 제대로 작동했지만(오류 없음) 마운트된 파티션이 보이지 않았습니다. eMMC 파티션 테이블에 파티션이 있다는 것을 알고 있으므로 raw모든 파티션을 동일한 방식으로 읽는 것이 불가능할 수도 있지만 제 질문은 다음과 같습니다.

eMMC 덤프에서 모든 파티션을 보고 해당 파티션에서 데이터를 읽을 수 있는 방법이 있습니까?

관련 정보