четверг, 20 августа 2015 г.

Alcatel Idol 3 (4.7") 6039Y. Переразметка внутренней памяти.

Продолжаем тему про Alcatel Idol 3 (6039Y) ... Не так давно я публиковал его обзор, а также способ установки TWRP и получения root-прав. И вот сегодня "всплыла" очередная интересная информация про этот аппарат. Как вы могли наверное понять из обзора, в 6039Y установлено 8 Gb внутренней памяти. Однако, это не совсем так. Как выяснилось, благодаря пользователю petrov.0 с форума xda-developers - в аппарате все же установлена 16 Gb'ная память. В этом посте - [6039y] **GUIDE** Repartitioning of the internal memory находится подробное руководство по переразметке памяти и увеличению раздела userdata за счет userdatabak, предназначение которого, честно говоря, пока непонятно. Все операции делаются через TWRP с интегрированным gdisk. На интерес, я решил посмотреть карту разделов в своем 6039Y:

Disk /dev/block/mmcblk0: 30535680 sectors, 14.6 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 98101B32-BBE2-4BF2-A06E-2BB33D000C20
Partition table holds up to 40 entries
First usable sector is 34, last usable sector is 30535646
Partitions will be aligned on 2-sector boundaries
Total free space is 256464 sectors (125.2 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1          131072          262143   64.0 MiB    0700  modem
   2          262144          265215   1.5 MiB     FFFF  tunning
   3          265216          267263   1024.0 KiB  FFFF  traceability
   4          267264          267265   1024 bytes  FFFF  fsc
   5          267266          267281   8.0 KiB     FFFF  ssd
   6          267282          268305   512.0 KiB   FFFF  sbl1
   7          268306          269329   512.0 KiB   0700  sbl1bak
   8          269330          270353   512.0 KiB   FFFF  rpm
   9          270354          271377   512.0 KiB   0700  rpmbak
  10          271378          272401   512.0 KiB   FFFF  tz
  11          272402          273425   512.0 KiB   0700  tzbak
  12          273426          274449   512.0 KiB   FFFF  hyp
  13          274450          275473   512.0 KiB   0700  hypbak
  14          275474          278545   1.5 MiB     FFFF  modemst1
  15          278546          281617   1.5 MiB     FFFF  modemst2
  16          281618          283665   1024.0 KiB  FFFF  simlock
  17          283666          286737   1.5 MiB     FFFF  efsdata
  18          393216          393279   32.0 KiB    FFFF  DDR
  19          393280          396351   1.5 MiB     FFFF  fsg
  20          396352          396383   16.0 KiB    FFFF  sec
  21          396384          398431   1024.0 KiB  FFFF  aboot
  22          398432          400479   1024.0 KiB  0700  abootbak
  23          400480          466015   32.0 MiB    FFFF  boot
  24          466016          531551   32.0 MiB    FFFF  recovery
  25          531552         4306427   1.8 GiB     FFFF  system
  26         4325376         4390911   32.0 MiB    FFFF  persist
  27         4390912         4407295   8.0 MiB     FFFF  splash
  28         4407296         4448255   20.0 MiB    0700  tctpersist
  29         4448256         4468735   10.0 MiB    0700  hdcp
  30         4468736         4468751   8.0 KiB     FFFF  fota
  31         4468752         4993039   256.0 MiB   FFFF  cache
  32         4993040         4995087   1024.0 KiB  FFFF  misc
  33         4995088         4996111   512.0 KiB   FFFF  keystore
  34         4996112         4996175   32.0 KiB    FFFF  config
  35         4996176         4996303   64.0 KiB    FFFF  oem
  36         4996304         5000399   2.0 MiB     FFFF  FactoryRP
  37         5000400        15269853   4.9 GiB     FFFF  userdata
  38        15269854        30535646   7.3 GiB     0700  userdatabak

Как можно увидеть номер последнего сектора 30535646, при размере сектора в 512 байт получаем 30535646*512 = 15634250752 байт. Т.е. 16 Gb eMMC Flash. Подробную информацию о разделах userdata и userdatabak вы можете видеть ниже:

Partition GUID code: 1B81E7E6-F50D-419B-A739-2AEEF8DA3335 (Unknown)
Partition unique GUID: BDD7FA27-93D4-40BC-B266-313E074E0E87
First sector: 5000400 (at 2.4 GiB)
Last sector: 15269853 (at 7.3 GiB)
Partition size: 10269454 sectors (4.9 GiB)
Attribute flags: 0000000000000000
Partition name: 'userdata'

Partition GUID code: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft basic data)
Partition unique GUID: BD12CF41-10E7-BBF7-D096-5553B89882E7
First sector: 15269854 (at 7.3 GiB)
Last sector: 30535646 (at 14.6 GiB)
Partition size: 15265793 sectors (7.3 GiB)
Attribute flags: 0000000000000000
Partition name: 'userdatabak'

Перед тем как делать переразметку, я решил все-таки посмотреть на содержимое раздела userdatabak, хотя бы ради того чтобы попытаться понять что же там хранится. Для этого я решил скопировать образ раздела целиком на ПК с помощью NetCat (методику я уже описывал тут), правда здесь я пошел по более простому пути, без использования mkfifo и т.п. Вообщем, что я сделал, загрузился в TWRP, далее:

adb forward tcp:5555 tcp:5555 (для перенаправления порта из adb, это на ПК)
nc -l -p 5555 -e dd if=/dev/block/platform/soc.0/by-name/userdatabak (в adb shell на устройстве)
nc 127.0.0.1 5555 > userdatabak (на ПК)

В результате я получил копию раздела userdatabak в соответствующем файле на ПК. Оказалось что он состоит из одних 0x00, т.е. по-сути пустой и по всей видимости никак не используется ОС аппарата. Поэтому я решил провести эксперимент и провести переразметку на своем устройстве. Предварительно, я все же сделал его backup через свой TWRP из этого поста, в других сборках TWRP во время длительной операции создания backup'а включается "хранитель экрана", т.е. на экране при этом появляется надпись "Swipe to unlock" и как раз свайпом закрыть этот хранитель экрана нельзя, т.е. выйти из этого состояния невозможно. В моей сборке TWRP эта проблема решена, хранитель экрана просто не активируется. Ну а теперь сама инструкция по переразметке.

Переразметка памяти на Alcatel Idol 3 (6039Y)

  1. Скачиваем TWRP с интегрированным gdisk, а также последний platform-tools (т.е. adb и fastboot), если у вас еще его нет. Взять комплект с platform-tool можно, например, из этого архива (там же будет и TWRP моей сборки).
  2. Активируем на телефоне отладку по USB в меню разработчика. Меню разработчика на Alcatel Idol 3 (6039Y) активируется стандартным способом, т.е. тапаем 7 раз по Номер версии в информации о телефоне и становимся разработчиками, после чего ставим галочку [x] Отладка по USB. Либо же ставим из Play Market приложение Debug Menu Access и заходим в меню "Для разработчиков" через него.
  3. Далее перезагружаем телефон в режим bootloader через ADB, т.е. выполняем в консоли:
    adb reboot bootloader
  4. Далее загружаемся в TWRP с поддержкой gdisk - fastboot -i 0x1bbb boot twrp-2.8.7.0-idol3-6039y-with-gdisk.img
  5. Заходим в консоль ADB - adb shell и отмонтируем разделы umount /cache && umount /sdcard && umount /and-sec
  6. Запускаем gdisk и смотрим карту разделов - gdisk /dev/block/mmcblk0 , в появившемся меню вводим команду p и нажимаем Enter. В результате на экране у вас появляется карта разделов:


  7. Далее получаем информацию о разделах userdata и userdatabak с помощью команды i , т.е. вводим сначала i, а потом номер интересующего нас раздела, 37 и 38. Получаем что-то вроде:

    Здесь нас интересуют Partition GUID code, First sector, Last sector и Partition name. Эти данные понадобятся нам при переразметке.
  8. Сохраняем backup текущей таблицы разделов с помощью команды b , в качестве имени файла вводим /external_sd/gpt.backup:


  9. Удаляем разделы 37 и 38 с помощью команды d:

  10. Создаем новый раздел 37 (userdata) с таким же Partition GUID code и start sector с помощью n :
    Подчеркнутые значения вводятся нами вручную. Здесь 5000400 - это первый сектор раздела 37, который мы узнали на шаге 7, 30535546 - его последний сектор (это значение новое), а 1B81E7E6-F50D-419B-A739-2AEEF8DA3335 - это Partition GUID code раздела 37, тоже из 7-го шага.


  11. Аналогично используем команду n для создания раздела 38:

    Здесь все аналогично. В качестве First sector указываем 30535547, следующий за последним сектором раздела 37 сектор. Последний сектор - это 30535646, т.е. последний сектор раздела 38, как он и был у нас раньше, а EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 - это Partition GUID code раздела 38. Обратите внимание, что все значения нужно вводить без ошибок (!) и ни в коем случае не соглашаться с значениями предлагаемыми по-умолчанию. Т.к. если просто в каком-то месте случайно нажать Enter не введя значение - можно нечаянно повредить структуру разделов.


  12. Задаем вновь созданным разделам имена с помощью команды c :


  13. Проверяем новую структуру разделов с помощью команды p , т.е. смотрим что у нас получилось (изменения в структуру на самом деле еще не внесены):
    37         5000400        30535546   12.2 GiB    FFFF  userdata
    38        30535548        30535646   49.5 KiB    0700  userdatabak

  14. И если у нас все также, т.е. раздел userdata (37) имеет размер 12.2 Gib, а userdatabak (38) - 49.5 KiB - фиксируем изменения в структуре разделов с помощью команды - w :
    И выходим из gdisk с помощью команды q.


  15. Теперь мы должны откорректировать файловую систему под новый размер раздела, делаем последовательно:

    e2fsck -f /dev/block/mmcblk0p37 (проверка файловой системы, если найдены ошибки - отвечаем yes, т.е. y)
    resize2fs -f /dev/block/mmcblk0p37 (изменение размера ФС, если вас интересует полный мануал по команде resizefs - его можно найти, например, здесь)
  16. На этом всё, переразметка завершена - перезагружаем устройство с помощью reboot.
Результат:


Как видно из скриншотов меню Настройки -> Память, AIDA64 и CPU-Z размер раздела внутренней памяти (userdata) вырос у нас до 11.91 ГБ за счет сокращения места в непонятном разделе userdatabak. Что и требовалось получить ...

p.s. Совсем забыл сказать, данные в userdata (т.е. все ваши установленные приложения, сохраненные файлы и т.п.) в процессе переразметки остаются на месте. Тем неменее перед проведением процедуры - я бы все равно сделал backup на внешнюю microSD через TWRP, во-избежание, так сказать.

Полезные ссылки


Обновлено 26.09.2015 16:14

Два важных замечания. После обновления версии прошивки до 010 04 fastboot становится недоступным, на данный момент есть два решения - восстановление работоспособности fastboot на 010 04, либо прошивка TWRP через QFIL, описанная в этом посте - Alcatel Idol 3. Прошивка TWRP на версии ПО 010 04 и выше.

Также, для автоматизации процесса переразметки теперь достаточно прошить вот этот 6039Y_repartitioning.zip через TWRP. Все действия описанные в статье в нем выполняются автоматически в пакетном режиме с использованием - sgdisk. Т.е. для увеличения объема свободной памяти в разделе userdata можно просто загрузиться в TWRP и через Install Zip установить zip для переразметки.

Обновлено 04.10.2015 07:05

Выяснилось что на некоторых аппаратах (видимо, зависит от партии) объем физической памяти не 16 Gb, а именно 8 Gb, как заявлено. Естественно что провести переразметку на таком аппарате нельзя. Чтобы узнать заранее сколько памяти установлено в вашем Alcatel Idol 3 4.7" 6039Y можно воспользоваться приложением Idol 3 Firmware Checker, которое показывает информацию о версии установленной прошивке и объеме физической памяти, установленной в аппарате.


Внимание! Материалы приведенные в данной статье размещены в ознакомительных целях. Все действия описанные в данной статье вы осуществляете на свой страх и риск! Автор(ы) статьи не несут ответственности за вышедшее из строя оборудование, в результате ошибочных действий или неверного понимания вами смысла изложенного в ней материала, а также в силу любых прямых и косвенных причин, которые потенциально могут привести к неработоспособности вашего устройства или любым другим проблемам с ним. Если вы не уверены в своих силах, сомневаетесь и т.п. - не выполняйте ничего из вышеописанного. Используя материалы из этой статьи вы соглашаетесь с тем, что ответственность за ваши действия несете вы и только вы.

37 комментариев :

  1. Спасибо за статью! Есть ли возможность с idol2mini 6016D такой фокус провернуть, жуть как памяти не хватает...

    ОтветитьУдалить
  2. Ответы
    1. Пароль указан в посте по ссылке, в комментарии к архиву. Если вы не читали пост, пароль - decker.su .

      Удалить
    2. i get the error :(
      error executing updater binary in zip

      Удалить
    3. What zip? The article describes a method how do repartitiong via TWRP with integrated gdisk, there is now any flashable zips. For english speaking members better to read original article on XDA - here.

      Удалить
  3. после команды adb reboot bootloader ничего не происходит, перезагружается и зависает на стартовом экране, в чем может быть проблема

    ОтветитьУдалить
    Ответы
    1. А ничего и не должно происходить. Если он у вас перезагрузился и находится на "стартовом экране" - он уже в режиме fastboot. Т.е. можно загружать TWRP через fastboot. Проверить в каком режиме находится телефон можно с помощью fastboot devices.

      Удалить
  4. Подскажите, пожалуйста, есть новый телефон со стоковой прошивкой 010 01,
    хотелось бы только сделать переразметку памяти, какой порядок действий посоветуете, сначала обновиться по FOTA до 010 04, а потом прошить TWRP или наоборот.
    А также, интересует возможно ли это все сделать из под Linux.

    ОтветитьУдалить
    Ответы
    1. Устанавливаете TWRP описанным здесь способом на любую прошивку, затем прошиваете через TWRP zip с переразметкой 6039Y_repartitioning.zip , который есть в конце этого поста. Всё.

      Удалить
    2. Добрый день!
      Подскажите, пожалуйста, если установить новую прошивку 010 05 по FOTA, потеряется ли переразметка памяти и каков порядок действия в таком случае.

      Удалить
  5. Добрый вечер!
    Подскажите, дохожу до 5 пункта. adb shell, а он не перестает видеть телефон.
    хотя на телефоне уже открылся TWRP

    ОтветитьУдалить
    Ответы
    1. Прошейте через TWRP (пункт Install Zip) архив 6039Y_repartitioning.zip для переразметки, который выложен в конце этого поста. Он выполнит все действия описанные в статье автоматически. Архив предназначен только для 6039Y, к другим аппаратам его применять нельзя.

      Удалить
  6. Спасибо большое!
    Всё получилось.

    ОтветитьУдалить
  7. переразметил все получилось только телефон во время разговора иногда теряет связь пишет только экстренные вызовы не как не связанно с переразметкой.

    ОтветитьУдалить
    Ответы
    1. Вы абсолютно правы, одно с другим не связано.

      Удалить
    2. Уважаемый Bogdan Spasennikov! У меня на Idol 3 6039y действительно память 16ГБ. Сам опасаюсь переразмечать. Можно-ли ли мне как нибудь помочь.Могу подъехать, если Вы в Москве.

      Удалить
    3. Опасаться не стоит - т.к. всегда есть возможность запустить Mobile Upgrade и вернуть телефон к исходному состоянию. Процесс переразметки предельно прост, с учетом последних изменений. Первым делом проверяете с помощью Idol 3 Firmware Checker сколько на самом деле физической памяти установлено в вашем аппарате 8 или 16 Gb, если 16 - то прошиваете TWRP и устанавливаете через него zip - 6039Y_repartitioning.zip из этого поста. Весь процесс достаточно прост и займет не более 10 минут. Подъехать, к сожалению, нельзя, просто физически нет времени всем этим заниматься. Будут вопросы - спрашивайте, по-возможности отвечу.

      Удалить
    4. Всё сделал по Вашей инструкции. Программа не ругалась, все вроде-бы нормально, но TWRP recovery после прошивки остается все время стоковый. Три раза пробовал, но кастомный не встает.

      Удалить
    5. Кстати, я проверил с помощью Idol 3 Firmware Checker, памяти у меня 15 с чем-то. Наверное это и есть 16 ГБ?

      Удалить
    6. После установки TWRP, до загрузки телефона, в него нужно 1 раз зайти. Если после установки TWRP телефон успел загрузиться до рабочего стола, то необходимо повторить процедуру. Смысл в том, чтобы открыть TWRP хотя бы 1 раз до загрузки Android.

      Удалить
    7. По-поводу памяти - да, это и есть 16 Gb.

      Удалить
    8. А как можно перезагрузиться до выхода на рабочий стол, если в самой программе установки горит строка "подождите перезагрузки телефона". Как прервать этот процесс? А потом телефон уже тупо не выключить пока он не загрузится... И надо-ли отключать кабель от компа?

      Удалить
    9. Блин, всё! TWRP установил. Подскажите пожалуйста в телефон надо закачивать 6039Y_repartitioning_old как ZIPархив или распаковать в папку? И на SD карту или в память телефона? Да и если можете, напомните порядок установки 6039Y_repartitioning_old в TWRP. За ранее благодарен!

      Удалить
    10. В TWRP выбираем Install ZIP и прошиваем вот этот архив. Т.е. 6039Y_repartitioning.zip, 6039Y_repartitioning_old - вам не нужен. Просто копируем архив на SD и выбираем его для прошивки.

      Удалить
  8. Здравствуйте! Большое спасибо! Все переразметил, но появился Root.Никаких программ по установке Root я не устанавливал, как-то все само собой получилось. Можно-ли удалить Root при помощи TWRP или каким-то другим способом, обновиться по FOTA и затем снова вернуть Root права и так далее и так далее?

    ОтветитьУдалить
  9. скиньте пожалуйста видео как переразмечать

    ОтветитьУдалить
    Ответы
    1. Для того чтобы его скинуть, его сначала нужно снять, на что совершенно нет времени. На данный момент процесс переразметки существенно упростился за счет автоматизированного скрипта переразметки для прошивки через TWRP. Т.е. чтобы переразметить телефон на прошивках до 010 04 - достаточно установить TWRP стандартным образом, а потом прошить zip для переразметки, на 010 04 и выше - TWRP прошивается через QFIL. Вся необходимая информация есть на этом сайте, можно найти поиском (в левом верхнем углу экрана) по запросу idol 3.

      Удалить
  10. ну скиньте пожалуста видео некак не могу переразметить

    ОтветитьУдалить
  11. не могли бы выложить скрин карты разделов для 8Гб модели?

    ОтветитьУдалить
    Ответы
    1. К сожалению, нет. Т.к. 8 Gb модели банально нет на руках, но вы можете посмотреть карту разделов самостоятельно, с помощью того же gdisk.

      Удалить
  12. НЕ могу скачать файлы которые нужны для переразметки.пишет что диск поврежден.

    ОтветитьУдалить
  13. раскажите пожалуста что изменится в обновление 01006

    ОтветитьУдалить
    Ответы
    1. Обновление 01006 включает в себя ряд обновлений безопасности ОС Android, более подробной информации пока нет. Однако, обновление уже доступно для загрузки на серверах FOTA.

      Удалить
  14. Здравствуйте, приобрел Idol 3. Пытаюсь сделать по вашей инструкции но на второй же команде происходит ошибка:
    e:\1\!CWM_Root_Alcatel_Idol_3_6039Y\platform-tools>fastboot -i 0x1bbb boot twrp-2.8.7.0-idol3-6039y-with-gdisk.img
    downloading 'boot.img'...
    OKAY [ 0.399s]
    booting...
    FAILED (remote: unknown command)
    finished. total time: 0.415s

    Телефон не рутовый, ничего ранее не ставил.

    ОтветитьУдалить
    Ответы
    1. Читайте обновление от 26.09.2015 16:14 ... прошить TWRP через fastboot можно только на прошивках до 010 04.

      Удалить