HTC Desire: устранение проблемы нехватки места в ROM

Думаю, многие владельцы HTC Desire были в ситуации, когда девайс начинает сетовать на недостаток свободного места в ROM, отказываясь при этом, например, синхронизировать почту. Усугубляется это тем, что все поддерживающие перенос на SD программы уже перенесены, и вроде как остаётся 2 пути: удалить часть приложений или сменить телефон.

HTC Desire
Поделиться:

Считаю оба варианта неприемлемыми, ибо установлено только реально востребованное ПО (вроде Навител и 2ГИС). К тому же Desire нисколько не устарел, и свои функции выполняет прекрасно.

В результате поиска в Интернет был найден способ сделать так, что “и волки сыты, и овцы целы” – не лишаться уже установленных программ, и получить около 50Мб свободного места.

Пост не претендует на техническую новизну, и многие примененные утилиты уже упоминались в т.ч. на Хабре. Я решил собрать воедино кусочные сведения и изложить в форме инструкции — что нужно делать, и что при этом получается. Все указанные шаги я успешно выполнил на своём Desire.

Традиционное предупреждение:

1) Всё ниже изложенное — в ознакомительных целях. Если захотите повторить — то только на свой страх и риск, крайне внимательно и без спешки!

2) Автор за потерянные данные испорченные девайсы ответственности не несёт!

3) В результате этих действий устройство лишается гарантии!

Итак, исходные данные – HTC Desire РСТ c офиц. Android 2.2 (версия прошивки 2.29.405.5), НЕ рутованный, не «брендированный». Т.е. то, что имется на руках у многих пользователей.

Если у вас залоченный аппарат, либо куплен за границей, погуглите по ключевому слову «goldcard», ибо есть ряд особенностей, на которых я не буду останавливаться.

Суть манипуляций сводится к следующему:

1. получаем root-права

2. делаем S-OFF загрузчика

3. делаем дополнительный раздел на флешке, для установки софта туда

4. устанавливаем утилиту Link2SD из маркета и переносим программы из ROM в созданный ранее раздел

В ходе всех этих действий при соблюдении осторожности и аккуратности данные в тлф и на карте памяти будут в целости и сохранности. Но лучше сделать-таки бэкап ;-)

Приступим!

1. Получение root-прав

Способ получения root довольно давно известен, и хорошо описан, не стану повторять его тут.

2. Делаем S-OFF

Что такое вообще S-OFF? В устройствах HTC имеется защита, называемая secuflag. Благодаря ей разделы /system и /recovery монтируются в режиме read-only. Поэтому даже при наличии рутных прав, мы не можем изменять их содержимое.

Группе лиц, именующих себя Alpharev, удалось отключить эту защиту, т.е. сделать S-OFF. Упомянутые разделы /system и /recovery будут смонтированы на чтениезапись, это будет использовано далее, в п. 4.

Как бонус – вы получаете возможность менять системные файлы прямо с тлф, менять картинку загрузки и проч., удалять ненужные программы из прошивки.

Перед началом процедуры получения S-OFF:

1. полностью зарядить аппарат

2. проверить, что HBOOT у вашего Desire версии 0.93.0001 (эта версия устанавливается при прошивке официальной 2.2)

3. получить root-права (см. п. 1)

Сама процедура следующая:

1) заходим на сайт AlphaRev и качаем подходящую версию утилиты (для Windows или Linux)

2) В полученной форме на сайте выбираем:

Alpharev

Здесь Serial number – это серийный номер устройства. Узнать его можно, заглянув в “Настройки” –> “О телефоне” –> “Идент. код телефона” –> “Сер. номер устройства”. Введите его, и нажмите Generate key

3) После этого сайт сгенерирует вам ключ, который пригодится далее:

Alpharev

4) Запустите revolutionary.exe (в Windows — от имени Администратора)

5) Подключите тлф по USB, и дождитесь, пока утилита его определит

6) Введите ключ, полученный на шаге 3

7) Ждите. Девайс будет перезагружен. Читайте сообщения утилиты, она уведомит вас о ходе процесса, и о результатах работы.

3. Создание дополнительного раздела на SD-флешке

По умолчанию вся SD-флешка используется для хранения данных пользователя и установки программ штатными средствами ОС 2.2 и выше. Мы же создадим дополнительный первичный ext2-раздел, куда и будем переносить исполняемые файлы установленных приложений, при этом оставляя в ROM лишь ссылку на них (т.о. Android будет считать, что программы находятся в памяти телефона, в то время как реально они будут лежать на SD). Делать это будет утилита Link2SD, и сейчас мы подготовим раздел для обеспечения её работы.

Задача простая: с помощью любого доступного вам редактора разделов создайте второй (следующий сразу за FAT32-разделом для хранения данных) первичный ext2-раздел достаточного размера. Я использовал Magic Partition Manager и создал ext2-раздел размером 1024 Мб

Т.е. процесс такой:

1. вытащить флешку из телефона и подключить к компу

2. скопировать всё содержимое флешки на комп

3. удалить все разделы и создать 2 первичных — FAT32 и ext2

4. вернуть обратно данные на FAT32-раздел

5. поставить флешку в телефон

Лучше, чтобы флешка была быстрая (рекомендуется минимум класс 4). Я купил на eBay 8Gb флешку Transcend class 10 за ~$20, она меня полностью устраивает.

4. Утилита Link2SD

Устанавливаете из Маркета программу Link2SD, при первом запуске выбираете созданный ранее раздел, утилита настроит автоматическое монтирование его при загрузке устройства (для чего собст-но и нужно иметь доступ на запись в /system).

