我们有基于 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 debugger
part20.bin
我可以获取该文件Ubuntu PC
并将其安装在循环设备上以获得我的方式如下
cat part20.bin > part20.iso
sudo losetup /dev/loop0 part20.iso
该命令安装分区 20 并显示其内容。
现在,当我使用调试器读取二进制文件中的整个 eMMC 内容时,更进一步Lauterbach
。现在我不确定是否按照以前的方式挂载所有分区。我在我的 ubuntu PC 中得到了 4gb 二进制文件,并尝试了上述命令,它工作正常(没有错误),但我没有看到安装任何分区。我知道 eMMC 分区表中有raw
分区,因此可能无法以相同的方式读取所有分区,但是我的问题是
有没有办法从 eMMC 转储中查看所有分区并从中读取数据?