Яндекс.Метрика

    Песочница

    Android GT540: Увеличение размера раздела

    Вступление


    Пользователи андроид-смартфона LG GT540 знают, что официальная прошивка 2.1 перегружена предустановленным софтом, который в массе своей не нужен и бесполезен. Изначально мы имеем два раздела: /system (245 МБайт) и /data (138,5 МБайт). Весь предустановленный софт находится в /system.

    Задачи и цели


    Задача: удалить весь ненужный хлам из system и изменить размер этого раздела в пользу data.
    Профит: получаем намного больше пространства на внутренней памяти, для инсталляции большего числа приложений, чем если бы мы могли это сделать ранее.

    Сейчас у меня такая картина: /system 180Мбайт и /data 203.5Мбайт (и это не предел совершенства)


    Подготовка


    Итак, что нам нужно:
    • Собственно, сам смартфон c usb data-кабелем
    • Официальная прошивка с fastboot и recovery (подробнее на 4pda тут и тут)
    • root на смарте и busybox (желательно) (о том как получить root тоже есть инфа на 4pda)
    • Программа Swift bootloader tools
    • Время, терпение и везение

    Решение


    Алгоритм:
    1. Перед всеми манипуляциями делаем backup в recovery-mode
    2. Удаляем весь ненужный хлам из /system
      Для этого можно воспользоваться каким-нибудь приложением для Android, типа Root Uninstaller (тысячи их в маркете), файловым менеджером умеющим работать в root или/и средствами adb shell:
      Перемонтируем /system в rewrite mode.

      /system/xbin # cat rwmount 
      mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
      

      и удаляем на свой страх и риск все что под руку попадется.
      От себя скажу, что я удалял приложения из app (apk и odex), звуки для камеры в 3rd_party, рингтоны, либы для медиапроигрывателя и что-то еще по мелочи.
      Не скажу, что достиг идеала, но результат вполне удовлетворителен:

      /system # du -d 1 -h
      36.6M	./app
      925.5K	./etc
      1.5M	./xbin
      21.2M	./framework
      521.5K	./media
      8.8M	./fonts
      4.0M	./bin
      10.0M	./usr
      56.0M	./lib
      31.6M	./3rd_party
      476.5K	./sounds
      2.0K	./lost+found
      171.7M	.
      

    3. Ребутаем смартфон и убеждаемся, что он пока еще живой. Если нет — восстанавливаемся из бекапа и возвращаемся к пункту 2
    4. Снова делаем backup (теперь уже для того, чтобы восстановить андроид после изменения разделов)
    5. Переходим в fastboot режим, запускаем Swift bootloader tools и сокращаем раздел system (в моем случае до 180Мб). О том как пользоваться утилитой написано здесь
    6. Загружаемся в recovery-mode и делаем restore.
    7. Voila — цель достигнута

    Итоги


    /system
    было: 245Mb
    стало: 180Mb
    /data
    было: 138.5Mb
    стало: 203.5Mb
    При этом сохранилась вся системная и необходимая функциональность, предоставленная компанией LG.

    Примечание


    Принцип действий может подойти и для любого другого устройства с Android OS, если выполнены необходимые условия (fastboot, recovery, root…)

    Вопросы


    1. Что еще можно удалить? Интересует /system/lib и /system/framework.
    2. Что за зверь такой /system/3rd_party/ArcSoft/Workshop и для чего он нужен?

    Источники информации