如何从 eMMC 转储中读取所有分区

如何从 eMMC 转储中读取所有分区

我们有基于 Beaglebone Black 的定制板,配有 4GB eMMC 和 256MB RAM。
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。现在我不确定是否按照以前的方式挂载所有分区。我在我的 ubuntu PC 中得到了 4gb 二进制文件,并尝试了上述命令,它工作正常(没有错误),但我没有看到安装任何分区。我知道 eMMC 分区表中有raw分区,因此可能无法以相同的方式读取所有分区,但是我的问题是

有没有办法从 eMMC 转储中查看所有分区并从中读取数据?

相关内容