thunderboltmld

Перераспределение памяти телефона вручную

В этой теме 66 сообщений

Более простой способ: Разметка памяти мобильных устройств

 

Это не так сложно, как кажется. У меня, во всяком случае, получилось, хотя я не гуру в андроиде  :D . Описываемый мною способ основывается на этой информации
 
Итак, кратко теория.
 
В нашем телефоне есть четыре больших раздела, размеры которых мы можем поменять:
system (в стандартной прошивке размер 768мб + 1мб между разделами)
cache (512мб + 1мб)
data (768мб + 1мб)
SD (около 1.5Гб)
 
Раздел system лучше от греха подальше не трогать, такой большой размер cache вроде бы нужен для нормальной работы OTA (обновление по воздуху). Так как эти обновления бывают редко, бОльшую часть времени этот раздел практически пустой и в этой программе во всех вариантах переразметки кэш уменьшают. Ну и святое дело отгрызть от внутренней SD, если все равно стоит внешняя SD  :D
 
Размеры этих разделов хранятся в MBR и EBR1. Но, просто изменить их там недостаточно, надо потом заново отформатировать изменившиеся разделы.
 
Общая схема действий.
 
1. Нам нужны custom recovery, чтобы не потерять наши данные. Я использовал TWRP, вроде бы сработает и на CWM
2. Если у вас что-то записано на внутренней SD, перепишите это на внешнюю SD. Если какие-то программы установлены на внутреннюю карту, то либо переустановите на телефон, либо забекапьте с помощью Titanium
3. Заходим в recovery и делаем backup, разделы system и data. Будьте внимательны, бекап надо сделать на внешнюю SD. По умолчанию TWRP может сделать бекап на внутреннюю SD и тогда вы его потеряете после переразметки!
4. Записываем через Flash Tool измененные файлы MBR и EBR1 (как именно менять чуть ниже)
5. Заходим в recovery и делаем Wipe -> factory reset, при этом и отформатируются нужные разделы. Если при этом менялся размер SD, вы увидите кучу сообщений об ошибке, но не переживайте, ничего страшного в этом нет.
6. Тут же в recovery сделайте restore
7. Запустите аппарат. Вы увидите сообщение о том, что SD надо отформатировать, отформатируйте.
8. Наслаждайтесь  :D
 
Как и что менять в MBR и EBR1.
 
Прежде всего нам нужен какой-нибудь Hex Editor. Например, этот
Сами файлы MBR и EBR1 берете из прошивки для Flash Tool, той, которая у вас установлена. Можно также их скачать из телефона напрямую, с помощью того же Flash Tool. В файле MBR записаны размеры разделов system и cache, в файле EBR1 - data и SD. 
 
Рассмотрим самый простой случай: мы хотим увеличить размер data за счет SD, не трогая cache.
 
 

post-10353-0-21701300-1378193628_thumb.p
В начале идет куча нулей, четвертая строка снизу отвечает за data, третья снизу за SD. Если вы не собираетесь настраивать размеры разделов с точностью до килобайта, вам достаточно менять цифры только в столбце 08 и 0c. Те значения, которые мы будем менять, я выделил красным. Каждая единица в столбце соответствует 32мб. Как мы видим, в стандартной прошивке там число 18 в шестандцатиричной системе, что соответствует 24 в десятичной. Умножаем 24 на 32 и получаем как раз 768мб. На размер для SD не смотрите, он указан в виде "до конца памяти".
 
post-10353-0-81834300-1378198048_thumb.p
Итак, я увеличил размер /data. Сейчас у меня в столбце прописано число 4a. Запустите калькулятор винды, выберите вид программиста, выберите Hex, наберите 4a, потом выберите Dec. Вы увидите, что это соответствует 74 в десятичной системе, то есть 2368Мб. Раз мы увеличили размер раздела /data, мы должны сдвинуть начало раздела SD. На сколько увеличили размер, настолько и сдвигаем. Запускаем калькулятор, вид программист, режим Hex. Вычитаем: 4a (стало) - 18 (было) = 32. Добавляем 41 (старый сдвиг SD), получаем число 73. Его и записываем в столбце 08 в строке SD. Но, надо и уменьшить размер SD. В том же калькуляторе набираем BE (старое значение из столбца 0c для SD) и вычитаем 32, получаем число 8C, которое и прописываем в столбце 0c. (Обратите внимание, все числа в шестандцатеричном формате) В этом случае размер SD получился около 20Мб. Чтобы этот хвостик не мешал, можно применить патч из основной темы про перераспределение памяти.
 
