[F.A.Q.] Перепрошивка.

JagdCrab
iOS Support F.A.Q. Помощь новичкам
[F.A.Q.] Перепрошивка.



Почему этот F.A.Q. появился так поздно, хотя как казалось бы должен быть в первую очередь? Все объяснимо - перепрошивка это настолько простое явление когда дело касается iPhone что его может выполнить даже пользователь очень отдаленно знакомый с iOS (iPhone OS) при этом даже не подозревая что же такое он натворил.
Тем не менее, я категорически советую прочитать этот F.A.Q. до конца всем, ибо я постараюсь собрать в нем абсолютно все аспекты перепрошивки, для всех версий, и девайсов, всех проблем, и последствий.



Прошивка.



Начну я пожалуй с самой прошивки, т.е. с того что именно записывается в телефон. Практических знаний тут совсем не много, по этому не особенно любопытные могут ознакомится с типами прошивок, и листать дальше :)
Прошивка iPhone \ iPad \ iPod Touch - это файл в формате IPSW, который на самом деле является переименованным zip архивом с максимальной степенью сжатия.
Прежде чем рассмотреть что входит в прошивку, я сразу замечу что существует четыре типа прошивок:

  • Официальная - т.е. созданная программистами Apple, распространяется через iTunes, бесплатна для обладателей iPhone, но стоит денежек для обладателей iPod Touch.
  • Бета-прошивка - т.е. тоже официальная прошивка, но доступная только Apple Developer (c UDID внесенным в этот акаунт) с сертификатом разработчика приложений (который к слову стоит 99$), эти прошивки как правило выходят на несколько месяцев раньше официальных, и их цель - поиск проблем и неисправностей перед выходом стабильной версии (официальной).
  • Кастомная прошивка - прошивка созданная с помощью программ PWNage Tools и Sn0wbreeze, как правило сразу с джэилбрэйком. Официально Apple не разрешает ставить эти прошивки на свои устройства, по этому довольно часто возникают трудности с их установкой.
  • NOR-Only прошивка - прошивка по сути родственная Кастомной, не изменяет файловой системы, а прошивает исключительно чипы в которых хранятся такие данные как Boot \ Recovery logo.

Ну а теперь рассмотрим, что же вообще есть в файле IPSW. Для этого откроем его банальным 7z архиватором (На примере рассматривается билд 8A293).

018-5540-599.dmg и 018-6461-399.dmg - DMG т.е. образ диска в Mac OS X, если быть точным эти два файла, могут носить любую нумерацию, от прошивки к прошивке они меняются и оперделить их можно лишь по размеру - они в разы меньше третьего DMG о котором еще зайдет речь. Эти два файла - образы RAM памяти для двух чипов, один образ - восстановление, второй обновление. Трогать их от скуки - не надо.
018-7319-141.dmg - образ полной файловой системы iPhone, закрыт ключем шифрования у Официальных прошивок, и свободен редактировании для кастомных.
BuildManifest.plist - файл с настройками для iTunes, несет в себе информацию о том, что есть в этом IPSW файле, а так же ключи по которым iTunes проверит не изменял ли кто прошивку, а так же расшифрует img3 (зашифрованные данные для прошивки в Flash)
kernelcache.release.n88 - kernel, т.е. ядро операционной системы, опять же трогать не рекомендую.
Restore.plist - еще один файл с настройками для iTunes, но содержит уже не ключи безопасности, а такие вещи как устройство для которого предназначается прошивка, версию, и.т.п.
Firmware - папка.... рассмотрим и ее, но несколько более поверхностно, ибо не пользовательское это дело... Все данные из этой папки прошиваются не в основную память, а в множественные микросхемы на материнской плате телефона, после прошивки они практически недоступны.
=dfu - вложенная папка, угадайте что, и для чего... Содержит два файла.
==iBEC - так называемый Fake DFU т.е. ложный режим стабилизации, на самом деле является пониженной версией iBoot, которая загружается из LLB (Low Level Bootloader) при неисправностях с основным загрузчиком, для перепрошивки.
==iBSS - так же доп.версия iBoot но на этот раз с работоспособностью файловой системы в файловой системе.
=all_flash - папка в которой содержатся img3 файлы (защищенные образы чипов), в ней так же присутствует папка all_flash.******.production ****** которой заменен буквами\цифрами согласно версии сборки.
===applelogo.s5l8920x.img3 - картинка, которая показывается при загрузке устройства.
===batterycharging0.s5l8920x.img3, batterycharging1.s5l8920x.img3, batteryfull.s5l8920x.img3, batterylow0.s5l8920x.img3, batterylow1.s5l8920x.img3, glyphcharging.s5l8920x.img3 - файлы которые отвечают за изображения зарядки\разрядки пока устройство выключено.
===DeviceTree.n88ap.img3 - "карта" устройства, чтобы нечаянно не прошить процессор или акселерометр вместо модема
===glyphplugin.s5l8920x.img3 - файл который должен известить пользователя, мол надо подключиться, если устройство выключено.
===iBoot.n88ap.RELEASE.img3 - iBoot - система загрузчика операционной системы, не путать с Bootloader, в отличии от последнего iBoot вполне себе прошивается.
===LLB.n88ap.RELEASE.img3 - Low Level Bootloader - практически тоже самое что и iBoot но если последний загружает iOS, то LLB управляет WTF \ iBEC \ iBSS Mode
===manifest - аналог Manifest.plist только на этот раз только о img3
===recoverymode.s5l8920x.img3 - Recovery Mode, то самое из чего прошивается девайс в целом.

