Como posso montar esta imagem de disco?

Como posso montar esta imagem de disco?

Estou tentando montar a imagem nand do Android fornecida pelo Project Sandcastle (um projeto que pode rodar o Android 10 em um iPhone 7). Estou tentando montar esta imagem de disco para poder editar o arquivo boot.img que provavelmente está nesta imagem. Aqui estão algumas informações sobre o arquivo:

$ file nand
nand: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0x0,4,4), startsector 1, 255 sectors; partition 2 : ID=0x7, start-CHS (0x0,4,5), end-CHS (0x0,8,8), startsector 256, 256 sectors
$ sudo fdisk -lu nand
Disk nand: 3.5 GiB, 3269459968 bytes, 6385664 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device Boot Start   End Sectors   Size Id Type
nand1           1   255     255 127.5K ee GPT
nand2         256   511     256   128K  7 HPFS/NTFS/exFAT

Tentei montar isso no macOS, mas ele solicitou um sistema de arquivos e ext4 e msdos não funcionaram. Então eu criei um Ubuntu live USB e tentei estes comandos e obtive esta saída:

$ sudo mkdir /android
$ sudo mount -o loop,rw,offset=512 nand /android
mount: /android: wrong fs type, bad option, bad superblock on /dev/loop6, missing codepage or helper program, or other error.

Então tentei dar nanduma extensão de arquivo, pensei que talvez não estivesse reconhecendo como arquivo porque não tinha extensão.

$ mv nand android.image
$ sudo mount -o loop,rw,offset=512 android.image /android
NTFS signature is missing.
Failed to mount '/dev/loop6': Invalid argument
The device '/dev/loop6' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

Tentei montar a outra partição com offset=$((512*256)) mas ocorreu a mesma saída. Também tentei sem deslocamento, mas ocorreu a mesma saída. Finalmente, tentei usar ro em vez de rw, mas novamente ocorreu a mesma saída. Estou preso e não sei o que fazer a seguir. A imagem nand compactada pode ser encontradaneste link. Eu realmente aprecio qualquer ajuda que alguém possa oferecer.

Responder1

Sua fdisksaída indica que isso énãouma tabela de partição válida: nand2 ocupa apenas 128 KB, o que simplesmente não é suficiente para uma partição NTFS. Eu usei o 7-zip (provavelmente você pode usar o p7zip disponível nativamente) rodando no Wine para abrir a imagem: ele contém duas "partições" e um arquivo enorme que é uma partição ext4.

Não pergunte como, mas encontrei o deslocamento para esta partição ext4. Você pode montá-lo com:

mount -o loop,offset=3145728,ro nand /mnt/sandcastle

Ele não pode ser montado para leitura e gravação porque o Android 10 implementa um novo recurso ext4 chamado "shared_blocks" que ainda não chegou à linha principal.

informação relacionada