Не запутались? На всякий случай, прикладываю свои файлы MBR и EBR1. 
mbr_ebr1.zip
 
Если же вы хотите и размер cache изменить, схема в принципе та же, только задействуется еще и файл MBR. Cache в нем указан в последней строке. В родной прошивке там стоит число 10, что соответствует 16 в десятичной системе, умножаем на 32, получаем 512Мб. Если вы хотите, например, уменьшить его в два раза, значит в столбце 0c для cache пишете 08, соответственно надо сдвинуть начало /data (уменьшаем значение в столбце 08 в файле EBR1 для data на 8) и увеличить размер data (увеличиваем значение в столбце 0c в файле EBR1 для data на 8)
 
Надеюсь, понятно объяснил  :)
 
Внимание! Файлы, которые я выложил, подходят для P770, прошивка 110/113. Для других телефонов/прошивок берите за основу MBR и EBR1 из своих прошивок! Возможно, у вас используется также и файл EBR2!
Отредактировал linerty
Разметка памяти мобильных устройств
10 пользователям понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Господа ромоделы! Вопрос таков, есть ли возможность перераспределения памяти на Lenovo A516

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
есть ли возможность перераспределения памяти

Принцип переразметки один: заменить файлы разметки, отформатировать новую разметку и залить сохраненные ранее образы.

У Вас в чем конкретно проблема?

Память уменьшилась, но дата не приросла) нет идей почему?

в итоге полный объем системной памяти 3.8, но доступно только 607Мб. Чем она занята?

Думаю в том, что в разделе data размещен образ типа ext (yaffs и т.п.), т.е. ОДИН единственный файл. И как не меняй размер места под него он сам не изменится.

Вам нужно изменить размер образа или создать его заново (но требуемого размера), выполнив что-то типа resize или make_fs.

