Получить root или переустановить ОС без кабеля USB?

Обычно в руководствах по получению рута или переустановке ОС на Android-устройстве (у меня Samsung Galaxy S, которым я больше всего интересуюсь) говорят прошить устройство с другого компьютера через USB-кабель.

Возможно ли в принципе выполнить такие модификации без использования кабеля USB (и другого компьютера)?

Возможно, поместив файл с другой версией ядра/ОС куда-то на устройство и загрузив его в специальном режиме?

Представьте ситуацию: я взял Samsung Galaxy S (и ноутбук), но без USB-кабелей, и ушел от цивилизации. Теперь оказывается, что для использования некоторых приложений, которые я хотел бы использовать (например, интерфейсы SSH-сервера для Android), я

  • либо нужно переустановить ОС Android (потому что им нужна более новая версия, поэтому я бы использовал CyanogenMod или Replicant, потому что нет официальных обновлений от Samsung)
  • или иметь рут (потому что без рута работать не хотят).

Можно ли это сделать без USB-кабеля?

  • (Конечно, в этой ситуации есть еще одно хорошее решение: взять исходный код этих приложений и исправить их так, чтобы они работали у меня, перекомпилировать и установить их.)

(AFAIU, после того, как я получу полный (root) доступ к устройству, я могу переустановить ОС без кабеля и другого компьютера: например, у меня есть другое устройство, которое должно было работать под Android -- Toshiba AC100, но после Я установил на него Ubuntu 12.04, перепрошив устройство, я должен иметь возможность переустановить ядро ​​​​изнутри ОС — в Ubuntu есть утилита «flash-kernel».)

Я читал, что должна быть возможность прошить обновление, хранящееся в виде файла на устройстве, в режиме восстановления (?) - android.stackexchange.com/a/183/13117 . Но я не понимаю деталей: Как загрузиться в режиме восстановления? Может кто-нибудь объяснить это?
И даже если бы у меня был USB-кабель, могла бы возникнуть другая проблема: на другом моем компьютере установлена ​​Ubuntu для ARM, поэтому для прошивки новой ОС мне понадобится что-то вроде heimdallдля ARM. Его нет среди доступных готовых загрузок, тогда придется попытаться собрать его для ARM... Возможно ли получить heimdall для Linux на ARM?

Ответы (3)

Используйте приложение ROM Manager . Он может устанавливать ПЗУ с SD-карты. Вы также можете загрузить свои любимые ПЗУ, используя его.

И Samsung Galaxy S официально поддерживается им.

И приложение ROM Mnaager не требует от меня root-доступа в системе?
@imz Нет. Требуется root-доступ для прошивки восстановления CWM в системный раздел и использования его для прошивки другого ПЗУ.
@imz Чтобы получить root-доступ изнутри устройства, нет надежного метода. Для этого было приложение Root Exploitв Маркете. Но Google убрал это в прошлом году. Вы можете найти это приложение в Интернете и посмотреть, работает оно на вас или нет.
Я понимаю. ROM Manager - это ответ на последнюю часть вопроса (в скобках). Это инструмент, который можно использовать для прошивки новых ядер изнутри Android на Samsung Galaxy S (как flash-kernelв Ubuntu на Toshiba AC100 в примере из вопроса), но только после того, как пользователь получит root-доступ.

Я предполагаю, что для этого должен быть бэкдор, потому что я читал в новостной статье, что можно будет (официально) обновить ОС на Samsung Galaxy, не подключая его с помощью USB-кабеля к другому компьютеру с помощью нового «Kies». "приложение от Samsung .

Таким образом, приложение (в данном случае, по крайней мере, приложение Kies) может переустановить ОС. Но этот бэкдор может быть хорошо защищен (возможно, потребуется криптографическая подпись от Samsung — просто предположение).

А в статье говорилось, что нужно установить приложение "Kies" (если его нет) через приложение "Samsung apps". (Я не проверял это сам, потому что использовал устройство без SIM-карты, но приложение «Samsung app» требует SIM-карту...)

Таким образом, можно установить приложение, которое сможет переустановить ОС. Но этот бэкдор может быть хорошо защищен (возможно, это может сделать только приложение от Samsung).

(Я читал, что должна быть возможность прошить обновление, хранящееся в виде файла на устройстве, в режиме восстановления .)

Действительно, «Процедура B: (НЕ требует ADB)» из раздела Galaxy S I9000 HOWTO (на forum.xda-developers) должна позволить мне переустановить ОС без USB-кабеля на Samsung Galaxy S без рута:

  1. Скопируйте файл CustomROM/root в папку «/sdcard/» на телефоне и (если это еще не так) переименуйте в «update.zip».
  2. Перезагрузитесь в режиме восстановления, нажав и удерживая VolumeUP+Home+Power.
  3. Дождитесь экрана восстановления и выберите «применить: /sdcard/update.zip».
  4. Дождитесь его окончания и перезагрузитесь.
Это работает, только если ваше устройство уже рутировано. Прошивка пользовательского ПЗУ через стоковое восстановление невозможна, если только ПЗУ не подписано ключами производителя (обычно они известны только производителю или оператору связи). Для замены рекавери на тот, который позволяет прошивать неподписанные ПЗУ, требуется root. Для получения рута требуется либо использование уязвимости, либо, в случае (большинства) устройств Samsung, прошивка предварительно рутированного образа. В любом случае это нужно делать с помощью компьютера через USB.
@Chahk: тогда подпись должна быть где-то внутри update.zip? Эта фирменная штука была недостающей плиткой в ​​общей картине изученных мною способов переустановки ОС. Спасибо за комментарий!
Подпись не является частью ZIP, а представляет собой уникальный способ создания самого ZIP-файла.