Инструкция по портированию Android 4.2.X прошивок на процессорах MTK6589

Рейтинг:   / 30
ПлохоОтлично 

Вот и набрался я более-менее опыта по портированию прошивок с телефонов с процессором MTK6589 на свой NEO N003 с аналогичным процессором. И в этой статье хочу более-менее написать мини инструкцию о портировании прошивок с процессором MTK6589. Как же портировать прошивки на телефон/смартфон с процессором MTK6589?


Что нам понадобится:

- прошивка донора
- официальная прошивка своего телефона (у меня прошивка под FlashTool)
- скрипт для разборки boot.img

- скрипт для разборки system.img (если у вас офф прошивка под FlashTool), версия для Windows XP

- WinRAR/7-zip :)
- notepad++

Для портирования MIUIv5 я выбрал донора ZOPO C2/980, т.к. он почти идентичен с моим NEO N003, кроме динамика и поддержки MHL/HDMI (на мой взгляд). Ну что же, начнем:
На мой взгляд по мне прошивку донора скачать с офф сайта MIUI (miui.com) или уже русифицированную с miui.su.
Пока прошивка качается начнем разбирать system.img от офф прошивки, т.к. нам нужны будут файлы из папки /system (если у вас офф прошивка в CWM, то пропускаем). Итак, распаковываем MTwinTools_v0.6_1.rar к примеру на диск D:\ (можно в любую папку, но главное чтобы в пути не были кириллические буквы и пробелы), копируем в папку D:\MTwinTools_v0.6_1\_In наш system.img и запускаем menu.bat и выбираем:
- 6-Init Tools
- y (латинский) и ждем
- жмем любую клавишу
- 4-System
- 5-unpack ext4 и ждем
Распакованный system.img будет находиться в папке D:\MTwinTools_v0.6_1\Unpack\System
Видео инструкция по разборке system.img

Скажем, что прошивка донора скачался. Делаем копию доноровской прошивки и переименовываем к примеру test_1.zip. Переделываем boot.img. Распаковываем ALL_phones_Boot_Recovery_repack_util_for_WINDOWS.rar и закидываем туда boot.img донора и стоковой прошивки переименовав их, т.к. будут одинаковые названия. По последовательности кинув мышкой их в MTK_unpack.bat. Я использую 2 метода boot.img для запуска прошивки, т.е. если первый способ не сработает, то пробую второй способ.

Способ-1 перепаковки boot.img:
открываем в notepad++ init.rc донора и копируем строки bootclasspath в стоковый init.rc и компилируем boot.img стока кинув папку стокового boot.img на MTK_pack.bat
Видео инструкция по перепаковке boot.img - способ-1

Способ-2 перепаковки boot.img:
Этот способ ИМХО советую если способ-1 не сработал. Разбираем обе boot.img. Kernel стока копируем в донора и собираем папку донора. В этом способе возможно быть проблемы с некоторыми модулями (в основном с камерой, bluetooth и т.д.), т.к. строки в init.rc будут разными по сравнению стоковым.
Видео инструкция по перепаковке boot.img - способ-2

Теперь готовим нашу портированную прошивку для теста, т.е. для первого запуска прошивки. Берем копию донорской прошивки, которую мы уже переименовали в test_1.zip. Открываем его в WinRAR и отрываем распакованную папку system.img (D:\MTwinTools_v0.6_1\Unpack\System). Переносим папку system/vendor. Переносим файлы boot.img, system/lib/hw/hwcomposer.mt6589.so и system/lib/modules/pvrsrvkm.ko.

Видео инструкция по переносе файлов

Все, файлы для тестового запуска перенесли, остается подправить update-script. Открываем и редактируем:
- удаляем к примеру такие строки, если есть:
assert(getprop("ro.product.device") == "V7" ||
getprop("ro.build.product") == "V7" || getprop("ro.product.model") == "C2");
- вместо строк монтирования используем следуйщие алиасы, если не знаем свои блоки для монтирования разделов:
format("ext4", "EMMC", "/emmc@android";, "0");
mount("ext4", "EMMC", "/emmc@android";, "/system");
mount("ext4", "EMMC", "/emmc@usrdata";, "/data");

Видео инструкция по редактированию update-script

Все, тестируем прошивку...

Решение нюансов:
В основном всю папку \system\lib\hw и \system\lib\modules копирую

Связь/радиомодуль - удаляем папку \etc\mddb и копируем эту же папку от стока. Копируем \etc\firmware\modem.img

Качество звука - меняем папку \system\lib\soundfx, и все файлы libc***.so, кроме libcam***.so (просто не смог найти файл который именно отвечает за качество)

Камера - самая морочная работа. Первым делом чтобы boot.img собирался способом-1. Меняем libcameracustom.so. Если не помогло, то методом тыка копируем другие либы.

Bluetooth - в основном он у меня тьфу-тьфу всегда работал. Главное, чтобы в update-script не надо добавлять строки для фиксации ошибки NVRAM в WiFi.

Wifi - то же в основном тьфу-тьфу всегда он работал

GPS - то же, если не работает, то пробуем поменять \system\xbin\libmnlp_mt6628

При копировании материала с сайта, активная ссылка на оригинальный материал обязательна.

Комментарии  

 
0 #31 maks 02.03.2015 01:45
как портировать android 4.4 на mtk6589
Цитировать
 
 
-2 #32 taras 26.04.2015 16:20
у меня wi-fi и bluetoth не включаетса?
Цитировать
 
 
0 #33 sergey Chersnev 23.03.2016 19:15
Вообщем 4.2.9 можно и 4.3.0 но в них будет по сложней. А 4.4 так называемая кит-кат там нужен другое ядро.
Цитировать
 

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


Защитный код
Обновить