- Патчим прошивку Android за 5 минут
- Задача
- Необходимые инструменты
- Решение
- 1. Извлекаем с устройства загрузочный образ
- 2. Затем загрузочный образ нужно разобрать
- 3. Патчим
- 4. Заменяем загрузочный образ на устройстве
- Итоги
- Бэкап прошивки на Android-устройствах
- Что такое прошивка Android-устройства, зачем нужно ее восстанавливать
- Понятие бэкапа прошивки
- Зачем может понадобиться бэкап прошивки
- Бэкап личных данных, контактов, фото посредством инструментов ОС Android
- Полная копия прошивки на устройстве
- Нужны ли права суперпользователя для бэкапа
- Бэкап через TWRP Recovery
- Создание копии посредством ClockworkMod и ROM Manager
- Дублирование с помощью TitaniumBackup
- Бэкап данных MyPhoneExplorer или с помощью ПК
- Копирование в безопасном режиме ADB Run
- Дублирование через SP Flash Tool
- Восстановление прошивки
- Как извлечь прошивку андроид
Патчим прошивку Android за 5 минут
Задача
Все началось с того, что я захотел установить на планшет Digma Optima 7.61 игру GTA San Andreas. К сожалению, виртуальная SD-карта планшета имеет объем менее 1 Гб, а кэш игры весит порядка 2-3 Гб. На планшете установлен Android 4.4.2 и возможность просто взять и сменить память по умолчанию в нем отсутствует. Так же в нем отсутствует файл /etc/vold.fstab (он есть на более старых версиях андроида, и изменив данный файл с root-правами, можно поменять местами виртуальную и реальную карты памяти).
Необходимые инструменты
1. Компьютер или ноутбук с ОС Linux.
2. Утилиты adb и fastboot (входят в состав Android SDK, так же, как заметил tmnhy, входят в репозитории как отдельные пакеты).
3. Набор утилит bootimg_tools (нашел здесь).
Решение
1. Извлекаем с устройства загрузочный образ
— Подключаем устройство к компьютеру через usb-кабель и заходим в shell устройства:
— Где-то в папке /dev/block на устройстве нужно найти файл с именем boot. У меня он находился по пути /dev/block/by-name/boot, но данный путь может различаться на разных устройствах.
— Извлекаем загрузочный образ:
— Выходим из shell’а (exit) и извлекаем образ:
2. Затем загрузочный образ нужно разобрать
— Скачиваем и распаковываем bootimg_tools.
— Добавляем bootimg_tools в PATH:
— Если все предыдущие шаги сделаны верно, то должна появиться папка boot-from-device. Внутри нее должны лежать файлы zImage и ramdisk.cpio.gz, а так же папка ramdisk. Как раз внутри последней лежит содержимое загрузочного образа, которое мы будем патчить.
3. Патчим
Для решения своей задачи я нашел строчку, которую нужно заменить, в файле init.sun8i.rc. Я просто заменил export EXTERNAL_STORAGE /mnt/sdcard на export EXTERNAL_STORAGE /mnt/extsd. Как я понимаю, это как раз и есть то значение, которое возвращает метод Environment.getExternalStorageDirectory() в Android API. В пользу этого предположения говорит тот факт, что после применения патча приложения начали использовать аппаратную карту памяти вместо виртуальной для хранения своих данных.
4. Заменяем загрузочный образ на устройстве
Я написал для этих целей небольшой скрипт:
Итоги
После проделанных манипуляций игра на планшете успешно заработала.
Источник
Бэкап прошивки на Android-устройствах
Смена операционной системы, установка утилит от непроверенных разработчиков, рутирование гаджета – процессы, которые могут привести к серьезным проблемам с работоспособностью устройства. Может произойти сбой, который приведет к «закирпичиванию» девайса или потере важных данных. По этой причине вопрос, как сделать бэкап прошивки Android, по-прежнему остается актуальным. В данном посте мы рассмотрим способы создания копий файловой системы и отдельных данных, потеря которых крайне нежелательна для пользователя.
Что такое прошивка Android-устройства, зачем нужно ее восстанавливать
Прошивка – это основное программное обеспечение многофункционального устройства. От актуальности версии прошивки напрямую зависит продуктивность, экономичность и практичность гаджета.
Работоспособность устройства опирается не только на версию ПО, но и на бережное отношение со стороны пользователя. О нормальном состоянии прошивки должен заботиться каждый юзер.
Далеко не всегда владельцы планшетов и смартфонов задумываются о состоянии прошивки, устанавливая на устройство большое количество программ, оставляющих после себя мусор в виде забитой файловой системы. Впоследствии этот мусор вызывает серьезные проблемы, сказывающиеся на работоспособности. Тогда пользователь задумывается насчет переустановки ОС или ее восстановления до нормальных рабочих параметров.
Понятие бэкапа прошивки
Backup в переводе с английского языка означает дублирование. Данный процесс по отношению к Android-девайсам подразумевает создание резервной копии информации, хранящейся в гаджете на отдельном носителе.
Основной целью создания бэкапа Android перед прошивкой является возможность восстановления данных при их повреждении или потере. Посредством правильно созданной копии можно полностью восстановить работоспособную систему, даже если вы успели прошить устройство с удалением личных настроек пользователя.
На сегодняшний день существует множество программ, позволяющих делать бэкап отдельных файлов, например, СМС, контактов, фотографий или приложений.
Зачем может понадобиться бэкап прошивки
Бэкап – это способ обезопасить себя. Сохранить старую прошивку Android нужно, чтобы уберечь данные от потери. Никто на сегодняшний день не застрахован от потери, поломки или закирпичивания устройства из-за вируса.
Периодическое создание копий позволяет восстановить утерянную информацию, тем самым значительно снижает ущерб от форс-мажорных обстоятельств, которые произошли с гаджетом.
При этом создание бэкапа является отличным стимулом к проведению различных экспериментов с девайсом. Полная копия данных в облаке или на внешнем устройстве при наличии дополнительного софта дает возможность восстановить рабочие показатели девайса из любого состояния.
Бэкап личных данных, контактов, фото посредством инструментов ОС Android
Операционная система Android с каждой новой версией предлагает пользователю все более расширенный набор инструментов, позволяющих сохранять личные данные. Даже в 8-й версии официального программного обеспечения Android пока не предусмотрено полное копирование системы, но это не означает, что вы должны мириться с потерей важных данных.
Прямо сейчас, наладив синхронизацию аккаунта Google, вы можете сохранить контакты, фотографии, записи календаря и прочую личную информацию на сервере, доступ к которому будет только у вас.
Впоследствии, если вы купили новый гаджет или провели перепрошивку девайса, вам достаточно войти в свой аккаунт. Как только вы это сделаете, все данные снова станут доступны на устройстве.
Полная копия прошивки на устройстве
В том случае, если инструментов Google для сохранения личных данных вам недостаточно, и вы бы хотели осуществить полное дублирование системы на отдельном носителе, следует рассмотреть сразу несколько вариаций процесса, выбрав наиболее подходящий.
Следует отметить, что резервная копия прошивки Android может заливаться как на память самого устройства, так и на SD-карту, компьютер и даже в облако. Все зависит от того, какому именно способу вы отдали свое предпочтение.
Также процедуры создания копий системы могут отличаться по затратам времени и сложности. Далее мы постараемся рассмотреть несколько актуальных вариантов создания полного бэкапа данных прошивки.
Нужны ли права суперпользователя для бэкапа
Права суперпользователя – это открытый доступ ко всей файловой системе. Посредством данных прав вы можете корректировать работу утилит, предустановленных на девайсе, и всецело следить за работой системы, осуществляя ее наладку в соответствии с теми или иными требованиями.
При этом для бэкапа получение рут-прав далеко не всегда является обязательным условием. Лишь некоторые программы требуют столь высокого доступа от пользователя. Большинство методов дублирования системы осуществляется с правами обычного юзера.
Бэкап через TWRP Recovery
Первым способом создания копии системы является бэкап посредством кастомного TWRP Recovery.
Стандартное рекавери не способно создать копии данных, тогда как TWRP отлично справляется с поставленной задачей.
Чтобы воспользоваться данным методом, вам необходимо перейти в меню рекавери на своем устройстве. Далее с помощью активных клавиш зайти в раздел BACKUP и отметить необходимые данные для создания копии.
Решив сделать backup прошивки Android через recovery, вы можете самостоятельно выбрать рациональный набор сохраняемой информации. Лучше отмечать все данные, а именно: Boot, System, Data, Cache, Recovery, Android_secure, Efs и Modem.
Создание копии посредством ClockworkMod и ROM Manager
Отличной альтернативой для создания бэкапа прошивки является установка ClockworkMod Recovery.
Данная утилита имеет полностью интуитивный интерфейс, без особого труда инсталлируется на широкий перечень устройств. Чтобы установить инструмент, достаточно скачать программу ROM Manager. Создание копии данных устройства предполагает два действия.
- Необходимо запустить инструмент ClockworkMod recovery через ROM Manager, выбрав пункт «Загрузить режим Recovery».
- Перейти в раздел «Backup and restore», выбрать пункт «Backup. Останется только подождать, пока утилита создаст копию системы.
Дублирование с помощью TitaniumBackup
Быстро создать копию личных данных поможет TitaniumBackup.
Хоть в программе и не предусмотрен русифицированный интерфейс, работать с ней достаточно удобно даже неопытному пользователю.
Для создания резервных копий вы можете отметить как любое отдельно взятое приложение, так и всю систему полностью. При этом необходимо учесть некоторые нюансы.
Программа дублирует данные на карту памяти или в собственную память девайса. Следовательно, вам необходимо обеспечить софт соответствующим количеством свободного пространства. Также для прошивки программой потребуются рут-права.
Бэкап данных MyPhoneExplorer или с помощью ПК
Если вы нацелились на создание копии прошивки, но при этом дополнительный софт и необходимость получения рут-доступа вас не устраивают, стоит ознакомиться с инструментами, которые предлагает программа MyPhoneExplorer.
Утилита имеет русифицированный интерфейс и не требует каких-либо навыков для использования. При этом она позволяет сделать бэкап прошивки Android через компьютер, не открывая права суперпользователя.
Для создания копии вам следует подсоединить планшет или смартфон к ПК, запустить утилиту, в каталоге «Разное» выбрать пункт «Создать резервную копию». Затем утилита предложит вам сохранить копию в любой директории на диске ПК.
Копирование в безопасном режиме ADB Run
Достаточно простой способ создания резервной копии демонстрирует программа ADB Run.
Практичный инструмент устанавливается на компьютер и для дублирования требует только исправного USB-кабеля и актуальной версии драйверов устройства. Для создания копии достаточно запустить программу, перейти в раздел «Backup», выбрать пункт «ADB Backup».
Процесс создания копии системы занимает считаные минуты. Также вам будет предложено сохранить файл бэкапа в удобную директорию.
Отдельного внимания при этом заслуживает факт, что для использования программы вам не нужно получать рут-доступ. Необходимо только включить отладку по USB на своем девайсе.
Дублирование через SP Flash Tool
Являясь пользователем устройств с процессорами MTK, вы можете создавать копии системы посредством утилиты SP Flash Tool.
Решив сделать полный бэкап прошивки Android на MTK через Flash Tool, будьте готовы потратить время. Для подготовки системы к бэкапу требуется включение отладки по USB и различные манипуляции с ADB.
Как только вы настроите базу данных под работу с утилитой, процесс займет считаные минуты. Причем вам будет предложено сохранить копию в любой директории своего ПК. Перед процессом убедитесь в исправности USB-провода и в наличии актуальных версий драйверов. Если эти условия не будут соблюдены, в процессе создания бэкапа могут возникать различные ошибки.
Восстановление прошивки
Проводя различные манипуляции и эксперименты с операционной системой своего гаджета, вы «закирпичили» устройство или оно систематически начало давать сбои? Пора задуматься об откате настроек к заводским или о бэкапе данных. Оба этих процесса позволят вам быстро вернуть нормальные работоспособные параметры файловой системы девайса без перепрошивки и прочих затратных по времени процессов.
Источник
Как извлечь прошивку андроид
/ramdisk# gzip -dc ../boot.img-ramdisk.gz | cpio -i
986 блок
[email protected]:
#
В папке ramdisk 18 объектов, всего 514,6 КБ
Где все остальное ?? где файлы ядра ?
Какие еще файлы ядра??
boot.img-kernel — это zImage-образ ядра. Если ты имеешь ввиду исходники ядра, то с образа их никак не получишь.
boot.img-ramdisk.gz — cpio/gz архив рамдиска с init.rc и прочей хренью. Его содержимое распаковано в папку ramdisk.
А больше ничего в буте и нету. То же самое касается и recovery.img
system.img (и userdata.img) — образ файловой системы в формате yaffs2. Распаковывается утилитой unyaffs под линухом. Ну или могу под винду утилиту подкинуть.
Ну что же, мысль здравая, если знаете что к чему.
1 Скачайте/найдите в интернете исходники для своего устройства. Если устройство htc, то developer.htc.com, если другое, ищите в интернете.
2 Ввнесите нужные изменения в файл arch/arm/mach-msm/acpuclock.c,
3 Скачайте к примеру NDK с андроидовского сайта (нужно для кросс-компиляции). Как я понял, у вас убунту. Тогда дальше все просто.
4 ARCH=arm CROSS_COMPILE=/путь_куда_установили_ndk/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- make zImage
5 mkbootimg —kernel arch/arm/boot/zImage —ramdisk ваш_рамдиск.gz —cmdline то_что_писало_когда_вы_извлекали_рамдиск -o boot.img
6 adb push boot.img /cache/ && adb shell flash_image boot /cache/boot.img
Нельзя ли поподробней с компиляцией ?
Вот эту строку которую вы указали, ка я понял надо вписывать в Makefile ? И вообщем у последнего NDK совсем другой путь папок ! Может дадите ссылку на ваш NDK ?
И еще можно ли делать компиляцию через arm-2007q3 как написано тут http://www.anddev.org/learning_porting_and. step-t3252.html .
Или через windows компиляцию сделать можно ?
Сообщение отредактировал bobjob — 17.02.11, 17:33
unyaffs под винду.
При распаковке:
— теряются owners, permissions и даты создания/изменения/доступа
— симлинки заменяются на файлы в фигурных скобках <>, внутри — путь куда указывает симлинк
Просто для извлечения данных этого вполне достаточно.
Написано на коленке в делфях.
Использование: unyaffs.exe файл.img
Cygwin не нужен.
Скачать: unyaffs.zip ( 12.23 КБ )
Источник