alexejtkach

Перераспределение памяти телефона вручную на процессорах типа Qualcomm MSM*

18 posts in this topic

Вобщем перелопатил и перепробовал различные варианты переразметки внутренней памяти телефона на процессоре типа Qualcomm  MSM* ...

Как и следовало ожидать - результаты оказались нулевые....

С данным типом процессора не всё так гладко, как с другими устройствами - отсутствуют файлы MBR и EBR* и структура, как и софт для прошивки немного иные.

Мануал пишеться для подобной архитектуры на примере Леново А820е

Вполне возможно, что будет работать и на других моделях с подобным процессором и связкой GSM + CDMA

Поскольку к другим темам форума доступ пока закрыт - пишу здесь. Может модераторы или админы перенесут в основной топик. Надеюсь информация будет и другим полезна!

Отдельный респект уважаемому rajniy за вдохновление!

 

Мне памяти в /data стало нехватать, а поскольку стоит карточка на 32 GB и виртуальная карта не используется - принял решение за ее счет расширить /data раздел.

 

Но засада оказалась в том, что все они написаны не под тот тип процессоров. Да и тех самых файлов MBR и EBR* просто не существует под этой архитектурой. Собственно поэтому вот и пишется этот мануал

 

Итак, поехали!

 

Для этого нам нужно телефон с включенной отладкой по adb, установленный на телефоне root и busybox (можно взять в маркете), программа adb.

Предупреждение: после выполнения процедуры перераспределания памяти телефон выполнит factory reset. Все пользовательские данные будут потеряны!

Данный пример описывает увеличение data раздела на ~1ГБ (до 2500МБ):

1. Подключаем включенный телефон по USB к компьютеру

2. В windows shell (cmd.exe) открываем папку с adb (я использовал adb из архива с аттачем) и запускаем: adb shell
Должны получить что-то вроде:

D:\installs\!_Mobile\lenovo_a820e\_Root_Recovery\1_new_Lenovo_A820E_Recovery_china_bat\tools>adb shell* daemon not running. starting it now on port 5037 ** daemon started successfully *shell@android:/

3. Переключаемся на root пользователя:

shell@android:/ $ suroot@android:/ #

На телефоне должен появиться запрос от ADB SHELL на права суперпользователя -> даем права   4. Выводим информацию по дисковой структуре в телефоне:

root@android:/ # busybox fdisk -l /dev/block/mmcblk0

Нас интересуют последние 3 строчки (цифры у Вас может будут немного отличаться)

/dev/block/mmcblk0p20         115109      268709      1228800   c  Win95 FAT32 (LBA)/dev/block/mmcblk0p21         268709      469029      1602560   83 Linux/dev/block/mmcblk0p22         469029      469413        3076+   4f Unknown

5. Удаляем 3 последние раздела (№20-22):

root@android:/ # busybox fdisk /dev/block/mmcblk0Command (m for help): dPartition number (1-22): 22Command (m for help): dPartition number (1-22): 21Command (m for help): dPartition number (1-22): 20

6. Создаем новый раздел виртуальной SD карты:

Command (m for help): n

 fdisk требует оставлять 2 цилиндра между разделами, так что стартовый цилиндр будет не 115109, а 115111.

First cylinder (6435-469413, default 6435): 115111

