Портирование прошивок интересует многих продвинутых пользователей, которые хотят адаптировать свое устройство для другой среды с сохранением её полезных свойств. Обычно основная цель этого процесса — сделать прошивку на своём гаджете «интереснее» и расширить её функционал. Давайте рассмотрим, как всё это происходит на технике Android с платформой ARM.
Что нужно для портирования прошивок?
Для осуществления этого процесса требуются следующие составляющие:
- Приложение Notepad или другой текстовый редактор (впрочем, эта программа считается наиболее удобной и продуманной среди остальных).
- Архиватор WinRar.
- Компьютер, через который осуществляется весь процесс.
- Два ROM`а с одинаковыми ядрами — один является источником для передачи данных прошивки, на другом мы будем собирать их для программного обеспечения.
Как происходит портирование прошивки?
Прежде всего, мы создаём backup папку на компьютере, копируя с директории system/app на ПК такие файлы с расширением .apk:
- Stk.
- Vpnservices.
- Camera.
- Bluetooth.
Затем, на устройстве, где мы будем собирать прошивку (его другое название — BROM) мы удаляем эти файлы, а вместо них копируем из источника, который ещё называется PROM следующие директории:
- /data.
- /system/app.
- /system/framework.
- /system/fonts.
- /system/media.
Ещё на базовый ROM мы копируем в папку /system/lib библиотеку libandroid_runtime.so. Теперь мы снова перемещаем в BROM прежде удалённые файлы из первого действия.
В последующем мы делаем копию таких библиотек из базового ROM’а в PROM, как:
- system/lib.
- /system/etc/init.d.
- /system/etc/permissions.
Обратите внимание, что копирование производится с заменой существующих на другом оборудовании данных, а не в качестве их дополнения. Теперь мы удаляем три эти директории на BROM и на их место копируем всё из PROM`а.
Переходим к работе с редактором Notepad и выполняем следующие действия:
- Открываем на каждом ROM`е файл build.prop и размещаем оба окна друг напротив друга.
- Сверяем, чтобы запись ro.build.description= совпадала на обеих устройствах, иначе не удастся выполнить прошивку. Если нужно, редактируем строку так, чтобы записи в PROM и BROM были идентичны.
- Переходим по пути /META-INF/com/google/android и теперь открываем для сверки файлы под названием updater-script. Если они не идентичны, то корректировать их необходимо так, чтобы в BROM`е совпадало значение, которое указано в портируемом ROM`е.
Примечание. Вы можете редактировать или добавлять такие параметры, как ядро или permissions, asserts, ui_prints, run_programs, но ни в коем случае не меняйте значение symlinks.
Последнее, что необходимо сделать — проверить в скрипте updater параметр Format values на базовом ROM`е (указанные данные должны подходить для вашего оборудования). Если у двух ядер разные производители, обязательно распакуйте ядро и скопируйте из портируемого ROM`a данные BOOTCLASSPATH на BROM по адресу init.rc.
После всех выполненных действий прошивка окажется в базовом ROM`е, а вы сможете дополнить её по своему усмотрению. Как видите, весь процесс занимает немного времени и не требует особых знаний. Поэтому вы вполне можете справиться с портированием прошивок самостоятельно.