alexejtkach

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

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

Вобщем перелопатил и перепробовал различные варианты переразметки внутренней памяти телефона на процессоре типа 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

Отредактировал psihipofigist
красный цвет
5 пользователям понравился пост

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


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

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


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

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

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

Отредактировал alexejtkach
красный цвет
2 пользователям понравился пост

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


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

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

xD_I7R3xIRg.jpg 
Отредактировал dread100

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


Ссылка на сообщение
Поделиться на другие сайты
root@android:/ # busybox fdisk -l /dev/block/mmcblk0

 

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

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

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

 

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

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

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

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


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

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

u5i1AhnrfAo.jpg 
Отредактировал dread100

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


Ссылка на сообщение
Поделиться на другие сайты
"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/

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

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

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


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

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

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


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

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

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

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

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


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

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

block.txt

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


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

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

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

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

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

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

 

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

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

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

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

 

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

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


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

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


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

 

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

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


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

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

Телефон 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:

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

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

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


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

Проверено на 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.

Отредактировал Brams
убрал картинки
2 пользователям понравился пост

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


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

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

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

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

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

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

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

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

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


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

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

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

 

 

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

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

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

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

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


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

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

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

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

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


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

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

Спойлер

 

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

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


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

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

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

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

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


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

Войти

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


Войти

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

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