Итак, я сделал свежий образ своего смартфона и теперь хочу поиграть с ним. Я могу смонтировать НЕКОТОРЫЕ из его разделов, используя команду mount linux, дающую смещение раздела. Например, состояние изображения:

$ gdisk -l imagem-thea-20180722.img
GPT fdisk (gdisk) версия 1.0.1

Сканирование таблицы разделов:
MBR: защитный
BSD: нет
APM: нет
GPT: настоящее

Найден действительный GPT с защитным MBR; используя GPT.
Образ диска-thea-20180722.img: 30777344 секторов, 14,7 ГБ
Размер логического сектора: 512 байт
Идентификатор диска (GUID): 98101B32-BBE2-4BF2-A06E-2BB33D000C20
Таблица разделов вмещает до 42 записей
Первый полезный сектор 34, последний полезный сектор 30777310
Разделы будут выровнены по границам двух секторов
Всего свободного места 70203 сектора (34,3 МиБ)

Номер Начало (сектор) Конец (сектор) Размер Код Название
1 256 131327 64,0 MiB 0700 модем
2 131328 132351 512,0 КиБ FFFF sbl1
3 132352 132415 32,0 КиБ FFFF DDR
4 132608 134631 1012,0 КиБ FFFF aboot
5 135608 136007 200,0 КиБ FFFF об / мин
6 136608 137407 400,0 КиБ FFFF tz
7 137608 137671 32,0 КиБ FFFF sdi
8 137672 138695 512,0 КиБ FFFF utags
9 138696 142791 2,0 МБ FFFF журналы
10 142792 147455 2,3 МиБ 0700 padA
11 147456 149479 1012,0 КиБ FFFF abootBackup
12 150456 150855 200,0 КиБ FFFF rpmBackup
13 151456 152255 400,0 КиБ FFFF tzBackup
14 152456 152519 32,0 КиБ 0700 sdiBackup
15 152520 153543 512,0 КиБ FFFF utagsBackup
16 153600 154623 512,0 КиБ FFFF frp
17 154624 155703 540,0 КиБ 0700 padB
18 155704 158775 1,5 МБ FFFF modemst1
19 158776 161847 1,5 МиБ FFFF modemst2
20 161848 162823 488,0 КиБ FFFF варочная панель
21 162824 162887 32,0 КиБ FFFF dhob
22 163072 166143 1,5 МиБ FFFF fsg
23 166144 166145 1024 байта FFFF fsc
24 166146 166161 8,0 КиБ FFFF ssd
25 166162 168209 1024,0 КиБ FFFF sp
26 168210 168465 128,0 КиБ FFFF cid
27 168466 174609 3.0 MiB FFFF pds
28 174610 182801 4,0 MiB FFFF logo
29 182802 190993 4,0 МиБ FFFF Клого
30 191232 207615 8,0 МиБ 0700 сохраняются
31 207616 208639 512,0 КиБ FFFF разное
32 208640 229039 10,0 MiB FFFF boot
33 229040 249599 10,0 МиБ FFFF восстановление
34 249600 251647 1024,0 KiB 0700 deviceinfo
35 251648 284415 16,0 МиБ 0700 футмлог
36 284416 300799 8,0 МиБ FFFF кпан
37 300800 327679 13,1 МиБ 0700 padC
38 327680 360447 16,0 MiB FFFF хранилище ключей
39 360448 425983 32,0 MiB 0700 oem
40 425984 4521983 2.0 Система GiB 0700
41 4521984 5033983 250,0 МБ кэш-памяти 0700
42 5033984 30711551 12,2 GiB 0700 userdata

$ file imagem-thea-20180722.img
imagem-thea-20180722.img: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,1), end-CHS (0x3ff,255,63), startsector 1, 4294967295 sectors, extended partition table (last)

Он был создан путем извлечения его из устройства с помощью adb:

$ adb pull /dev/block/mmcblk0 ~/imagem-thea-20180722.img

Таким образом, я могу mount разделы system и userdata с помощью:

$ sudo mount imagem-thea-20180722.img mount-dir/ -o offset=$((5033984*512))

пропуская начало сектора, но это не работает для некоторых частей, таких как boot:

$ sudo mount imagem-thea-20180722.img mount-dir/ -o offset=$((208640*512))

mount: wrong fs type, bad option, bad superblock on /dev/loop1,
   missing codepage or helper program, or other error

   In some cases useful info is found in syslog - try
   dmesg | tail or so.

в выводе dmesg указывает:

[26910.003624] F2FS-fs (loop1): магическое несоответствие, действительное (0xf2f52010) - чтение (0xe2632b02) [26910.003625] F2FS-fs (loop1): не удается найти допустимую файловую систему F2FS во 2-м суперблоке

Итак, я где-то читал, что изображениями NAND можно манипулировать с помощью nbd но я не нашел простого способа сделать это. В основном мне нужно настроить nbd-сервер для предоставления файла образа, и с помощью nbd-клиента я его монтирую. Но я не знаю, как это сделать. Любая помощь?

0