А теперь собственно рассмотрим саму процедуру перепрошивки.



Перепрошивка.




Любое устройство Apple начиная от iPod заканчивая AppleTV перепрошивается с помощью iTunes.
Всего доступно два варианта:

Обновить - стандартный вариант, который используется для обновления iOS, используется тогда, и только тогда, т.к. при его использовании все настройки и данные сохраняются (за исключением единичных случаев, как правило при глобальных обновлениях, когда меняется  1 цифра версии.).
Восстановить - гораздо более часто используемый вариант, используется если необходимо исправить ошибки в работе устройства, понизить прошивку, или установить кастомную прошивку. Именно "Восстановить" имеется в виду когда говорят "Рестор"


Полный скриншот


Теперь подробнее об аспектах перепрошивки, начнем с "Обновить" т.к. о нем стоит сказать гораздо меньше.
Как я уже говорил при обновлении настройки и данные полностью сохраняются (если речь не о глобальном обновлении). Используется только на полностью работающих устройствах, вмешательство пользователя не требуется вовсе, т.е. если вы хотите обновить прошивку, просто нажимаете на Обновить, и идете пить чай.

А теперь уже поговорим о Восстановлении. Во первых, при восстановлении телефон полностью форматируется. И после восстановление мы лицезреем сообщение такого типа:



В нем речь идет о восстановлении из резервной копии которая автоматически создается при каждой синхронизации. И нам представлен выбор или "Настроить iPhone как новый" т.е. оставить его девственно чистым, присвоить новое название,  создать новую резервную копию уже с новым именем (при этом старая, если она конечно есть, не исчезнет, а будет жить на HDD под старым названием.) именно "Настроить как новый крайне рекомендуется использовать если вы Восстановили iPhone после серьезных ошибок, т.к. при восстановлении из резервной копии вместе с данными могут восстановиться и проблемные участки  \ настройки.

Теперь пару слов о том как заставить iTunes восстанавливать девайс той прошивкой которую хотим мы, для этого необходимо зажать на клавиатуре Shift (Windows) или Alt (Mac OS X) и нажать на Восстановить, после чего iTunes предложит нам указать путь к файлу IPSW.



Как только вы выберите прошивку iTunes начнет работу: Сначала он извлечет старую прошивку --> Загрузит новую --> Прошьет Flash, в том числе и модем --> Проверит прошивку --> Включит телефон --> Активация --> Восстановление из резервной копии.



Тонкости перепрошивки




Для начала поведаю вам о двух специфических режимах загрузки которые созданы специально для перепрошивки, особенно часто их используют если телефон не может загрузится \ iTunes его не видит.

Recovery Mode - штатный режим, ОС выключена, USB соединение открыто, любая перепрошивка осуществляется из этого режима, даже если вы используете "Обновить" восстановление идет в любом случае из Рекавери, просто iTunes сам вводит iPhone в этот режим. В этом и ключевое отличие - в Recvery можно войти программным путем. В iTunes устройство находящееся в Recovery Mode опознается как "Устройство в режиме стабилизации \ восстановления"
Как выглядит Recovery


Как Ввести iPhone / iPod Touch в Recovery Mode:
  1. Полностью выключаем iPhone.
  2. Нажимаем кнопку Home и удерживаем ее.
  3. Подключаем USB кабель, продолжаем держать кнопку Home, пока не появится изображение USB шнурком и iTunes.
  4. iTunes выводит предупреждение, что iPhone находится в режиме восстановления.

Как Вывести iPhone / iPod Touch из Recovery Mode:
  1. Полностью выключаем iPhone.
  2. Отсоединяем USB кабель.
  3. Удерживая кнопку Home, нажимаем на кнопку Power и отпускаем Power. Home продолжаем держать, пока не загрузится iPhone.


