
Temos placa personalizada baseada em Beaglebone Black com 4 GB eMMC e 256 MB de RAM.
eMMC é particionado da seguinte forma
# 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
Agora gostaríamos de despejar as partições eMMC e ler os dados delas. Isto é principalmente para fins de depuração para qualquer placa retornada em campo. Por exemplo, eu poderia ler uma partição em um arquivo binário, montá-la e ler seus dados.
por exemplo, pegue a partição 20 (que é a partição ext4), eu poderia lê-la u-boot
ou usá-la Lauterbach debugger
no nome do arquivo, digamospart20.bin
Posso obter esse arquivo Ubuntu PC
e montá-lo no dispositivo de loop para obter o seguinte.
cat part20.bin > part20.iso
sudo losetup /dev/loop0 part20.iso
Este comando monta a partição 20 e mostra seu conteúdo.
Agora, vou dar um passo adiante quando li todo o conteúdo do eMMC em arquivo binário usando Lauterbach
o depurador. Agora não tenho certeza se montei todas as partições da mesma maneira que fiz antes. Infect Eu tenho um arquivo binário de 4GB no meu PC Ubuntu e tentei os comandos acima, funciona bem (sem erro), mas não vejo nenhuma partição montada. Eu sei que existem raw
partições na tabela de partições eMMC, então talvez não seja possível ler todas as partições da mesma maneira.
Existe uma maneira de ver todas as partições do dump do eMMC e ler os dados dele?