Перезагружаете аппарат, и вновь запускаете Link2SD. Вам будет выведен список приложений, и предложено сделать линки для тех программ, что установлены в памяти телефона. Программы, установленные в /system, утилита не переносит, и я настроил фильтр таким образом, чтобы отображались только «неприлинкованные» пользовательские приложения:

При выборе какого-либо из них появляется форма:

По нажатию на кнопку «Create link» файлы программы будут перенесены на SD, и созданы ссылки на них. В данном случае можно сэкономить 861Кб, перенеся 3G Watchdog на ext2-раздел.

Не спешите переносить всё подряд — рекомендую сделать это только для крупных приложений, которыми нечасто пользуетесь. Более подробные сведения о работе утилиты можно получить в ней самой при выборе Mеню -> About

Да, и конечно, Link2SD требует root-прав для своей работы!

FAQ

1. А можно вернуть всё «как было»? Т.е. снова получить девайс в исходном виде — без рута и с S-ON

Да, можно, правда лично я не пробовал. Это делается посредством прошивки стоковой 2.2, при этом HBOOT будет заменён на прежний, и root-прав больше не будет. Как результат — получим обычный телефон, и вряд ли в СЦ смогут в случае чего распознать, что проводились описанные модификации ;) Поэтому в п. 3 предупреждений я слегка «приврал».

2. Не верю я UnRevoked и AphaRev! Где можно взять исходники утилит и собрать их самому?

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

3. Сколько времени происходит весь процесс?

Не более получаса. Хотя торопиться не следует, и помните про бэкап :)

4. Сколько это всё стоит?

Нисколько. Всё упомянутое ПО распространяется бесплатно, однако авторы приветствуют донейты ;)

5. Не будет ли тормозить всё при работе с SD?

Субъективно — разницы не заметил, ни быстрее, ни медленнее не стало. Возможно, сказывается class 10 флешки, потому и рекомендую обзавестить максимально быстрой.

6. Что будет, если подключить телефон к компу в режиме «Дисковода»?

Всё как раньше — станет доступно содержимое FAT32-раздела. При этом ext2-раздел не отмонтируется, соответственно все программы и виджеты продолжат работать.

Профит?

После выполнения всех этих действий вместо прежних 15..18 Мб и периодических сообщений о нехватке памяти я получил ок. 51 Мб свободного места, что достаточно для установки любого требуемого мне приложения. При этом не нужно менять прошивку, перенастраивать девайс и всё ПО.

Побочно — получил рутный доступ к девайсу, со всеми вытекающими плюсами и минусами, и удобные средства вроде nandroid backup.

Надеюсь, для некоторых этот пост будет поводом иначе взглянуть на свой Desire!

Если вам интересны новости мира ИТ, подписывайтесь на наши материалы в Telegram, Twitter, Vkontakte, Facebook, Google+, Email, RSS.

Поделиться:

Комментарии:


Аватарwerty: Вот новость так новость, на 4pda.ru эта инструкция уже год как лежит
Знатоки мля


АватарАлександр: Ну не все 4пда читают


Аватарvlodimer: для себя я решил эту проблему сразу - cyanogen + c2m


Аватарcoroud: а не проще, если уж с рутом, a2sd скрипт поставить, и через терминал в три комманды перенести как программы так и давилик кэш?


АватарОлег: Пробовал Cyanogen, Oxygen и RuHD. Не прокатило. При использовании аппарат постоянно вис намертво, откатился до официальной 2.2


АватарMr.Anderson: Есть вариант еще радикальнее - AOSP-прошивки (см CM7)
Даже без ext-раздела с тем же софтом, что на стоке, свободно 65 метров, при этом на sd перенесено буквально 5 программ, вместо тотальной зачистки.
И это еще без изменения таблицы разделов, с которой можно отжать у system минима 50 Мб.


АватарMr.Anderson: To Олег
Не знаю как вы ставили и какой у вас аппарат, но я сам на RuHd просидел полгода, все работало как часы.
Может, карта кривая или с частотой CPU заигрались?


АватарАндрей vortex: Спасибо за пост!


АватарАлексей: @vlodimer: c2m это что?


Аватарvlodimer: @Алексей: опечатался, S2E


АватарАлексей: @vlodimer: я для себя аналогичным способом решил проблему нехватки памяти :)


Аватарdeez: Спасибо за инструкцию!
4pda читаю но там так написано ужасно все, черт ногу сломит, куча перекресатных ссылок на соседние темы и посты.. бесит!


АватарАндрей: Я для себя решил эту проблему установив Cyanogen. Удалил из него несколько стандартных приложений, некоторые заменил. Никаких тормозов и глюков. А свободного места было чуть меньше 300 метров.


АватарЮрий Вачугов: А если revolutionary.exe зависает на этапе "waiting for fastboot" что делать или ждать до победного?


АватарArmGun: @deez

Не знаю что и как Вы читаете, но еще ни разу не было претензий к инструкциям.


Аватар57567567: та же фигня: останавливается на waiting for fastboot, на звере останавливается на красном fasboot usb.


АватарAlexei: Какой тип подключения по USB выбрать?


АватарNable: ну да, ну да. способ получения рут прав давно известен, ага..
был момент когда хотел получить на свой desire a8181 root, ничего у меня не получилось. так что рабочий метод мне до сих пор неизвестен. пробовал много разных программ и способов.


Оставить комментарий?

HTC Desire: устранение проблемы нехватки места в ROM

Отправляя сообщение, вы подтверждаете, что принимаете наше соглашение об обработке персональных данных.