DFU - более брутальный режим, ОС даже не начинает загрузку, все что можно отключено, по USB соединениию отправляются исключительно сигналы технической информации. Из-под DFU всегда восстанавливаются абсолютно все настройки, и перепрошиваются Flash части. DFU в отличии от Recovery ничего не показывает на дисплее, экран полностью черный (или белый) и понять что телефон в этом режиме можно только по iTunes который так же опознает "Устройство в режиме стабилизации \ восстановления"

Как Ввести iPhone / iPod Touch в DFU Mode:
  1. Выключаем iTunes.
  2. Подключаем USB кабель.
  3. Полностью выключаем iPhone.
  4. Зажимаем Power на 3 секунды.
  5. Не отпуская Power зажимаем Home на 10 секунд.
  6. Отпускаем кнопку Power и продолжаем удерживать Home еще приблизительно 10 секунд.
  7. На экране телефона ничего не должно появится, если яблоко или шнур USB, то нужно повторить все сначала.
  8. ОС выдаст, что обнаружено новое устройство...

Как Вывести iPhone / iPod Touch из DFU Mode:
(При DFU, на экране ничего не видно или экран белый)
  1. Подключаем USB кабель.
  2. Одновременно зажимаем Home и Power ровно на 10 секунд. По истечении 10 секунд отпускаем обе кнопки.
  3. Нажимаем на кнопку Power, телефон загружается.
  4. или
  5. Без подключенного кабеля, зажимаем одновременно кнопки Home и Power, пока не увидим белое яблоко. После, телефон загрузится.


Теперь поговорим о некоторых особенностях:

Во первых: На iPhone 3Gs, iPhone 4, iPad, iPod Touch 3G появилась система подписи прошивок, которая не дает восстанавливатся на прошивку с версией ниже текущей стабильной по мнению Apple, т.е. если на данный момент последняя стабильная 3.1.3, а вы обладаете одним из выше перечисленных девайсов и хотите восстановиться на прошивку 3.1.2 то произойдет ошибка, и восстановление прервется, это правило действует даже если в данный моменты вы находитесь на 3.1.2 или даже ниже стоящей прошивке. Инструкция как обойти эту систему.

Во вторых: для установки бета версии официальной прошивки (за исключением GM или Паблик версий) ваш UDID (Universal Device ID) должен быть занесен в действительный аккаунт Apple Developer с оплаченным сертифекатом. Это ограничение можно обойти если удалить обозначение Beta в SystemVersion.plist

В третьих: Перепрошивка - это панацея, если неисправность продолжает появлятся после восстановления с помощью DFU и настройкой девайса как новый - проблема в железе.

В четвертых: Если вы перепрошиваетесь на кастомную прошивку то у вас должен быть джэилбрэйк, иначе возникнет ошибка. Данное правило не действует, если Вы перепрошиваетесь на кастом >= 4.1 и используете для этого режим pwned DFU.



Вопрос - Ответ




Q. Я могу убить свой девайс при перепрошивке?
A. Нет, не сможете, даже если не получиться - всегда есть второй шанс.

Q. Установил из Сидии программу **** после перезагрузки загорается яблоко и все.
A. Используй DFU \ Recovery чтобы восстановить устройство.

Q. У меня при перепрошивке возникает ошибка...
A. Используй эту тему

Q. Перепрошивать можно только в iTunes?
A. Нет, еще можно через SDK Organizer и iDeviceRestore, первое только для официальных разработчиков Apple, второе только для Линуксоидов. Итого - лучше Тунца пока ничего нет.

Q. У меня заблокированнный под симку телефон, и модем версии для которой нет анлока, если я перепрошью телефон модем понизиться ?
A. Нет, модем не понижается.

Q. У меня iPhone 3Gs с новым бутромом, я могу прошить его прошивкой N, чтобы бутром стал старым?
A. Нет, бутром перепрошить невозможно.

Q. Перепрошил телефон, настроил как новый, но в графе "Другое" занято 100-200 Мб, что это?
A. Это все что только можно, как правило остается от перепрошивки, и чем больше шьете телефон тем больше объем, хотя обычно рост этой графы замирает на отметке от 200 до 300 Мб.

Q. У меня iPhone 3Gs, заблокированный, как мне перепрошиться не повысив модем?
A. Вот инструкция

Q. У меня телефон с джэилбрэйком, если его перепрошить то он исчезнет?
A. Да.

Q. А анлок?
A. Тоже исчезнет.

Q. А программы из Cydia.
A. Вместе с джэилом.

Q. Хочу показать Васе и Пете, что умею перепрошивать iPhone'ы, как сделать это поэфектнее?
A. Используй швейную машинку. Удачи.

И помните, что копируя эту статью на другой ресурс вы сами расписываетесь в своей беспомощности.
Раздел: iOS Support Автор:
13 июня 2010, 16:15

Ответы