Привет всем! Вот решил разобраться с памятью аппарата, но не ради интереса, а вынужденная мера!
Стояла (и стоит еще пока) 3-х файловая прошивка (с pit-файлом) с рутом и recovery cwm-6.0.4.6_skomer_fixed.
Через ADB стащил образы всей памяти устройства (создались образы всей системы на карте памяти с именем соответствующим названию раздела в устройстве, т.е. mmcblk0 --> mmcblk0.img , а потом были скопированы на ПК).
adb shell cat /proc/partitions
mmcblk0 - вроде как "материнский" образ, включает в себя все ниже перечисленные, кроме mmcblk1 (memory card). При открытии его программой "Diskinternal Linux Reader" отображает все разделы. Тоже самое, если открыть файл mmcblk0p1.img, что логично т.к. это MBR/GPT.
Разделы с файловой системой ext4(подчеркнутые красным) открываются в Diskinternal, а также монтируются в Linux Ubuntu (исп.14.04.4).
Раздел mmcblk0p24 имеет размер 270МБ. В рабочей системе он нигде не примонтирован, что не удивительно т.к. называется он "hidden" и при открытии видно, что содержит папку INTERNAL_SDCARD\Samsung\ с подпапками Image, Music, Video и соответствующим контентом. Это те самые фотки и видео, которые находятся на внутренней карте памяти - они копируются из раздела hidden, а он потом не используется больше и отнимает память! Меня такое положение вещей не устраивает и по-этому решительно намерен избавиться от него, а освободившееся место приклеить к разделу /data. Заодно поудалять из /system лишнее и освободившееся пространство приклеить понятно куда...
Я сравнивал получение разделы с устройства с файлами прошивки (предварительно распаковав ее) и заметил интересные вещи. Некоторые разделы (отмеченные на рис.) пустые, т.е. "забиты нулями", а все остальные не заполненные даже на половину (справа помечено размер оригинала в прошивке), например раздел param на устройстве 16МБ, а в прошивке 0,9МБ. Сравнивал по содержимому в Total Comander, содержимое полученных разд. с устр. соответствует одноименным файлам в ориг прошивке (3-х файловой), а остальной объем забит нулями. К тому же в программе Diskinternal при открытии образа mmcblk0.img сообщается, что в разделе т.е. на NAND памяти имеется незадействованное пространство в середине 78МБ и в конце 82,3МБ. Такое впечатление, что инженеры Самсунга специально так расточительно распределяют память (обратных доказательств пока не нашел)! По моим подсчетам, если обрезать "все лишнее" и перенести освободившееся место в раздел data, то можно получить дополнительно около 1,24GB! Думаю идея понятна (изменить 3-х файловую прошивку так, чтоб после прошивки ею организовалась память нужным образом).
Так вот, если открыть pit-файл (программа ggsm_pit_viewer_v1.03):
То видно что к чему.
По логике, когда перешивается устройство через Odin (я использовал 3.07) и используется pit-file, то включается Re-partition (я еще на всякий случай ставлю Nand erase All), значит переразмечаются разделы в памяти устр. То что нужно, осталось только отредактировать pit-file.
Отредактированный pit-file
Удалил раздел MD5HDR (на всякий случай) и HIDDEN, а освободившееся место отдал DATAFS.
Редактировал программой PIT_Magic_v1.3.10_Release и ggsm_pit_viewer_v1.03.
Но ничего из этого не получилось, разве только теперь раздел Hidden после прошивки пустой и памяти доступной примерно на 100МБ больше (и то, если из CSC_OXE_S7710OXEAMB3_CL999465_REV00_user_low_ship.tar.md5 удалить сам образ раздела hidden.img). Сама таблица разделов осталась прежней и если снова (после прошивки с обновленным pit-file) скопировать раздел mmcblk0p3 PIT и прочитать его, то видно, что он по прежнему соотв. оригинальному файлу. Выяснил, чтодаже если прошиваться все теми же прошивками, но не использовать пит фйайл вообще, то результат тот, же! Впечатление, что либо пит файл встроен в сами файлы прошивки, либо Odin не работает правильно или просто игнорирует измененный пит-файл (во время прошивки на устр. в режиме Download mode пишет красным "CUSTOM PIT BINARY") и не стирает память полностью. Читал где-то, что информация пит-файла может содержаться в файлах прошивки (в моем случае: CODE_S7710XXAMB6_963581_REV00_user_low_ship.tar.md5 и CSC_OXE_S7710OXEAMB3_CL999465_REV00_user_low_ship.tar.md5). Убрал расширение md5, чтоб Один не проверял контр суммы и даже распаковывал-перепаковывал в другой простой tar-архив, результат тот же.
Сами образы разделов полученные из устр. и находящиеся в прошивке отличаются - по "консистенции". В прошивке находятся SPARSE-файлы образов (как-то так), где пустые места заменяется на информацию о пустых местах. Читал также, что если создать образ нужного размера заранее (например в линуксе), скопировать туда содержимое нужного раздела (в моем случае data) и обратно конвертировать в sparse-файл, а потом подкинуть его в прошивку и прошиться Odin, то теоретически должно получиться, но я сомневаюсь т.к. раз уже есть размеченные разделы на устройстве и Odin их не меняет pit-файлом, то новый образ не поместится в разделе.
В общем я в ступоре, запутался что делать дальше. Может кто-то уже так делал? Поделитесь опытом. Начал заниматься этим совсем недавно, информацией владею кусками, направьте на нужные места, если таковые имеются ... Как заставить Odin использовать отредактированный pit-file или что еще нужно сделать?! В принципе, если такое возможно, чтоб с помощью какого-то ПО открыть образ mmcblk0.img и как в Акронисе отредактировать разделы, а потом "загнать" его в устройство, то это наверное был бы идеальный вариант...
Сообщение отредактировал sbvp - 11.04.16, 12:30