Вступление
Пользователи андроид-смартфона 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
- Время, терпение и везение
Решение
Алгоритм:
- Перед всеми манипуляциями делаем backup в recovery-mode
- Удаляем весь ненужный хлам из /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 .
- Ребутаем смартфон и убеждаемся, что он пока еще живой. Если нет — восстанавливаемся из бекапа и возвращаемся к пункту 2
- Снова делаем backup (теперь уже для того, чтобы восстановить андроид после изменения разделов)
- Переходим в fastboot режим, запускаем Swift bootloader tools и сокращаем раздел system (в моем случае до 180Мб). О том как пользоваться утилитой написано здесь
- Загружаемся в recovery-mode и делаем restore.
- 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 и для чего он нужен?
Источники информации
→ 4pda.ru
Благодарности
AntonCh, Mur4ik, ankuch, MihanickX, Quarx — жители 4pda.ru за их вклад в создание утилит, прошивок и рецептов.
P.S. Почему именно официальная прошивка? Ведь есть же кастомные урезанные, с не большим размером. К сожалению, у меня ни одна кастомная прошивка не заработала адекватно с тачскрином, вероятно не хватает каких-то библиотек или модулей ядра.