У себя решил оставить для внутренней SD карты (147878-115111)*8/1024=256МБ. Можете выбрать другое значение, рассчитав его по формуле. Главное не делайте SD раздел меньше 100МБ -  при маленьком размере android начитает ругаться  и просто виснет(((

Last cylinder or +size or +sizeM or +sizeK (115111-469413, default 469413): 147878

7. Создаем новый data раздел:

Command (m for help): nFirst cylinder (6435-469413, default 6435): 147880Last cylinder or +size or +sizeM or +sizeK (147880-469413, default 469413): 469027

Получаем data раздел размером 2508МБ вместо 1565МБ.

8. Создаем последний служебный раздел:

Command (m for help): nFirst cylinder (6435-469413, default 6435): 469029Last cylinder or +size or +sizeM or +sizeK (147880-469413, default 469413): 469413

9. Меняем тип файловой системы для разделов 20 и 22 на такие, как были, т.к. по-умолчанию fdisk создает новые разделы типа ext4:

Command (m for help): tPartition number (1-22): 20Hex code (type L to list codes): cChanged system type of partition 20 to c (Win95 FAT32 (LBA))Command (m for help): tPartition number (1-22): 22Hex code (type L to list codes): 4fChanged system type of partition 22 to 4f

10. Сохраняем изменения в файловой таблице:

Command (m for help): w

Тут у меня было сообщение об ошибке, что устройство используется.

fdisk: WARNING: rereading partition table failed, kernel still uses old table: Device or resource busy

Смысл в том, что в самом ядре осталась старая разметка ФС... но на скорость и остальные параметры сборки это не влияет. Игнорируем.

11. Перезагружаем телефон.

root@android:/ # reboot

После старта телефон мне выдал ошибку о потере шифрованных данных и предложил сделать полный сброс -> соглашаемся. Телефон перезагрузися в рекафери и сам сделает factory reset.

12. Следующий запуск аппарата займет продолжительное время, а по окончанию вы попадете в мастер настройки: выбор языка системы, параметров wifi, google аккаунта и т.д

.

269a4a016df0e191cfe14a59de3c6671.png6220f297147f47a30f8c66d0416b7a32.pngf9dc8780a00e94760724244a9337183b.png101eb5789ed255de79e8d21e1763c95d.png

 

З.Ы.: в аттаче перепакованный вариант для запуска АДБ с потрохами - распаковываем и запускаем от имени админа
сделан под семёрку, под восьмёркой работает тоже как и на старой доброй ХП... просто от имени админа запустить cmd.exe и вбивать команды методом "копировать / вставить"

memory.zip

Edited by psihipofigist
красный цвет
5 people like this

Share this post


Link to post
Share on other sites
 

заметки
1. адб шелл только под стоком завёл, только так девайс увидел... лёву и байду не пробовал разные сборки - но в большинстве своём не идёт, только сборке на основе стока... на дроиде не шло ни в какую ( видать сильно облегчённая сборка вышла... )
2. после манипуляций - результаты остаются, можно спокойно ставить любую сборку через рекавери
3. возврат к заводской разметке -...
вобщем пару вариантов есть...
а. через прошивку офф прошивки с sdfuse причём даунгрейд ( понижение версии - только так затирается и пишется по новой файловая таблица... при одинаковой версии - не видит в упор раздел - хоть об стенку бейся! ну и после перепрошивки раздел нужно форматнуть в самом телефоне через системное меню...делать можно только через сток, или его кастомы. в Байду и Лёве эта фишка не работает((( bn.gif
б. если через рав копи сделали полный бэкап и восстанавливаетесь через него...
4. Сообщение с ошибкой в конце просто игнорим...


5. 256 метров - ... поигрался, проверил... 56 метров - на стоке и кастомах на его базе - полёт нормальный, но вот дроид и несколько других не хотят...мало им... ai.gif

не меньше 100 метров оставлять! Иаче смотрим и переделываем пункт 3, как я раз 5 уже успел по ...
6. в моём случае - проверил - разделы и размеры всё те же... поэтому достаточно было копировать/вставить значения
7. повторная переразметка происходит - но всё остаётся так же tease.gif уже новые ошибки пишет про невозможность перезаписи ФС.. так что выход один - смотреть пункт 3 и по новой...

ВЫВОД - подумайте сколько вам действительно надо оставлять раздел внутренней карты памяти! А то переделывать напряжно будет..

Edited by alexejtkach
красный цвет
2 people like this

Share this post


Link to post
Share on other sites

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

xD_I7R3xIRg.jpg 
Edited by dread100

Share this post


Link to post
Share on other sites
root@android:/ # busybox fdisk -l /dev/block/mmcblk0

 

вот такие ответы он выдает

на эту команду в тексте полном что? похоже в телефоне 16 блоков, если верить скрину... хотелось бы всё глянуть.

я потому и написал

 

Нас интересуют последние 3 строчки (цифры у Вас может будут немного отличаться)

ты пробуешь по инструкции - но на модели телефона другие данные.

Edited by alexejtkach

Share this post


Link to post
Share on other sites

У меня тел А560. Ты просто пишешь что должно подойти по идее для всех qualcomm. 

u5i1AhnrfAo.jpg 
Edited by dread100

Share this post


Link to post
Share on other sites
"root@android:/ # busybox fdisk -l /dev/block/mmcblk0

на моём телефоне выдаёт перечень из 22 разделов... потому и дальше в инструкции идёт последние три

 

У меня тел А560

  вот в этом и фишка) 

 

Первый слот поддерживает как GSM, так и WCDMA сети, а второй предназначен для передачи данных только по каналу GSM.

инструкция под связку с СДМА - на твоей модели работать не будет. Платформа иная. WCDMA и CDMA - это не одно и тоже

в стандарте CDMA на Украине работают Интертелеком и Пиплнет именно на частотах CDMA2000

 и протоколами Рев А

С данным типом процессора не всё так гладко, как с другими устройствами - отсутствуют файлы MBR и EBR* и структура, как и софт для прошивки немного иные. Мануал пишеться для подобной архитектуры на примере Леново А820е Вполне возможно, что будет работать и на других моделях с подобным процессором и связкой GSM + CDMA

в твоём случае смотри в эту сторону http://lenovo-forums.ru/topic/2163-%D0%BF%D0%B5%D1%80%D0%B5%D1%80%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8-%D1%82%D0%B5%D0%BB%D0%B5%D1%84%D0%BE%D0%BD%D0%B0-%D0%B2%D1%80%D1%83%D1%87%D0%BD%D1%83%D1%8E/

здесь мануал и прочие дела пошагово. Под твой аппарат вот это должно подойти. Прочитай и ознакомься там

Edited by alexejtkach

Share this post


Link to post
Share on other sites

ок спасибо :)
у тебя все так просто показалось
так и знал что в чем то подвох!

Share this post


Link to post
Share on other sites
у тебя все так просто показалось

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

Это как вариант от безысходности((( :unsmile:

потому что стандартные варианты не работают на девайсе...

Share this post


Link to post
Share on other sites

Здравствуйте, спасибо за такую полезную инструкцию! У меня вопрос, имеется на руках HTC Sensation XE, так вот у него нет внутренней памяти под файлы пользователя, но при этом в /data мало места, вот думаю с помощью вашей инструкции откусить кусок от /system и отдать его под приложения. Но вот у меня уже очень много блоков, целых 60, не подскажите как понять какие блоки мне редактировать? К сообщению прикрепил текстовый документ с разметкой.

block.txt

Share this post


Link to post
Share on other sites
как понять какие блоки мне редактировать?

ну админы ответили...

для остальных пользователей продуции Леново - сама суть

количество разделов может быть любое.

Принцип - нужно знать количество мегабайт в /дата и внутренней памяти

когда есть таблица блоков - начало и концы - тогда легко посчитать и определить нужные нам разделы.

 

(147878-115111)*8/1024=256МБ. Можете выбрать другое значение, рассчитав его по формуле

вот основной момент.

дальше пробы.

обязательно бэкап, поскольку возможна ошибка...

 

Edited by alexejtkach
1 person likes this

Share this post


Link to post
Share on other sites
1 person likes this

Share this post


Link to post
Share on other sites
да и остальным, думаю, будет не бесполезно...

 

Это точно! Поскольку инфа уже несколько иного плана... А здесь в теме - то, чего нет там :spasibo:

Share this post


Link to post
Share on other sites

Добрый день, подскажите пожалуйста, хочу проконсультироваться!

Телефон Lenovo A706

При выводе информации по разделам получаю:

/dev/block/mmcblk0p20         150949      349093     1585152   c Win95 FAT32 (LBA)

(1548 mB)

/dev/block/mmcblk0p21         349093      469029      959488  83 Linux

(937 mB)

/dev/block/mmcblk0p22         469029      469413        3072  4f Unknown

(3 mB)

/dev/block/mmcblk0p23         469413      473088       29403+ 83 Linux

(28,7109 mB)

Вопроса соответственно 2:

Если последний раздел не трогать, не поползет ли таблица - т.е. можно ли удать разделы в середине;

Если нельзя, то как думаете, какие там могут быть данные или можно за счет этого раздела расшириться?

Share this post


Link to post
Share on other sites

Проверено на Lenovo A706, всё работает, скрины прилагаю..

post-162270-0-84210300-1441825130_thumb.

post-162270-0-45413300-1441825131_thumb.

post-162270-0-39759700-1441825132_thumb.

post-162270-0-86816800-1441825132_thumb.

post-162270-0-51734800-1441825133_thumb.

Edited by Brams
убрал картинки
2 people like this

Share this post


Link to post
Share on other sites

Проверено на Lenovo A706, всё работает

удивительно) ведь немного иная архитектура! Ну да и ладно! Здорово, что  работает!

Делали по информации в шапке - в смысле по разметке разделов?

Если последний раздел не трогать, не поползет ли таблица - т.е. можно ли удать разделы в середине;

Если нельзя, то как думаете, какие там могут быть данные или можно за счет этого раздела расшириться?

разделы однозначно удалять не стоит! Неизвестно поведение аппарата, поскольку разделы системные

можно как в шапке попробовать. Или самому просчитать смещение - вариант расчёта в шапке

Share this post


Link to post
Share on other sites

удивительно) ведь немного иная архитектура! Ну да и ладно! Здорово, что  работает!

Делали по информации в шапке - в смысле по разметке разделов?

 

 

Да, делал точь в точь как в шапке.

Забыл сказать, есть отличие в цифрах, в частности начало и конец блоков отличается от размеров в шапке, но схема 100% рабочая на А706!

Ещё раз спасибо автору, думал уже продавать и брать чё нить на замену, но теперь необходимость в этом пропала.

Edited by Yes21
1 person likes this

Share this post


Link to post
Share on other sites
в частности начало и конец блоков отличается от размеров в шапке

вот об этом я и имел ввиду)

Сущственный момент!

Edited by alexejtkach

Share this post


Link to post
Share on other sites

Ребят! В помощь сделал видео об особенностях переразметки внутренней памяти - забирайте!

Спойлер

 

3 people like this

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.