Код отслеживания Google Analytics.

Feb 23, 2015

Прошивка Galaxy SII (GT-i9100)

Прошивку стоит начать с backup! Всегда и по возможности несколькими способами, если они новые и вы на 120% в них не уверены. Я использовал SuperBackup и аккаунт в Google.


Как все восстановить?

Я использовал прошивку с именем I9100XWLSE для отката к заводской версии. Список официальных прошивок можно посмотреть здесь. Чтобы прошиться под Linux используется программа heimdall. Процесс довольно прост:
  1. прошивка распаковывается до отдельных файлов (там есть архивы в архивах - их тоже нужно распаковать)
  2. устройство переводиться в flash-mode (выключить обычным способом и включить удерживая Volume Down + Home + Power)
  3. подсоединяется USB шнур и выдается команда проверки:

    sudo heimdall detect

    (можно и без sudo, но у меня были какие-то вопросы с доступом к USB, так что, чтобы не думать, оставим sudo)
  4. Если все нормально, то выдаем следующую команду:

    sudo heimdall flash --BOOT ./boot.bin --SBL1 ./Sbl.bin --PARAM ./param.lfs --KERNEL ./zImage --CACHE ./cache.img --MODEM ./modem.bin --FACTORYFS ./factoryfs.img --DATAFS ./data.img --HIDDEN ./hidden.img --pit ./u1_02_20110310_emmc_EXT4.pit

    все это файлы, которые были у меня в архиве с прошивкой. После окончания процесса у нас на руках обычный аппарат от производителя. Технически все эти разделы прошивки могут быть посмотрены командой print-pit того же heimdall, а сам pit файл можно предварительно скачать с устройства (download-pit). Но в нашем случае мы хотим полностью и начисто перепрошить устройство.

Прошивка custom firmware

Очень многие прошивки ставятся через recovery. Выйти в recovery можно выключив телефон обычным способом и включить его, удерживая Volume Up + Home + Power. Из под recovery можно загрузить файл, заранее записанный на флешку и тем самым начать прошивку. Однако в прошивках очень часто есть проверка того, что их не пытаются поставить на другую модель - защита от дурака. Реализована она в виде скрипта, который проверяет определенные properties на телефоне. Проблема состоит в том, что официальная прошивка выдает эти значения неправильно и поэтому обновление отказывается ставиться. С другой стороны далеко не все recovery поддерживают все версии Android. Так что применяемый здесь алгоритм будет таков:
  1. Ставим предварительный recovery, вместо официального
  2. С помощью него ставим нужный нам recovery, который сможет установить нашу прошивку
  3. Ставим прошивку и GAPPs (Google applications), если нужно
Рассмотрим все на примере установки Paranoid Android версии 4.45 для моего устройства (файл назывался pa_i9100-4.45-20140729.zip). Скачиваем эту прошивку, GAPPs c Basket Build - нам нужна версия подходящая под новую прошивку - в данном случае это Kit Kat (KK). В моем случае файл назывался gapps-kk-20140606-signed.zip. Так же забираем предварительный recovery - SiyahKernel (нужная мне версия называлась Siyah-s2-v6.0b5.tar) и recovery для установки именно нашей прошивки - мне понравилась PhilZ Touch 6 Recovery (основное описание, описание версии для GT-i9100, откуда скачал файл с recovery philz_touch_6.48.4-i9100.zip). Все, кроме предварительного recovery забрасываем на флешку вашего телефона и делаем...

Установка промежуточного recovery

Распаковываем Siyah-s2-v6.0b5.tar, переводим телефон в flash-mode (выключить обычным способом и включить удерживая Volume Down + Home + Power), скачиваем с телефона или берем подходящий pit файл и даем команду, после подсоединения кабеля:

sudo heimdall flash --KERNEL ./zImage --pit ./file.pit

Теперь можно отключить кабель - все остальное делается на телефоне.

Установка основного recovery

Переходим в recovery как описано выше (внешний вид должен поменяться). Выбираем в меню "install zip from sdcard" и устанавливаем philz_touch_6.48.4-i9100.zip

Установка Paranoid Android и GAPPs

Переходим в recovery как описано выше (внешний вид должен поменяться). Выбираем в меню "Wipe Data/Factory Reset" → "Clean to Install a New ROM", а после этой операции "Install Zip" и устанавливаем pa_i9100-4.45-20140729.zip и, если нужно, gapps-kk-20140606-signed.zip

No comments: