Меню Рубрики

Установка прошивки zip папкой

Установка прошивки zip папкой

FAQ по созданию патча update.zip для прошивки через рекавери

Редактирование Updater-script. Информация, решения, команды, подпись патчей.
Инструкция по установке системных и пользовательских приложений с помощью recovery
Редактирование установленной прошивки и удаление системных приложений
(ключевые слова)

Напоминаю, тут не стол заказов.. Посты с просьбой собрать zip для «хххх» Recovery оффтоп

Сообщения, не относящиеся к теме обсуждения (оффтоп), удаляются без предупреждения

  • Добавление нескольких пользовательских/системных приложений «за один клик» (одним патчем).
  • Добавление/удаление системных приложений без root прав и вспомогательных программ.
  • Изменение прошивки (замена файлов, украшательства и т.д.).
  • Обновление программы или прошивки.
  • Переразметка памяти (обсуждения в другой теме)
  • Получение root прав SuperUser, SuperSU, Magisk
  1. Установленный на телефоне кастомный рекавери (CWM/TWRP)
  2. NotePad++ (редактор с сохранением Unix формата)
  3. Zip_signer (подписчик архивов)
  4. Архиватор ZIP
  5. Файл-заготовка sample.zip (либо update-binary для ручной сборки)
    Zip_signer.rar ( 13,28 КБ )
    sample-patch.rar ( 4,77 МБ )
    update-binary.rar ( 113,25 КБ )
  6. Дополнительные версии бинарника. binary_all.rar ( 649,36 КБ )
  7. Бинарники (архив/исходники)

Исходники бинарника, основная ссылка:
https://android.google…ootable/recovery/+refs
выбираем к примеру «android-9.0.0_r18» (последний билд на сегодня), потом ищем папку «updater», в папке «updater» исходники бинарника

К примеру https://android.google…droid-9.0.0_r18/updater — можно глянуть все команды которые может выполнить бинари в андроид 9.0.0 (в файле install.cpp, в самом низу)

Для того, чтобы установить новые системные приложения apk в Ваш аппарат, необходимо выполнить три шага:

  1. Собрать свой update.zip (из заготовки sample.zip)
  2. Подписать update.zip утилитой Zip_signer
  3. Закинуть на флэшку и установить в аппарат через ClockWorkMod Recovery

Эти шаги являются универсальными, т.е. подойдут для выполнения других подобных операций.

ШАГ №1
Собрать новый update.zip, используя «болванку» sample.zip
Порядок использования sample.zip:

  1. Разархивировать архив sample.zip
  2. Удалить файлы подписи META-INF/CERT.RSA, CERT.SF, MANIFEST.MF (т.к. 2м шагом мы их будем создавать для своей сборки)
  3. Поместить в папку /data/app свое пользовательское приложение (xxxxx.apk)
  4. При необходимости отредактировать файл updater-script (подробнее позже)
  5. Заархивировать всё (META-INF и data) ZIP’ом без сжатия

ШАГ №2
Подписать update.zip с помощью утилиты Zip_signer
Порядок использования утилиты Zip_signer:

  1. Переименовать Ваш отредактированный (т.е. уже с приложением внутри) sample.zip в update.zip
  2. Поместить его в папку с программой Zip_signer
  3. Запустить файл zip_signer.bat
  4. Дождаться, пока процесс будет завершен
  5. В папке появится файл update-finished.zip — это и есть подписанный файл
  6. Переименовать update-finished.zip по своему усмотрению (согласно логике патча)

ШАГ №3
Установка нового приложения

  1. Перекинуть (переименованный) update-finished.zip на флэшку и установить его в аппарат через TWRP или CWM (install zip from sdcard -> chooze zip from internal sdcard -> Yes, install sample.zip)
  2. Перезагрузить аппарат

/ )

  • Выполняем программу подписи (signapk )
  • Внимание! Патчи создаются только для мод.рекавери и результативно работают только в них. В стоковых рекавери (на аппаратах «из коробки») патчи не работают.

    Разберем sample.zip
    Патч добавляет пользовательское приложение MyPiano в Data.

    Код :
    ui_print(«=== Patching new application ===»);
    ui_print(» «); — выводит на экран надпись и пустую строку
    run_program(«/sbin/busybox», «mount», «/data»); — (монтирует data) открывает доступ для работы с системным разделом
    package_extract_dir(«data», «/data»); — копирует содержимое папки data в соответствующую папку на устройстве
    set_perm_recursive(1000, 1000, 0771, 0644, «/data/app»); — устанавливает владельца, группу и разрешения для содержимого папки на устройстве (инфо по коду ниже)
    run_program(«/sbin/busybox», «umount», «/data»); — размонтирование data
    ui_print(«=== Complete ===»); — выводит сообщение о завершении процесса

    busybox — приложение для выполнения командной строки, устанавливается с кастомным рекавери, находится в ramdisk/sbin. в кастомных прошивках зачастую добавляют его в system/xbin

    Возможные исправления для своих целей

    1. Изменение прав
      set_perm_recursive(1000, 1000, 0771, 0644, «/data/app/»);
      можно заменить на:
      set_perm(1000, 1000, 0644, «/data/app/mypiano.apk»); — в данном случае права изменятся только лишь для добавленного приложения
    2. Добавление системного приложения
      а. корневая папка data меняется на system
      б. в коде updater-script тоже самое
      в. права назначаются через set_perm только для добавляемого приложения, для системных код 0675 (инфо по кодам ниже)
    3. Удаление приложения/файла
      В код добавляется строка подобного вида:
      delete(«/system/app/OldApk.apk»);
      При условии что busybox находится в другом месте, возможная замена
      run_program(«/sbin/busybox», «mount», «/data»); — на — run_program(«/system/xbin/busybox», «mount», «/data»);
      либо
      mount(«ext4», «EMMC», «/dev/block/mmcblk0p 5 «, «/data»); — при этом уточнить расположение блока нужного Вам раздела

    Правилами хорошего тона в написании любого кода является использование TAB’ов (отступов в начале строки).

    package_extract_dir
    Синтаксис: package_extract_dir(» «, » «);
    Копирует содержимое в . Файлы в имеющиеся в перезаписываются.
    Пример: package_extract_dir(«system», «/system»); Скопирует файлы из папки update.zip/system в /system

    package_extract_file
    Синтаксис: package_extract_file(» «, » «);
    Копирует файл в . Если файл существует, то он перезаписывается.
    Пример: package_extract_file(«test.sh», «/tmp/test.sh»); Скопирует файл test.sh из update.zip в /tmp/test.sh

    format
    Синтаксис: format(«MTD», » «);
    Форматирует раздел (см. приложение).
    Пример: format(«MTD», «system»); Полностью отформатирует /system . Примечание: форматирование удаляет данные необратимо.
    Пример 2: format(«ext4», «EMMC», «/dev/block/mtdblock5», «0», «/system»);
    Определение номера блока под спойлером «инфо и материалы».

    delete
    Синтаксис: delete(» «[, «file2», . «fileN»]);
    Удаляет файл(ы)
    Пример: delete(«/system/app/Calculator.apk»); Удалит Calculator.apk из папки system/app.

    delete_recursive
    Синтаксис: delete_recursive(» «[, «dir2», . «dirN»]);
    Рекурсивно удаляет папку(и) со всем содержимым
    Пример: delete_recursive(«/data/dalvik-cache»); Удалит папку /data/dalvik-cache со всем содержимым.

    run_program
    Синтаксис: run_program(» «[, » «, » «, » «]);
    Запускает программу(скрипт) .
    Пример: run_program(«/tmp/install_busybox.sh»); Запустит скрипт /tmp/install_busybox.sh.

    «[, . «pathtofileN»]);
    Устанавливает владельца, группу и разрешения для файла или папки, как ‘chmod’, ‘chown’, и ‘chgrp’ всё в одном
    Пример: set_perm(0, 2000, 0550, «/system/etc/init.goldfish.sh»); Установит владельца, группу и разрешения для файла /system/etc/init.goldfish.sh

    set_perm_recursive
    Синтаксис: set_perm_recursive( , , , , «

    «])
    Рекурсивно устанавливает владельца, группу и разрешения для содержимого папки. — для папок, — для файлов.
    Пример: set_perm_recursive(0, 0, 0755, 0644, «/system/app»); Установит права для содержимого /system/app, для папок — 0755, для файлов — 0644.

    show_progress
    Синтаксис: show_progress( , );
    Продвижение прогрессбара на долю за секунд. может быть нулевым для продвижения его по командe set_progress, а не по времени.
    Пример: show_progress(0.100000, 1); Увеличит прогресс на 0.1 часть за 1 секунду

    set_progress
    Синтаксис: set_progress( );
    Устанавливает положение прогрессбара на долю , для самого последнего вызова команды show_progress.
    Пример: set_progress(0.500000);

    symlink
    Синтаксис: symlink(«

  • «, «
  • «, «
  • «]);
    Создает символическую ссылку (как ‘ln-s’).
  • пишется в формате root:path, а
  • в формате целевой файловой системы (и может быть относительным). Википедия Symlink.
    Пример: symlink(«/data/app_s», «/system/app»); Создаст символическую ссылку на папку /data/app_s для папки /system/app

    . должно быть название раздела, если это «MTD», или блок памяти если это «vfat»
    Пример: mount(«MTD», «userdata», «/data»);

    ui_print
    Синтаксис: ui_print(» «);
    Выводит на экран сообщение
    Пример: ui_print(«Formatting SYSTEM. «);

    sleep
    Синтаксис: sleep( );
    Пауза процесса на секунд
    Пример: sleep(5); — пауза 5 секунд, после чего код скрипта выполняется дальше.

    set_metadata / set_metadata_recursive
    Синтаксис: set_metadata (. );
    Устанавливает владельца, группу и разрешения (новая команда взамен set_perm для andriod 4.4.*)
    Примеры: Android update-script (Пост #32151495)
    Создание патча update.zip для прошивки через рекавери (Пост kory-vadim #81945464)

    set_metadata / set_metadata_recursive
    Синтаксис:
    set_metadata(«имя файла», «ключ1», «значение1», «ключ2», «значение2», . )
    set_metadata_recursive(«имя директории», «ключ1», «значение1», «ключ2», «значение2», . )
    Ключи:
    * uid
    * gid
    * mode (set_perm_extd only)
    * fmode (set_perm_extd_recursive only)
    * dmode (set_perm_extd_recursive only)
    * selabel
    * capabilities
    первые три (uid, gid, mode) это тоже самое что и в chmod, заполняется «uid», 0, «gid», 1000, «mode», 06754.
    для установки прошивки хватает трех ключей «uid», 0, «gid», 1000, «mode», 06754.
    Пример: set_metadata(«/system/xbin/shelld», «uid», 0, «gid», 1000, «mode», 06754, «capabilities», 0x0, «selabel», «u:object_r:system_file:s0»);
    set_metadata_recursive(«/system/xbin», «uid», 0, «gid», 2000, «dmode», 0755, «fmode», 0755, «capabilities», «0x0», «selabel», «u:object_r:system_file:s0»);

    команды для Nexus’ов
    block_image_update(«/dev/block/platform/msm_sdcc.1/by-name/system», package_extract_file(«system.transfer.list»), «system.new.dat», «system.patch.dat»);
    Синтаксис: block_image_update(«Путь к блоку раздела», package_extract_file(«список информации для патча (?) «), «образ», «патч образа»);
    я так понимаю, что так прошивается сильно сжатая прошивка (образ системы).
    Еще ifelse
    Пример: ifelse(is_mounted(«/system»), unmount(«/system»)); — если раздел сустем смонтирован дается команда на его размонтирование, если размонтиовать то нечего не происходит.

    Читайте также:  Установка имплант все включено

    Информация по атрибутам set_metadata и подобным командам на Android 4.4+
    Android update-script (Пост blackeangel #50803606)
    Описание откуда берутся «u:object_r:uncrypt_exec:s0» и подобные атрибуты. . .

    Пример скрипта который может удалять\перемещать\бекапить файлы и вести лог действий
    Android Script Creator (Пост Octanium #51085030)

    Используется при отсутствии busybox, либо чтоб не привязываться к его расположению в системе.

    Код «перезагрузки» и «перезагрузки в рекавери» соответственно:

    Когда скрипт выполняется очень быстро (1-4 секунд) я использовал следующий код:

    Т.е. за 3 секунды прогресс бар доходит до 100% (постепенно).
    Число «3» выбрано как [время установки скрипта]+1 сек, чтоб прогресс бар при установке гарантированно двигался и не успел дойти до 100% раньше, чем скрипт установится.

    «[, . «pathtofileN»]);
    Устанавливает владельца, группу и разрешения для файла или папки, как ‘chmod’, ‘chown’, и ‘chgrp’ всё в одном
    Пример: set_perm(0, 2000, 0550, «/system/etc/init.goldfish.sh») Установит владельца, группу и разрешения для файла /system/etc/init.goldfish.sh

    «])
    Рекурсивно устанавливает владельца, группу и разрешения для содержимого папки. — для папок, — для файлов.
    Пример: set_perm_recursive(0, 0, 0755, 0644, «/system/app») Установит права для содержимого /system/app, для папок — 0755, для файлов — 0644.

    . должно быть название раздела, если это «MTD», или блок памяти если это «vfat»
    Пример: mount(«MTD», «userdata», «/data»);


    Если Вам знакомо что такое Recovery, CWM,TWRP, знаете что такое кастомные прошивки и с чем их едят, то наверняка вы сталкивались с тем что прошивка или обновление не устанавливается выводя при этом ошибку «Status #».

    • Signature verification failed. Installation aborted — Патчи создаются только для мод.рекавери и результативно работают только в них. В стоковых рекавери (на аппаратах «из коробки») патчи НЕ работают. Следует заменить стоковое рекавери на CWM или TWRP.
    • Status 0 — данный код ошибки возник из за того, что файл updater-script или update-binary отсутствуют в прошивке или обновлении
    • Status 255 — данный код ошибки возник из за того, что файл update-binary не подходит
      В обоих случаях лечится одинаково, нужно взять update-binary из любой прошивки для вашего девайса
    • Status 1 — данный код ошибки возник из за того, что заданы неправильные пути монтирования разделов
    • Status 4 — данный код ошибки возник из за того, что архив прошивка либо архив-обновление рассчитаны на более раннюю версию СWM (там использовался updater-script без бинарника update-binary).
    • Status 6 — а) Обозначает что updater-scpript создан не в Unix формате, поэтому при установке Android не распознает что там написано и выдает ошибку Status 6. Для того чтобы это исправить советую скачать и установить NotePad ++ и поменять формат;
      б) Синтаксическая ошибка (пропущен какой-либо символ, например «;», пропущена буква в команде)
    • Status 7 — а) Прошивка не подходит для Вашего девайса и в updater-script прописано другое название модели. Открыть updater-script и удалить строки содержавшие название чужой модели и переподписать прошивку.
      б) Через рекавери сначала смонтировать систему (mounts & storage — mount /system), затем ставить патч
      в) Решение проблемы с ошибкой STATUS 7: Sony Ericsson XPERIA neo — CyanogenMod 7 — FreeXperia PROJECT (OS 2.3) (Пост #11599821)
    • line *** col **: syntax error — Синтаксическая ошибка в строке кода №*** и символе №** (ищите где пропустили или поставили лишний символ, обычно это запятые и кавычки)
    • Symlink: some symlinks failed — Недостаточно места в системном разделе. Патч устанавливает файлы не в тот раздел/блок.
    • No space left on device — Недостаточно места в системном разделе. Патч устанавливает файлы не в тот раздел/блок.
    • format() expects 4 args got 5 либо format() expects 5 args got 4 — [функция format() ожидала Х аргумента, но получила Y] — в содержинии формата убираем либо добавляем название раздела, к примеру («ext4», «EMMC», «/dev/block/mmcblk0p6», «0» , «/system» ) . «аргумент» — те данные, которые написаны внутри скобок через запятую.
    • Ошибку не выдает, патч в мод.рекавери срабатывает, но нужное приложение не добавляется — см. раздел шапки РЕДАКТИРОВАНИЕ UPDATER-SCRIPT -> п.4, либо вручную монтировать необходимый раздел.
    • Please upgrade to latest binary либо . binary — Файл update-binary не подходит, нужно взять update-binary из любой прошивки для вашего девайса.
    • Не работает подписчик Zip_signer — проверьте java на компьютере, обновите либо установите заново.
      «java» не является внутренней или внешней командой, исполняемой программой или пакетным файлом. — ошибка в Zip_signer — установите Java, Android update-script (Пост Vulcanus #54856173)

    ps: Если в ходе ваших экспериментов часто появляются ошибки — попробуйте первым делом создать самый простой патч (взяв за основу sample.zip), а затем уже переходить на более сложные.
    Это делается в первую очередь для того чтоб избежать механических ошибок в процессе создания патча, а также проверить совместимость с update-binary, совместимость с мод.рекавери и соответствие подписи.

    Информация:

    Определение номера блока

    источник

    Установка прошивки zip папкой

    Далеко не на все модели Clockworkmod recovery прошивается при помощи Rom Manager. Часто CWM прошивается при помощи fastboot, есть много других способов. Если есть сложности, то к модели будет прилагаться ссылка на инструкцию.*

    * — если ваша модель поддерживает CWM recovery, но устанавливается особым способом, нажмите кнопку «ТУТ» и напишите модель аппарата и укажите ссылку на инструкцию.

    Более список моделей поддерживаемых CWM Recovery не ведется! Причина, он есть на каждом втором Android устройстве.

    Сообщение отредактировал mainbord — 30.05.16, 21:38

    Сообщение отредактировал mainbord — 06.04.17, 10:16

    Что такое Clockworkmod recovery (CWM)?

    ClockworkMod recovery (CWM) — модифицированный неофициальный recovery, который выпускается для большинства устройств, работающих под управлением Android. Обладает гораздо более широкими возможностями, чем родной recovery. На некоторых устройствах устанавливается вместо родного recovery, на других устройствах устанавливается параллельно. Позволяет:

    • Устанавливать неофициальные прошивки
    • Устанавливать дополнения и исправления
    • Подключаться к ПК по USB в режиме съёмного накопителя
    • Подключиться к ПК по USB в режиме ADB
    • Создавать резервную копию как всей прошивки, так и отдельных её частей (система, настройки, установленные программы)
    • Восстанавливать данные из ранее созданной резервной копии
    • Сбрасывать данные к заводским настройкам (Wipe – data/factory reset), очищать кеш раздел (wipe cache), очищать далвик-кеш (wipe Dalvik-cache), очищать статистику работы аккумулятора (wipe battery stats)
    • Форматировать и создавать разделы на карте памяти

    Если вы не можете включить телефон и загрузить android, вы всегда можете восстановить через CWM ранее созданную резервную копию со всеми приложениями и настройками.

    Сообщение отредактировал Crea — 26.09.12, 15:04

    • Reboot system — перезагрузка устройства
    • apply update.zip from sdcard — установка файла update.zip, находящийся в корне карты памяти sdcard\
    • wipe data/factory reset — полный сброс настроек и данных, при этом очищаются разделы /data и /cache во внутренней памяти устройства и очищается системная папка «.android_secure» на карте памяти
    • wipe cache partition — очистка раздела /cache во внутренней памяти устройства
    • install zip from sdcard — установка zip файла с карты памяти
      • chooze zip from sdcard — выбрать zip файл на карте памяти для установки
      • toggle signature veritification — вкл/выкл проверку подписи файла
      • toggle script assert — вкл/выкл скрипт утверждения

    • backup and restore — создание и восстановление резервной копии
      • Backup — создание резервной копии всех разделов в памяти устройства
      • Advanced Backup — создание резервной копии определённого раздела в памяти устройства
      • Restore — восстановление всех разделов из выбранной резервной копии
      • Advanced Restore — восстановление определённого раздела из выбранной резервной копии

    • mounts and storage — монтирование и накопитель
      • mount /system — монтирование папки системы
      • unmount /data — размонтирование папки с пользовательскими данными
      • unmount /cache размонтирование папки с кешем
      • mount /sdcard — монтирование карты памяти
      • mount /sd-ext — монтирование линукс раздела с карты памяти (если есть)
      • format boot — очистка загрузочного раздела
      • format system — очистка системного раздела
      • format data — очистка раздела с пользовательскими данными и настройками
      • format cache — очистка кеш раздела
      • format sdcard — форматирование карты памяти
      • format sd-ext — форматирование линукс раздела на карте памяти
      • mount USB storage — подключение к компьютеру в режиме съёмного накопителя

    • advanced — дополнительные
      • Reboot Recovery — перезагрузка recovery
      • Wipe Dalvik Cache — очистка Dalvik кеша
      • Wipe Battery Stat — сброс статистики работы аккумулятора
      • Report Error — сообщить об ошибке
      • Key Test — проверка клавиш, при нажатии на кнопку, выдаёт её код
      • Restart adbd — перезагрузка ADB сервера
      • Process dump — Дамп

    • +++++Go Back+++++ — назад, возвращает в предыдущее меню

    Строение меню CWM recovery Touch

    • reboot system now — перезагрузка устройства
    • install zip
      • choose zip from sdcard — выбрать прошивку с карты памяти
      • install zip from sideload — установка прошивки с помощью adb sideload
      • apply /sdcard/update.zip — прошивка файла update.zip в корне карты памяти
      • toogle signature verification — вкл./выкл. проверку подписи прошивки
      • choose zip from external sdcard — выбрать прошивку с второстепенной памяти (если имеется в устройстве)
      • +++++Go Back+++++ — назад

    • wipe data/factory reset — форматирование system/data разделов
    • wipe cache partition — форматирование cache раздела
    • backup and restore
      • backup — создание резервной копии (слепок системы)
      • restore — востановление из резервной копии (слепка системы)
      • delete — удаление резервных копий (слепков)
      • advanced restore — востановление опеределных разделов из резервной копии (слепка)
      • free unused backup data — освобождение не используемого места
      • choose default backup format — выбор формата резервной копии
      • backup to external sdcard — создfние резервной копии (слепка системы) на второстепенную память (если имеется в устройстве)
      • restore from external sdcard — востановление из резервной копии (слепка системы) из второстепенной памяти (если имеется в устройстве)
      • advanced restore from external sdcard — востановление опеределных разделов из резервной копии (слепка) из второстепенной памяти (если имеется в устройстве)
      • delete from external sdcard — удаление резервных копий (слепков) из второстепенной памяти (если имеется на устройстве)
      • create image zip — создание update.zip копии (слепка)
      • +++++Go Back+++++ — назад

    • mounts and storage
      • mount /efs — монтирование раздела /efs (встречается на устройствах фирмы Samsung)
      • mount /cache — монтирование раздела /cache
      • mount /system — монтирование раздела /system
      • mount /data — монтирование раздела /data
      • mount /preload — монтирование раздела /preload (встречается на устройствах фирмы Samsung)
      • mount /external_sd — монтирование второстепенной памяти (если имеется в устройстве)
      • format /cache — очистка раздела /cache
      • format /system — очистка раздела /system
      • format /data — очистка раздела /data
      • format /preload — очистка раздела /preload (встречается на устройствах фирмы Samsung)
      • format /sdcard — очистка раздела /sdcard
      • format /external_sd — очистка раздела второстепенной памяти (если имеется в устройстве)
      • format /data and /data/media (/sdcard) — очистка раздела /data и /data/media (на карте памяти)
      • +++++Go Back+++++

    • advanced
      • reboot recovery — перезагрузить recovery
      • reboot booloader — перезагрузиться в bootloader
      • power off — выключить устройство
      • wipe dalvik cache — форматирование dalvik cache (с появлением ART в Android 4.4 от этого пункта можно отказаться)
      • report error — сообщить об ошибке
      • key test — проверка клавиш, при нажатии на кнопку, выдаёт её код
      • show log — показать лог работы в recovery (можно просматривать логи почему не ставиться прошивка)
      • +++++Go Back+++++

    Сообщение отредактировал Crea — 26.11.13, 13:02

    На всех устройствах управление CWM производится по-разному. Но в большинстве устройств используется следующая схема:

    • кнопка увеличения громкости — вверх,
    • кнопка уменьшения громкости — вниз,
    • кнопка включения/выключения — выбор пункта.

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

    В CWM touch — управление производиться нажатием по нужным функциям.

    Дополнительная функция:
    Если сделать 5 свайпов по меню вверх-вниз, то включается режим «Rainbow mode» (разноцветные пункты меню).

    Сообщение отредактировал mainbord — 06.04.17, 10:05

    Прошивка Clockworkmod recovery

    Установка CWM через RomManager подходит не для всех устройств. Метод установки CWM на ваше устройство уточняйте в теме прошивки вашего устройства в разделе Android — Прошивки.

    1) Установка recovery через fastboot.
    Родной способ установки любого recovery для Android устройств это прошивка recovery через fastboot в раздел recovery телефона. Данный способ является предпочтительным Как зайти в режим fastboot и где взять файлы для его работы, читайте в теме прошивки вашего устройства, способы и файлы везде отличаются. Подходит этот метод только для устройств на которых разблокирован загрузчик и на которых есть раздел recovery. Recovery прошивается командой:
    fastboot flash recovery recovery.img
    где:
    fastboot — имя запускающего файла fastboot
    recovery.img — название образа с рекавери

    Устаревший способ. ROM Manager больше не поддерживается.
    2) Установка recovery через RomManager.

    Способ является крайне нежелательным, если есть другие способы прошивки recovery на ваше устройство, используйте их. Перед тем как пользоваться этим приложением, уточните совместимость вашего устройства с приложением и нюансы установки, в противном случае вы можете получить кирпич. RomManager — это не CWM, это всего лишь программа, которая устанавливает Clockworkmod recovery. После установки приложение RomManager можно удалить из системы.

    Список моделей, которые поддерживает Rom Manager

    • Получаем root права
    • Устанавливаем «RomManager» через Маркет или другими способами
    • Запускаем и даем root права
    • Нажимаем на первый пункт «установка clockworkmod recovery» и ждем загрузки и сообщения об удачной установке
    • Чтобы войти в recovery нажимаем пункт «перезагрузка в recovery»

    3) Установка recovery другими способами.
    На некоторых устройствах, с заблокированным загрузчиком, или защитой от записи определённых разделов, или для сохранения гарантии, или при отсутствии раздела recovery, или по другим обстоятельствам, recovery может прошивать, либо в раздел boot либо в раздел system. Происходит это соответственно, либо с прошивкой ядра, либо установочным приложением.

    4) Установка recovery через прошивальщик с компьютера.
    В данном случае используется, программа для прошивки на компьютере и к ней идут свои файлы. К примеру, для Samsung это Odin. Для Motorola RSD Lite и так далее.

    Сообщение отредактировал mainbord — 06.04.17, 10:15

    Прошивка CWM Recovery на сложные устройства.

    Драйвера и утилиты
    1. adb.zip
    2. Образ ClockWorkMod recovery для HTC Rider: recovery.img
    3. HTC drivers: я скачал HTC Sync, установил всё (ставится вместе с драйверами), потом через «Пуск > Панель управления > Удаление программ» удалил сам HTC Sync, т.о. остались только драйвера. Если вы скачаете и установите отдельно драйвера , устанавливать HTC Sync НЕ НАДО!
    4. Root: su_2.3.6.3_efgh_fixed_unsigned.zip Можно попробовать версию поновее, но эта точно работает, других я не пробовал

    • Запустите Odin (1.83 версия и выше)
    • Запустите телефон в режиме Download Mode
    • Выберите PDA в Odin и выберите файл «CWMR_recovery.tar.md5»
    • Галочку ставим только на «auto reboot».

    Скачать

    Сообщение отредактировал Crea — 26.11.13, 13:13

    Список моделей, которые поддерживает ROM Manager

    Информация устарела ROM Manager больше не поддерживается

    Данный список не содержит полной информации обо всех устройствах, поддерживаемых Rom Manager. Если устройство поддерживает Rom Manager, нажмите кнопку жалоба и напишите: «Rom Manager — модель и фирму устройства».
    Даже если устройство написано в этом списке, перед тем как поставить себе Rom manager убедитесь в теме прошивки вашего устройства, что Rom manager подходит для вашей модели и прошивки и выполнит нужную вам функцию. Чаще всего Rom manager поддерживается только определёнными прошивками (Cyanogenmod, MIUI и т.д.) и выполняет только определённую функцию (обновление определённой прошивки, установка CWM на определённую прошивку)

    Сообщение отредактировал mainbord — 06.04.17, 10:15

    ZIP файлами для CWM могут быть: прошивки, русификаторы, deodexed, дополнения, улучшения, украшалки, ядра, радио.

    В общем любые изменения в системных файлах в основном производят через ZIP.

    1. На устройстве должен быть установлен ClockWorkMod recovery.
    2. Создать полную резервную копию прошивки (поможет восстановить систему, если что-то пойдёт не так).
    3. Аккумулятор должен быть заряжен на 100%. Конечно сам процесс установки столько энергии не потратит, но с 15-20% заряда пытаться устанавливать новую прошивку точно не стоит.
    4. Отключить устройство от зарядки и компьютера.
    5. Устанавливаемый архив, например FrozenEclairDefy_V2.34.1.zip, скопировать в корень карты памяти, НЕ разархивируя его. Имя файла должно содержать только цифры и латинские буквы, пробелы и специальные символы не допустимы. CWM позволяет устанавливать zip’ы, находящиеся не только в корне карты памяти, но такой способ позволяет упростить процесс прошивки.
    6. Зайти в ClockWorkMod recovery.
    7. Выбрать пункт «install zip from sdcard».
    8. Выбрать «choose zip from sdcard».
    9. В открывшемся встроенном файловом менеджере выбрать «FrozenEclairDefy_V2.34.1.zip». В списке сверху будут папки, внизу файлы.
    10. Подтверждаем установку выбором пункта «YES». Пункт с подтверждением обычно не первый по списку, это нормально.
    11. После окончания установки выбрать «+++++Go Back+++++».
    12. Выбрать «reboot system now», телефон перезагружается.
    13. Ждем полной загрузки телефона. Загрузка после установки может занять много времени, особенно если ставилась новая прошивка. После установки любых zip рекомендуется делать сброс кеша и далвик кеша. При смене прошивки сброс данных (wipe data) обязателен.

    Сообщение отредактировал Crea — 26.11.13, 13:08

    ZIP файлы представляют собой обычные архивы, которые отличаются тем, что внутри них содержатся файлы прошивки и инструкция по установке (папка META-INF). Это инструкция для CWM, в которой описывается какие файлы скопировать и куда, какие удалить, какие разрешения (permissions) у них выставить, и другие действия, которые требуется выполнить при установке данного ZIP’а, например очистка (wipe), установка образа img и т.д. Данные прошивки в архиве лежат по разделам точно так же, как они будут располагаться в памяти устройства. Разделы в архиве могут быть представлены как в виде папок с файлами (название папки в точности совпадает с названием соответствующего раздела во внутренней памяти), так и в виде образов img. Загрузочный раздел (boot) может прошиваться только образом. Вне зависимости от предназначения того или иного zip’а, zip’ы для CWM можно отличить, открыв архив обычным архиватором, внутри должна быть папка «META-INF».
    META-INF\com\google\android\update-script — в этом файле содержится инструкция по установке, её можно открыть текстовым редактором, например «notepad++», и переписать при необходимости. В новых ZIP в папке META-INF\com\google\android содержится два файла «updater-script» и «update-binary» — по наличию второго можно определять для старого CWM файл или для нового. Старый CWM — это 2.*, новый — 3.* и выше.

    Список некоторых команд, которые можно использовать в инструкции zip

    • команда ui_print пишет на экране устройства. Пример: ui_print(«Copying files to system. «); напишет на экране установщика «Copying files to system. «.
    • команда format форматирует папку на устройстве. Пример format(«MTD», «system»); очистит /system. Пишется всегда до команды mount.
    • команда mount монтирует папки. Пример: mount(«MTD», «boot», «/boot»); смонтирует папку /boot как перезаписываемую.
    • команда package_extract_dir копирует файлы из архива в уже смонтированные папки. Пример: package_extract_dir(«system», «/system»); скопирует все из папки system в /system.
    • команда show_progress(fraction, duration) показывает прогресс-бар. Пример: show_progress(0.500000, 40);
    • команда set_perm(uid, gid, mode, path) ставит permissions. Пример: set_perm(0, 0, 06755, «/system/xbin/su»); дать permissions SU этой папке.
    • команда set_perm_recursive(uid, gid, mode, path) — то же, что и set_perm, только на директорию и все ее содержимое. (аналог chmod -R, chown -R, chgrp -R ) Пример: set_perm_recursive(1002, 1002, 0755, 0440, «/system/etc/bluetooth»);
    • команда symlink — создает символическую ссылку (аналог ln -s ) Пример: symlink(«busybox», «/system/xbin/[«, «/system/xbin/[[«);
    • команда delete — удаляет файл. Пример: delete(«/system/app/Rosie.apk») — удаляет Rosie.apk из system/app
    • команда delete_recursive — удаляет директорию со всеми файлами. Пример: delete_recursive(«/system/app/») — удаляет папку system/app

    Сообщение отредактировал mainbord — 21.05.14, 18:45

    Создание и восстановление резервной копии прошивки (nandroid)

    CWM recovery позволяет создавать резервную копию прошивки устройства (не всех разделов), такая резервная копия называется nandroid. CWM резервирует разделы boot, system, data, cache во внутренней памяти устройства и папку «.androidsecure» на карте памяти устройства, при наличии других разделов, например, ext раздела на карте памяти, или раздела webtop (только на некоторых устройствах motorola) создаётся и их резервная копия. Разделы с прошивкой радио модуля, камеры (для некоторых устройств samsung) и загрузчика не резервируются. Если на вашем устройстве есть другие разделы, про них лучше уточнить в соответсвующей теме прошивки. Резервируется не только операционная система, но и все настройки и установленные приложения. Начиная с пятой версии, CWM создаёт резервную копию в tar архиве, что очень удобно, т.к. его можно открыть обычным архиватором, например WinRar’ом. В старых версиях CWM резервная копия представляет собой копии всех разделов в образах img. Полученную резервную копию можно восстановить только с телефона и только через CWM. На устройстве должен быть установлен ClockWorkMod recovery.

    Резервное копирование системы:
    — Запускаем CWM recovery
    — Выбираем «Backup & restore»
    — Выбираем «backup»
    — Выбираем «YES»
    — Выбираем Reboot system now (перезагрузка)
    После этого на карте памяти появится полная резервная копия в папке clockworkmod/backup. Название резервной копии включает время и дату её создания, но название можно давать произвольное, разумеется латиницей без пробелов.

    Восстановление:
    — Входим в CWM Recovery;
    — Выбираем «backup & restore»
    — Выбираем «restore»
    — Выбираем сохранённую ранее резервную копию. Она должна находиться на карте памяти в папке clockworkmod/backup.
    — Подтверждаем восстановление, выбираем «YES». Пункт с подтверждением обычно не первый по списку, это нормально
    — По окончании процесса выбираем «Reboot system now» (перезагрузка).

    Программа для распаковки образов nandro/>nandroid_recovery_unpack.unyaffs_fixed.zip ( 878,29 КБ )
    Для работы требует JDK. Использование:
    Устанавливаем JDK, перезагружаемся. Создаём на диске папку латинскими буквами без пробелов, например, C:\sss, кладём в эту папку образ, который нужно распаковать, например, system.img и два файла из прикреплённого архива: unyaffs.exe, cygwin1.dll. Теперь перетаскиваем файл img на exe. Какое то время горит консольное окно, после его закрытия в этой же папке имеем распакованный образ. Таким способом получается не всегда, поэтому приходится действовать через CMD панель:

    Пуск\ Выполнить\ cmd
    cd c:\sss нажать клавишу enter
    unyaffs. exe system.img нажать клавишу enter

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

    Также образы nandroid (system и data (сначала нужно переименовать в system) в виде img можно распаковывать и запаковывать при помощи программы Multifunctional Androbot

    Сообщение отредактировал Rage — 28.08.13, 16:24

    Как получить root права при помощи recovery?

    Чтобы получить рут на любой версии андроида и на любом устройстве достаточно через неродной рекавери установить superSU:

    Последнюю версию файла можно найти в теме:
    ® SuperSU
    Вам нужен именно zip файл.

    Сообщение отредактировал mainbord — 06.04.17, 10:02

    источник

  • Добавить комментарий

    Adblock
    detector