Отредактировал Maximus263
1 пользователю понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
выполнив что-то типа resize или make_fs
 Или backup/restore в TWRP-recovery. Так проще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мучаюсь второй день, при прошивке через FlashTool двух кастомных файлов EBR1 & MBR опубликованых сдесь, внутренняя флешка действительно становится 20MB, а вот корень файловой системы так и остаётся без изменений 755.7MB :((( Как у вас всё получается понятия не имею...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо сделать бэкап data

Потом format data

И restore data

Всё делается в recovery

1 пользователю понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день. Есть потребность в вашей помощи, на руках имею Lenovo A1000L-F, в нем EBR1, MBR, делал все махинации с EBR1, размер data уменьшается на указанное кол-во Байтов, а вот system остается прежнем. Что делать? Куда копать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Аналогично сообщению выше только для system.

2 пользователям понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перераспределением памяти телефона

Всем привет.

Помогите с прошивкой TurboPad500.

Если быть точнее с "Перераспределением памяти телефона".

Имеется TurboPad 500, 16Gb(по описанию) ну и прошивка имеется.

0,98gb - внутренняя

12,69 - память телефоне

Хочу 8gb - внутренней.

Кто уже делал, и знает как делать, прошу помочь с подробной инструкцией!!!!

Я в этом немного а точнее много "дуб"...

И извиняюсь что если ни совсем в той теме пишу...

Очень нужна помощь так как телефон использую для работы!

За ранее спасибо...

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 83 00 00 00 00 08 02 00 00 00 19 00 00 00

00 00 83 00 00 00 00 08 1b 00 00 f0 03 00 00 00

00 00 83 00 00 00 00 f8 1e 00 00 00 20 00 00 00

00 00 05 00 00 00 00 b4 01 00 ff ff ff ff 55 aa

 

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 83 00 00 00 00 44 3d 00 ff 07 c1 ff 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa

 

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 05 00 00 00 00 04 00 00 ff ff ff ff 00 00

00 00 83 00 00 00 00 68 00 00 00 50 00 00 00 00

00 00 83 00 00 00 00 b8 00 00 00 50 00 00 00 00

00 00 83 00 00 00 00 6c 01 00 00 30 00 00 55 aa

Отредактировал linerty
Синька и форматирование

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 пользователю понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Прежде всего нам нужен какой-нибудь Hex Editor. Например, этот
Сами файлы MBR и EBR1 берете из прошивки для Flash Tool, той, которая у вас установлена. Можно также их скачать из телефона напрямую, с помощью того же Flash Tool. В файле MBR записаны размеры разделов system и cache, в файле EBR1 - data и SD."

 

Как скачать эти файлы (MBR и EBR1, в моём случае и EBR2) напрямую из телефона ? Напишите поэтапно, пожалуйста !

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ!
Кто может.
Помогите с переразметкой.

 

Телефон:
Lenovo A850i (8Гб памяти на борту)
CPU: mt6582

 

Предыстория:
Делаю переразметку памяти для прошивки cyanogenmod 13.
Перегоняю fat в data т.к. в прошивке внутренняя флеш не используется и хочется отдать всё под дату. Уменьшаю раздел system на 50 Мб (под размер образа), разделы boot и recovery увеличиваю с 6 мб до 16 мб.
Правки делаю в Scatter_2_Editor_v.2.07
!ВНИМАНИЕ! Реальный размер памяти в телефоне равен 7,3 Гб (выяснено опытным путём), китайцы частенько "округляют" в большую сторону.

 

Размеры в оригинале:
Data = 1.5 Gb
FAT = 4.9 Gb (в скатере больше. Почему? Смотрите выше)
System = 700 Mb
Boot = 6 Mb
Recovery = 6 Mb

 

Размеры после правки:
Data = 6.4 Gb
FAT = 1 Mb
System = 650 Mb
Boot = 16 Mb
Recovery = 16 Mb

 

Сохраняю файлы, всё проходит нормально. Оба ебр, мбр и скаттер сохраняются.
Но! При попытке прошить выбивает ошибку "The region begin adress of one load region is not word alignment"на стадии открытия скатера.
В логах флештула видно, что спотыкается на разделе FAT, А именно такие строки в конце лога:
"09/30/16 14:05:00.295 BROM_DLL[5144][5860]: ERROR: DL_HANDLE(0x0F2F0680)::ScatterValidateCheck(): [19]: FAT, region begin address is not WORD alignment !!!      (FlashToolLib/source/common/handle/src/flashtool_handle_internal.cpp:2879)"

Сам понимаю что косяк в сдвиге фата, но где именно и как править мозгов не хватает.

 

SP_FT_Dump_09-30-2016-14-04-43.zip - логи флештула
Original.zip - оригинальные файлы разметки
Moded.zip - модифицированные файлы разметки

скрин скатер_эдитора с модифицированным скатером

скрин скаттер_эдитора с оригинальным скатером

Мысли.txt

 

P.S. В скатер_эдиторе в принудиловку ставлю 8 Gb т.к. оригинальный скатер нацелен, почему-то, на 4Gb, но на это прошу не ссылаться т.к. если тупо подгружаю оригинальный скатер, потом выставляю 8 Gb и сохраняю, то потом он подгружается нормально и в скатер_эдиторе потом выдаёт размер по скатеру 8 Gb.

 

P.P.S. Такие же действия на Lenovo A850 (4Gb версии), но с учётом что там 4 гигиа памяти, прошли на ура. Память ушла в дату.

 

скрин ошибки

 

Спойлер

ошибка.png

 

Отредактировал vitekrus777

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
On 03.10.2016 at 05:22, vitekrus777 написал:

!ВНИМАНИЕ! Реальный размер памяти в телефоне равен 7,3 Гб

 

On 03.10.2016 at 05:22, vitekrus777 написал:

P.S. В скатер_эдиторе в принудиловку ставлю 8 Gb т.к.

И на 4GB сталкивался, что fat надо делать на 350-450Мб больше того, что должен получится. Если нужен остаток 200Мб, то делать надо fat размером 700Мб.

 

Из мыслей.

Цитата

785278567 разница между флешкой по скатеру и в реальности (косяк китайцев)

Нет никакого косяка. Где-то 7,5 должно быть в реале. FT в Memory Test указывает реальный размер пользовательского региона, из этого размера минусуй потери на разметку, резервирование, ядро, uboot, logo и пр...

Спойлер

2016-10-04_09-32-46.png

 

On 03.10.2016 at 05:22, vitekrus777 написал:

разделы boot и recovery увеличиваю с 6 мб до 16 мб.

Это вообще зря. Оно не работает. Выяснилось еще когда делал twrp и он не влазил в 6МБ. Перекидывал часть контента в protect_f или s.

 

On 03.10.2016 at 05:22, vitekrus777 написал:

FAT, region begin address is not WORD alignment !!!

Он за пределы выходит.

Из мыслей:

Цитата

userdata.img    1610612736
...
5261334937 4,9Gb (флешка после прошивки официальной прошивкой)
...
6902356377 новая дата (старая + остаток от фат)

6902356377 - 1610612736 = 5291743641 как минимум это больше 5261334937

А если учесть, что еще 16Мб выдернуто для бута и recovery.

Оставляй на FAT 1GB, потеряешь на оставшемся хвосте 150-200Мб. Не велика потеря.

 

Спойлер

2016-10-04_09-37-04.png

 

new_2.7z

 

On 03.10.2016 at 05:22, vitekrus777 написал:

Сам понимаю что косяк в сдвиге фата

Спойлер

2016-10-04_09-53-52.png

Неверный размер, не выровнен.

1 пользователю понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часов назад, linerty написал:

6902356377 - 1610612736 = 5291743641 как минимум это больше 5261334937

 

Да блин, не математик я точно. Не зря на гуманитария учился.

2 часов назад, linerty написал:

FT в Memory Test указывает реальный размер пользовательского региона

 

Да я бы глянул, но телефон не на руках. Делаю так сказать "по удалёнке".

2 часов назад, linerty написал:

И на 4GB сталкивался, что fat надо делать на 350-450Мб больше того, что должен получится.

 

Это ДА. На 4Гб реальный размер 3,7 Гб и ещё есть версия где реальный размер ещё на 30 Мб меньше.

Там в флештуле память выпадает на 28 гигабит, а не 29 гигабит (как на 4 Гб, версии).

2 часов назад, linerty написал:

Он за пределы выходит.

 

А блин! Я думал какой сдвиг фата не прокатывает? Привык что нехватка размера при прошивке вылазит ошибкой про нехватку места.

2 часов назад, linerty написал:

Оставляй на FAT 1GB, потеряешь на оставшемся хвосте 150-200Мб.

Ясно, с китайцами точности не получиться.

 

2 часов назад, linerty написал:

Это вообще зря. Оно не работает.

Да потом будет новый ЛК для запуска рекавери и бута с размером бльше 6 мб.

Так сказать делаю на будущее. Сейчас пока бут порядка 5 мб, и рекавери около 6 мб.

 

Спасибо боольшое!


Проверим разметочку.

 P.S. Я как понял на конце адресов должны быть нули и никак иначе?

Отредактировал vitekrus777

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 часов назад, vitekrus777 написал:

 P.S. Я как понял на конце адресов должны быть нули и никак иначе?

Иначе просто не работает.

1 пользователю понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
11 часов назад, linerty написал:

Иначе просто не работает.

Понял. Учту на будущее.

 

P.S. Всё работает, огромное спасибо! В реальности память урезана почти на 800 Мб. А я считал на 700 Мб.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

чорд, камрады, а может кто по-русски объяснить что и в какой последовательности подключать/нажимать... я вроде не самый тупой, но как-то начинаю комплексовать... ))))

 

застрял тут- "MBR и EBR1 взял из шапки, запихал в 113 прошивку и Flesh Tool`ом залил на тело." - как подменить файлы в прошивке?

Отредактировал andrey--

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу